PKGBUILDs/extra/webkit2gtk-4.1/7916fda00b347ff263fbfe72c065032d1d9b523c.patch
2022-07-05 23:28:22 +00:00

71 lines
3.5 KiB
Diff

From 7916fda00b347ff263fbfe72c065032d1d9b523c Mon Sep 17 00:00:00 2001
From: Fujii Hironori <Hironori.Fujii@sony.com>
Date: Tue, 7 Jun 2022 11:42:55 +0000
Subject: [PATCH] Merge r295034 - WebKitTestRunner shouldn't link object files
of JavaScriptCore and WebCore https://bugs.webkit.org/show_bug.cgi?id=241002
Reviewed by Don Olmstead.
243269@main removed `WebKit` from `WebKitTestRunner_FRAMEWORKS` for
WPE. But, it should be there not to link object files of
JavaScriptCore and WebCore to WebKitTestRunner. In WPE builds,
JavaScriptCore and WebCore API are exported from WebKit shared
library. WebKit consumers shouldn't link with object files of
JavaScriptCore and WebCore.
However, adding `WebKit` to `WebKitTestRunner_FRAMEWORKS` introduced a
new problem that the object file of LowLevelInterpreter.cpp was linked
into WebKitTestRunner. This problem was fixed by changing
LowLevelInterpreterLib to a STATIC library.
* Source/JavaScriptCore/CMakeLists.txt:
* Tools/WebKitTestRunner/CMakeLists.txt:
* Tools/WebKitTestRunner/PlatformGTK.cmake:
* Tools/WebKitTestRunner/PlatformWin.cmake:
Canonical link: https://commits.webkit.org/247617.88@webkitgtk/2.36
git-svn-id: https://svn.webkit.org/repository/webkit/releases/WebKitGTK/webkit-2.36@295340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
Source/JavaScriptCore/CMakeLists.txt | 12 +++---------
Tools/WebKitTestRunner/CMakeLists.txt | 1 +
Tools/WebKitTestRunner/PlatformGTK.cmake | 4 ----
Tools/WebKitTestRunner/PlatformWin.cmake | 4 ----
4 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index 238208eb1137..95a1300ce1b3 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 OBJECT llint/LowLevelInterpreter.cpp)
+ add_library(LowLevelInterpreterLib STATIC 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 OBJECT llint/LowLevelInterpreter.cpp
+ add_library(LowLevelInterpreterLib STATIC llint/LowLevelInterpreter.cpp
${JavaScriptCore_DERIVED_SOURCES_DIR}/${LLIntOutput})
endif ()
@@ -1496,13 +1496,7 @@ if (CMAKE_COMPILER_IS_GNUCXX AND GCC_OFFLINEASM_SOURCE_MAP)
COMPILE_OPTIONS "-fno-lto")
endif ()
-# 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 ()
+list(APPEND JavaScriptCore_PRIVATE_LIBRARIES LowLevelInterpreterLib)
WEBKIT_COMPUTE_SOURCES(JavaScriptCore)
list(APPEND JavaScriptCore_SOURCES