webkit2gtk3/fix-build.patch

55 lines
2.6 KiB
Diff

From f20bac21ea37991c1a1110e78846897a406932f0 Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanzaro@redhat.com>
Date: Tue, 5 Jul 2022 08:23:12 -0500
Subject: [PATCH] Revert "Merge r295034 - WebKitTestRunner shouldn't link
object files of JavaScriptCore and WebCore"
This reverts commit 7916fda00b347ff263fbfe72c065032d1d9b523c.
---
Source/JavaScriptCore/CMakeLists.txt | 12 +++++++++---
Tools/WebKitTestRunner/CMakeLists.txt | 1 -
Tools/WebKitTestRunner/PlatformGTK.cmake | 4 ++++
Tools/WebKitTestRunner/PlatformWin.cmake | 4 ++++
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index 95a1300ce1b3..238208eb1137 100644
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -456,7 +456,7 @@ if (MSVC AND NOT ENABLE_C_LOOP)
COMMAND ${MASM_EXECUTABLE} ${LLINT_MASM_FLAGS} ${JavaScriptCore_DERIVED_SOURCES_DIR}/LowLevelInterpreterWin.obj ${JavaScriptCore_DERIVED_SOURCES_DIR}/LowLevelInterpreterWin.asm
VERBATIM)
list(APPEND JavaScriptCore_SOURCES ${JavaScriptCore_DERIVED_SOURCES_DIR}/LowLevelInterpreterWin.obj)
- add_library(LowLevelInterpreterLib STATIC llint/LowLevelInterpreter.cpp)
+ add_library(LowLevelInterpreterLib OBJECT llint/LowLevelInterpreter.cpp)
else ()
# As there's poor toolchain support for using `.file` directives in
# inline asm (i.e. there's no way to avoid clashes with the `.file`
@@ -465,7 +465,7 @@ else ()
# an object file. We only need to do this for LowLevelInterpreter.cpp
# and cmake doesn't allow us to introduce a compiler wrapper for a
# single source file, so we need to create a separate target for it.
- add_library(LowLevelInterpreterLib STATIC llint/LowLevelInterpreter.cpp
+ add_library(LowLevelInterpreterLib OBJECT llint/LowLevelInterpreter.cpp
${JavaScriptCore_DERIVED_SOURCES_DIR}/${LLIntOutput})
endif ()
@@ -1496,7 +1496,13 @@ if (CMAKE_COMPILER_IS_GNUCXX AND GCC_OFFLINEASM_SOURCE_MAP)
COMPILE_OPTIONS "-fno-lto")
endif ()
-list(APPEND JavaScriptCore_PRIVATE_LIBRARIES LowLevelInterpreterLib)
+# When building JavaScriptCore as an object library, we need to make sure the
+# lowlevelinterpreter lib objects get propogated.
+if (${JavaScriptCore_LIBRARY_TYPE} STREQUAL "OBJECT")
+ list(APPEND JavaScriptCore_PRIVATE_LIBRARIES $<TARGET_OBJECTS:LowLevelInterpreterLib>)
+else ()
+ list(APPEND JavaScriptCore_SOURCES $<TARGET_OBJECTS:LowLevelInterpreterLib>)
+endif ()
WEBKIT_COMPUTE_SOURCES(JavaScriptCore)
list(APPEND JavaScriptCore_SOURCES
--
2.36.1