| # ------------------------------------------------------------------- |
| # Derived sources for JavaScriptSource |
| # |
| # See 'Tools/qmake/README' for an overview of the build system |
| # ------------------------------------------------------------------- |
| |
| TEMPLATE = derived |
| |
| LUT_FILES += \ |
| runtime/ArrayConstructor.cpp \ |
| runtime/ArrayPrototype.cpp \ |
| runtime/BooleanPrototype.cpp \ |
| runtime/DateConstructor.cpp \ |
| runtime/DatePrototype.cpp \ |
| runtime/ErrorPrototype.cpp \ |
| runtime/JSGlobalObject.cpp \ |
| runtime/JSONObject.cpp \ |
| runtime/MathObject.cpp \ |
| runtime/NamePrototype.cpp \ |
| runtime/NumberConstructor.cpp \ |
| runtime/NumberPrototype.cpp \ |
| runtime/ObjectConstructor.cpp \ |
| runtime/ObjectPrototype.cpp \ |
| runtime/RegExpConstructor.cpp \ |
| runtime/RegExpObject.cpp \ |
| runtime/RegExpPrototype.cpp \ |
| runtime/StringConstructor.cpp \ |
| runtime/StringPrototype.cpp \ |
| |
| KEYWORDLUT_FILES += \ |
| parser/Keywords.table |
| |
| JIT_STUB_FILES += \ |
| jit/JITStubs.cpp |
| |
| LLINT_ASSEMBLER = $$PWD/llint/LowLevelInterpreter.asm |
| |
| LLINT_DEPENDENCY = \ |
| $$PWD/llint/LowLevelInterpreter32_64.asm \ |
| $$PWD/llint/LowLevelInterpreter64.asm \ |
| $$LLINT_ASSEMBLER |
| |
| DISASSEMBLER_FILES = \ |
| disassembler/udis86/optable.xml |
| |
| DISASSEMBLER_DEPENDENCY = \ |
| $$PWD/disassembler/udis86/ud_opcode.py \ |
| $$PWD/disassembler/udis86/ud_optable.py |
| |
| # GENERATOR 1-A: LUT creator |
| lut.output = ${QMAKE_FILE_BASE}.lut.h |
| lut.input = LUT_FILES |
| lut.script = $$PWD/create_hash_table |
| lut.commands = perl $$lut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} |
| lut.depends = ${QMAKE_FILE_NAME} |
| GENERATORS += lut |
| |
| # GENERATOR 1-B: particular LUT creator (for 1 file only) |
| keywordlut.output = Lexer.lut.h |
| keywordlut.input = KEYWORDLUT_FILES |
| keywordlut.script = $$PWD/create_hash_table |
| keywordlut.commands = perl $$keywordlut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} |
| keywordlut.depends = ${QMAKE_FILE_NAME} |
| GENERATORS += keywordlut |
| |
| # GENERATOR 2-A: JIT Stub functions for RVCT |
| rvctstubs.output = Generated${QMAKE_FILE_BASE}_RVCT.h |
| rvctstubs.script = $$PWD/create_jit_stubs |
| rvctstubs.commands = perl -i $$rvctstubs.script --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} |
| rvctstubs.depends = ${QMAKE_FILE_NAME} |
| rvctstubs.input = JIT_STUB_FILES |
| rvctstubs.CONFIG += no_link |
| GENERATORS += rvctstubs |
| |
| # GENERATOR 2-B: JIT Stub functions for MSVC |
| msvcstubs.output = Generated${QMAKE_FILE_BASE}_MSVC.asm |
| msvcstubs.script = $$PWD/create_jit_stubs |
| msvcstubs.commands = perl -i $$msvcstubs.script --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} |
| msvcstubs.depends = ${QMAKE_FILE_NAME} |
| msvcstubs.input = JIT_STUB_FILES |
| msvcstubs.CONFIG += no_link |
| GENERATORS += msvcstubs |
| |
| #GENERATOR: "RegExpJitTables.h": tables used by Yarr |
| retgen.output = RegExpJitTables.h |
| retgen.script = $$PWD/create_regex_tables |
| retgen.input = retgen.script |
| retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} |
| GENERATORS += retgen |
| |
| #GENERATOR: "KeywordLookup.h": decision tree used by the lexer |
| klgen.output = KeywordLookup.h |
| klgen.script = $$PWD/KeywordLookupGenerator.py |
| klgen.input = KEYWORDLUT_FILES |
| klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} |
| GENERATORS += klgen |
| |
| EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION |
| DIRS = $$OUT_PWD $$OUT_PWD/debug $$OUT_PWD/release |
| for(dir, DIRS) { |
| file = $$dir/$$EXTRACTOR_BINARY |
| exists($$file): LLINT_FILES += $$file |
| } |
| |
| #GENERATOR: LLInt |
| llint.output = ${QMAKE_FILE_IN_PATH}$${QMAKE_DIR_SEP}LLIntAssembly.h |
| llint.script = $$PWD/offlineasm/asm.rb |
| llint.input = LLINT_FILES |
| llint.depends = $$LLINT_DEPENDENCY |
| llint.commands = ruby $$llint.script $$LLINT_ASSEMBLER ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} |
| GENERATORS += llint |
| |
| linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) { |
| # GENERATOR: disassembler |
| disassembler.output = udis86_itab.c |
| disassembler.input = DISASSEMBLER_FILES |
| disassembler.script = $$PWD/disassembler/udis86/itab.py |
| disassembler.depends = $$DISASSEMBLER_DEPENDENCY |
| disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH} |
| disassembler.CONFIG += no_link |
| GENERATORS += disassembler |
| } |