1 | # -------------------------------------------------------------------
|
---|
2 | # Target file for the JavaScriptSource library
|
---|
3 | #
|
---|
4 | # See 'Tools/qmake/README' for an overview of the build system
|
---|
5 | # -------------------------------------------------------------------
|
---|
6 |
|
---|
7 | TEMPLATE = lib
|
---|
8 | TARGET = JavaScriptCore
|
---|
9 |
|
---|
10 | include(JavaScriptCore.pri)
|
---|
11 |
|
---|
12 | WEBKIT += wtf
|
---|
13 | QT += core
|
---|
14 | QT -= gui
|
---|
15 |
|
---|
16 | CONFIG += staticlib
|
---|
17 |
|
---|
18 | *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
|
---|
19 | *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
|
---|
20 |
|
---|
21 | # Rules when JIT enabled (not disabled)
|
---|
22 | !contains(DEFINES, ENABLE_JIT=0) {
|
---|
23 | linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
|
---|
24 | QMAKE_CXXFLAGS += -fno-stack-protector
|
---|
25 | QMAKE_CFLAGS += -fno-stack-protector
|
---|
26 | }
|
---|
27 | }
|
---|
28 |
|
---|
29 | include(yarr/yarr.pri)
|
---|
30 |
|
---|
31 | INSTALLDEPS += all
|
---|
32 |
|
---|
33 | debug_and_release: INCLUDEPATH += $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$targetSubDir()
|
---|
34 |
|
---|
35 | SOURCES += \
|
---|
36 | API/JSBase.cpp \
|
---|
37 | API/JSCallbackConstructor.cpp \
|
---|
38 | API/JSCallbackFunction.cpp \
|
---|
39 | API/JSCallbackObject.cpp \
|
---|
40 | API/JSClassRef.cpp \
|
---|
41 | API/JSContextRef.cpp \
|
---|
42 | API/JSObjectRef.cpp \
|
---|
43 | API/JSScriptRef.cpp \
|
---|
44 | API/JSStringRef.cpp \
|
---|
45 | API/JSStringRefQt.cpp \
|
---|
46 | API/JSValueRef.cpp \
|
---|
47 | API/JSWeakObjectMapRefPrivate.cpp \
|
---|
48 | API/OpaqueJSString.cpp \
|
---|
49 | assembler/ARMAssembler.cpp \
|
---|
50 | assembler/ARMv7Assembler.cpp \
|
---|
51 | assembler/LinkBuffer.cpp \
|
---|
52 | assembler/MacroAssembler.cpp \
|
---|
53 | assembler/MacroAssemblerARM.cpp \
|
---|
54 | assembler/MacroAssemblerSH4.cpp \
|
---|
55 | bytecode/ArrayAllocationProfile.cpp \
|
---|
56 | bytecode/ArrayProfile.cpp \
|
---|
57 | bytecode/CallLinkInfo.cpp \
|
---|
58 | bytecode/CallLinkStatus.cpp \
|
---|
59 | bytecode/CodeBlock.cpp \
|
---|
60 | bytecode/CodeBlockHash.cpp \
|
---|
61 | bytecode/CodeOrigin.cpp \
|
---|
62 | bytecode/CodeType.cpp \
|
---|
63 | bytecode/DFGExitProfile.cpp \
|
---|
64 | bytecode/ExecutionCounter.cpp \
|
---|
65 | bytecode/ExitKind.cpp \
|
---|
66 | bytecode/GetByIdStatus.cpp \
|
---|
67 | bytecode/JumpTable.cpp \
|
---|
68 | bytecode/LazyOperandValueProfile.cpp \
|
---|
69 | bytecode/MethodOfGettingAValueProfile.cpp \
|
---|
70 | bytecode/Opcode.cpp \
|
---|
71 | bytecode/PolymorphicPutByIdList.cpp \
|
---|
72 | bytecode/PreciseJumpTargets.cpp \
|
---|
73 | bytecode/PutByIdStatus.cpp \
|
---|
74 | bytecode/ReduceWhitespace.cpp \
|
---|
75 | bytecode/ResolveGlobalStatus.cpp \
|
---|
76 | bytecode/SamplingTool.cpp \
|
---|
77 | bytecode/SpecialPointer.cpp \
|
---|
78 | bytecode/SpeculatedType.cpp \
|
---|
79 | bytecode/StructureStubClearingWatchpoint.cpp \
|
---|
80 | bytecode/StructureStubInfo.cpp \
|
---|
81 | bytecode/UnlinkedCodeBlock.cpp \
|
---|
82 | bytecode/Watchpoint.cpp \
|
---|
83 | bytecompiler/BytecodeGenerator.cpp \
|
---|
84 | bytecompiler/NodesCodegen.cpp \
|
---|
85 | heap/CopiedSpace.cpp \
|
---|
86 | heap/CopyVisitor.cpp \
|
---|
87 | heap/ConservativeRoots.cpp \
|
---|
88 | heap/DFGCodeBlocks.cpp \
|
---|
89 | heap/WeakSet.cpp \
|
---|
90 | heap/WeakHandleOwner.cpp \
|
---|
91 | heap/WeakBlock.cpp \
|
---|
92 | heap/HandleSet.cpp \
|
---|
93 | heap/HandleStack.cpp \
|
---|
94 | heap/BlockAllocator.cpp \
|
---|
95 | heap/GCThreadSharedData.cpp \
|
---|
96 | heap/GCThread.cpp \
|
---|
97 | heap/Heap.cpp \
|
---|
98 | heap/HeapStatistics.cpp \
|
---|
99 | heap/HeapTimer.cpp \
|
---|
100 | heap/IncrementalSweeper.cpp \
|
---|
101 | heap/JITStubRoutineSet.cpp \
|
---|
102 | heap/MachineStackMarker.cpp \
|
---|
103 | heap/MarkStack.cpp \
|
---|
104 | heap/MarkedAllocator.cpp \
|
---|
105 | heap/MarkedBlock.cpp \
|
---|
106 | heap/MarkedSpace.cpp \
|
---|
107 | heap/SlotVisitor.cpp \
|
---|
108 | heap/SuperRegion.cpp \
|
---|
109 | heap/VTableSpectrum.cpp \
|
---|
110 | heap/WriteBarrierSupport.cpp \
|
---|
111 | debugger/DebuggerActivation.cpp \
|
---|
112 | debugger/DebuggerCallFrame.cpp \
|
---|
113 | debugger/Debugger.cpp \
|
---|
114 | dfg/DFGAbstractState.cpp \
|
---|
115 | dfg/DFGArgumentsSimplificationPhase.cpp \
|
---|
116 | dfg/DFGArrayMode.cpp \
|
---|
117 | dfg/DFGAssemblyHelpers.cpp \
|
---|
118 | dfg/DFGBackwardsPropagationPhase.cpp \
|
---|
119 | dfg/DFGByteCodeParser.cpp \
|
---|
120 | dfg/DFGCapabilities.cpp \
|
---|
121 | dfg/DFGCommon.cpp \
|
---|
122 | dfg/DFGCFAPhase.cpp \
|
---|
123 | dfg/DFGCFGSimplificationPhase.cpp \
|
---|
124 | dfg/DFGCPSRethreadingPhase.cpp \
|
---|
125 | dfg/DFGConstantFoldingPhase.cpp \
|
---|
126 | dfg/DFGCSEPhase.cpp \
|
---|
127 | dfg/DFGDCEPhase.cpp \
|
---|
128 | dfg/DFGDisassembler.cpp \
|
---|
129 | dfg/DFGDominators.cpp \
|
---|
130 | dfg/DFGDriver.cpp \
|
---|
131 | dfg/DFGEdge.cpp \
|
---|
132 | dfg/DFGFixupPhase.cpp \
|
---|
133 | dfg/DFGGraph.cpp \
|
---|
134 | dfg/DFGJITCompiler.cpp \
|
---|
135 | dfg/DFGLongLivedState.cpp \
|
---|
136 | dfg/DFGMinifiedNode.cpp \
|
---|
137 | dfg/DFGNode.cpp \
|
---|
138 | dfg/DFGNodeFlags.cpp \
|
---|
139 | dfg/DFGOperations.cpp \
|
---|
140 | dfg/DFGOSREntry.cpp \
|
---|
141 | dfg/DFGOSRExit.cpp \
|
---|
142 | dfg/DFGOSRExitCompiler.cpp \
|
---|
143 | dfg/DFGOSRExitCompiler64.cpp \
|
---|
144 | dfg/DFGOSRExitCompiler32_64.cpp \
|
---|
145 | dfg/DFGOSRExitJumpPlaceholder.cpp \
|
---|
146 | dfg/DFGPhase.cpp \
|
---|
147 | dfg/DFGPredictionPropagationPhase.cpp \
|
---|
148 | dfg/DFGPredictionInjectionPhase.cpp \
|
---|
149 | dfg/DFGRepatch.cpp \
|
---|
150 | dfg/DFGSpeculativeJIT.cpp \
|
---|
151 | dfg/DFGSpeculativeJIT32_64.cpp \
|
---|
152 | dfg/DFGSpeculativeJIT64.cpp \
|
---|
153 | dfg/DFGStructureCheckHoistingPhase.cpp \
|
---|
154 | dfg/DFGThunks.cpp \
|
---|
155 | dfg/DFGUnificationPhase.cpp \
|
---|
156 | dfg/DFGUseKind.cpp \
|
---|
157 | dfg/DFGValueSource.cpp \
|
---|
158 | dfg/DFGVariableAccessDataDump.cpp \
|
---|
159 | dfg/DFGVariableEvent.cpp \
|
---|
160 | dfg/DFGVariableEventStream.cpp \
|
---|
161 | dfg/DFGValidate.cpp \
|
---|
162 | dfg/DFGVirtualRegisterAllocationPhase.cpp \
|
---|
163 | disassembler/Disassembler.cpp \
|
---|
164 | interpreter/AbstractPC.cpp \
|
---|
165 | interpreter/CallFrame.cpp \
|
---|
166 | interpreter/Interpreter.cpp \
|
---|
167 | interpreter/JSStack.cpp \
|
---|
168 | jit/ClosureCallStubRoutine.cpp \
|
---|
169 | jit/ExecutableAllocatorFixedVMPool.cpp \
|
---|
170 | jit/ExecutableAllocator.cpp \
|
---|
171 | jit/HostCallReturnValue.cpp \
|
---|
172 | jit/GCAwareJITStubRoutine.cpp \
|
---|
173 | jit/JITArithmetic.cpp \
|
---|
174 | jit/JITArithmetic32_64.cpp \
|
---|
175 | jit/JITCall.cpp \
|
---|
176 | jit/JITCall32_64.cpp \
|
---|
177 | jit/JITCode.cpp \
|
---|
178 | jit/JIT.cpp \
|
---|
179 | jit/JITDisassembler.cpp \
|
---|
180 | jit/JITExceptions.cpp \
|
---|
181 | jit/JITOpcodes.cpp \
|
---|
182 | jit/JITOpcodes32_64.cpp \
|
---|
183 | jit/JITPropertyAccess.cpp \
|
---|
184 | jit/JITPropertyAccess32_64.cpp \
|
---|
185 | jit/JITStubRoutine.cpp \
|
---|
186 | jit/JITStubs.cpp \
|
---|
187 | jit/JITThunks.cpp \
|
---|
188 | jit/JumpReplacementWatchpoint.cpp \
|
---|
189 | jit/ThunkGenerators.cpp \
|
---|
190 | llint/LLIntCLoop.cpp \
|
---|
191 | llint/LLIntData.cpp \
|
---|
192 | llint/LLIntEntrypoints.cpp \
|
---|
193 | llint/LLIntExceptions.cpp \
|
---|
194 | llint/LLIntSlowPaths.cpp \
|
---|
195 | llint/LLIntThunks.cpp \
|
---|
196 | llint/LowLevelInterpreter.cpp \
|
---|
197 | parser/Lexer.cpp \
|
---|
198 | parser/Nodes.cpp \
|
---|
199 | parser/ParserArena.cpp \
|
---|
200 | parser/Parser.cpp \
|
---|
201 | parser/SourceProvider.cpp \
|
---|
202 | parser/SourceProviderCache.cpp \
|
---|
203 | profiler/ProfilerBytecode.cpp \
|
---|
204 | profiler/ProfilerBytecode.h \
|
---|
205 | profiler/ProfilerBytecodeSequence.cpp \
|
---|
206 | profiler/ProfilerBytecodes.cpp \
|
---|
207 | profiler/ProfilerBytecodes.h \
|
---|
208 | profiler/ProfilerCompilation.cpp \
|
---|
209 | profiler/ProfilerCompilation.h \
|
---|
210 | profiler/ProfilerCompilationKind.cpp \
|
---|
211 | profiler/ProfilerCompilationKind.h \
|
---|
212 | profiler/ProfilerCompiledBytecode.cpp \
|
---|
213 | profiler/ProfilerCompiledBytecode.h \
|
---|
214 | profiler/ProfilerDatabase.cpp \
|
---|
215 | profiler/ProfilerDatabase.h \
|
---|
216 | profiler/ProfilerExecutionCounter.h \
|
---|
217 | profiler/ProfilerOrigin.cpp \
|
---|
218 | profiler/ProfilerOrigin.h \
|
---|
219 | profiler/ProfilerOriginStack.cpp \
|
---|
220 | profiler/ProfilerOriginStack.h \
|
---|
221 | profiler/ProfilerOSRExit.cpp \
|
---|
222 | profiler/ProfilerOSRExitSite.cpp \
|
---|
223 | profiler/ProfilerProfiledBytecodes.cpp \
|
---|
224 | profiler/Profile.cpp \
|
---|
225 | profiler/ProfileGenerator.cpp \
|
---|
226 | profiler/ProfileNode.cpp \
|
---|
227 | profiler/LegacyProfiler.cpp \
|
---|
228 | runtime/ArgList.cpp \
|
---|
229 | runtime/Arguments.cpp \
|
---|
230 | runtime/ArrayConstructor.cpp \
|
---|
231 | runtime/ArrayPrototype.cpp \
|
---|
232 | runtime/BooleanConstructor.cpp \
|
---|
233 | runtime/BooleanObject.cpp \
|
---|
234 | runtime/BooleanPrototype.cpp \
|
---|
235 | runtime/CallData.cpp \
|
---|
236 | runtime/CodeCache.cpp \
|
---|
237 | runtime/CodeSpecializationKind.cpp \
|
---|
238 | runtime/CommonIdentifiers.cpp \
|
---|
239 | runtime/Completion.cpp \
|
---|
240 | runtime/ConstructData.cpp \
|
---|
241 | runtime/DateConstructor.cpp \
|
---|
242 | runtime/DateConversion.cpp \
|
---|
243 | runtime/DateInstance.cpp \
|
---|
244 | runtime/DatePrototype.cpp \
|
---|
245 | runtime/ErrorConstructor.cpp \
|
---|
246 | runtime/Error.cpp \
|
---|
247 | runtime/ErrorInstance.cpp \
|
---|
248 | runtime/ErrorPrototype.cpp \
|
---|
249 | runtime/ExceptionHelpers.cpp \
|
---|
250 | runtime/Executable.cpp \
|
---|
251 | runtime/FunctionConstructor.cpp \
|
---|
252 | runtime/FunctionExecutableDump.cpp \
|
---|
253 | runtime/FunctionPrototype.cpp \
|
---|
254 | runtime/GCActivityCallback.cpp \
|
---|
255 | runtime/GetterSetter.cpp \
|
---|
256 | runtime/Options.cpp \
|
---|
257 | runtime/Identifier.cpp \
|
---|
258 | runtime/IndexingType.cpp \
|
---|
259 | runtime/InitializeThreading.cpp \
|
---|
260 | runtime/InternalFunction.cpp \
|
---|
261 | runtime/JSActivation.cpp \
|
---|
262 | runtime/JSAPIValueWrapper.cpp \
|
---|
263 | runtime/JSArray.cpp \
|
---|
264 | runtime/JSCell.cpp \
|
---|
265 | runtime/JSDateMath.cpp \
|
---|
266 | runtime/JSFunction.cpp \
|
---|
267 | runtime/JSBoundFunction.cpp \
|
---|
268 | runtime/JSGlobalData.cpp \
|
---|
269 | runtime/JSGlobalObject.cpp \
|
---|
270 | runtime/JSGlobalObjectFunctions.cpp \
|
---|
271 | runtime/JSProxy.cpp \
|
---|
272 | runtime/JSLock.cpp \
|
---|
273 | runtime/JSNotAnObject.cpp \
|
---|
274 | runtime/JSObject.cpp \
|
---|
275 | runtime/JSONObject.cpp \
|
---|
276 | runtime/JSPropertyNameIterator.cpp \
|
---|
277 | runtime/JSSegmentedVariableObject.cpp \
|
---|
278 | runtime/JSWithScope.cpp \
|
---|
279 | runtime/JSNameScope.cpp \
|
---|
280 | runtime/JSScope.cpp \
|
---|
281 | runtime/JSString.cpp \
|
---|
282 | runtime/JSStringJoiner.cpp \
|
---|
283 | runtime/JSSymbolTableObject.cpp \
|
---|
284 | runtime/JSCJSValue.cpp \
|
---|
285 | runtime/JSVariableObject.cpp \
|
---|
286 | runtime/JSWrapperObject.cpp \
|
---|
287 | runtime/LiteralParser.cpp \
|
---|
288 | runtime/Lookup.cpp \
|
---|
289 | runtime/MathObject.cpp \
|
---|
290 | runtime/MemoryStatistics.cpp \
|
---|
291 | runtime/NameConstructor.cpp \
|
---|
292 | runtime/NameInstance.cpp \
|
---|
293 | runtime/NamePrototype.cpp \
|
---|
294 | runtime/NativeErrorConstructor.cpp \
|
---|
295 | runtime/NativeErrorPrototype.cpp \
|
---|
296 | runtime/NumberConstructor.cpp \
|
---|
297 | runtime/NumberObject.cpp \
|
---|
298 | runtime/NumberPrototype.cpp \
|
---|
299 | runtime/ObjectConstructor.cpp \
|
---|
300 | runtime/ObjectPrototype.cpp \
|
---|
301 | runtime/Operations.cpp \
|
---|
302 | runtime/PropertyDescriptor.cpp \
|
---|
303 | runtime/PropertyNameArray.cpp \
|
---|
304 | runtime/PropertySlot.cpp \
|
---|
305 | runtime/PropertyTable.cpp \
|
---|
306 | runtime/PrototypeMap.cpp \
|
---|
307 | runtime/RegExpConstructor.cpp \
|
---|
308 | runtime/RegExpCachedResult.cpp \
|
---|
309 | runtime/RegExpMatchesArray.cpp \
|
---|
310 | runtime/RegExp.cpp \
|
---|
311 | runtime/RegExpObject.cpp \
|
---|
312 | runtime/RegExpPrototype.cpp \
|
---|
313 | runtime/RegExpCache.cpp \
|
---|
314 | runtime/SamplingCounter.cpp \
|
---|
315 | runtime/SmallStrings.cpp \
|
---|
316 | runtime/SparseArrayValueMap.cpp \
|
---|
317 | runtime/StrictEvalActivation.cpp \
|
---|
318 | runtime/StringConstructor.cpp \
|
---|
319 | runtime/StringObject.cpp \
|
---|
320 | runtime/StringPrototype.cpp \
|
---|
321 | runtime/StringRecursionChecker.cpp \
|
---|
322 | runtime/StructureChain.cpp \
|
---|
323 | runtime/Structure.cpp \
|
---|
324 | runtime/StructureRareData.cpp \
|
---|
325 | runtime/SymbolTable.cpp \
|
---|
326 | tools/CodeProfile.cpp \
|
---|
327 | tools/CodeProfiling.cpp \
|
---|
328 | yarr/YarrJIT.cpp \
|
---|
329 |
|
---|
330 | linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
|
---|
331 | SOURCES += \
|
---|
332 | disassembler/UDis86Disassembler.cpp \
|
---|
333 | disassembler/udis86/udis86.c \
|
---|
334 | disassembler/udis86/udis86_decode.c \
|
---|
335 | disassembler/udis86/udis86_input.c \
|
---|
336 | disassembler/udis86/udis86_itab_holder.c \
|
---|
337 | disassembler/udis86/udis86_syn-att.c \
|
---|
338 | disassembler/udis86/udis86_syn-intel.c \
|
---|
339 | disassembler/udis86/udis86_syn.c \
|
---|
340 | }
|
---|
341 |
|
---|
342 | win32:!win32-g++*:isEqual(QT_ARCH, "x86_64"):{
|
---|
343 | asm_compiler.commands = ml64 /c
|
---|
344 | asm_compiler.commands += /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
|
---|
345 | asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
|
---|
346 | asm_compiler.input = ASM_SOURCES
|
---|
347 | asm_compiler.variable_out = OBJECTS
|
---|
348 | asm_compiler.name = compiling[asm] ${QMAKE_FILE_IN}
|
---|
349 | silent:asm_compiler.commands = @echo compiling[asm] ${QMAKE_FILE_IN} && $$asm_compiler.commands
|
---|
350 | QMAKE_EXTRA_COMPILERS += asm_compiler
|
---|
351 |
|
---|
352 | ASM_SOURCES += jit/JITStubsMSVC64.asm
|
---|
353 | }
|
---|
354 |
|
---|
355 | HEADERS += $$files(*.h, true)
|
---|
356 |
|
---|
357 | *sh4* {
|
---|
358 | QMAKE_CXXFLAGS += -mieee -w
|
---|
359 | QMAKE_CFLAGS += -mieee -w
|
---|
360 | }
|
---|
361 |
|
---|
362 | lessThan(QT_GCC_MAJOR_VERSION, 5) {
|
---|
363 | # GCC 4.5 and before
|
---|
364 | lessThan(QT_GCC_MINOR_VERSION, 6) {
|
---|
365 | # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec.
|
---|
366 | *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
|
---|
367 | }
|
---|
368 | }
|
---|