Title: [114371] trunk/Tools
Revision
114371
Author
[email protected]
Date
2012-04-17 06:29:23 -0700 (Tue, 17 Apr 2012)

Log Message

[Qt] Fix builds with force_static_libs_as_shared for non-linux builds.
https://bugs.webkit.org/show_bug.cgi?id=83035

Patch by Michael BrĂ¼ning <[email protected]> on 2012-04-17
Reviewed by Simon Hausmann.

The force_static_libs_as_shared feature for the Qt port will remove
hide_symbols from Qt's CONFIG in order to make them visible to other
libraries again.

Due to an evaluation order problem in qmake, the flags for the C++ compiler
that are set by adding hide_symbols to the CONFIG variables get applied
to qmake's C++ compiler flags directly and hence trying to remove these
later will not work and cause build failures when using the force_static_libs_as_shared
feature of the Qt port.

This is fixed by removing the flags that hide the exports from the compiler flags directly.

* qmake/mkspecs/features/force_static_libs_as_shared.prf:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (114370 => 114371)


--- trunk/Tools/ChangeLog	2012-04-17 13:14:50 UTC (rev 114370)
+++ trunk/Tools/ChangeLog	2012-04-17 13:29:23 UTC (rev 114371)
@@ -1,3 +1,24 @@
+2012-04-17  Michael BrĂ¼ning  <[email protected]>
+
+        [Qt] Fix builds with force_static_libs_as_shared for non-linux builds.
+        https://bugs.webkit.org/show_bug.cgi?id=83035
+
+        Reviewed by Simon Hausmann.
+
+        The force_static_libs_as_shared feature for the Qt port will remove
+        hide_symbols from Qt's CONFIG in order to make them visible to other
+        libraries again.
+
+        Due to an evaluation order problem in qmake, the flags for the C++ compiler
+        that are set by adding hide_symbols to the CONFIG variables get applied
+        to qmake's C++ compiler flags directly and hence trying to remove these
+        later will not work and cause build failures when using the force_static_libs_as_shared
+        feature of the Qt port.
+
+        This is fixed by removing the flags that hide the exports from the compiler flags directly.
+
+        * qmake/mkspecs/features/force_static_libs_as_shared.prf:
+
 2012-04-16  Ryosuke Niwa  <[email protected]>
 
         Remove CreateWebKitBuildDirectory step to fix Chromium Windows Perf bot

Modified: trunk/Tools/qmake/mkspecs/features/force_static_libs_as_shared.prf (114370 => 114371)


--- trunk/Tools/qmake/mkspecs/features/force_static_libs_as_shared.prf	2012-04-17 13:14:50 UTC (rev 114370)
+++ trunk/Tools/qmake/mkspecs/features/force_static_libs_as_shared.prf	2012-04-17 13:29:23 UTC (rev 114371)
@@ -10,7 +10,10 @@
        CONFIG -= hide_symbols
        CONFIG -= staticlib
        CONFIG += rpath
+       QMAKE_CXXFLAGS -= $$QMAKE_CXXFLAGS_HIDESYMS
+       QMAKE_CFLAGS -= $$QMAKE_CFLAGS_HIDESYMS
+       QMAKE_LFLAGS -= $$QMAKE_LFLAGS_HIDESYMS
+       QMAKE_OBJECTIVE_CFLAGS -= $$QMAKE_OBJECTIVE_CFLAGS_HIDESYMS
        DESTDIR = $${ROOT_BUILD_DIR}/lib
     }
 }
-
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to