1 | # JavaScriptCore - Qt4 build info
|
---|
2 | VPATH += $$PWD
|
---|
3 |
|
---|
4 | CONFIG(debug, debug|release) {
|
---|
5 | isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}debug
|
---|
6 | OBJECTS_DIR = obj/debug
|
---|
7 | } else { # Release
|
---|
8 | isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = generated$${QMAKE_DIR_SEP}release
|
---|
9 | OBJECTS_DIR = obj/release
|
---|
10 | }
|
---|
11 |
|
---|
12 | INCLUDEPATH = \
|
---|
13 | $$PWD \
|
---|
14 | $$PWD/.. \
|
---|
15 | $$PWD/assembler \
|
---|
16 | $$PWD/bytecode \
|
---|
17 | $$PWD/bytecompiler \
|
---|
18 | $$PWD/debugger \
|
---|
19 | $$PWD/interpreter \
|
---|
20 | $$PWD/jit \
|
---|
21 | $$PWD/parser \
|
---|
22 | $$PWD/profiler \
|
---|
23 | $$PWD/runtime \
|
---|
24 | $$PWD/wrec \
|
---|
25 | $$PWD/wtf \
|
---|
26 | $$PWD/wtf/unicode \
|
---|
27 | $$PWD/yarr \
|
---|
28 | $$PWD/API \
|
---|
29 | $$PWD/ForwardingHeaders \
|
---|
30 | $$GENERATED_SOURCES_DIR \
|
---|
31 | $$INCLUDEPATH
|
---|
32 |
|
---|
33 | DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
|
---|
34 |
|
---|
35 | GENERATED_SOURCES_DIR_SLASH = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}
|
---|
36 | win32-* {
|
---|
37 | LIBS += -lwinmm
|
---|
38 | }
|
---|
39 |
|
---|
40 | # In debug mode JIT disabled until crash fixed
|
---|
41 | win32-* {
|
---|
42 | CONFIG(debug):!contains(DEFINES, ENABLE_JIT=1): DEFINES+=ENABLE_JIT=0
|
---|
43 | }
|
---|
44 |
|
---|
45 | # Rules when JIT enabled (not disabled)
|
---|
46 | !contains(DEFINES, ENABLE_JIT=0) {
|
---|
47 | linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
|
---|
48 | QMAKE_CXXFLAGS += -fno-stack-protector
|
---|
49 | QMAKE_CFLAGS += -fno-stack-protector
|
---|
50 | }
|
---|
51 | }
|
---|
52 |
|
---|
53 | wince*: SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.cpp
|
---|
54 |
|
---|
55 | include(pcre/pcre.pri)
|
---|
56 |
|
---|
57 | LUT_FILES += \
|
---|
58 | runtime/DatePrototype.cpp \
|
---|
59 | runtime/JSONObject.cpp \
|
---|
60 | runtime/NumberConstructor.cpp \
|
---|
61 | runtime/StringPrototype.cpp \
|
---|
62 | runtime/ArrayPrototype.cpp \
|
---|
63 | runtime/MathObject.cpp \
|
---|
64 | runtime/RegExpConstructor.cpp \
|
---|
65 | runtime/RegExpObject.cpp
|
---|
66 |
|
---|
67 | KEYWORDLUT_FILES += \
|
---|
68 | parser/Keywords.table
|
---|
69 |
|
---|
70 | JSCBISON += \
|
---|
71 | parser/Grammar.y
|
---|
72 |
|
---|
73 | SOURCES += \
|
---|
74 | wtf/Assertions.cpp \
|
---|
75 | wtf/ByteArray.cpp \
|
---|
76 | wtf/HashTable.cpp \
|
---|
77 | wtf/MainThread.cpp \
|
---|
78 | wtf/RandomNumber.cpp \
|
---|
79 | wtf/RefCountedLeakCounter.cpp \
|
---|
80 | wtf/TypeTraits.cpp \
|
---|
81 | wtf/unicode/CollatorDefault.cpp \
|
---|
82 | wtf/unicode/icu/CollatorICU.cpp \
|
---|
83 | wtf/unicode/UTF8.cpp \
|
---|
84 | API/JSBase.cpp \
|
---|
85 | API/JSCallbackConstructor.cpp \
|
---|
86 | API/JSCallbackFunction.cpp \
|
---|
87 | API/JSCallbackObject.cpp \
|
---|
88 | API/JSClassRef.cpp \
|
---|
89 | API/JSContextRef.cpp \
|
---|
90 | API/JSObjectRef.cpp \
|
---|
91 | API/JSStringRef.cpp \
|
---|
92 | API/JSValueRef.cpp \
|
---|
93 | API/OpaqueJSString.cpp \
|
---|
94 | runtime/InitializeThreading.cpp \
|
---|
95 | runtime/JSGlobalData.cpp \
|
---|
96 | runtime/JSGlobalObject.cpp \
|
---|
97 | runtime/JSStaticScopeObject.cpp \
|
---|
98 | runtime/JSVariableObject.cpp \
|
---|
99 | runtime/JSActivation.cpp \
|
---|
100 | runtime/JSNotAnObject.cpp \
|
---|
101 | runtime/JSONObject.cpp \
|
---|
102 | runtime/LiteralParser.cpp \
|
---|
103 | runtime/MarkStack.cpp \
|
---|
104 | runtime/TimeoutChecker.cpp \
|
---|
105 | bytecode/CodeBlock.cpp \
|
---|
106 | bytecode/StructureStubInfo.cpp \
|
---|
107 | bytecode/JumpTable.cpp \
|
---|
108 | assembler/ARMAssembler.cpp \
|
---|
109 | assembler/MacroAssemblerARM.cpp \
|
---|
110 | jit/JIT.cpp \
|
---|
111 | jit/JITCall.cpp \
|
---|
112 | jit/JITArithmetic.cpp \
|
---|
113 | jit/JITOpcodes.cpp \
|
---|
114 | jit/JITPropertyAccess.cpp \
|
---|
115 | jit/ExecutableAllocator.cpp \
|
---|
116 | jit/JITStubs.cpp \
|
---|
117 | bytecompiler/BytecodeGenerator.cpp \
|
---|
118 | runtime/ExceptionHelpers.cpp \
|
---|
119 | runtime/JSPropertyNameIterator.cpp \
|
---|
120 | interpreter/Interpreter.cpp \
|
---|
121 | bytecode/Opcode.cpp \
|
---|
122 | bytecode/SamplingTool.cpp \
|
---|
123 | yarr/RegexCompiler.cpp \
|
---|
124 | yarr/RegexInterpreter.cpp \
|
---|
125 | yarr/RegexJIT.cpp \
|
---|
126 | interpreter/RegisterFile.cpp
|
---|
127 |
|
---|
128 | win32-*|wince* {
|
---|
129 | SOURCES += jit/ExecutableAllocatorWin.cpp \
|
---|
130 | runtime/MarkStackWin.cpp
|
---|
131 | } else {
|
---|
132 | SOURCES += jit/ExecutableAllocatorPosix.cpp \
|
---|
133 | runtime/MarkStackPosix.cpp
|
---|
134 | }
|
---|
135 |
|
---|
136 | # AllInOneFile.cpp helps gcc analize and optimize code
|
---|
137 | # Other compilers may be able to do this at link time
|
---|
138 | SOURCES += \
|
---|
139 | runtime/ArgList.cpp \
|
---|
140 | runtime/Arguments.cpp \
|
---|
141 | runtime/ArrayConstructor.cpp \
|
---|
142 | runtime/ArrayPrototype.cpp \
|
---|
143 | runtime/BooleanConstructor.cpp \
|
---|
144 | runtime/BooleanObject.cpp \
|
---|
145 | runtime/BooleanPrototype.cpp \
|
---|
146 | runtime/CallData.cpp \
|
---|
147 | runtime/Collector.cpp \
|
---|
148 | runtime/CommonIdentifiers.cpp \
|
---|
149 | runtime/ConstructData.cpp \
|
---|
150 | wtf/CurrentTime.cpp \
|
---|
151 | runtime/DateConstructor.cpp \
|
---|
152 | runtime/DateConversion.cpp \
|
---|
153 | runtime/DateInstance.cpp \
|
---|
154 | runtime/DatePrototype.cpp \
|
---|
155 | debugger/Debugger.cpp \
|
---|
156 | debugger/DebuggerCallFrame.cpp \
|
---|
157 | debugger/DebuggerActivation.cpp \
|
---|
158 | wtf/dtoa.cpp \
|
---|
159 | runtime/Error.cpp \
|
---|
160 | runtime/ErrorConstructor.cpp \
|
---|
161 | runtime/ErrorInstance.cpp \
|
---|
162 | runtime/ErrorPrototype.cpp \
|
---|
163 | interpreter/CallFrame.cpp \
|
---|
164 | runtime/Executable.cpp \
|
---|
165 | runtime/FunctionConstructor.cpp \
|
---|
166 | runtime/FunctionPrototype.cpp \
|
---|
167 | runtime/GetterSetter.cpp \
|
---|
168 | runtime/GlobalEvalFunction.cpp \
|
---|
169 | runtime/Identifier.cpp \
|
---|
170 | runtime/InternalFunction.cpp \
|
---|
171 | runtime/Completion.cpp \
|
---|
172 | runtime/JSArray.cpp \
|
---|
173 | runtime/JSAPIValueWrapper.cpp \
|
---|
174 | runtime/JSByteArray.cpp \
|
---|
175 | runtime/JSCell.cpp \
|
---|
176 | runtime/JSFunction.cpp \
|
---|
177 | runtime/JSGlobalObjectFunctions.cpp \
|
---|
178 | runtime/JSImmediate.cpp \
|
---|
179 | runtime/JSLock.cpp \
|
---|
180 | runtime/JSNumberCell.cpp \
|
---|
181 | runtime/JSObject.cpp \
|
---|
182 | runtime/JSString.cpp \
|
---|
183 | runtime/JSValue.cpp \
|
---|
184 | runtime/JSWrapperObject.cpp \
|
---|
185 | parser/Lexer.cpp \
|
---|
186 | runtime/Lookup.cpp \
|
---|
187 | runtime/MathObject.cpp \
|
---|
188 | runtime/NativeErrorConstructor.cpp \
|
---|
189 | runtime/NativeErrorPrototype.cpp \
|
---|
190 | parser/Nodes.cpp \
|
---|
191 | runtime/NumberConstructor.cpp \
|
---|
192 | runtime/NumberObject.cpp \
|
---|
193 | runtime/NumberPrototype.cpp \
|
---|
194 | runtime/ObjectConstructor.cpp \
|
---|
195 | runtime/ObjectPrototype.cpp \
|
---|
196 | runtime/Operations.cpp \
|
---|
197 | parser/Parser.cpp \
|
---|
198 | parser/ParserArena.cpp \
|
---|
199 | runtime/PropertyDescriptor.cpp \
|
---|
200 | runtime/PropertyNameArray.cpp \
|
---|
201 | runtime/PropertySlot.cpp \
|
---|
202 | runtime/PrototypeFunction.cpp \
|
---|
203 | runtime/RegExp.cpp \
|
---|
204 | runtime/RegExpConstructor.cpp \
|
---|
205 | runtime/RegExpObject.cpp \
|
---|
206 | runtime/RegExpPrototype.cpp \
|
---|
207 | runtime/ScopeChain.cpp \
|
---|
208 | runtime/SmallStrings.cpp \
|
---|
209 | runtime/StringConstructor.cpp \
|
---|
210 | runtime/StringObject.cpp \
|
---|
211 | runtime/StringPrototype.cpp \
|
---|
212 | runtime/Structure.cpp \
|
---|
213 | runtime/StructureChain.cpp \
|
---|
214 | runtime/UString.cpp \
|
---|
215 | profiler/HeavyProfile.cpp \
|
---|
216 | profiler/Profile.cpp \
|
---|
217 | profiler/ProfileGenerator.cpp \
|
---|
218 | profiler/ProfileNode.cpp \
|
---|
219 | profiler/Profiler.cpp \
|
---|
220 | profiler/TreeProfile.cpp \
|
---|
221 | wtf/DateMath.cpp \
|
---|
222 | wtf/FastMalloc.cpp \
|
---|
223 | wtf/Threading.cpp \
|
---|
224 | wtf/qt/MainThreadQt.cpp
|
---|
225 |
|
---|
226 | !contains(DEFINES, ENABLE_SINGLE_THREADED=1) {
|
---|
227 | SOURCES += wtf/qt/ThreadingQt.cpp
|
---|
228 | } else {
|
---|
229 | DEFINES += ENABLE_JSC_MULTIPLE_THREADS=0
|
---|
230 | SOURCES += wtf/ThreadingNone.cpp
|
---|
231 | }
|
---|
232 |
|
---|
233 | # GENERATOR 1-A: LUT creator
|
---|
234 | lut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h
|
---|
235 | lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
|
---|
236 | lut.depend = ${QMAKE_FILE_NAME}
|
---|
237 | lut.input = LUT_FILES
|
---|
238 | lut.CONFIG += no_link
|
---|
239 | addExtraCompiler(lut)
|
---|
240 |
|
---|
241 | # GENERATOR 1-B: particular LUT creator (for 1 file only)
|
---|
242 | keywordlut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h
|
---|
243 | keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
|
---|
244 | keywordlut.depend = ${QMAKE_FILE_NAME}
|
---|
245 | keywordlut.input = KEYWORDLUT_FILES
|
---|
246 | keywordlut.CONFIG += no_link
|
---|
247 | addExtraCompiler(keywordlut)
|
---|
248 |
|
---|
249 | # GENERATOR 2: bison grammar
|
---|
250 | jscbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp
|
---|
251 | jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.tab.h $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.h
|
---|
252 | jscbison.depend = ${QMAKE_FILE_NAME}
|
---|
253 | jscbison.input = JSCBISON
|
---|
254 | jscbison.variable_out = GENERATED_SOURCES
|
---|
255 | jscbison.dependency_type = TYPE_C
|
---|
256 | jscbison.CONFIG = target_predeps
|
---|
257 | addExtraCompilerWithHeader(jscbison)
|
---|
258 |
|
---|