Skip to content
  • commit-queue@webkit.org's avatar
    [Qt] Fix the LLInt build on Windows · c1c784b5
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=97648
    
    Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-10-26
    Reviewed by Tor Arne Vestbø.
    
    Source/JavaScriptCore:
    
    The main change for the port on Windows is changing the way offsets are extracted
    and the LLIntAssembly.h is generated to accomodate release and debug configurations.
    
    Firstly the LLIntOffsetsExtractor binary is now built as-is (no DESTDIR set) and
    placed into debug\LLIntOffsetsExtractor.exe and release\LLIntOffsetsExtractor.exe
    on Windows debug_and_release builds. On other patforms it remainds in the regular
    out directory.
    
    Secondly the LLIntAssembly.h files must be different for different build types,
    so the LLIntAssembly.h generator in DerivedSources.pri operates no on the extractor
    binary files as input. Using a simple exists() check we verify the presence of either
    a regular, a debug\LLIntOffsetsExtractor and a release\LLIntOffsetsExtractor binary
    and process all of them. The resulting assembly files consequently end up in
    generated\debug\LLIntAssembly.h and generated\release\LLIntAssembly.h.
    
    In Target.pri we have to also make sure that those directories are in the include
    path according to the release or debug configuration.
    
    Lastly a small tweak - swapping WTF.pri and JSC.pri inclusions - in the
    LLIntOffsetsExtractor build was needed to make sure that we include
    JavaScriptCore/config.h instead of WTF/config.h, required to fix the
    build issues originally pasted in bug #97648.
    
    * DerivedSources.pri:
    * JavaScriptCore.pro:
    * LLIntOffsetsExtractor.pro:
    * Target.pri:
    
    Tools:
    
    Added BIN_EXTENSION variable - similar to automake - that expands to .exe as suffix for
    executable programs on Windows. Empty otherwise. Also added support for force_build_all
    to allow overriding us disabling build_all for TEMPLATE = app.
    
    * qmake/mkspecs/features/default_pre.prf:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    c1c784b5