Enable Gigacage unconditionally when building JSCOnly on macOS (build fix)
authorannulen@yandex.ru <annulen@yandex.ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 15:00:26 +0000 (15:00 +0000)
committerannulen@yandex.ru <annulen@yandex.ru@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Apr 2018 15:00:26 +0000 (15:00 +0000)
https://bugs.webkit.org/show_bug.cgi?id=184301

Reviewed by Yusuke Suzuki.

bmalloc/ProcessCheck.mm implements specific behavior for Mac and iOS ports,
which is guarded with BPLATFORM(COCOA). if we don't enable BPLATFORM(MAC)
or BPLATFORM(IOS) in JSCOnly, then BPLATFORM(COCOA) won't be defined
as well, and code path from ProcessCheck.mm will not be taken.

* CMakeLists.txt: Exclude ProcessCheck.mm from port-independent file
list.
* PlatformMac.cmake: Build ProcessCheck.mm for Mac port.
* bmalloc/BPlatform.h: Don't enable BPLATFORM(MAC) or BPLATFORM(IOS)
when building JSCOnly port.

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

Source/bmalloc/CMakeLists.txt
Source/bmalloc/ChangeLog
Source/bmalloc/PlatformMac.cmake [new file with mode: 0644]
Source/bmalloc/bmalloc/BPlatform.h

index a1649ab..b81610c 100644 (file)
@@ -35,7 +35,6 @@ set(bmalloc_SOURCES
 
 if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
     list(APPEND bmalloc_SOURCES
-        bmalloc/ProcessCheck.mm
         bmalloc/Zone.cpp
     )
 endif ()
@@ -44,6 +43,8 @@ set(bmalloc_LIBRARIES
     ${CMAKE_DL_LIBS}
 )
 
+WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+
 WEBKIT_WRAP_SOURCELIST(${bmalloc_SOURCES})
 include_directories(${bmalloc_INCLUDE_DIRECTORIES})
 add_library(bmalloc STATIC ${bmalloc_SOURCES})
index 7a245f2..94aa77f 100644 (file)
@@ -1,3 +1,21 @@
+2018-04-04  Konstantin Tokarev  <annulen@yandex.ru>
+
+        Enable Gigacage unconditionally when building JSCOnly on macOS (build fix)
+        https://bugs.webkit.org/show_bug.cgi?id=184301
+
+        Reviewed by Yusuke Suzuki.
+
+        bmalloc/ProcessCheck.mm implements specific behavior for Mac and iOS ports,
+        which is guarded with BPLATFORM(COCOA). if we don't enable BPLATFORM(MAC)
+        or BPLATFORM(IOS) in JSCOnly, then BPLATFORM(COCOA) won't be defined
+        as well, and code path from ProcessCheck.mm will not be taken.
+
+        * CMakeLists.txt: Exclude ProcessCheck.mm from port-independent file
+        list.
+        * PlatformMac.cmake: Build ProcessCheck.mm for Mac port.
+        * bmalloc/BPlatform.h: Don't enable BPLATFORM(MAC) or BPLATFORM(IOS)
+        when building JSCOnly port.
+
 2018-04-03  Saam Barati  <sbarati@apple.com>
 
         totalPhysicalSize calculation when splitting a range must account for double rounding effects
diff --git a/Source/bmalloc/PlatformMac.cmake b/Source/bmalloc/PlatformMac.cmake
new file mode 100644 (file)
index 0000000..c53c48e
--- /dev/null
@@ -0,0 +1,5 @@
+add_definitions(-DBPLATFORM_MAC=1)
+
+list(APPEND bmalloc_SOURCES
+    bmalloc/ProcessCheck.mm
+)
index 5aefa05..028623e 100644 (file)
@@ -52,7 +52,7 @@
 #define BOS_WINDOWS 1
 #endif
 
-#if BOS(DARWIN)
+#if BOS(DARWIN) && !defined(BUILDING_WITH_CMAKE)
 #if TARGET_OS_IPHONE
 #define BPLATFORM_IOS 1
 #if TARGET_OS_SIMULATOR