| # JavaScriptCore - qmake build info |
| CONFIG += building-libs |
| include($$PWD/../WebKit.pri) |
| include(JavaScriptCore.pri) |
| |
| TEMPLATE = lib |
| CONFIG += staticlib |
| # 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 |
| |
| CONFIG(QTDIR_build) { |
| # Make sure we compile both debug and release on mac when inside Qt. |
| # This line was extracted from qbase.pri instead of including the whole file |
| win32|mac:!macx-xcode:CONFIG += debug_and_release |
| } else { |
| !CONFIG(release, debug|release) { |
| OBJECTS_DIR = obj/debug |
| } else { # Release |
| OBJECTS_DIR = obj/release |
| } |
| # Make sure that build_all follows the build_all config in WebCore |
| mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all |
| } |
| |
| # 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) { |
| # Remove the following 2 lines if you want debug information in JavaScriptCore |
| CONFIG -= separate_debug_info |
| CONFIG += no_debug_info |
| } |
| |
| # 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,";") |
| } |
| |
| *-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 |
| } |
| } |
| |
| wince* { |
| SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c |
| } |
| |
| include(pcre/pcre.pri) |
| |
| 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 \ |
| bytecode/CodeBlock.cpp \ |
| bytecode/JumpTable.cpp \ |
| bytecode/Opcode.cpp \ |
| bytecode/SamplingTool.cpp \ |
| bytecode/StructureStubInfo.cpp \ |
| bytecompiler/BytecodeGenerator.cpp \ |
| bytecompiler/NodesCodegen.cpp \ |
| debugger/DebuggerActivation.cpp \ |
| debugger/DebuggerCallFrame.cpp \ |
| debugger/Debugger.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 \ |
| 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/Collector.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/GCHandle.cpp \ |
| runtime/GetterSetter.cpp \ |
| runtime/GlobalEvalFunction.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/JSImmediate.cpp \ |
| runtime/JSLock.cpp \ |
| runtime/JSNotAnObject.cpp \ |
| runtime/JSNumberCell.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/MarkStackPosix.cpp \ |
| runtime/MarkStackSymbian.cpp \ |
| runtime/MarkStackWin.cpp \ |
| runtime/MarkStack.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/PrototypeFunction.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/StringConstructor.cpp \ |
| runtime/StringObject.cpp \ |
| runtime/StringPrototype.cpp \ |
| runtime/StructureChain.cpp \ |
| runtime/Structure.cpp \ |
| runtime/TimeoutChecker.cpp \ |
| runtime/UString.cpp \ |
| wtf/Assertions.cpp \ |
| wtf/ByteArray.cpp \ |
| wtf/CurrentTime.cpp \ |
| wtf/DateMath.cpp \ |
| wtf/dtoa.cpp \ |
| wtf/FastMalloc.cpp \ |
| wtf/HashTable.cpp \ |
| wtf/MD5.cpp \ |
| wtf/MainThread.cpp \ |
| wtf/qt/MainThreadQt.cpp \ |
| wtf/qt/StringQt.cpp \ |
| wtf/qt/ThreadingQt.cpp \ |
| wtf/PageAllocation.cpp \ |
| wtf/RandomNumber.cpp \ |
| wtf/RefCountedLeakCounter.cpp \ |
| wtf/ThreadingNone.cpp \ |
| wtf/Threading.cpp \ |
| wtf/TypeTraits.cpp \ |
| wtf/WTFThreadData.cpp \ |
| wtf/text/AtomicString.cpp \ |
| wtf/text/CString.cpp \ |
| wtf/text/StringImpl.cpp \ |
| wtf/text/StringStatics.cpp \ |
| wtf/text/WTFString.cpp \ |
| wtf/unicode/CollatorDefault.cpp \ |
| wtf/unicode/icu/CollatorICU.cpp \ |
| wtf/unicode/UTF8.cpp \ |
| yarr/RegexCompiler.cpp \ |
| yarr/RegexInterpreter.cpp \ |
| yarr/RegexJIT.cpp |
| |
| # Generated files, simply list them for JavaScriptCore |
| |
| !contains(DEFINES, USE_SYSTEM_MALLOC) { |
| SOURCES += wtf/TCSystemAlloc.cpp |
| } |
| |
| # 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 |