@@ -323,7 +323,7 @@ add_custom_command(
323323 OUTPUT ${JavaScriptCore_DERIVED_SOURCES_DIR} /${LLIntOutput}
324324 MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR} /offlineasm/asm.rb
325325 DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} ${JavaScriptCore_DERIVED_SOURCES_DIR} /InitBytecodes.asm ${JavaScriptCore_DERIVED_SOURCES_DIR} /InitWasm.asm
326- COMMAND ${CMAKE_COMMAND } -E env CMAKE_CXX_COMPILER_ID =${CMAKE_CXX_COMPILER_ID} GCC_OFFLINEASM_SOURCE_MAP=${GCC_OFFLINEASM_SOURCE_MAP} ${ RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR} /offlineasm/asm.rb -I${JavaScriptCore_DERIVED_SOURCES_DIR}/ ${JAVASCRIPTCORE_DIR} /llint/LowLevelInterpreter.asm $<TARGET_FILE :LLIntOffsetsExtractor > ${JavaScriptCore_DERIVED_SOURCES_DIR} /${LLIntOutput} ${OFFLINE_ASM_ARGS}
326+ COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR} /offlineasm/asm.rb -I${JavaScriptCore_DERIVED_SOURCES_DIR}/ ${JAVASCRIPTCORE_DIR} /llint/LowLevelInterpreter.asm $<TARGET_FILE :LLIntOffsetsExtractor > ${JavaScriptCore_DERIVED_SOURCES_DIR} /${LLIntOutput} ${OFFLINE_ASM_ARGS}
327327 COMMAND ${CMAKE_COMMAND } -E touch_nocreate ${JavaScriptCore_DERIVED_SOURCES_DIR} /${LLIntOutput}
328328 WORKING_DIRECTORY ${JavaScriptCore_DERIVED_SOURCES_DIR}
329329 VERBATIM )
@@ -348,17 +348,10 @@ if (MSVC AND NOT ENABLE_C_LOOP)
348348 COMMAND ${MASM_EXECUTABLE} ${LLINT_MASM_FLAGS} ${JavaScriptCore_DERIVED_SOURCES_DIR} /LowLevelInterpreterWin.obj ${JavaScriptCore_DERIVED_SOURCES_DIR} /LowLevelInterpreterWin.asm
349349 VERBATIM )
350350 list (APPEND JavaScriptCore_SOURCES ${JavaScriptCore_DERIVED_SOURCES_DIR} /LowLevelInterpreterWin.obj)
351- add_library (LowLevelInterpreterLib OBJECT llint/LowLevelInterpreter.cpp )
352351else ()
353- # As there's poor toolchain support for using `.file` directives in
354- # inline asm (i.e. there's no way to avoid clashes with the `.file`
355- # directives generated by the C code in the compilation unit), we
356- # introduce a postprocessing pass for the asm that gets assembled into
357- # an object file. We only need to do this for LowLevelInterpreter.cpp
358- # and cmake doesn't allow us to introduce a compiler wrapper for a
359- # single source file, so we need to create a separate target for it.
360- add_library (LowLevelInterpreterLib OBJECT llint/LowLevelInterpreter.cpp
361- ${JavaScriptCore_DERIVED_SOURCES_DIR} /${LLIntOutput} )
352+ list (APPEND JavaScriptCore_HEADERS
353+ ${JavaScriptCore_DERIVED_SOURCES_DIR} /LLIntAssembly.h
354+ )
362355endif ()
363356
364357# WebAssembly generator
@@ -1369,29 +1362,6 @@ target_include_directories(LLIntOffsetsExtractor SYSTEM PRIVATE ${JavaScriptCore
13691362
13701363add_subdirectory (shell )
13711364
1372- target_include_directories (LowLevelInterpreterLib
1373- PRIVATE "$<TARGET_PROPERTY :JavaScriptCore ,INCLUDE_DIRECTORIES >" )
1374-
1375- if (CMAKE_COMPILER_IS_GNUCXX AND GCC_OFFLINEASM_SOURCE_MAP)
1376- message (STATUS "Enabling asm postprocessing" )
1377-
1378- set (LowLevelInterpreter_LAUNCHER "${JavaScriptCore_SCRIPTS_SOURCES_DIR} /postprocess-asm" )
1379- get_target_property (PROP_RULE_LAUNCH_COMPILE LowLevelInterpreterLib RULE_LAUNCH_COMPILE)
1380- if (PROP_RULE_LAUNCH_COMPILE)
1381- set (LowLevelInterpreter_LAUNCHER "${LowLevelInterpreter_LAUNCHER} ${PROP_RULE_LAUNCH_COMPILE} " )
1382- endif ()
1383- set_property (TARGET LowLevelInterpreterLib
1384- PROPERTY RULE_LAUNCH_COMPILE "${LowLevelInterpreter_LAUNCHER} " )
1385-
1386- # Pass in the filename as a magic preprocessor directive, so that
1387- # the wrapper can accurately identify the source file.
1388- set_source_files_properties ("llint/LowLevelInterpreter.cpp"
1389- PROPERTIES
1390- COMPILE_DEFINITIONS "POSTPROCESS_ASM=llint/LowLevelInterpreter.cpp" )
1391- endif ()
1392-
1393- list (APPEND JavaScriptCore_LIBRARIES LowLevelInterpreterLib)
1394-
13951365WEBKIT_COMPUTE_SOURCES (JavaScriptCore )
13961366WEBKIT_WRAP_SOURCELIST (${JavaScriptCore_SOURCES} )
13971367WEBKIT_FRAMEWORK (JavaScriptCore )
0 commit comments