.:
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 16 Jan 2016 20:50:22 +0000 (20:50 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 16 Jan 2016 20:50:22 +0000 (20:50 +0000)
[GTK] Use -Wl,-all_load on darwin to include contents of all static archives

https://bugs.webkit.org/show_bug.cgi?id=153117

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-16
Reviewed by Michael Catanzaro.

* Source/cmake/OptionsGTK.cmake:

Source/WebKit2:
Remove a now-irrelevant darwin build hack
https://bugs.webkit.org/show_bug.cgi?id=153117

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-16
Reviewed by Michael Catanzaro.

* PlatformGTK.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195174 268f45cc-cd09-0410-ab3c-d52691b4dbfc

ChangeLog
Source/WebKit2/ChangeLog
Source/WebKit2/PlatformGTK.cmake
Source/cmake/OptionsGTK.cmake

index f34121c..c3e5d43 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2016-01-16  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
+
+        [GTK] Use -Wl,-all_load on darwin to include contents of all static archives
+
+        https://bugs.webkit.org/show_bug.cgi?id=153117
+
+        Reviewed by Michael Catanzaro.
+
+        * Source/cmake/OptionsGTK.cmake:
+
 2016-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [CMake] Do not use LLVM static libraries for FTL JIT
index 7e9915a..8c588aa 100644 (file)
@@ -1,3 +1,12 @@
+2016-01-16  Jeremy Huddleston Sequoia  <jeremyhu@apple.com>
+
+        Remove a now-irrelevant darwin build hack
+        https://bugs.webkit.org/show_bug.cgi?id=153117
+
+        Reviewed by Michael Catanzaro.
+
+        * PlatformGTK.cmake:
+
 2016-01-16  Jon Honeycutt  <jhoneycutt@apple.com>
 
         [iOS] Replace deprecated -[UIDocumentMenuViewController
index 5935cc3..c0de9fa 100644 (file)
@@ -938,12 +938,6 @@ add_custom_command(
         ${WEBKIT2_DIR}/UIProcess/API/gtk/*.cpp
 )
 
-# Manually add some libraries on OSX because we don't have the --whole-archive flag
-if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
-    set(INTROSPECTION_ADDITIONAL_LIBRARIES --library=c++)
-    set(INTROSPECTION_ADDITIONAL_LDFLAGS -lGObjectDOMBindings)
-endif ()
-
 add_custom_command(
     OUTPUT ${CMAKE_BINARY_DIR}/WebKit2WebExtension-${WEBKITGTK_API_VERSION}.gir
     DEPENDS ${CMAKE_BINARY_DIR}/JavaScriptCore-${WEBKITGTK_API_VERSION}.gir
index ebb525a..d3e67ea 100644 (file)
@@ -471,10 +471,11 @@ endmacro()
 # CMake does not automatically add --whole-archive when building shared objects from
 # a list of convenience libraries. This can lead to missing symbols in the final output.
 # We add --whole-archive to all libraries manually to prevent the linker from trimming
-# symbols that we actually need later. (--whole-archive isn't an option on XCode's
-# linker, though.)
+# symbols that we actually need later. With ld64 on darwin, we use -all_load instead.
 macro(ADD_WHOLE_ARCHIVE_TO_LIBRARIES _list_name)
-    if (NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
+    if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
+        list(APPEND ${_list_name} -Wl,-all_load)
+    else ()
         foreach (library IN LISTS ${_list_name})
           list(APPEND ${_list_name}_TMP -Wl,--whole-archive ${library} -Wl,--no-whole-archive)
         endforeach ()