]>
Commit | Line | Data |
---|---|---|
1 | # ------------------------------------------------------------------- | |
2 | # Derived sources for JavaScriptSource | |
3 | # | |
4 | # See 'Tools/qmake/README' for an overview of the build system | |
5 | # ------------------------------------------------------------------- | |
6 | ||
7 | TEMPLATE = derived | |
8 | ||
9 | LUT_FILES += \ | |
10 | runtime/ArrayConstructor.cpp \ | |
11 | runtime/ArrayPrototype.cpp \ | |
12 | runtime/BooleanPrototype.cpp \ | |
13 | runtime/DateConstructor.cpp \ | |
14 | runtime/DatePrototype.cpp \ | |
15 | runtime/ErrorPrototype.cpp \ | |
16 | runtime/JSGlobalObject.cpp \ | |
17 | runtime/JSONObject.cpp \ | |
18 | runtime/MathObject.cpp \ | |
19 | runtime/NamePrototype.cpp \ | |
20 | runtime/NumberConstructor.cpp \ | |
21 | runtime/NumberPrototype.cpp \ | |
22 | runtime/ObjectConstructor.cpp \ | |
23 | runtime/RegExpConstructor.cpp \ | |
24 | runtime/RegExpObject.cpp \ | |
25 | runtime/RegExpPrototype.cpp \ | |
26 | runtime/StringConstructor.cpp \ | |
27 | ||
28 | KEYWORDLUT_FILES += \ | |
29 | parser/Keywords.table | |
30 | ||
31 | JIT_STUB_FILES += \ | |
32 | jit/JITStubs.cpp | |
33 | ||
34 | LLINT_ASSEMBLER = $$PWD/llint/LowLevelInterpreter.asm | |
35 | ||
36 | LLINT_DEPENDENCY = \ | |
37 | $$PWD/llint/LowLevelInterpreter32_64.asm \ | |
38 | $$PWD/llint/LowLevelInterpreter64.asm \ | |
39 | $$LLINT_ASSEMBLER | |
40 | ||
41 | DISASSEMBLER_FILES = \ | |
42 | disassembler/udis86/optable.xml | |
43 | ||
44 | DISASSEMBLER_DEPENDENCY = \ | |
45 | $$PWD/disassembler/udis86/ud_opcode.py \ | |
46 | $$PWD/disassembler/udis86/ud_optable.py | |
47 | ||
48 | # GENERATOR 1-A: LUT creator | |
49 | lut.output = ${QMAKE_FILE_BASE}.lut.h | |
50 | lut.input = LUT_FILES | |
51 | lut.script = $$PWD/create_hash_table | |
52 | lut.commands = perl $$lut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} | |
53 | lut.depends = ${QMAKE_FILE_NAME} | |
54 | GENERATORS += lut | |
55 | ||
56 | # GENERATOR 1-B: particular LUT creator (for 1 file only) | |
57 | keywordlut.output = Lexer.lut.h | |
58 | keywordlut.input = KEYWORDLUT_FILES | |
59 | keywordlut.script = $$PWD/create_hash_table | |
60 | keywordlut.commands = perl $$keywordlut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} | |
61 | keywordlut.depends = ${QMAKE_FILE_NAME} | |
62 | GENERATORS += keywordlut | |
63 | ||
64 | # GENERATOR 2-A: JIT Stub functions for RVCT | |
65 | rvctstubs.output = Generated${QMAKE_FILE_BASE}_RVCT.h | |
66 | rvctstubs.script = $$PWD/create_jit_stubs | |
67 | rvctstubs.commands = perl -i $$rvctstubs.script --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} | |
68 | rvctstubs.depends = ${QMAKE_FILE_NAME} | |
69 | rvctstubs.input = JIT_STUB_FILES | |
70 | rvctstubs.CONFIG += no_link | |
71 | GENERATORS += rvctstubs | |
72 | ||
73 | # GENERATOR 2-B: JIT Stub functions for MSVC | |
74 | msvcstubs.output = Generated${QMAKE_FILE_BASE}_MSVC.asm | |
75 | msvcstubs.script = $$PWD/create_jit_stubs | |
76 | msvcstubs.commands = perl -i $$msvcstubs.script --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} | |
77 | msvcstubs.depends = ${QMAKE_FILE_NAME} | |
78 | msvcstubs.input = JIT_STUB_FILES | |
79 | msvcstubs.CONFIG += no_link | |
80 | GENERATORS += msvcstubs | |
81 | ||
82 | #GENERATOR: "RegExpJitTables.h": tables used by Yarr | |
83 | retgen.output = RegExpJitTables.h | |
84 | retgen.script = $$PWD/create_regex_tables | |
85 | retgen.input = retgen.script | |
86 | retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} | |
87 | GENERATORS += retgen | |
88 | ||
89 | #GENERATOR: "KeywordLookup.h": decision tree used by the lexer | |
90 | klgen.output = KeywordLookup.h | |
91 | klgen.script = $$PWD/KeywordLookupGenerator.py | |
92 | klgen.input = KEYWORDLUT_FILES | |
93 | klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} | |
94 | GENERATORS += klgen | |
95 | ||
96 | EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION | |
97 | DIRS = $$OUT_PWD $$OUT_PWD/debug $$OUT_PWD/release | |
98 | for(dir, DIRS) { | |
99 | file = $$dir/$$EXTRACTOR_BINARY | |
100 | exists($$file): LLINT_FILES += $$file | |
101 | } | |
102 | ||
103 | #GENERATOR: LLInt | |
104 | llint.output = ${QMAKE_FILE_IN_PATH}$${QMAKE_DIR_SEP}LLIntAssembly.h | |
105 | llint.script = $$PWD/offlineasm/asm.rb | |
106 | llint.input = LLINT_FILES | |
107 | llint.depends = $$LLINT_DEPENDENCY | |
108 | llint.commands = ruby $$llint.script $$LLINT_ASSEMBLER ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} | |
109 | GENERATORS += llint | |
110 | ||
111 | linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) { | |
112 | # GENERATOR: disassembler | |
113 | disassembler.output = udis86_itab.c | |
114 | disassembler.input = DISASSEMBLER_FILES | |
115 | disassembler.script = $$PWD/disassembler/udis86/itab.py | |
116 | disassembler.depends = $$DISASSEMBLER_DEPENDENCY | |
117 | disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH} | |
118 | disassembler.CONFIG += no_link | |
119 | GENERATORS += disassembler | |
120 | } |