Title: [281730] trunk
Revision
281730
Author
stephan.sz...@sony.com
Date
2021-08-27 19:09:00 -0700 (Fri, 27 Aug 2021)

Log Message

[PlayStation][CMake] Add control over whether _javascript_Core should be shared
https://bugs.webkit.org/show_bug.cgi?id=229591

.:

Add option for controlling whether to build a shared _javascript_Core and
set build type for that appropriately.

Reviewed by Don Olmstead.

* Source/cmake/OptionsPlayStation.cmake:

Source/_javascript_Core:

Reviewed by Don Olmstead.

Make LowLevelInterpreterLib objects get added via _PRIVATE_LIBRARIES when
using _javascript_Core as an object library in order to propogate them
correctly.

* CMakeLists.txt:

Tools:

Reviewed by Don Olmstead.

Add frameworks to test applications to build with an object library version
of _javascript_Core.

* TestWebKitAPI/CMakeLists.txt:

Modified Paths

Diff

Modified: trunk/ChangeLog (281729 => 281730)


--- trunk/ChangeLog	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/ChangeLog	2021-08-28 02:09:00 UTC (rev 281730)
@@ -1,3 +1,15 @@
+2021-08-27  Stephan Szabo  <stephan.sz...@sony.com>
+
+        [PlayStation][CMake] Add control over whether _javascript_Core should be shared
+        https://bugs.webkit.org/show_bug.cgi?id=229591
+
+        Add option for controlling whether to build a shared _javascript_Core and
+        set build type for that appropriately.
+
+        Reviewed by Don Olmstead.
+
+        * Source/cmake/OptionsPlayStation.cmake:
+
 2021-08-27  Russell Epstein  <repst...@apple.com>
 
         Land Windows build fixes from safari-612.1.29.14-branch.

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (281729 => 281730)


--- trunk/Source/_javascript_Core/CMakeLists.txt	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2021-08-28 02:09:00 UTC (rev 281730)
@@ -1454,7 +1454,13 @@
         COMPILE_DEFINITIONS "POSTPROCESS_ASM=llint/LowLevelInterpreter.cpp")
 endif ()
 
-list(APPEND _javascript_Core_SOURCES $<TARGET_OBJECTS:LowLevelInterpreterLib>)
+# When building _javascript_Core as an object library, we need to make sure the
+# lowlevelinterpreter lib objects get propogated.
+if (${_javascript_Core_LIBRARY_TYPE} STREQUAL "OBJECT")
+    list(APPEND _javascript_Core_PRIVATE_LIBRARIES $<TARGET_OBJECTS:LowLevelInterpreterLib>)
+else ()
+    list(APPEND _javascript_Core_SOURCES $<TARGET_OBJECTS:LowLevelInterpreterLib>)
+endif ()
 
 WEBKIT_COMPUTE_SOURCES(_javascript_Core)
 WEBKIT_FRAMEWORK(_javascript_Core)

Modified: trunk/Source/_javascript_Core/ChangeLog (281729 => 281730)


--- trunk/Source/_javascript_Core/ChangeLog	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-08-28 02:09:00 UTC (rev 281730)
@@ -1,3 +1,16 @@
+2021-08-27  Stephan Szabo  <stephan.sz...@sony.com>
+
+        [PlayStation][CMake] Add control over whether _javascript_Core should be shared
+        https://bugs.webkit.org/show_bug.cgi?id=229591
+
+        Reviewed by Don Olmstead.
+
+        Make LowLevelInterpreterLib objects get added via _PRIVATE_LIBRARIES when
+        using _javascript_Core as an object library in order to propogate them
+        correctly.
+
+        * CMakeLists.txt:
+
 2021-08-27  Russell Epstein  <repst...@apple.com>
 
         Land Windows build fixes from safari-612.1.29.14-branch.

Modified: trunk/Source/cmake/OptionsPlayStation.cmake (281729 => 281730)


--- trunk/Source/cmake/OptionsPlayStation.cmake	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/Source/cmake/OptionsPlayStation.cmake	2021-08-28 02:09:00 UTC (rev 281730)
@@ -28,6 +28,9 @@
 
 WEBKIT_OPTION_BEGIN()
 
+# PlayStation Specific Options
+WEBKIT_OPTION_DEFINE(ENABLE_STATIC_JSC "Control whether to build a non-shared JSC" PUBLIC ON)
+
 # Turn off JIT
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_JIT PRIVATE OFF)
 WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_FTL_JIT PRIVATE OFF)
@@ -174,8 +177,13 @@
 # not be exposed.
 set(bmalloc_LIBRARY_TYPE OBJECT)
 set(WTF_LIBRARY_TYPE OBJECT)
-set(_javascript_Core_LIBRARY_TYPE SHARED)
 
+if (ENABLE_STATIC_JSC)
+    set(_javascript_Core_LIBRARY_TYPE OBJECT)
+else ()
+    set(_javascript_Core_LIBRARY_TYPE SHARED)
+endif ()
+
 # Create a shared WebKit
 #
 # Use OBJECT libraries for PAL and WebCore. The size of a libWebCore.a is too much

Modified: trunk/Tools/ChangeLog (281729 => 281730)


--- trunk/Tools/ChangeLog	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/Tools/ChangeLog	2021-08-28 02:09:00 UTC (rev 281730)
@@ -1,3 +1,15 @@
+2021-08-27  Stephan Szabo  <stephan.sz...@sony.com>
+
+        [PlayStation][CMake] Add control over whether _javascript_Core should be shared
+        https://bugs.webkit.org/show_bug.cgi?id=229591
+
+        Reviewed by Don Olmstead.
+
+        Add frameworks to test applications to build with an object library version
+        of _javascript_Core.
+
+        * TestWebKitAPI/CMakeLists.txt:
+
 2021-08-27  Ryan Haddad  <ryanhad...@apple.com>
 
         [EWS] Do not notify Apple bot watchers about failures seen on Igalia bots

Modified: trunk/Tools/TestWebKitAPI/CMakeLists.txt (281729 => 281730)


--- trunk/Tools/TestWebKitAPI/CMakeLists.txt	2021-08-28 00:57:09 UTC (rev 281729)
+++ trunk/Tools/TestWebKitAPI/CMakeLists.txt	2021-08-28 02:09:00 UTC (rev 281730)
@@ -148,6 +148,9 @@
         _javascript_Core
         WTF
     )
+    if (NOT USE_SYSTEM_MALLOC)
+        list(APPEND TestJavaScriptCore_FRAMEWORKS bmalloc)
+    endif ()
 
     set(TestJavaScriptCore_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
@@ -197,9 +200,14 @@
         WebKit::gtest
     )
     set(TestWebCore_FRAMEWORKS
+        _javascript_Core
         PAL
+        WTF
         WebCore
     )
+    if (NOT USE_SYSTEM_MALLOC)
+        list(APPEND TestWebCore_FRAMEWORKS bmalloc)
+    endif ()
 
     set(TestWebCore_PRIVATE_INCLUDE_DIRECTORIES
         ${CMAKE_BINARY_DIR}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to