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 --header $$PWD/jit/JITStubsARM.h ${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 --header $$PWD/jit/JITStubsARM.h ${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 | }
|
---|