]> git.saurik.com Git - apple/javascriptcore.git/blame_incremental - DerivedSources.pri
JavaScriptCore-1218.33.tar.gz
[apple/javascriptcore.git] / DerivedSources.pri
... / ...
CommitLineData
1# -------------------------------------------------------------------
2# Derived sources for JavaScriptSource
3#
4# See 'Tools/qmake/README' for an overview of the build system
5# -------------------------------------------------------------------
6
7TEMPLATE = derived
8
9LUT_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
28KEYWORDLUT_FILES += \
29 parser/Keywords.table
30
31JIT_STUB_FILES += \
32 jit/JITStubs.cpp
33
34LLINT_ASSEMBLER = $$PWD/llint/LowLevelInterpreter.asm
35
36LLINT_DEPENDENCY = \
37 $$PWD/llint/LowLevelInterpreter32_64.asm \
38 $$PWD/llint/LowLevelInterpreter64.asm \
39 $$LLINT_ASSEMBLER
40
41DISASSEMBLER_FILES = \
42 disassembler/udis86/optable.xml
43
44DISASSEMBLER_DEPENDENCY = \
45 $$PWD/disassembler/udis86/ud_opcode.py \
46 $$PWD/disassembler/udis86/ud_optable.py
47
48# GENERATOR 1-A: LUT creator
49lut.output = ${QMAKE_FILE_BASE}.lut.h
50lut.input = LUT_FILES
51lut.script = $$PWD/create_hash_table
52lut.commands = perl $$lut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
53lut.depends = ${QMAKE_FILE_NAME}
54GENERATORS += lut
55
56# GENERATOR 1-B: particular LUT creator (for 1 file only)
57keywordlut.output = Lexer.lut.h
58keywordlut.input = KEYWORDLUT_FILES
59keywordlut.script = $$PWD/create_hash_table
60keywordlut.commands = perl $$keywordlut.script ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
61keywordlut.depends = ${QMAKE_FILE_NAME}
62GENERATORS += keywordlut
63
64# GENERATOR 2-A: JIT Stub functions for RVCT
65rvctstubs.output = Generated${QMAKE_FILE_BASE}_RVCT.h
66rvctstubs.script = $$PWD/create_jit_stubs
67rvctstubs.commands = perl -i $$rvctstubs.script --prefix RVCT ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
68rvctstubs.depends = ${QMAKE_FILE_NAME}
69rvctstubs.input = JIT_STUB_FILES
70rvctstubs.CONFIG += no_link
71GENERATORS += rvctstubs
72
73# GENERATOR 2-B: JIT Stub functions for MSVC
74msvcstubs.output = Generated${QMAKE_FILE_BASE}_MSVC.asm
75msvcstubs.script = $$PWD/create_jit_stubs
76msvcstubs.commands = perl -i $$msvcstubs.script --prefix MSVC ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
77msvcstubs.depends = ${QMAKE_FILE_NAME}
78msvcstubs.input = JIT_STUB_FILES
79msvcstubs.CONFIG += no_link
80GENERATORS += msvcstubs
81
82#GENERATOR: "RegExpJitTables.h": tables used by Yarr
83retgen.output = RegExpJitTables.h
84retgen.script = $$PWD/create_regex_tables
85retgen.input = retgen.script
86retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT}
87GENERATORS += retgen
88
89#GENERATOR: "KeywordLookup.h": decision tree used by the lexer
90klgen.output = KeywordLookup.h
91klgen.script = $$PWD/KeywordLookupGenerator.py
92klgen.input = KEYWORDLUT_FILES
93klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT}
94GENERATORS += klgen
95
96EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION
97DIRS = $$OUT_PWD $$OUT_PWD/debug $$OUT_PWD/release
98for(dir, DIRS) {
99 file = $$dir/$$EXTRACTOR_BINARY
100 exists($$file): LLINT_FILES += $$file
101}
102
103#GENERATOR: LLInt
104llint.output = ${QMAKE_FILE_IN_PATH}$${QMAKE_DIR_SEP}LLIntAssembly.h
105llint.script = $$PWD/offlineasm/asm.rb
106llint.input = LLINT_FILES
107llint.depends = $$LLINT_DEPENDENCY
108llint.commands = ruby $$llint.script $$LLINT_ASSEMBLER ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
109GENERATORS += llint
110
111linux-*: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}