Fix build break after r154861
[WebKit-https.git] / Source / JavaScriptCore / Target.pri
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/MacroAssemblerX86Common.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/DeferredCompilationCallback.cpp \
65     bytecode/ExecutionCounter.cpp \
66     bytecode/ExitKind.cpp \
67     bytecode/GetByIdStatus.cpp \
68     bytecode/JumpTable.cpp \
69     bytecode/LazyOperandValueProfile.cpp \
70     bytecode/MethodOfGettingAValueProfile.cpp \
71     bytecode/Opcode.cpp \
72     bytecode/PolymorphicPutByIdList.cpp \
73     bytecode/PreciseJumpTargets.cpp \
74     bytecode/PutByIdStatus.cpp \
75     bytecode/ReduceWhitespace.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/CopiedSpaceInlines.h \
86     heap/CopiedSpace.cpp \
87     heap/CopyVisitor.cpp \
88     heap/ConservativeRoots.cpp \
89     heap/DFGCodeBlocks.cpp \
90     heap/Weak.cpp \
91     heap/WeakBlock.cpp \
92     heap/WeakHandleOwner.cpp \
93     heap/WeakSet.cpp \
94     heap/HandleSet.cpp \
95     heap/HandleStack.cpp \
96     heap/BlockAllocator.cpp \
97     heap/GCThreadSharedData.cpp \
98     heap/GCThread.cpp \
99     heap/Heap.cpp \
100     heap/HeapStatistics.cpp \
101     heap/HeapTimer.cpp \
102     heap/IncrementalSweeper.cpp \
103     heap/JITStubRoutineSet.cpp \
104     heap/MachineStackMarker.cpp \
105     heap/MarkStack.cpp \
106     heap/MarkedAllocator.cpp \
107     heap/MarkedBlock.cpp \
108     heap/MarkedSpace.cpp \
109     heap/SlotVisitor.cpp \
110     heap/SuperRegion.cpp \
111     heap/VTableSpectrum.cpp \
112     heap/WriteBarrierSupport.cpp \
113     debugger/DebuggerActivation.cpp \
114     debugger/DebuggerCallFrame.cpp \
115     debugger/Debugger.cpp \
116     dfg/DFGAbstractHeap.cpp \
117     dfg/DFGAbstractValue.cpp \
118     dfg/DFGArgumentsSimplificationPhase.cpp \
119     dfg/DFGArrayMode.cpp \
120     dfg/DFGAssemblyHelpers.cpp \
121     dfg/DFGAtTailAbstractState.cpp \
122     dfg/DFGBackwardsPropagationPhase.cpp \
123     dfg/DFGBasicBlock.cpp \
124     dfg/DFGBinarySwitch.cpp \
125     dfg/DFGBlockInsertionSet.cpp \
126     dfg/DFGByteCodeParser.cpp \
127     dfg/DFGCapabilities.cpp \
128     dfg/DFGClobberize.cpp \
129     dfg/DFGClobberSet.cpp \
130     dfg/DFGCommon.cpp \
131     dfg/DFGCommonData.cpp \
132     dfg/DFGCompilationKey.cpp \
133     dfg/DFGCompilationMode.cpp \
134     dfg/DFGCFAPhase.cpp \
135     dfg/DFGCFGSimplificationPhase.cpp \
136     dfg/DFGCPSRethreadingPhase.cpp \
137     dfg/DFGConstantFoldingPhase.cpp \
138     dfg/DFGCriticalEdgeBreakingPhase.cpp \
139     dfg/DFGCSEPhase.cpp \
140     dfg/DFGDCEPhase.cpp \
141     dfg/DFGDesiredIdentifiers.cpp \
142     dfg/DFGDesiredStructureChains.cpp \
143     dfg/DFGDesiredTransitions.cpp \
144     dfg/DFGDesiredWatchpoints.cpp \
145     dfg/DFGDesiredWeakReferences.cpp \
146     dfg/DFGDesiredWriteBarriers.cpp \
147     dfg/DFGDisassembler.cpp \
148     dfg/DFGDominators.cpp \
149     dfg/DFGDriver.cpp \
150     dfg/DFGEdge.cpp \
151     dfg/DFGFailedFinalizer.cpp \
152     dfg/DFGFinalizer.cpp \
153     dfg/DFGFixupPhase.cpp \
154     dfg/DFGFlushFormat.cpp \
155     dfg/DFGFlushLivenessAnalysisPhase.cpp \
156     dfg/DFGGraph.cpp \
157     dfg/DFGInPlaceAbstractState.cpp \
158     dfg/DFGJITCode.cpp \
159     dfg/DFGJITCompiler.cpp \
160     dfg/DFGJITFinalizer.cpp \
161     dfg/DFGLICMPhase.cpp \
162     dfg/DFGLazyJSValue.cpp \
163     dfg/DFGLivenessAnalysisPhase.cpp \
164     dfg/DFGLongLivedState.cpp \
165     dfg/DFGLoopPreHeaderCreationPhase.cpp \
166     dfg/DFGMinifiedNode.cpp \
167     dfg/DFGNaturalLoops.cpp \
168     dfg/DFGNode.cpp \
169     dfg/DFGNodeFlags.cpp \
170     dfg/DFGOperations.cpp \
171     dfg/DFGOSRAvailabilityAnalysisPhase.cpp \
172     dfg/DFGOSREntry.cpp \
173     dfg/DFGOSRExit.cpp \
174     dfg/DFGOSRExitBase.cpp \
175     dfg/DFGOSRExitCompiler.cpp \
176     dfg/DFGOSRExitCompiler64.cpp \
177     dfg/DFGOSRExitCompiler32_64.cpp \
178     dfg/DFGOSRExitCompilerCommon.cpp \
179     dfg/DFGOSRExitJumpPlaceholder.cpp \
180     dfg/DFGOSRExitPreparation.cpp \
181     dfg/DFGPhase.cpp \
182     dfg/DFGPlan.cpp \
183     dfg/DFGPredictionPropagationPhase.cpp \
184     dfg/DFGPredictionInjectionPhase.cpp \
185     dfg/DFGRepatch.cpp \
186     dfg/DFGSSAConversionPhase.cpp \
187     dfg/DFGSpeculativeJIT.cpp \
188     dfg/DFGSpeculativeJIT32_64.cpp \
189     dfg/DFGSpeculativeJIT64.cpp \
190     dfg/DFGTypeCheckHoistingPhase.cpp \
191     dfg/DFGThunks.cpp \
192     dfg/DFGUnificationPhase.cpp \
193     dfg/DFGUseKind.cpp \
194     dfg/DFGValueSource.cpp \
195     dfg/DFGVariableAccessDataDump.cpp \
196     dfg/DFGVariableEvent.cpp \
197     dfg/DFGVariableEventStream.cpp \
198     dfg/DFGValidate.cpp \
199     dfg/DFGVirtualRegisterAllocationPhase.cpp \
200     dfg/DFGWorklist.cpp \
201     disassembler/Disassembler.cpp \
202     interpreter/AbstractPC.cpp \
203     interpreter/CallFrame.cpp \
204     interpreter/Interpreter.cpp \
205     interpreter/JSStack.cpp \
206     interpreter/StackIterator.cpp \
207     jit/ClosureCallStubRoutine.cpp \
208     jit/ExecutableAllocatorFixedVMPool.cpp \
209     jit/ExecutableAllocator.cpp \
210     jit/HostCallReturnValue.cpp \
211     jit/GCAwareJITStubRoutine.cpp \
212     jit/JITArithmetic.cpp \
213     jit/JITArithmetic32_64.cpp \
214     jit/JITCall.cpp \
215     jit/JITCall32_64.cpp \
216     jit/JITCode.cpp \
217     jit/JIT.cpp \
218     jit/JITDisassembler.cpp \
219     jit/JITExceptions.cpp \
220     jit/JITOpcodes.cpp \
221     jit/JITOpcodes32_64.cpp \
222     jit/JITPropertyAccess.cpp \
223     jit/JITPropertyAccess32_64.cpp \
224     jit/JITStubRoutine.cpp \
225     jit/JITStubs.cpp \
226     jit/JITThunks.cpp \
227     jit/JITToDFGDeferredCompilationCallback.cpp \
228     jit/JumpReplacementWatchpoint.cpp \
229     jit/ThunkGenerators.cpp \
230     llint/LLIntCLoop.cpp \
231     llint/LLIntData.cpp \
232     llint/LLIntEntrypoint.cpp \
233     llint/LLIntExceptions.cpp \
234     llint/LLIntSlowPaths.cpp \
235     llint/LLIntThunks.cpp \
236     llint/LowLevelInterpreter.cpp \
237     parser/Lexer.cpp \
238     parser/Nodes.cpp \
239     parser/ParserArena.cpp \
240     parser/Parser.cpp \
241     parser/SourceCode.cpp \
242     parser/SourceProvider.cpp \
243     parser/SourceProviderCache.cpp \
244     profiler/ProfilerBytecode.cpp \
245     profiler/ProfilerBytecode.h \
246     profiler/ProfilerBytecodeSequence.cpp \
247     profiler/ProfilerBytecodes.cpp \
248     profiler/ProfilerBytecodes.h \
249     profiler/ProfilerCompilation.cpp \
250     profiler/ProfilerCompilation.h \
251     profiler/ProfilerCompilationKind.cpp \
252     profiler/ProfilerCompilationKind.h \
253     profiler/ProfilerCompiledBytecode.cpp \
254     profiler/ProfilerCompiledBytecode.h \
255     profiler/ProfilerDatabase.cpp \
256     profiler/ProfilerDatabase.h \
257     profiler/ProfilerExecutionCounter.h \
258     profiler/ProfilerOrigin.cpp \
259     profiler/ProfilerOrigin.h \
260     profiler/ProfilerOriginStack.cpp \
261     profiler/ProfilerOriginStack.h \
262     profiler/ProfilerOSRExit.cpp \
263     profiler/ProfilerOSRExitSite.cpp \
264     profiler/ProfilerProfiledBytecodes.cpp \
265     profiler/Profile.cpp \
266     profiler/ProfileGenerator.cpp \
267     profiler/ProfileNode.cpp \
268     profiler/LegacyProfiler.cpp \
269     runtime/ArgList.cpp \
270     runtime/Arguments.cpp \
271     runtime/ArrayBuffer.cpp \
272     runtime/ArrayBufferView.cpp \
273     runtime/ArrayConstructor.cpp \
274     runtime/ArrayPrototype.cpp \
275     runtime/BooleanConstructor.cpp \
276     runtime/BooleanObject.cpp \
277     runtime/BooleanPrototype.cpp \
278     runtime/CallData.cpp \
279     runtime/CodeCache.cpp \
280     runtime/CodeSpecializationKind.cpp \
281     runtime/CommonIdentifiers.cpp \
282     runtime/CommonSlowPaths.cpp \
283     runtime/CommonSlowPathsExceptions.cpp \
284     runtime/CompilationResult.cpp \
285     runtime/Completion.cpp \
286     runtime/ConstructData.cpp \
287     runtime/DataView.cpp \
288     runtime/DateConstructor.cpp \
289     runtime/DateConversion.cpp \
290     runtime/DateInstance.cpp \
291     runtime/DatePrototype.cpp \
292     runtime/DumpContext.cpp \
293     runtime/Error.cpp \
294     runtime/ErrorConstructor.cpp \
295     runtime/ErrorInstance.cpp \
296     runtime/ErrorPrototype.cpp \
297     runtime/ExceptionHelpers.cpp \
298     runtime/Executable.cpp \
299     runtime/FunctionConstructor.cpp \
300     runtime/FunctionExecutableDump.cpp \
301     runtime/FunctionPrototype.cpp \
302     runtime/GCActivityCallback.cpp \
303     runtime/GetterSetter.cpp \
304     runtime/Identifier.cpp \
305     runtime/IndexingType.cpp \
306     runtime/InitializeThreading.cpp \
307     runtime/IntendedStructureChain.cpp \
308     runtime/InternalFunction.cpp \
309     runtime/JSAPIValueWrapper.cpp \
310     runtime/JSActivation.cpp \
311     runtime/JSArray.cpp \
312     runtime/JSArrayBuffer.cpp \
313     runtime/JSArrayBufferConstructor.cpp \
314     runtime/JSArrayBufferPrototype.cpp \
315     runtime/JSArrayBufferView.cpp \
316     runtime/JSBoundFunction.cpp \
317     runtime/JSCJSValue.cpp \
318     runtime/JSCell.cpp \
319     runtime/JSDataView.cpp \
320     runtime/JSDataViewPrototype.cpp \
321     runtime/JSDateMath.cpp \
322     runtime/JSFunction.cpp \
323     runtime/JSGlobalObject.cpp \
324     runtime/JSGlobalObjectFunctions.cpp \
325     runtime/JSLock.cpp \
326     runtime/JSMap.cpp \
327     runtime/JSNameScope.cpp \
328     runtime/JSNameScope.cpp \
329     runtime/JSNotAnObject.cpp \
330     runtime/JSONObject.cpp \
331     runtime/JSObject.cpp \
332     runtime/JSPromise.cpp \
333     runtime/JSPromiseCallback.cpp \
334     runtime/JSPromiseConstructor.cpp \
335     runtime/JSPromisePrototype.cpp \
336     runtime/JSPromiseResolver.cpp \
337     runtime/JSPromiseResolverConstructor.cpp \
338     runtime/JSPromiseResolverPrototype.cpp \
339     runtime/JSPropertyNameIterator.cpp \
340     runtime/JSProxy.cpp \
341     runtime/JSScope.cpp \
342     runtime/JSSegmentedVariableObject.cpp \
343     runtime/JSString.cpp \
344     runtime/JSStringJoiner.cpp \
345     runtime/JSSymbolTableObject.cpp \
346     runtime/JSTypedArrayConstructors.cpp \
347     runtime/JSTypedArrayPrototypes.cpp \
348     runtime/JSTypedArrays.cpp \
349     runtime/JSVariableObject.cpp \
350     runtime/JSWithScope.cpp \
351     runtime/JSWrapperObject.cpp \
352     runtime/LiteralParser.cpp \
353     runtime/Lookup.cpp \
354     runtime/MapConstructor.cpp \
355     runtime/MapData.cpp \
356     runtime/Prototype.cpp \
357     runtime/MathObject.cpp \
358     runtime/MemoryStatistics.cpp \
359     runtime/NameConstructor.cpp \
360     runtime/NameInstance.cpp \
361     runtime/NamePrototype.cpp \
362     runtime/NativeErrorConstructor.cpp \
363     runtime/NativeErrorPrototype.cpp \
364     runtime/NumberConstructor.cpp \
365     runtime/NumberObject.cpp \
366     runtime/NumberPrototype.cpp \
367     runtime/ObjectConstructor.cpp \
368     runtime/ObjectPrototype.cpp \
369     runtime/Operations.cpp \
370     runtime/Options.cpp \
371     runtime/PropertyDescriptor.cpp \
372     runtime/PropertyNameArray.cpp \
373     runtime/PropertySlot.cpp \
374     runtime/PropertyTable.cpp \
375     runtime/PrototypeMap.cpp \
376     runtime/RegExp.cpp \
377     runtime/RegExpCache.cpp \
378     runtime/RegExpCachedResult.cpp \
379     runtime/RegExpConstructor.cpp \
380     runtime/RegExpMatchesArray.cpp \
381     runtime/RegExpObject.cpp \
382     runtime/RegExpPrototype.cpp \
383     runtime/SamplingCounter.cpp \
384     runtime/SimpleTypedArrayController.cpp \
385     runtime/SmallStrings.cpp \
386     runtime/SparseArrayValueMap.cpp \
387     runtime/StrictEvalActivation.cpp \
388     runtime/StringConstructor.cpp \
389     runtime/StringObject.cpp \
390     runtime/StringPrototype.cpp \
391     runtime/StringRecursionChecker.cpp \
392     runtime/Structure.cpp \
393     runtime/StructureChain.cpp \
394     runtime/StructureRareData.cpp \
395     runtime/SymbolTable.cpp \
396     runtime/TypedArrayController.cpp \
397     runtime/TypedArrayType.cpp \
398     runtime/VM.cpp \
399     runtime/Watchdog.cpp \
400     runtime/WatchdogNone.cpp \
401     tools/CodeProfile.cpp \
402     tools/CodeProfiling.cpp \
403     yarr/YarrJIT.cpp \
404
405 linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
406     SOURCES += \
407         disassembler/X86Disassembler.cpp \
408         disassembler/UDis86Disassembler.cpp \
409         disassembler/udis86/udis86.c \
410         disassembler/udis86/udis86_decode.c \
411         disassembler/udis86/udis86_input.c \
412         disassembler/udis86/udis86_itab_holder.c \
413         disassembler/udis86/udis86_syn-att.c \
414         disassembler/udis86/udis86_syn-intel.c \
415         disassembler/udis86/udis86_syn.c \
416 }
417
418 win32:!win32-g++*:isEqual(QT_ARCH, "x86_64"):{
419     asm_compiler.commands = ml64 /c
420     asm_compiler.commands +=  /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
421     asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
422     asm_compiler.input = ASM_SOURCES
423     asm_compiler.variable_out = OBJECTS
424     asm_compiler.name = compiling[asm] ${QMAKE_FILE_IN}
425     silent:asm_compiler.commands = @echo compiling[asm] ${QMAKE_FILE_IN} && $$asm_compiler.commands
426     QMAKE_EXTRA_COMPILERS += asm_compiler
427
428     ASM_SOURCES += jit/JITStubsMSVC64.asm
429 }
430
431 build?(qttestsupport) {
432     HEADERS += API/JSCTestRunnerUtils.h
433     SOURCES += API/JSCTestRunnerUtils.cpp
434 }
435
436 HEADERS += $$files(*.h, true)
437
438 *sh4* {
439     QMAKE_CXXFLAGS += -mieee -w
440     QMAKE_CFLAGS   += -mieee -w
441 }