]>
Commit | Line | Data |
---|---|---|
b37bf2e1 A |
1 | # JavaScriptCore - Qt4 build info |
2 | VPATH += $$PWD | |
3 | ||
4 | INCLUDEPATH += tmp | |
9dae56ea A |
5 | INCLUDEPATH += $$PWD $$PWD/parser $$PWD/bytecompiler $$PWD/debugger $$PWD/runtime $$PWD/wtf $$PWD/wtf/unicode $$PWD/interpreter $$PWD/jit $$PWD/profiler $$PWD/wrec $$PWD/API $$PWD/.. \ |
6 | $$PWD/ForwardingHeaders $$PWD/bytecode $$PWD/assembler | |
7 | DEFINES += BUILDING_QT__ | |
b37bf2e1 A |
8 | |
9 | isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp | |
9dae56ea A |
10 | GENERATED_SOURCES_DIR_SLASH = $$GENERATED_SOURCES_DIR/ |
11 | win32-* { | |
12 | GENERATED_SOURCES_DIR_SLASH ~= s|/|\| | |
13 | LIBS += -lwinmm | |
14 | } | |
15 | ||
16 | # Disable the JIT due to numerous observed miscompilations :( | |
17 | #CONFIG(release):isEqual(QT_ARCH,i386) { | |
18 | # JIT_DEFINES = ENABLE_JIT ENABLE_WREC ENABLE_JIT_OPTIMIZE_CALL ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS ENABLE_JIT_OPTIMIZE_ARITHMETIC | |
19 | # # gcc <= 4.1 is known to miscompile, so require >= 4.2, written as major > 3 and minor > 1 | |
20 | # linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,1) { | |
21 | # DEFINES += $$JIT_DEFINES | |
22 | # SOURCES += wtf/TCSystemAlloc.cpp | |
23 | # DEFINES -= USE_SYSTEM_MALLOC | |
24 | # } | |
25 | # win32-msvc* { | |
26 | # DEFINES += $$JIT_DEFINES | |
27 | # } | |
28 | #} | |
b37bf2e1 A |
29 | |
30 | include(pcre/pcre.pri) | |
31 | ||
32 | LUT_FILES += \ | |
9dae56ea A |
33 | runtime/DatePrototype.cpp \ |
34 | runtime/NumberConstructor.cpp \ | |
35 | runtime/StringPrototype.cpp \ | |
36 | runtime/ArrayPrototype.cpp \ | |
37 | runtime/MathObject.cpp \ | |
38 | runtime/RegExpConstructor.cpp \ | |
39 | runtime/RegExpObject.cpp | |
b37bf2e1 A |
40 | |
41 | KEYWORDLUT_FILES += \ | |
9dae56ea | 42 | parser/Keywords.table |
b37bf2e1 | 43 | |
9dae56ea A |
44 | JSCBISON += \ |
45 | parser/Grammar.y | |
b37bf2e1 A |
46 | |
47 | SOURCES += \ | |
48 | wtf/Assertions.cpp \ | |
9dae56ea | 49 | wtf/ByteArray.cpp \ |
b37bf2e1 | 50 | wtf/HashTable.cpp \ |
9dae56ea A |
51 | wtf/MainThread.cpp \ |
52 | wtf/RandomNumber.cpp \ | |
53 | wtf/RefCountedLeakCounter.cpp \ | |
54 | wtf/unicode/CollatorDefault.cpp \ | |
55 | wtf/unicode/icu/CollatorICU.cpp \ | |
b37bf2e1 | 56 | wtf/unicode/UTF8.cpp \ |
b37bf2e1 A |
57 | API/JSBase.cpp \ |
58 | API/JSCallbackConstructor.cpp \ | |
59 | API/JSCallbackFunction.cpp \ | |
60 | API/JSCallbackObject.cpp \ | |
61 | API/JSClassRef.cpp \ | |
62 | API/JSContextRef.cpp \ | |
63 | API/JSObjectRef.cpp \ | |
64 | API/JSStringRef.cpp \ | |
65 | API/JSValueRef.cpp \ | |
9dae56ea A |
66 | API/OpaqueJSString.cpp \ |
67 | runtime/InitializeThreading.cpp \ | |
68 | runtime/JSGlobalData.cpp \ | |
69 | runtime/JSGlobalObject.cpp \ | |
70 | runtime/JSStaticScopeObject.cpp \ | |
71 | runtime/JSVariableObject.cpp \ | |
72 | runtime/JSActivation.cpp \ | |
73 | runtime/JSNotAnObject.cpp \ | |
74 | bytecode/CodeBlock.cpp \ | |
75 | bytecode/StructureStubInfo.cpp \ | |
76 | bytecode/JumpTable.cpp \ | |
77 | jit/JIT.cpp \ | |
78 | jit/JITCall.cpp \ | |
79 | jit/JITArithmetic.cpp \ | |
80 | jit/JITPropertyAccess.cpp \ | |
81 | jit/ExecutableAllocator.cpp \ | |
82 | bytecompiler/BytecodeGenerator.cpp \ | |
83 | runtime/ExceptionHelpers.cpp \ | |
84 | runtime/JSPropertyNameIterator.cpp \ | |
85 | interpreter/Interpreter.cpp \ | |
86 | bytecode/Opcode.cpp \ | |
87 | bytecode/SamplingTool.cpp \ | |
88 | wrec/CharacterClass.cpp \ | |
89 | wrec/CharacterClassConstructor.cpp \ | |
90 | wrec/WREC.cpp \ | |
91 | wrec/WRECFunctors.cpp \ | |
92 | wrec/WRECGenerator.cpp \ | |
93 | wrec/WRECParser.cpp \ | |
94 | interpreter/RegisterFile.cpp | |
95 | ||
96 | win32-*: SOURCES += jit/ExecutableAllocatorWin.cpp | |
97 | else: SOURCES += jit/ExecutableAllocatorPosix.cpp | |
b37bf2e1 A |
98 | |
99 | # AllInOneFile.cpp helps gcc analize and optimize code | |
100 | # Other compilers may be able to do this at link time | |
b37bf2e1 | 101 | SOURCES += \ |
9dae56ea A |
102 | runtime/ArgList.cpp \ |
103 | runtime/Arguments.cpp \ | |
104 | runtime/ArrayConstructor.cpp \ | |
105 | runtime/ArrayPrototype.cpp \ | |
106 | runtime/BooleanConstructor.cpp \ | |
107 | runtime/BooleanObject.cpp \ | |
108 | runtime/BooleanPrototype.cpp \ | |
109 | runtime/CallData.cpp \ | |
110 | runtime/Collector.cpp \ | |
111 | runtime/CommonIdentifiers.cpp \ | |
112 | runtime/ConstructData.cpp \ | |
113 | wtf/CurrentTime.cpp \ | |
114 | runtime/DateConstructor.cpp \ | |
115 | runtime/DateInstance.cpp \ | |
116 | runtime/DateMath.cpp \ | |
117 | runtime/DatePrototype.cpp \ | |
118 | debugger/Debugger.cpp \ | |
119 | debugger/DebuggerCallFrame.cpp \ | |
120 | debugger/DebuggerActivation.cpp \ | |
121 | wtf/dtoa.cpp \ | |
122 | runtime/Error.cpp \ | |
123 | runtime/ErrorConstructor.cpp \ | |
124 | runtime/ErrorInstance.cpp \ | |
125 | runtime/ErrorPrototype.cpp \ | |
126 | interpreter/CallFrame.cpp \ | |
127 | runtime/FunctionConstructor.cpp \ | |
128 | runtime/FunctionPrototype.cpp \ | |
129 | runtime/GetterSetter.cpp \ | |
130 | runtime/GlobalEvalFunction.cpp \ | |
131 | runtime/Identifier.cpp \ | |
132 | runtime/InternalFunction.cpp \ | |
133 | runtime/Completion.cpp \ | |
134 | runtime/JSArray.cpp \ | |
135 | runtime/JSByteArray.cpp \ | |
136 | runtime/JSCell.cpp \ | |
137 | runtime/JSFunction.cpp \ | |
138 | runtime/JSGlobalObjectFunctions.cpp \ | |
139 | runtime/JSImmediate.cpp \ | |
140 | runtime/JSLock.cpp \ | |
141 | runtime/JSNumberCell.cpp \ | |
142 | runtime/JSObject.cpp \ | |
143 | runtime/JSString.cpp \ | |
144 | runtime/JSValue.cpp \ | |
145 | runtime/JSWrapperObject.cpp \ | |
146 | parser/Lexer.cpp \ | |
147 | runtime/Lookup.cpp \ | |
148 | runtime/MathObject.cpp \ | |
149 | runtime/NativeErrorConstructor.cpp \ | |
150 | runtime/NativeErrorPrototype.cpp \ | |
151 | parser/Nodes.cpp \ | |
152 | runtime/NumberConstructor.cpp \ | |
153 | runtime/NumberObject.cpp \ | |
154 | runtime/NumberPrototype.cpp \ | |
155 | runtime/ObjectConstructor.cpp \ | |
156 | runtime/ObjectPrototype.cpp \ | |
157 | runtime/Operations.cpp \ | |
158 | parser/Parser.cpp \ | |
159 | runtime/PropertyNameArray.cpp \ | |
160 | runtime/PropertySlot.cpp \ | |
161 | runtime/PrototypeFunction.cpp \ | |
162 | runtime/RegExp.cpp \ | |
163 | runtime/RegExpConstructor.cpp \ | |
164 | runtime/RegExpObject.cpp \ | |
165 | runtime/RegExpPrototype.cpp \ | |
166 | runtime/ScopeChain.cpp \ | |
167 | runtime/SmallStrings.cpp \ | |
168 | runtime/StringConstructor.cpp \ | |
169 | runtime/StringObject.cpp \ | |
170 | runtime/StringPrototype.cpp \ | |
171 | runtime/Structure.cpp \ | |
172 | runtime/StructureChain.cpp \ | |
173 | runtime/UString.cpp \ | |
174 | profiler/HeavyProfile.cpp \ | |
175 | profiler/Profile.cpp \ | |
176 | profiler/ProfileGenerator.cpp \ | |
177 | profiler/ProfileNode.cpp \ | |
178 | profiler/Profiler.cpp \ | |
179 | profiler/TreeProfile.cpp \ | |
180 | wtf/FastMalloc.cpp \ | |
181 | wtf/Threading.cpp \ | |
182 | wtf/ThreadingQt.cpp \ | |
183 | wtf/qt/MainThreadQt.cpp | |
b37bf2e1 A |
184 | |
185 | # GENERATOR 1-A: LUT creator | |
186 | lut.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.lut.h | |
9dae56ea | 187 | lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} |
b37bf2e1 A |
188 | lut.depend = ${QMAKE_FILE_NAME} |
189 | lut.input = LUT_FILES | |
190 | lut.CONFIG += no_link | |
191 | addExtraCompiler(lut) | |
192 | ||
193 | # GENERATOR 1-B: particular LUT creator (for 1 file only) | |
9dae56ea A |
194 | keywordlut.output = $$GENERATED_SOURCES_DIR/Lexer.lut.h |
195 | keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} | |
b37bf2e1 A |
196 | keywordlut.depend = ${QMAKE_FILE_NAME} |
197 | keywordlut.input = KEYWORDLUT_FILES | |
198 | keywordlut.CONFIG += no_link | |
199 | addExtraCompiler(keywordlut) | |
200 | ||
201 | # GENERATOR 2: bison grammar | |
9dae56ea A |
202 | jscbison.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.cpp |
203 | jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_BASE}.tab.c && $(MOVE) ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) ${QMAKE_FILE_BASE}.tab.h $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.h | |
204 | jscbison.depend = ${QMAKE_FILE_NAME} | |
205 | jscbison.input = JSCBISON | |
206 | jscbison.variable_out = GENERATED_SOURCES | |
207 | jscbison.dependency_type = TYPE_C | |
208 | jscbison.CONFIG = target_predeps | |
209 | addExtraCompilerWithHeader(jscbison) | |
210 |