[WinCairo] Non-unified build fails to link Tools
authorross.kirsling@sony.com <ross.kirsling@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Apr 2019 03:28:35 +0000 (03:28 +0000)
committerross.kirsling@sony.com <ross.kirsling@sony.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 19 Apr 2019 03:28:35 +0000 (03:28 +0000)
https://bugs.webkit.org/show_bug.cgi?id=196866

Reviewed by Fujii Hironori.

.:

* Source/cmake/OptionsWin.cmake:
Build WebCore as an object library when unified builds are disabled
(and we haven't explicitly asked to build it as a shared library).
This is necessary for two reasons:
- Non-unified WebCore.lib is too large for the MSVC linker to create (>4GB).
- Some WebCore object files are not actually used, but DumpRenderTree and TestRunnerInjectedBundle
  still expect that their symbols will be re-exported via WebKit[Legacy].

Source/WebCore:

* CMakeLists.txt:
Drive-by fix -- don't disable string pooling when building WebCoreTestSupport.
(This should have been part of r235203.)

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

ChangeLog
Source/WebCore/CMakeLists.txt
Source/WebCore/ChangeLog
Source/cmake/OptionsWin.cmake

index f3bb8c3..5b4b673 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2019-04-18  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [WinCairo] Non-unified build fails to link Tools
+        https://bugs.webkit.org/show_bug.cgi?id=196866
+
+        Reviewed by Fujii Hironori.
+
+        * Source/cmake/OptionsWin.cmake:
+        Build WebCore as an object library when unified builds are disabled
+        (and we haven't explicitly asked to build it as a shared library).
+        This is necessary for two reasons:
+        - Non-unified WebCore.lib is too large for the MSVC linker to create (>4GB).
+        - Some WebCore object files are not actually used, but DumpRenderTree and TestRunnerInjectedBundle
+          still expect that their symbols will be re-exported via WebKit[Legacy].
+
 2019-04-17  Jer Noble  <jer.noble@apple.com>
 
         Automatically use ccache when available for Makefile builds
index 7786044..cc376ad 100644 (file)
@@ -2113,7 +2113,7 @@ target_link_libraries(WebCoreTestSupport ${WebCoreTestSupport_LIBRARIES})
 if (WebCoreTestSupport_OUTPUT_NAME)
     set_target_properties(WebCoreTestSupport PROPERTIES OUTPUT_NAME ${WebCoreTestSupport_OUTPUT_NAME})
     if (MSVC)
-        add_compile_options(/GF- /WX-)
+        add_compile_options(/WX-)
     endif ()
 endif ()
 
index 85bbfde..b882770 100644 (file)
@@ -1,3 +1,14 @@
+2019-04-18  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [WinCairo] Non-unified build fails to link Tools
+        https://bugs.webkit.org/show_bug.cgi?id=196866
+
+        Reviewed by Fujii Hironori.
+
+        * CMakeLists.txt:
+        Drive-by fix -- don't disable string pooling when building WebCoreTestSupport.
+        (This should have been part of r235203.)
+
 2019-04-18  Commit Queue  <commit-queue@webkit.org>
 
         Unreviewed, rolling out r244434.
index ec844e0..0b46991 100644 (file)
@@ -156,6 +156,10 @@ set(WTF_LIBRARY_TYPE SHARED)
 set(PAL_LIBRARY_TYPE STATIC)
 set(WebKitLegacy_LIBRARY_TYPE SHARED)
 
+if (NOT ENABLE_UNIFIED_BUILDS AND WebCore_LIBRARY_TYPE MATCHES STATIC)
+    set(WebCore_LIBRARY_TYPE OBJECT)
+endif ()
+
 find_package(ICU REQUIRED)
 
 # If <winsock2.h> is not included before <windows.h> redefinition errors occur