X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..14957cd040308e3eeec43d26bae5d76da13fcd85:/JavaScriptCore.pro?ds=inline diff --git a/JavaScriptCore.pro b/JavaScriptCore.pro index 56dae05..3e0caf8 100644 --- a/JavaScriptCore.pro +++ b/JavaScriptCore.pro @@ -1,72 +1,224 @@ # JavaScriptCore - qmake build info CONFIG += building-libs include($$PWD/../WebKit.pri) +include(JavaScriptCore.pri) TEMPLATE = lib CONFIG += staticlib -TARGET = JavaScriptCore +# Don't use JavaScriptCore as the target name. qmake would create a JavaScriptCore.vcproj for msvc +# which already exists as a directory +TARGET = $$JAVASCRIPTCORE_TARGET +DESTDIR = $$JAVASCRIPTCORE_DESTDIR +QT += core +QT -= gui CONFIG += depend_includepath contains(QT_CONFIG, embedded):CONFIG += embedded +# WebCore adds these config only when in a standalone build. +# qbase.pri takes care of that when in a QTDIR_build +# Here we add the config for both cases since we don't include qbase.pri +contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols +unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions + CONFIG(QTDIR_build) { - GENERATED_SOURCES_DIR = $$PWD/generated - OLDDESTDIR = $$DESTDIR - include($$QT_SOURCE_TREE/src/qbase.pri) - INSTALLS = - DESTDIR = $$OLDDESTDIR - PRECOMPILED_HEADER = $$PWD/../WebKit/qt/WebKit_pch.h - DEFINES *= NDEBUG + # Remove the following 2 lines if you want debug information in JavaScriptCore + CONFIG -= separate_debug_info + CONFIG += no_debug_info } -isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp -GENERATED_SOURCES_DIR_SLASH = $$GENERATED_SOURCES_DIR/ -win32-*: GENERATED_SOURCES_DIR_SLASH ~= s|/|\| - -INCLUDEPATH += $$GENERATED_SOURCES_DIR +*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2 +*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3 -!CONFIG(QTDIR_build) { - OBJECTS_DIR = tmp +# 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($$OUTPUT_DIR/config.pri) - -CONFIG -= warn_on -*-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing -#QMAKE_CXXFLAGS += -Wall -Wno-undef -Wno-unused-parameter - -CONFIG(release):!CONFIG(QTDIR_build) { - contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols - unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions +wince* { + SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c } -linux-*: DEFINES += HAVE_STDINT_H -freebsd-*: DEFINES += HAVE_PTHREAD_NP_H - -DEFINES += BUILD_WEBKIT - -win32-*: DEFINES += _HAS_TR1=0 - -# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC -win32-g++ { - TMPPATH = $$quote($$(INCLUDE)) - QMAKE_INCDIR_POST += $$split(TMPPATH,";") - TMPPATH = $$quote($$(LIB)) - QMAKE_LIBDIR_POST += $$split(TMPPATH,";") +include(yarr/yarr.pri) +include(wtf/wtf.pri) + +INSTALLDEPS += all + +SOURCES += \ + API/JSBase.cpp \ + API/JSCallbackConstructor.cpp \ + API/JSCallbackFunction.cpp \ + API/JSCallbackObject.cpp \ + API/JSClassRef.cpp \ + API/JSContextRef.cpp \ + API/JSObjectRef.cpp \ + API/JSStringRef.cpp \ + API/JSValueRef.cpp \ + API/OpaqueJSString.cpp \ + assembler/ARMAssembler.cpp \ + assembler/ARMv7Assembler.cpp \ + assembler/MacroAssemblerARM.cpp \ + assembler/MacroAssemblerSH4.h \ + assembler/MacroAssemblerSH4.cpp \ + assembler/SH4Assembler.h \ + bytecode/CodeBlock.cpp \ + bytecode/JumpTable.cpp \ + bytecode/Opcode.cpp \ + bytecode/SamplingTool.cpp \ + bytecode/StructureStubInfo.cpp \ + bytecompiler/BytecodeGenerator.cpp \ + bytecompiler/NodesCodegen.cpp \ + heap/ConservativeRoots.cpp \ + heap/HandleHeap.cpp \ + heap/HandleStack.cpp \ + heap/Heap.cpp \ + heap/MachineStackMarker.cpp \ + heap/MarkStack.cpp \ + heap/MarkStackPosix.cpp \ + heap/MarkStackSymbian.cpp \ + heap/MarkStackWin.cpp \ + heap/MarkedBlock.cpp \ + heap/MarkedSpace.cpp \ + debugger/DebuggerActivation.cpp \ + debugger/DebuggerCallFrame.cpp \ + debugger/Debugger.cpp \ + dfg/DFGByteCodeParser.cpp \ + dfg/DFGGraph.cpp \ + dfg/DFGJITCodeGenerator.cpp \ + dfg/DFGJITCompiler.cpp \ + dfg/DFGNonSpeculativeJIT.cpp \ + dfg/DFGOperations.cpp \ + dfg/DFGSpeculativeJIT.cpp \ + interpreter/CallFrame.cpp \ + interpreter/Interpreter.cpp \ + interpreter/RegisterFile.cpp \ + jit/ExecutableAllocatorFixedVMPool.cpp \ + jit/ExecutableAllocator.cpp \ + jit/JITArithmetic.cpp \ + jit/JITArithmetic32_64.cpp \ + jit/JITCall.cpp \ + jit/JITCall32_64.cpp \ + jit/JIT.cpp \ + jit/JITOpcodes.cpp \ + jit/JITOpcodes32_64.cpp \ + jit/JITPropertyAccess.cpp \ + jit/JITPropertyAccess32_64.cpp \ + jit/JITStubs.cpp \ + jit/ThunkGenerators.cpp \ + parser/JSParser.cpp \ + parser/Lexer.cpp \ + parser/Nodes.cpp \ + parser/ParserArena.cpp \ + parser/Parser.cpp \ + parser/SourceProviderCache.cpp \ + profiler/Profile.cpp \ + profiler/ProfileGenerator.cpp \ + profiler/ProfileNode.cpp \ + profiler/Profiler.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/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/FunctionPrototype.cpp \ + runtime/GCActivityCallback.cpp \ + runtime/GetterSetter.cpp \ + runtime/Identifier.cpp \ + runtime/InitializeThreading.cpp \ + runtime/InternalFunction.cpp \ + runtime/JSActivation.cpp \ + runtime/JSAPIValueWrapper.cpp \ + runtime/JSArray.cpp \ + runtime/JSByteArray.cpp \ + runtime/JSCell.cpp \ + runtime/JSFunction.cpp \ + runtime/JSGlobalData.cpp \ + runtime/JSGlobalObject.cpp \ + runtime/JSGlobalObjectFunctions.cpp \ + runtime/JSLock.cpp \ + runtime/JSNotAnObject.cpp \ + runtime/JSObject.cpp \ + runtime/JSObjectWithGlobalObject.cpp \ + runtime/JSONObject.cpp \ + runtime/JSPropertyNameIterator.cpp \ + runtime/JSStaticScopeObject.cpp \ + runtime/JSString.cpp \ + runtime/JSValue.cpp \ + runtime/JSVariableObject.cpp \ + runtime/JSWrapperObject.cpp \ + runtime/LiteralParser.cpp \ + runtime/Lookup.cpp \ + runtime/MathObject.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/RegExpConstructor.cpp \ + runtime/RegExp.cpp \ + runtime/RegExpObject.cpp \ + runtime/RegExpPrototype.cpp \ + runtime/RegExpCache.cpp \ + runtime/RopeImpl.cpp \ + runtime/ScopeChain.cpp \ + runtime/SmallStrings.cpp \ + runtime/StrictEvalActivation.cpp \ + runtime/StringConstructor.cpp \ + runtime/StringObject.cpp \ + runtime/StringPrototype.cpp \ + runtime/StringRecursionChecker.cpp \ + runtime/StructureChain.cpp \ + runtime/Structure.cpp \ + runtime/TimeoutChecker.cpp \ + runtime/UString.cpp \ + yarr/YarrJIT.cpp \ + +*sh4* { + QMAKE_CXXFLAGS += -mieee -w + QMAKE_CFLAGS += -mieee -w } -DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1 - -DEFINES += WTF_CHANGES=1 - -include(JavaScriptCore.pri) +# Generated files, simply list them for JavaScriptCore -QMAKE_EXTRA_TARGETS += generated_files +symbian: { + symbian-abld|symbian-sbsv2 { + MMP_RULES += ALWAYS_BUILD_AS_ARM + } else { + QMAKE_CFLAGS -= --thumb + QMAKE_CXXFLAGS -= --thumb + } + QMAKE_CXXFLAGS.ARMCC += -OTime -O3 +} -qt-port: lessThan(QT_MINOR_VERSION, 4) { - DEFINES += QT_BEGIN_NAMESPACE="" QT_END_NAMESPACE="" +lessThan(QT_GCC_MAJOR_VERSION, 5):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 } -*-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2 -*-g++*:QMAKE_CXXFLAGS_RELEASE += -O3