author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> |
Tue, 02 Feb 2010 00:43:10 +0200 | |
changeset 3 | 41300fa6a67c |
parent 0 | 1918ee327afb |
child 14 | c0432d11811c |
permissions | -rw-r--r-- |
0 | 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 |
contains(JAVASCRIPTCORE_JIT,yes) { |
|
40 |
DEFINES+=ENABLE_JIT=1 |
|
41 |
DEFINES+=ENABLE_YARR_JIT=1 |
|
3
41300fa6a67c
Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
42 |
DEFINES+=ENABLE_YARR=1 |
0 | 43 |
} |
44 |
contains(JAVASCRIPTCORE_JIT,no) { |
|
45 |
DEFINES+=ENABLE_JIT=0 |
|
46 |
DEFINES+=ENABLE_YARR_JIT=0 |
|
3
41300fa6a67c
Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
47 |
DEFINES+=ENABLE_YARR=0 |
0 | 48 |
} |
49 |
||
50 |
# In debug mode JIT disabled until crash fixed |
|
51 |
win32-* { |
|
52 |
CONFIG(debug):!contains(DEFINES, ENABLE_JIT=1): DEFINES+=ENABLE_JIT=0 |
|
53 |
} |
|
54 |
||
55 |
# Rules when JIT enabled (not disabled) |
|
56 |
!contains(DEFINES, ENABLE_JIT=0) { |
|
3
41300fa6a67c
Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
57 |
linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) { |
0 | 58 |
QMAKE_CXXFLAGS += -fno-stack-protector |
59 |
QMAKE_CFLAGS += -fno-stack-protector |
|
60 |
} |
|
61 |
} |
|
62 |
||
63 |
wince* { |
|
3
41300fa6a67c
Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
64 |
INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat |
41300fa6a67c
Revision: 201003
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
0
diff
changeset
|
65 |
SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c |
0 | 66 |
DEFINES += WINCEBASIC |
67 |
} |
|
68 |
||
69 |
include(pcre/pcre.pri) |
|
70 |
||
71 |
LUT_FILES += \ |
|
72 |
runtime/DatePrototype.cpp \ |
|
73 |
runtime/JSONObject.cpp \ |
|
74 |
runtime/NumberConstructor.cpp \ |
|
75 |
runtime/StringPrototype.cpp \ |
|
76 |
runtime/ArrayPrototype.cpp \ |
|
77 |
runtime/MathObject.cpp \ |
|
78 |
runtime/RegExpConstructor.cpp \ |
|
79 |
runtime/RegExpObject.cpp |
|
80 |
||
81 |
KEYWORDLUT_FILES += \ |
|
82 |
parser/Keywords.table |
|
83 |
||
84 |
JSCBISON += \ |
|
85 |
parser/Grammar.y |
|
86 |
||
87 |
SOURCES += \ |
|
88 |
wtf/Assertions.cpp \ |
|
89 |
wtf/ByteArray.cpp \ |
|
90 |
wtf/HashTable.cpp \ |
|
91 |
wtf/MainThread.cpp \ |
|
92 |
wtf/RandomNumber.cpp \ |
|
93 |
wtf/RefCountedLeakCounter.cpp \ |
|
94 |
wtf/TypeTraits.cpp \ |
|
95 |
wtf/unicode/CollatorDefault.cpp \ |
|
96 |
wtf/unicode/icu/CollatorICU.cpp \ |
|
97 |
wtf/unicode/UTF8.cpp \ |
|
98 |
API/JSBase.cpp \ |
|
99 |
API/JSCallbackConstructor.cpp \ |
|
100 |
API/JSCallbackFunction.cpp \ |
|
101 |
API/JSCallbackObject.cpp \ |
|
102 |
API/JSClassRef.cpp \ |
|
103 |
API/JSContextRef.cpp \ |
|
104 |
API/JSObjectRef.cpp \ |
|
105 |
API/JSStringRef.cpp \ |
|
106 |
API/JSValueRef.cpp \ |
|
107 |
API/OpaqueJSString.cpp \ |
|
108 |
runtime/InitializeThreading.cpp \ |
|
109 |
runtime/JSGlobalData.cpp \ |
|
110 |
runtime/JSGlobalObject.cpp \ |
|
111 |
runtime/JSStaticScopeObject.cpp \ |
|
112 |
runtime/JSVariableObject.cpp \ |
|
113 |
runtime/JSActivation.cpp \ |
|
114 |
runtime/JSNotAnObject.cpp \ |
|
115 |
runtime/JSONObject.cpp \ |
|
116 |
runtime/LiteralParser.cpp \ |
|
117 |
runtime/MarkStack.cpp \ |
|
118 |
runtime/TimeoutChecker.cpp \ |
|
119 |
bytecode/CodeBlock.cpp \ |
|
120 |
bytecode/StructureStubInfo.cpp \ |
|
121 |
bytecode/JumpTable.cpp \ |
|
122 |
assembler/ARMAssembler.cpp \ |
|
123 |
assembler/MacroAssemblerARM.cpp \ |
|
124 |
jit/JIT.cpp \ |
|
125 |
jit/JITCall.cpp \ |
|
126 |
jit/JITArithmetic.cpp \ |
|
127 |
jit/JITOpcodes.cpp \ |
|
128 |
jit/JITPropertyAccess.cpp \ |
|
129 |
jit/ExecutableAllocator.cpp \ |
|
130 |
jit/JITStubs.cpp \ |
|
131 |
bytecompiler/BytecodeGenerator.cpp \ |
|
132 |
runtime/ExceptionHelpers.cpp \ |
|
133 |
runtime/JSPropertyNameIterator.cpp \ |
|
134 |
interpreter/Interpreter.cpp \ |
|
135 |
bytecode/Opcode.cpp \ |
|
136 |
bytecode/SamplingTool.cpp \ |
|
137 |
yarr/RegexCompiler.cpp \ |
|
138 |
yarr/RegexInterpreter.cpp \ |
|
139 |
yarr/RegexJIT.cpp \ |
|
140 |
interpreter/RegisterFile.cpp |
|
141 |
||
142 |
symbian { |
|
143 |
SOURCES += jit/ExecutableAllocatorSymbian.cpp \ |
|
144 |
runtime/MarkStackSymbian.cpp |
|
145 |
} else { |
|
146 |
win32-*|wince* { |
|
147 |
SOURCES += jit/ExecutableAllocatorWin.cpp \ |
|
148 |
runtime/MarkStackWin.cpp |
|
149 |
} else { |
|
150 |
SOURCES += jit/ExecutableAllocatorPosix.cpp \ |
|
151 |
runtime/MarkStackPosix.cpp |
|
152 |
} |
|
153 |
} |
|
154 |
||
155 |
!contains(DEFINES, USE_SYSTEM_MALLOC) { |
|
156 |
SOURCES += wtf/TCSystemAlloc.cpp |
|
157 |
} |
|
158 |
||
159 |
# AllInOneFile.cpp helps gcc analize and optimize code |
|
160 |
# Other compilers may be able to do this at link time |
|
161 |
SOURCES += \ |
|
162 |
runtime/ArgList.cpp \ |
|
163 |
runtime/Arguments.cpp \ |
|
164 |
runtime/ArrayConstructor.cpp \ |
|
165 |
runtime/ArrayPrototype.cpp \ |
|
166 |
runtime/BooleanConstructor.cpp \ |
|
167 |
runtime/BooleanObject.cpp \ |
|
168 |
runtime/BooleanPrototype.cpp \ |
|
169 |
runtime/CallData.cpp \ |
|
170 |
runtime/Collector.cpp \ |
|
171 |
runtime/CommonIdentifiers.cpp \ |
|
172 |
runtime/ConstructData.cpp \ |
|
173 |
wtf/CurrentTime.cpp \ |
|
174 |
runtime/DateConstructor.cpp \ |
|
175 |
runtime/DateConversion.cpp \ |
|
176 |
runtime/DateInstance.cpp \ |
|
177 |
runtime/DatePrototype.cpp \ |
|
178 |
debugger/Debugger.cpp \ |
|
179 |
debugger/DebuggerCallFrame.cpp \ |
|
180 |
debugger/DebuggerActivation.cpp \ |
|
181 |
wtf/dtoa.cpp \ |
|
182 |
runtime/Error.cpp \ |
|
183 |
runtime/ErrorConstructor.cpp \ |
|
184 |
runtime/ErrorInstance.cpp \ |
|
185 |
runtime/ErrorPrototype.cpp \ |
|
186 |
interpreter/CallFrame.cpp \ |
|
187 |
runtime/Executable.cpp \ |
|
188 |
runtime/FunctionConstructor.cpp \ |
|
189 |
runtime/FunctionPrototype.cpp \ |
|
190 |
runtime/GetterSetter.cpp \ |
|
191 |
runtime/GlobalEvalFunction.cpp \ |
|
192 |
runtime/Identifier.cpp \ |
|
193 |
runtime/InternalFunction.cpp \ |
|
194 |
runtime/Completion.cpp \ |
|
195 |
runtime/JSArray.cpp \ |
|
196 |
runtime/JSAPIValueWrapper.cpp \ |
|
197 |
runtime/JSByteArray.cpp \ |
|
198 |
runtime/JSCell.cpp \ |
|
199 |
runtime/JSFunction.cpp \ |
|
200 |
runtime/JSGlobalObjectFunctions.cpp \ |
|
201 |
runtime/JSImmediate.cpp \ |
|
202 |
runtime/JSLock.cpp \ |
|
203 |
runtime/JSNumberCell.cpp \ |
|
204 |
runtime/JSObject.cpp \ |
|
205 |
runtime/JSString.cpp \ |
|
206 |
runtime/JSValue.cpp \ |
|
207 |
runtime/JSWrapperObject.cpp \ |
|
208 |
parser/Lexer.cpp \ |
|
209 |
runtime/Lookup.cpp \ |
|
210 |
runtime/MathObject.cpp \ |
|
211 |
runtime/NativeErrorConstructor.cpp \ |
|
212 |
runtime/NativeErrorPrototype.cpp \ |
|
213 |
parser/Nodes.cpp \ |
|
214 |
runtime/NumberConstructor.cpp \ |
|
215 |
runtime/NumberObject.cpp \ |
|
216 |
runtime/NumberPrototype.cpp \ |
|
217 |
runtime/ObjectConstructor.cpp \ |
|
218 |
runtime/ObjectPrototype.cpp \ |
|
219 |
runtime/Operations.cpp \ |
|
220 |
parser/Parser.cpp \ |
|
221 |
parser/ParserArena.cpp \ |
|
222 |
runtime/PropertyDescriptor.cpp \ |
|
223 |
runtime/PropertyNameArray.cpp \ |
|
224 |
runtime/PropertySlot.cpp \ |
|
225 |
runtime/PrototypeFunction.cpp \ |
|
226 |
runtime/RegExp.cpp \ |
|
227 |
runtime/RegExpConstructor.cpp \ |
|
228 |
runtime/RegExpObject.cpp \ |
|
229 |
runtime/RegExpPrototype.cpp \ |
|
230 |
runtime/ScopeChain.cpp \ |
|
231 |
runtime/SmallStrings.cpp \ |
|
232 |
runtime/StringConstructor.cpp \ |
|
233 |
runtime/StringObject.cpp \ |
|
234 |
runtime/StringPrototype.cpp \ |
|
235 |
runtime/Structure.cpp \ |
|
236 |
runtime/StructureChain.cpp \ |
|
237 |
runtime/UString.cpp \ |
|
238 |
profiler/HeavyProfile.cpp \ |
|
239 |
profiler/Profile.cpp \ |
|
240 |
profiler/ProfileGenerator.cpp \ |
|
241 |
profiler/ProfileNode.cpp \ |
|
242 |
profiler/Profiler.cpp \ |
|
243 |
profiler/TreeProfile.cpp \ |
|
244 |
wtf/DateMath.cpp \ |
|
245 |
wtf/FastMalloc.cpp \ |
|
246 |
wtf/Threading.cpp \ |
|
247 |
wtf/qt/MainThreadQt.cpp |
|
248 |
||
249 |
!contains(DEFINES, ENABLE_SINGLE_THREADED=1) { |
|
250 |
SOURCES += wtf/qt/ThreadingQt.cpp |
|
251 |
} else { |
|
252 |
DEFINES += ENABLE_JSC_MULTIPLE_THREADS=0 |
|
253 |
SOURCES += wtf/ThreadingNone.cpp |
|
254 |
} |
|
255 |
||
256 |
# GENERATOR 1-A: LUT creator |
|
257 |
lut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.lut.h |
|
258 |
lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} |
|
259 |
lut.depend = ${QMAKE_FILE_NAME} |
|
260 |
lut.input = LUT_FILES |
|
261 |
lut.CONFIG += no_link |
|
262 |
addExtraCompiler(lut) |
|
263 |
||
264 |
# GENERATOR 1-B: particular LUT creator (for 1 file only) |
|
265 |
keywordlut.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}Lexer.lut.h |
|
266 |
keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} |
|
267 |
keywordlut.depend = ${QMAKE_FILE_NAME} |
|
268 |
keywordlut.input = KEYWORDLUT_FILES |
|
269 |
keywordlut.CONFIG += no_link |
|
270 |
addExtraCompiler(keywordlut) |
|
271 |
||
272 |
# GENERATOR 2: bison grammar |
|
273 |
jscbison.output = $${GENERATED_SOURCES_DIR}$${QMAKE_DIR_SEP}${QMAKE_FILE_BASE}.cpp |
|
274 |
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 |
|
275 |
jscbison.depend = ${QMAKE_FILE_NAME} |
|
276 |
jscbison.input = JSCBISON |
|
277 |
jscbison.variable_out = GENERATED_SOURCES |
|
278 |
jscbison.dependency_type = TYPE_C |
|
279 |
jscbison.CONFIG = target_predeps |
|
280 |
addExtraCompilerWithHeader(jscbison) |
|
281 |