X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/9dae56ea45a0f5f8136a5c93d6f3a7f99399ca73..6fe7ccc865dc7d7541b93c5bcaf6368d2c98a174:/JavaScriptCore.pri diff --git a/JavaScriptCore.pri b/JavaScriptCore.pri index 6aee0aa..4a8ecd4 100644 --- a/JavaScriptCore.pri +++ b/JavaScriptCore.pri @@ -1,210 +1,47 @@ -# JavaScriptCore - Qt4 build info -VPATH += $$PWD +# ------------------------------------------------------------------- +# This file contains shared rules used both when building +# JavaScriptCore itself, and by targets that use JavaScriptCore. +# +# See 'Tools/qmake/README' for an overview of the build system +# ------------------------------------------------------------------- + +SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/JavaScriptCore + +JAVASCRIPTCORE_GENERATED_SOURCES_DIR = $${ROOT_BUILD_DIR}/Source/JavaScriptCore/$${GENERATED_SOURCES_DESTDIR} + +INCLUDEPATH += \ + $$SOURCE_DIR \ + $$SOURCE_DIR/.. \ + $$SOURCE_DIR/../WTF \ + $$SOURCE_DIR/assembler \ + $$SOURCE_DIR/bytecode \ + $$SOURCE_DIR/bytecompiler \ + $$SOURCE_DIR/heap \ + $$SOURCE_DIR/dfg \ + $$SOURCE_DIR/debugger \ + $$SOURCE_DIR/interpreter \ + $$SOURCE_DIR/jit \ + $$SOURCE_DIR/llint \ + $$SOURCE_DIR/parser \ + $$SOURCE_DIR/profiler \ + $$SOURCE_DIR/runtime \ + $$SOURCE_DIR/tools \ + $$SOURCE_DIR/yarr \ + $$SOURCE_DIR/API \ + $$SOURCE_DIR/ForwardingHeaders \ + $$JAVASCRIPTCORE_GENERATED_SOURCES_DIR -INCLUDEPATH += tmp -INCLUDEPATH += $$PWD $$PWD/parser $$PWD/bytecompiler $$PWD/debugger $$PWD/runtime $$PWD/wtf $$PWD/wtf/unicode $$PWD/interpreter $$PWD/jit $$PWD/profiler $$PWD/wrec $$PWD/API $$PWD/.. \ - $$PWD/ForwardingHeaders $$PWD/bytecode $$PWD/assembler -DEFINES += BUILDING_QT__ - -isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp -GENERATED_SOURCES_DIR_SLASH = $$GENERATED_SOURCES_DIR/ win32-* { - GENERATED_SOURCES_DIR_SLASH ~= s|/|\| LIBS += -lwinmm -} - -# Disable the JIT due to numerous observed miscompilations :( -#CONFIG(release):isEqual(QT_ARCH,i386) { -# JIT_DEFINES = ENABLE_JIT ENABLE_WREC ENABLE_JIT_OPTIMIZE_CALL ENABLE_JIT_OPTIMIZE_PROPERTY_ACCESS ENABLE_JIT_OPTIMIZE_ARITHMETIC -# # gcc <= 4.1 is known to miscompile, so require >= 4.2, written as major > 3 and minor > 1 -# linux-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,1) { -# DEFINES += $$JIT_DEFINES -# SOURCES += wtf/TCSystemAlloc.cpp -# DEFINES -= USE_SYSTEM_MALLOC -# } -# win32-msvc* { -# DEFINES += $$JIT_DEFINES -# } -#} - -include(pcre/pcre.pri) - -LUT_FILES += \ - runtime/DatePrototype.cpp \ - runtime/NumberConstructor.cpp \ - runtime/StringPrototype.cpp \ - runtime/ArrayPrototype.cpp \ - runtime/MathObject.cpp \ - runtime/RegExpConstructor.cpp \ - runtime/RegExpObject.cpp - -KEYWORDLUT_FILES += \ - parser/Keywords.table - -JSCBISON += \ - parser/Grammar.y -SOURCES += \ - wtf/Assertions.cpp \ - wtf/ByteArray.cpp \ - wtf/HashTable.cpp \ - wtf/MainThread.cpp \ - wtf/RandomNumber.cpp \ - wtf/RefCountedLeakCounter.cpp \ - wtf/unicode/CollatorDefault.cpp \ - wtf/unicode/icu/CollatorICU.cpp \ - wtf/unicode/UTF8.cpp \ - 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 \ - runtime/InitializeThreading.cpp \ - runtime/JSGlobalData.cpp \ - runtime/JSGlobalObject.cpp \ - runtime/JSStaticScopeObject.cpp \ - runtime/JSVariableObject.cpp \ - runtime/JSActivation.cpp \ - runtime/JSNotAnObject.cpp \ - bytecode/CodeBlock.cpp \ - bytecode/StructureStubInfo.cpp \ - bytecode/JumpTable.cpp \ - jit/JIT.cpp \ - jit/JITCall.cpp \ - jit/JITArithmetic.cpp \ - jit/JITPropertyAccess.cpp \ - jit/ExecutableAllocator.cpp \ - bytecompiler/BytecodeGenerator.cpp \ - runtime/ExceptionHelpers.cpp \ - runtime/JSPropertyNameIterator.cpp \ - interpreter/Interpreter.cpp \ - bytecode/Opcode.cpp \ - bytecode/SamplingTool.cpp \ - wrec/CharacterClass.cpp \ - wrec/CharacterClassConstructor.cpp \ - wrec/WREC.cpp \ - wrec/WRECFunctors.cpp \ - wrec/WRECGenerator.cpp \ - wrec/WRECParser.cpp \ - interpreter/RegisterFile.cpp - -win32-*: SOURCES += jit/ExecutableAllocatorWin.cpp -else: SOURCES += jit/ExecutableAllocatorPosix.cpp - -# AllInOneFile.cpp helps gcc analize and optimize code -# Other compilers may be able to do this at link time -SOURCES += \ - 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/ConstructData.cpp \ - wtf/CurrentTime.cpp \ - runtime/DateConstructor.cpp \ - runtime/DateInstance.cpp \ - runtime/DateMath.cpp \ - runtime/DatePrototype.cpp \ - debugger/Debugger.cpp \ - debugger/DebuggerCallFrame.cpp \ - debugger/DebuggerActivation.cpp \ - wtf/dtoa.cpp \ - runtime/Error.cpp \ - runtime/ErrorConstructor.cpp \ - runtime/ErrorInstance.cpp \ - runtime/ErrorPrototype.cpp \ - interpreter/CallFrame.cpp \ - runtime/FunctionConstructor.cpp \ - runtime/FunctionPrototype.cpp \ - runtime/GetterSetter.cpp \ - runtime/GlobalEvalFunction.cpp \ - runtime/Identifier.cpp \ - runtime/InternalFunction.cpp \ - runtime/Completion.cpp \ - runtime/JSArray.cpp \ - runtime/JSByteArray.cpp \ - runtime/JSCell.cpp \ - runtime/JSFunction.cpp \ - runtime/JSGlobalObjectFunctions.cpp \ - runtime/JSImmediate.cpp \ - runtime/JSLock.cpp \ - runtime/JSNumberCell.cpp \ - runtime/JSObject.cpp \ - runtime/JSString.cpp \ - runtime/JSValue.cpp \ - runtime/JSWrapperObject.cpp \ - parser/Lexer.cpp \ - runtime/Lookup.cpp \ - runtime/MathObject.cpp \ - runtime/NativeErrorConstructor.cpp \ - runtime/NativeErrorPrototype.cpp \ - parser/Nodes.cpp \ - runtime/NumberConstructor.cpp \ - runtime/NumberObject.cpp \ - runtime/NumberPrototype.cpp \ - runtime/ObjectConstructor.cpp \ - runtime/ObjectPrototype.cpp \ - runtime/Operations.cpp \ - parser/Parser.cpp \ - runtime/PropertyNameArray.cpp \ - runtime/PropertySlot.cpp \ - runtime/PrototypeFunction.cpp \ - runtime/RegExp.cpp \ - runtime/RegExpConstructor.cpp \ - runtime/RegExpObject.cpp \ - runtime/RegExpPrototype.cpp \ - runtime/ScopeChain.cpp \ - runtime/SmallStrings.cpp \ - runtime/StringConstructor.cpp \ - runtime/StringObject.cpp \ - runtime/StringPrototype.cpp \ - runtime/Structure.cpp \ - runtime/StructureChain.cpp \ - runtime/UString.cpp \ - profiler/HeavyProfile.cpp \ - profiler/Profile.cpp \ - profiler/ProfileGenerator.cpp \ - profiler/ProfileNode.cpp \ - profiler/Profiler.cpp \ - profiler/TreeProfile.cpp \ - wtf/FastMalloc.cpp \ - wtf/Threading.cpp \ - wtf/ThreadingQt.cpp \ - wtf/qt/MainThreadQt.cpp - -# GENERATOR 1-A: LUT creator -lut.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.lut.h -lut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} -lut.depend = ${QMAKE_FILE_NAME} -lut.input = LUT_FILES -lut.CONFIG += no_link -addExtraCompiler(lut) - -# GENERATOR 1-B: particular LUT creator (for 1 file only) -keywordlut.output = $$GENERATED_SOURCES_DIR/Lexer.lut.h -keywordlut.commands = perl $$PWD/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT} -keywordlut.depend = ${QMAKE_FILE_NAME} -keywordlut.input = KEYWORDLUT_FILES -keywordlut.CONFIG += no_link -addExtraCompiler(keywordlut) - -# GENERATOR 2: bison grammar -jscbison.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.cpp -jscbison.commands = bison -d -p jscyy ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_BASE}.tab.c && $(MOVE) ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) ${QMAKE_FILE_BASE}.tab.h $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.h -jscbison.depend = ${QMAKE_FILE_NAME} -jscbison.input = JSCBISON -jscbison.variable_out = GENERATED_SOURCES -jscbison.dependency_type = TYPE_C -jscbison.CONFIG = target_predeps -addExtraCompilerWithHeader(jscbison) + win32-g++* { + LIBS += -lpthreadGC2 + } else:win32-msvc* { + LIBS += -lpthreadVC2 + } +} +wince* { + INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat + INCLUDEPATH += $$SOURCE_DIR/os-win32 +}