qt5: reduce closure size

First, closure size is reduced by including the static libraries in $out instead
of trying to move them to $dev. The Qt build system cannot handle libraries
being split between different prefixes. Previously, the static libraries were
moved into $dev and the shared libraries were symlinked from $out to $dev to
fool the build system. However, this causes $dev to be retained at
runtime. Instead, we now keep the static libraries in $out. Fortunately, the
static libraries are not very large anyway.

Second, we build with QT_NO_DEBUG defined unless debugging is enabled. This
causes some assertions to be removed; when assertions are included, they pull
paths from $dev into the runtime closure by using the __FILE__ macro. We also
now patch qtbase to remove even more assertions when QT_NO_DEBUG is defined.
This commit is contained in:
Thomas Tuegel
2018-01-15 18:48:37 -06:00
parent 3793320958
commit 75d2a7dc4d
9 changed files with 110 additions and 217 deletions
@@ -4,7 +4,6 @@ qtDocPrefix=@qtDocPrefix@
. @fix_qt_builtin_paths@
. @fix_qt_module_paths@
. @fix_qt_static_libs@
providesQtRuntime() {
[ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ]
@@ -67,12 +66,3 @@ postPatchMkspecs() {
if [ -z "$dontPatchMkspecs" ]; then
postPhases="${postPhases}${postPhases:+ }postPatchMkspecs"
fi
postMoveQtStaticLibs() {
if [ "z${!outputLib}" != "z${!outputDev}" ]; then
fixQtStaticLibs "${!outputLib}" "${!outputDev}"
fi
}
if [ -z "$dontMoveQtStaticLibs" ]; then
postPhases="${postPhases}${postPhases:+ }postMoveQtStaticLibs"
fi