summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Tools/ChangeLog16
-rw-r--r--Tools/qmake/mkspecs/features/functions.prf1
2 files changed, 17 insertions, 0 deletions
diff --git a/Tools/ChangeLog b/Tools/ChangeLog
index c13b4d580..625b753ae 100644
--- a/Tools/ChangeLog
+++ b/Tools/ChangeLog
@@ -1,3 +1,19 @@
+2012-12-17 Jonathan Liu <net147@gmail.com>
+
+ Fix linking of libraries with -Wl,-whole-archive
+ https://bugs.webkit.org/show_bug.cgi?id=104436
+
+ Reviewed by Simon Hausmann.
+
+ If there is more than one library in LIBS linked with
+ -Wl,-whole-archive -l... -Wl,-no-whole-archive, qmake tries to
+ merge the duplicate flags in LIBS which causes linking to fail.
+
+ Add no_smart_library_merge to CONFIG to prevent the duplicate
+ flags from being removed when using -Wl,-whole-archive.
+
+ * qmake/mkspecs/features/functions.prf:
+
2012-12-13 Andras Becsi <andras.becsi@digia.com>
[Qt][WK2] Fix painting on Mac with retina display
diff --git a/Tools/qmake/mkspecs/features/functions.prf b/Tools/qmake/mkspecs/features/functions.prf
index c54a262be..4477f8321 100644
--- a/Tools/qmake/mkspecs/features/functions.prf
+++ b/Tools/qmake/mkspecs/features/functions.prf
@@ -256,6 +256,7 @@ defineTest(linkAgainstLibrary) {
} else:win32-msvc*|wince*|win32-icc {
LIBS += /OPT:REF -l$$target
} else {
+ CONFIG *= no_smart_library_merge
LIBS += -Wl,-whole-archive -l$$target -Wl,-no-whole-archive
}