Title: [128424] trunk/Tools
Revision
128424
Author
[email protected]
Date
2012-09-13 01:38:23 -0700 (Thu, 13 Sep 2012)

Log Message

[Qt] Add configuration for production builds
https://bugs.webkit.org/show_bug.cgi?id=96607

Patch by Simon Hausmann <[email protected]> on 2012-09-13
Reviewed by Kenneth Rohde Christiansen.

Add configuration tweaks for production builds, to ease memory pressure with the GNU toolchain
and enable all-in-one-files optimizations.

* qmake/mkspecs/features/production_build.prf: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/Tools/ChangeLog (128423 => 128424)


--- trunk/Tools/ChangeLog	2012-09-13 08:37:26 UTC (rev 128423)
+++ trunk/Tools/ChangeLog	2012-09-13 08:38:23 UTC (rev 128424)
@@ -1,5 +1,17 @@
 2012-09-13  Simon Hausmann  <[email protected]>
 
+        [Qt] Add configuration for production builds
+        https://bugs.webkit.org/show_bug.cgi?id=96607
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Add configuration tweaks for production builds, to ease memory pressure with the GNU toolchain
+        and enable all-in-one-files optimizations.
+
+        * qmake/mkspecs/features/production_build.prf: Added.
+
+2012-09-13  Simon Hausmann  <[email protected]>
+
         [Qt] GStreamer detection does not work when cross-compiling
         https://bugs.webkit.org/show_bug.cgi?id=96608
 

Added: trunk/Tools/qmake/mkspecs/features/production_build.prf (0 => 128424)


--- trunk/Tools/qmake/mkspecs/features/production_build.prf	                        (rev 0)
+++ trunk/Tools/qmake/mkspecs/features/production_build.prf	2012-09-13 08:38:23 UTC (rev 128424)
@@ -0,0 +1,16 @@
+# All in one files reduce memory usage at link time. At compiler time the code
+# visibility for the compiler increases and faster more compact code can be produced,
+# so turn it on in production builds.
+CONFIG *= use_all_in_one_files
+
+# Builds with debug flags result in a huge amount of symbols with the GNU toolchain,
+# resulting in the need of several gigabytes of memory at link-time. Reduce the pressure
+# by compiling any static library like WTF or JSC with release flags instead and keep debug
+# symbols for the static libraries that implement API.
+linux-*:CONFIG(debug, debug|release):contains(TEMPLATE, lib):staticlib {
+    !equals(TARGET, WebKit2):!equals(TARGET, WebKit1) {
+        CONFIG += no_debug_info
+        QMAKE_CFLAGS += $$QMAKE_CFLAGS_RELEASE
+        QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_RELEASE
+    }
+}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to