Changeset 172754 in webkit for trunk/Source/JavaScriptCore


Ignore:
Timestamp:
Aug 19, 2014, 10:36:54 AM (11 years ago)
Author:
[email protected]
Message:

[CMake] Generate LLInt assembly correctly on Windows.
https://bugs.webkit.org/show_bug.cgi?id=135888

Patch by Alex Christensen <[email protected]> on 2014-08-19
Reviewed by Oliver Hunt.

  • CMakeLists.txt:

Generate LowLevelInterpreterWin.asm instead of LLIntAssembly.h on Windows like the existing build system.

  • PlatformWin.cmake:

Don't build JSGlobalObjectInspectorController.cpp on Windows.

  • offlineasm/x86.rb:

Detect non-cygwin ruby installations correctly.

Location:
trunk/Source/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r172739 r172754  
    670670# running this command for every build, we artificially update LLIntAssembly.h's mtime (using touch)
    671671# after every asm.rb run.
     672if (MSVC)
     673    set(LLIntOutput LowLevelInterpreterWin.asm)
     674else ()
     675    set(LLIntOutput LLIntAssembly.h)
     676endif ()
     677
    672678add_custom_command(
    673     OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
     679    OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput}
    674680    MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb
    675681    DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM} ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InitBytecodes.asm
    676     COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb -I${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/ ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntOffsetsExtractor> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
    677     COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
     682    COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb -I${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/ ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntOffsetsExtractor> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput}
     683    COMMAND ${CMAKE_COMMAND} -E touch_nocreate ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/${LLIntOutput}
    678684    VERBATIM)
    679685
     
    682688# files are used to build JavaScriptCore itself, we can just add LLIntAssembly.h to JSC_HEADERS
    683689# since it is used in the add_library() call at the end of this file.
    684 list(APPEND JavaScriptCore_HEADERS
    685     ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
    686 )
     690if (MSVC)
     691    list(APPEND JavaScriptCore_SOURCES
     692        ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm
     693    )
     694    # Win32 needs /safeseh with assembly, but Win64 does not.
     695    if (CMAKE_SIZEOF_VOID_P EQUAL 4)
     696        set_source_files_properties(${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LowLevelInterpreterWin.asm
     697            PROPERTIES COMPILE_FLAGS  "/safeseh"
     698        )
     699    endif ()
     700else ()
     701    list(APPEND JavaScriptCore_HEADERS
     702        ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
     703    )
     704endif ()
     705
    687706list(APPEND JavaScriptCore_SOURCES
    688707    llint/LLIntCLoop.cpp
  • trunk/Source/JavaScriptCore/ChangeLog

    r172746 r172754  
     12014-08-19  Alex Christensen  <[email protected]>
     2
     3        [CMake] Generate LLInt assembly correctly on Windows.
     4        https://bugs.webkit.org/show_bug.cgi?id=135888
     5
     6        Reviewed by Oliver Hunt.
     7
     8        * CMakeLists.txt:
     9        Generate LowLevelInterpreterWin.asm instead of LLIntAssembly.h on Windows like the existing build system.
     10        * PlatformWin.cmake:
     11        Don't build JSGlobalObjectInspectorController.cpp on Windows.
     12        * offlineasm/x86.rb:
     13        Detect non-cygwin ruby installations correctly.
     14
    1152014-08-19  Michael Saboff  <[email protected]>
    216
  • trunk/Source/JavaScriptCore/PlatformWin.cmake

    r171942 r172754  
    2424    list(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/forwarded-exports.cpp)
    2525endif ()
     26
     27list(REMOVE_ITEM JavaScriptCore_SOURCES
     28    inspector/JSGlobalObjectInspectorController.cpp
     29)
  • trunk/Source/JavaScriptCore/offlineasm/x86.rb

    r172429 r172754  
    5656
    5757def isWindows
    58     RUBY_PLATFORM =~ /cygwin/i
     58    ENV['OS'] == 'Windows_NT'
    5959end
    6060
Note: See TracChangeset for help on using the changeset viewer.