From f20bac21ea37991c1a1110e78846897a406932f0 Mon Sep 17 00:00:00 2001 From: Michael Catanzaro 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 $) +else () + list(APPEND JavaScriptCore_SOURCES $) +endif () WEBKIT_COMPUTE_SOURCES(JavaScriptCore) list(APPEND JavaScriptCore_SOURCES -- 2.36.1