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 a1649abec45d44e40fa6a1eaf3709634b932aa03..b81610c5e3f2d7fa53c5008d7e2003013d33f046 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 7a245f2431917008a91b0d77bcdb1e0d2d37fa97..94aa77f61f2006784e9ebc6a4b1db57cb3f0dc19 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 5aefa051e2a7d96d83884e89c024e780142d8e54..028623e0b7ea4ffd8dd9abe43735db5b77950979 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