From a780527a1b79538f1e1f5144e9b522d0927a2312 Mon Sep 17 00:00:00 2001 From: Adrian Perez de Castro Date: Wed, 13 Jul 2022 00:53:48 +0300 Subject: [PATCH] Revert "Merge r295034 - WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore" This reverts commit 7916fda00b347ff263fbfe72c065032d1d9b523c. Signed-off-by: Adrian Perez de Castro [Upstream status: https://bugs.webkit.org/show_bug.cgi?id=241002] --- 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 $) +else () + list(APPEND JavaScriptCore_SOURCES $) +endif () WEBKIT_COMPUTE_SOURCES(JavaScriptCore) list(APPEND JavaScriptCore_SOURCES -- 2.37.1