123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371 |
- # -------------------------------------------------------------------
- # Target file for the JavaScriptSource library
- #
- # See 'Tools/qmake/README' for an overview of the build system
- # -------------------------------------------------------------------
- TEMPLATE = lib
- TARGET = JavaScriptCore
- include(JavaScriptCore.pri)
- WEBKIT += wtf
- QT += core
- QT -= gui
- CONFIG += staticlib
- *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
- *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
- # Rules when JIT enabled (not disabled)
- !contains(DEFINES, ENABLE_JIT=0) {
- linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
- QMAKE_CXXFLAGS += -fno-stack-protector
- QMAKE_CFLAGS += -fno-stack-protector
- }
- }
- include(yarr/yarr.pri)
- INSTALLDEPS += all
- debug_and_release: INCLUDEPATH += $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR/$$targetSubDir()
- SOURCES += \
- API/JSBase.cpp \
- API/JSCallbackConstructor.cpp \
- API/JSCallbackFunction.cpp \
- API/JSCallbackObject.cpp \
- API/JSClassRef.cpp \
- API/JSContextRef.cpp \
- API/JSObjectRef.cpp \
- API/JSScriptRef.cpp \
- API/JSStringRef.cpp \
- API/JSStringRefQt.cpp \
- API/JSValueRef.cpp \
- API/JSWeakObjectMapRefPrivate.cpp \
- API/OpaqueJSString.cpp \
- assembler/ARMAssembler.cpp \
- assembler/ARMv7Assembler.cpp \
- assembler/LinkBuffer.cpp \
- assembler/MacroAssembler.cpp \
- assembler/MacroAssemblerARM.cpp \
- bytecode/ArrayAllocationProfile.cpp \
- bytecode/ArrayProfile.cpp \
- bytecode/CallLinkInfo.cpp \
- bytecode/CallLinkStatus.cpp \
- bytecode/CodeBlock.cpp \
- bytecode/CodeBlockHash.cpp \
- bytecode/CodeOrigin.cpp \
- bytecode/CodeType.cpp \
- bytecode/DFGExitProfile.cpp \
- bytecode/ExecutionCounter.cpp \
- bytecode/ExitKind.cpp \
- bytecode/GetByIdStatus.cpp \
- bytecode/JumpTable.cpp \
- bytecode/LazyOperandValueProfile.cpp \
- bytecode/MethodOfGettingAValueProfile.cpp \
- bytecode/Opcode.cpp \
- bytecode/PolymorphicPutByIdList.cpp \
- bytecode/PreciseJumpTargets.cpp \
- bytecode/PutByIdStatus.cpp \
- bytecode/ReduceWhitespace.cpp \
- bytecode/ResolveGlobalStatus.cpp \
- bytecode/SamplingTool.cpp \
- bytecode/SpecialPointer.cpp \
- bytecode/SpeculatedType.cpp \
- bytecode/StructureStubClearingWatchpoint.cpp \
- bytecode/StructureStubInfo.cpp \
- bytecode/UnlinkedCodeBlock.cpp \
- bytecode/Watchpoint.cpp \
- bytecompiler/BytecodeGenerator.cpp \
- bytecompiler/NodesCodegen.cpp \
- heap/CopiedSpace.cpp \
- heap/CopyVisitor.cpp \
- heap/ConservativeRoots.cpp \
- heap/DFGCodeBlocks.cpp \
- heap/Weak.cpp \
- heap/WeakBlock.cpp \
- heap/WeakHandleOwner.cpp \
- heap/WeakSet.cpp \
- heap/HandleSet.cpp \
- heap/HandleStack.cpp \
- heap/BlockAllocator.cpp \
- heap/GCThreadSharedData.cpp \
- heap/GCThread.cpp \
- heap/Heap.cpp \
- heap/HeapStatistics.cpp \
- heap/HeapTimer.cpp \
- heap/IncrementalSweeper.cpp \
- heap/JITStubRoutineSet.cpp \
- heap/MachineStackMarker.cpp \
- heap/MarkStack.cpp \
- heap/MarkedAllocator.cpp \
- heap/MarkedBlock.cpp \
- heap/MarkedSpace.cpp \
- heap/SlotVisitor.cpp \
- heap/SuperRegion.cpp \
- heap/VTableSpectrum.cpp \
- heap/WriteBarrierSupport.cpp \
- debugger/DebuggerActivation.cpp \
- debugger/DebuggerCallFrame.cpp \
- debugger/Debugger.cpp \
- dfg/DFGAbstractState.cpp \
- dfg/DFGArgumentsSimplificationPhase.cpp \
- dfg/DFGArrayMode.cpp \
- dfg/DFGAssemblyHelpers.cpp \
- dfg/DFGBackwardsPropagationPhase.cpp \
- dfg/DFGByteCodeParser.cpp \
- dfg/DFGCapabilities.cpp \
- dfg/DFGCommon.cpp \
- dfg/DFGCFAPhase.cpp \
- dfg/DFGCFGSimplificationPhase.cpp \
- dfg/DFGCPSRethreadingPhase.cpp \
- dfg/DFGConstantFoldingPhase.cpp \
- dfg/DFGCSEPhase.cpp \
- dfg/DFGDCEPhase.cpp \
- dfg/DFGDisassembler.cpp \
- dfg/DFGDominators.cpp \
- dfg/DFGDriver.cpp \
- dfg/DFGEdge.cpp \
- dfg/DFGFixupPhase.cpp \
- dfg/DFGGraph.cpp \
- dfg/DFGJITCompiler.cpp \
- dfg/DFGLongLivedState.cpp \
- dfg/DFGMinifiedNode.cpp \
- dfg/DFGNode.cpp \
- dfg/DFGNodeFlags.cpp \
- dfg/DFGOperations.cpp \
- dfg/DFGOSREntry.cpp \
- dfg/DFGOSRExit.cpp \
- dfg/DFGOSRExitCompiler.cpp \
- dfg/DFGOSRExitCompiler64.cpp \
- dfg/DFGOSRExitCompiler32_64.cpp \
- dfg/DFGOSRExitJumpPlaceholder.cpp \
- dfg/DFGPhase.cpp \
- dfg/DFGPredictionPropagationPhase.cpp \
- dfg/DFGPredictionInjectionPhase.cpp \
- dfg/DFGRepatch.cpp \
- dfg/DFGSpeculativeJIT.cpp \
- dfg/DFGSpeculativeJIT32_64.cpp \
- dfg/DFGSpeculativeJIT64.cpp \
- dfg/DFGTypeCheckHoistingPhase.cpp \
- dfg/DFGThunks.cpp \
- dfg/DFGUnificationPhase.cpp \
- dfg/DFGUseKind.cpp \
- dfg/DFGValueSource.cpp \
- dfg/DFGVariableAccessDataDump.cpp \
- dfg/DFGVariableEvent.cpp \
- dfg/DFGVariableEventStream.cpp \
- dfg/DFGValidate.cpp \
- dfg/DFGVirtualRegisterAllocationPhase.cpp \
- disassembler/Disassembler.cpp \
- interpreter/AbstractPC.cpp \
- interpreter/CallFrame.cpp \
- interpreter/Interpreter.cpp \
- interpreter/JSStack.cpp \
- jit/ClosureCallStubRoutine.cpp \
- jit/ExecutableAllocatorFixedVMPool.cpp \
- jit/ExecutableAllocator.cpp \
- jit/HostCallReturnValue.cpp \
- jit/GCAwareJITStubRoutine.cpp \
- jit/JITArithmetic.cpp \
- jit/JITArithmetic32_64.cpp \
- jit/JITCall.cpp \
- jit/JITCall32_64.cpp \
- jit/JITCode.cpp \
- jit/JIT.cpp \
- jit/JITDisassembler.cpp \
- jit/JITExceptions.cpp \
- jit/JITOpcodes.cpp \
- jit/JITOpcodes32_64.cpp \
- jit/JITPropertyAccess.cpp \
- jit/JITPropertyAccess32_64.cpp \
- jit/JITStubRoutine.cpp \
- jit/JITStubs.cpp \
- jit/JITThunks.cpp \
- jit/JumpReplacementWatchpoint.cpp \
- jit/ThunkGenerators.cpp \
- llint/LLIntCLoop.cpp \
- llint/LLIntData.cpp \
- llint/LLIntEntrypoints.cpp \
- llint/LLIntExceptions.cpp \
- llint/LLIntSlowPaths.cpp \
- llint/LLIntThunks.cpp \
- llint/LowLevelInterpreter.cpp \
- parser/Lexer.cpp \
- parser/Nodes.cpp \
- parser/ParserArena.cpp \
- parser/Parser.cpp \
- parser/SourceProvider.cpp \
- parser/SourceProviderCache.cpp \
- profiler/ProfilerBytecode.cpp \
- profiler/ProfilerBytecode.h \
- profiler/ProfilerBytecodeSequence.cpp \
- profiler/ProfilerBytecodes.cpp \
- profiler/ProfilerBytecodes.h \
- profiler/ProfilerCompilation.cpp \
- profiler/ProfilerCompilation.h \
- profiler/ProfilerCompilationKind.cpp \
- profiler/ProfilerCompilationKind.h \
- profiler/ProfilerCompiledBytecode.cpp \
- profiler/ProfilerCompiledBytecode.h \
- profiler/ProfilerDatabase.cpp \
- profiler/ProfilerDatabase.h \
- profiler/ProfilerExecutionCounter.h \
- profiler/ProfilerOrigin.cpp \
- profiler/ProfilerOrigin.h \
- profiler/ProfilerOriginStack.cpp \
- profiler/ProfilerOriginStack.h \
- profiler/ProfilerOSRExit.cpp \
- profiler/ProfilerOSRExitSite.cpp \
- profiler/ProfilerProfiledBytecodes.cpp \
- profiler/Profile.cpp \
- profiler/ProfileGenerator.cpp \
- profiler/ProfileNode.cpp \
- profiler/LegacyProfiler.cpp \
- runtime/ArgList.cpp \
- runtime/Arguments.cpp \
- runtime/ArrayConstructor.cpp \
- runtime/ArrayPrototype.cpp \
- runtime/BooleanConstructor.cpp \
- runtime/BooleanObject.cpp \
- runtime/BooleanPrototype.cpp \
- runtime/CallData.cpp \
- runtime/CodeCache.cpp \
- runtime/CodeSpecializationKind.cpp \
- runtime/CommonIdentifiers.cpp \
- runtime/Completion.cpp \
- runtime/ConstructData.cpp \
- runtime/DateConstructor.cpp \
- runtime/DateConversion.cpp \
- runtime/DateInstance.cpp \
- runtime/DatePrototype.cpp \
- runtime/ErrorConstructor.cpp \
- runtime/Error.cpp \
- runtime/ErrorInstance.cpp \
- runtime/ErrorPrototype.cpp \
- runtime/ExceptionHelpers.cpp \
- runtime/Executable.cpp \
- runtime/FunctionConstructor.cpp \
- runtime/FunctionExecutableDump.cpp \
- runtime/FunctionPrototype.cpp \
- runtime/GCActivityCallback.cpp \
- runtime/GetterSetter.cpp \
- runtime/Options.cpp \
- runtime/Identifier.cpp \
- runtime/IndexingType.cpp \
- runtime/InitializeThreading.cpp \
- runtime/InternalFunction.cpp \
- runtime/JSActivation.cpp \
- runtime/JSAPIValueWrapper.cpp \
- runtime/JSArray.cpp \
- runtime/JSCell.cpp \
- runtime/JSDateMath.cpp \
- runtime/JSFunction.cpp \
- runtime/JSBoundFunction.cpp \
- runtime/VM.cpp \
- runtime/JSGlobalObject.cpp \
- runtime/JSGlobalObjectFunctions.cpp \
- runtime/JSProxy.cpp \
- runtime/JSLock.cpp \
- runtime/JSNotAnObject.cpp \
- runtime/JSObject.cpp \
- runtime/JSONObject.cpp \
- runtime/JSPropertyNameIterator.cpp \
- runtime/JSSegmentedVariableObject.cpp \
- runtime/JSWithScope.cpp \
- runtime/JSNameScope.cpp \
- runtime/JSScope.cpp \
- runtime/JSString.cpp \
- runtime/JSStringJoiner.cpp \
- runtime/JSSymbolTableObject.cpp \
- runtime/JSCJSValue.cpp \
- runtime/JSVariableObject.cpp \
- runtime/JSWrapperObject.cpp \
- runtime/LiteralParser.cpp \
- runtime/Lookup.cpp \
- runtime/MathObject.cpp \
- runtime/MemoryStatistics.cpp \
- runtime/NameConstructor.cpp \
- runtime/NameInstance.cpp \
- runtime/NamePrototype.cpp \
- runtime/NativeErrorConstructor.cpp \
- runtime/NativeErrorPrototype.cpp \
- runtime/NumberConstructor.cpp \
- runtime/NumberObject.cpp \
- runtime/NumberPrototype.cpp \
- runtime/ObjectConstructor.cpp \
- runtime/ObjectPrototype.cpp \
- runtime/Operations.cpp \
- runtime/PropertyDescriptor.cpp \
- runtime/PropertyNameArray.cpp \
- runtime/PropertySlot.cpp \
- runtime/PropertyTable.cpp \
- runtime/PrototypeMap.cpp \
- runtime/RegExpConstructor.cpp \
- runtime/RegExpCachedResult.cpp \
- runtime/RegExpMatchesArray.cpp \
- runtime/RegExp.cpp \
- runtime/RegExpObject.cpp \
- runtime/RegExpPrototype.cpp \
- runtime/RegExpCache.cpp \
- runtime/SamplingCounter.cpp \
- runtime/SmallStrings.cpp \
- runtime/SparseArrayValueMap.cpp \
- runtime/StrictEvalActivation.cpp \
- runtime/StringConstructor.cpp \
- runtime/StringObject.cpp \
- runtime/StringPrototype.cpp \
- runtime/StringRecursionChecker.cpp \
- runtime/StructureChain.cpp \
- runtime/Structure.cpp \
- runtime/StructureRareData.cpp \
- runtime/SymbolTable.cpp \
- runtime/Watchdog.cpp \
- runtime/WatchdogNone.cpp \
- tools/CodeProfile.cpp \
- tools/CodeProfiling.cpp \
- yarr/YarrJIT.cpp \
- linux-*:if(isEqual(QT_ARCH, "i386")|isEqual(QT_ARCH, "x86_64")) {
- SOURCES += \
- disassembler/UDis86Disassembler.cpp \
- disassembler/udis86/udis86.c \
- disassembler/udis86/udis86_decode.c \
- disassembler/udis86/udis86_input.c \
- disassembler/udis86/udis86_itab_holder.c \
- disassembler/udis86/udis86_syn-att.c \
- disassembler/udis86/udis86_syn-intel.c \
- disassembler/udis86/udis86_syn.c \
- }
- win32:!win32-g++*:isEqual(QT_ARCH, "x86_64"):{
- asm_compiler.commands = ml64 /c
- asm_compiler.commands += /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
- asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
- asm_compiler.input = ASM_SOURCES
- asm_compiler.variable_out = OBJECTS
- asm_compiler.name = compiling[asm] ${QMAKE_FILE_IN}
- silent:asm_compiler.commands = @echo compiling[asm] ${QMAKE_FILE_IN} && $$asm_compiler.commands
- QMAKE_EXTRA_COMPILERS += asm_compiler
- ASM_SOURCES += jit/JITStubsMSVC64.asm
- }
- HEADERS += $$files(*.h, true)
- *sh4* {
- QMAKE_CXXFLAGS += -mieee -w
- QMAKE_CFLAGS += -mieee -w
- }
- lessThan(QT_GCC_MAJOR_VERSION, 5) {
- # GCC 4.5 and before
- lessThan(QT_GCC_MINOR_VERSION, 6) {
- # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec.
- *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
- }
- }
|