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:
@@ -97,7 +97,6 @@ stdenv.mkDerivation {
|
||||
fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
|
||||
fix_qt_module_paths = ../hooks/fix-qt-module-paths.sh;
|
||||
preHook = ''
|
||||
. "$fix_qt_static_libs"
|
||||
. "$fix_qt_builtin_paths"
|
||||
. "$fix_qt_module_paths"
|
||||
. ${../hooks/move-qt-dev-tools.sh}
|
||||
@@ -363,11 +362,6 @@ stdenv.mkDerivation {
|
||||
fixQtBuiltinPaths "''${!outputDev}" '*.pr?'
|
||||
''
|
||||
|
||||
# Move static libraries and QMake library definitions into $dev.
|
||||
+ ''
|
||||
fixQtStaticLibs "''${!outputLib}" "''${!outputDev}"
|
||||
''
|
||||
|
||||
# Move development tools to $dev
|
||||
+ ''
|
||||
moveQtDevTools
|
||||
|
||||
Reference in New Issue
Block a user