[Qt] Fix the LLInt build on Windows
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 12:48:36 +0000 (12:48 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 26 Oct 2012 12:48:36 +0000 (12:48 +0000)
commitde907ec0594769f73c77da11094e039c00cbc0ff
tree613bcad319759dd15792ace7cd7b35162258c75c
parentc9f3384bba9126270d7d9d4aab0648ae67846f6a
[Qt] Fix the LLInt build on Windows
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: https://svn.webkit.org/repository/webkit/trunk@132636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/DerivedSources.pri
Source/JavaScriptCore/JavaScriptCore.pro
Source/JavaScriptCore/LLIntOffsetsExtractor.pro
Source/JavaScriptCore/Target.pri
Tools/ChangeLog
Tools/qmake/mkspecs/features/default_post.prf
Tools/qmake/mkspecs/features/default_pre.prf