Title: [104039] trunk/Tools
Revision
104039
Author
[email protected]
Date
2012-01-04 07:41:37 -0800 (Wed, 04 Jan 2012)

Log Message

[Qt] Fix link order of static libraries and unbreak QtWin32

We were keeping the correct static link order between the intermediate
WebKit libraries, but not the internal dependencies for each of those
libraries. The load() will in some instances mess with LIBS, so we need
to ensure that the dependent libraries are added after the library we
are linking against.

Reviewed by Simon Hausmann.

* qmake/mkspecs/features/default_post.prf:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (104038 => 104039)


--- trunk/Tools/ChangeLog	2012-01-04 15:33:20 UTC (rev 104038)
+++ trunk/Tools/ChangeLog	2012-01-04 15:41:37 UTC (rev 104039)
@@ -1,5 +1,19 @@
 2012-01-04  Tor Arne Vestbø  <[email protected]>
 
+        [Qt] Fix link order of static libraries and unbreak QtWin32
+
+        We were keeping the correct static link order between the intermediate
+        WebKit libraries, but not the internal dependencies for each of those
+        libraries. The load() will in some instances mess with LIBS, so we need
+        to ensure that the dependent libraries are added after the library we
+        are linking against.
+
+        Reviewed by Simon Hausmann.
+
+        * qmake/mkspecs/features/default_post.prf:
+
+2012-01-04  Tor Arne Vestbø  <[email protected]>
+
         [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
 
         The custom qmake variable 'WEBKIT' is used for signaling that a

Modified: trunk/Tools/qmake/mkspecs/features/default_post.prf (104038 => 104039)


--- trunk/Tools/qmake/mkspecs/features/default_post.prf	2012-01-04 15:33:20 UTC (rev 104038)
+++ trunk/Tools/qmake/mkspecs/features/default_post.prf	2012-01-04 15:41:37 UTC (rev 104039)
@@ -50,17 +50,27 @@
     return(false)
 }
 
-existing_libs = $$LIBS
-unset(LIBS)
 for(library, WEBKIT) {
+    # Juggle LIBS to keep the static link order correct
+    existing_libs = $$LIBS
+    unset(LIBS)
+
     # We definitly need include paths and such (this will set
     # SOURCE_DIR to the right path so we can use it below).
     load($$lower($$library))
 
+    # More juggling
+    dependent_libs = $$LIBS
+    unset(LIBS)
+
     # But we might also need to link against it
-    needToLink(): linkAgainstLibrary($$library, $$SOURCE_DIR)
+    needToLink() {
+        linkAgainstLibrary($$library, $$SOURCE_DIR)
+        LIBS += $$dependent_libs
+    }
+
+    LIBS = $$existing_libs $$LIBS
 }
-LIBS += $$existing_libs
 
 # Help keep the build tree clean
 MOC_DIR = moc
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to