Fixes to build JSCOnly on macOS
authorannulen@yandex.ru <annulen@yandex.ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Nov 2016 23:49:43 +0000 (23:49 +0000)
committerannulen@yandex.ru <annulen@yandex.ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 3 Nov 2016 23:49:43 +0000 (23:49 +0000)
https://bugs.webkit.org/show_bug.cgi?id=164379

Reviewed by Michael Catanzaro.

.:

* Source/cmake/OptionsJSCOnly.cmake: Define BUILDING_JSCONLY__, use
system ICU libraries on macOS
* Source/cmake/WebKitMacros.cmake: Fixed WEBKIT_FRAMEWORK macro for
static JSC

Source/WTF:

* wtf/Platform.h: JSCOnly port should not provide any PLATFORM() macro

Tools:

* TestWebKitAPI/PlatformJSCOnly.cmake: Moved BUILDING_JSCONLY__
definition to OptionsJSCOnly.cmake

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

ChangeLog
Source/WTF/ChangeLog
Source/WTF/wtf/Platform.h
Source/cmake/OptionsJSCOnly.cmake
Source/cmake/WebKitMacros.cmake
Tools/ChangeLog
Tools/TestWebKitAPI/PlatformJSCOnly.cmake

index 2b9764e..f2d265d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2016-11-03  Konstantin Tokarev  <annulen@yandex.ru>
 
+        Fixes to build JSCOnly on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=164379
+
+        Reviewed by Michael Catanzaro.
+
+        * Source/cmake/OptionsJSCOnly.cmake: Define BUILDING_JSCONLY__, use
+        system ICU libraries on macOS
+        * Source/cmake/WebKitMacros.cmake: Fixed WEBKIT_FRAMEWORK macro for
+        static JSC
+
+2016-11-03  Konstantin Tokarev  <annulen@yandex.ru>
+
         [cmake][MinGW] Don't use MS bitfield layout to reduce sizes of data structures
         https://bugs.webkit.org/show_bug.cgi?id=164026
 
index cac1327..b349889 100644 (file)
@@ -1,3 +1,12 @@
+2016-11-03  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Fixes to build JSCOnly on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=164379
+
+        Reviewed by Michael Catanzaro.
+
+        * wtf/Platform.h: JSCOnly port should not provide any PLATFORM() macro
+
 2016-11-03  Brady Eidson  <beidson@apple.com>
 
         IndexedDB 2.0: Support binary keys.
index e8f3a4b..a59d1b4 100644 (file)
 #define WTF_PLATFORM_EFL 1
 #elif defined(BUILDING_GTK__)
 #define WTF_PLATFORM_GTK 1
+#elif defined(BUILDING_JSCONLY__)
+/* JSCOnly does not provide PLATFORM() macro */
 #elif OS(MAC_OS_X)
 #define WTF_PLATFORM_MAC 1
 #elif OS(IOS)
index de649c4..53b4ee0 100644 (file)
@@ -1,6 +1,7 @@
-find_package(ICU REQUIRED)
 find_package(Threads REQUIRED)
 
+add_definitions(-DBUILDING_JSCONLY__)
+
 set(PROJECT_VERSION_MAJOR 1)
 set(PROJECT_VERSION_MINOR 0)
 set(PROJECT_VERSION_MICRO 0)
@@ -44,6 +45,17 @@ else ()
     SET_AND_EXPOSE_TO_BUILD(WTF_DEFAULT_EVENT_LOOP 0)
 endif ()
 
+if (NOT APPLE)
+    find_package(ICU REQUIRED)
+else ()
+    set(ICU_INCLUDE_DIRS
+        "${WEBCORE_DIR}/icu"
+        "${JAVASCRIPTCORE_DIR}/icu"
+        "${WTF_DIR}/icu"
+    )
+    set(ICU_LIBRARIES libicucore.dylib)
+endif ()
+
 # From OptionsGTK.cmake
 if (CMAKE_MAJOR_VERSION LESS 3)
     # Before CMake 3 it was necessary to use a build script instead of using cmake --build directly
index ce43f25..2a7251e 100644 (file)
@@ -314,7 +314,7 @@ macro(WEBKIT_FRAMEWORK _target)
         add_custom_command(TARGET ${_target} POST_BUILD COMMAND ${${_target}_POST_BUILD_COMMAND} VERBATIM)
     endif ()
 
-    if (APPLE AND NOT PORT STREQUAL "GTK" AND NOT ${_target} STREQUAL "WTF")
+    if (APPLE AND NOT PORT STREQUAL "GTK" AND NOT ${${_target}_LIBRARY_TYPE} MATCHES STATIC)
         set_target_properties(${_target} PROPERTIES FRAMEWORK TRUE)
         install(TARGETS ${_target} FRAMEWORK DESTINATION ${LIB_INSTALL_DIR})
     endif ()
index 6064ff1..c902a73 100644 (file)
@@ -1,3 +1,13 @@
+2016-11-03  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Fixes to build JSCOnly on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=164379
+
+        Reviewed by Michael Catanzaro.
+
+        * TestWebKitAPI/PlatformJSCOnly.cmake: Moved BUILDING_JSCONLY__
+        definition to OptionsJSCOnly.cmake
+
 2016-11-03  Dan Bernstein  <mitz@apple.com>
 
         WKWebView’s _observedRenderingProgressEvents not restored after web process crash
index d7e3cc7..e25c62f 100644 (file)
@@ -1,11 +1,6 @@
 set(TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/TestWebKitAPI")
 set(TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY_WTF "${TESTWEBKITAPI_RUNTIME_OUTPUT_DIRECTORY}/WTF")
 
-# This is necessary because JSCOnly port does not support WebCore, WebKit and WebKit2.
-# To build TestWTF, we need this flag not to include WebKit related headers except
-# for WTF and JavaScriptCore.
-add_definitions(-DBUILDING_JSCONLY__)
-
 include_directories(
     ${DERIVED_SOURCES_DIR}/ForwardingHeaders
     "${WTF_DIR}/icu"