1 # JavaScriptCore - Qt4 build info 2 VPATH += $$PWD 3 4 CONFIG(standalone_package) { 5 isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/generated 6 } else { 7 isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = generated 8 } 9 10 CONFIG(debug, debug|release) { 11 OBJECTS_DIR = obj/debug 12 } else { # Release 13 OBJECTS_DIR = obj/release 14 } 15 16 symbian: { 17 # Need to guarantee this comes before system includes of /epoc32/include 18 MMP_RULES += "USERINCLUDE ../JavaScriptCore/profiler" 19 } 20 21 INCLUDEPATH = \ 22 $$PWD \ 23 $$PWD/.. \ 24 $$PWD/assembler \ 25 $$PWD/bytecode \ 26 $$PWD/bytecompiler \ 27 $$PWD/debugger \ 28 $$PWD/interpreter \ 29 $$PWD/jit \ 30 $$PWD/parser \ 31 $$PWD/pcre \ 32 $$PWD/profiler \ 33 $$PWD/runtime \ 34 $$PWD/wrec \ 35 $$PWD/wtf \ 36 $$PWD/wtf/unicode \ 37 $$PWD/yarr \ 38 $$PWD/API \ 39 $$PWD/ForwardingHeaders \ 40 $$JSC_GENERATED_SOURCES_DIR \ 41 $$INCLUDEPATH 42 43 DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF 44 45 win32-* { 46 LIBS += -lwinmm 47 } 48 contains(JAVASCRIPTCORE_JIT,yes) { 49 DEFINES+=ENABLE_JIT=1 50 DEFINES+=ENABLE_YARR_JIT=1 51 DEFINES+=ENABLE_YARR=1 52 } 53 contains(JAVASCRIPTCORE_JIT,no) { 54 DEFINES+=ENABLE_JIT=0 55 DEFINES+=ENABLE_YARR_JIT=0 56 DEFINES+=ENABLE_YARR=0 57 } 58 59 # Rules when JIT enabled (not disabled) 60 !contains(DEFINES, ENABLE_JIT=0) { 61 linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) { 62 QMAKE_CXXFLAGS += -fno-stack-protector 63 QMAKE_CFLAGS += -fno-stack-protector 64 } 65 } 66 67 wince* { 68 INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat 69 SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c 70 DEFINES += WINCEBASIC 71 } 72 73 include(pcre/pcre.pri) 74 75 SOURCES += \ 76 API/JSBase.cpp \ 77 API/JSCallbackConstructor.cpp \ 78 API/JSCallbackFunction.cpp \ 79 API/JSCallbackObject.cpp \ 80 API/JSClassRef.cpp \ 81 API/JSContextRef.cpp \ 82 API/JSObjectRef.cpp \ 83 API/JSStringRef.cpp \ 84 API/JSValueRef.cpp \ 85 API/OpaqueJSString.cpp \ 86 assembler/ARMAssembler.cpp \ 87 assembler/MacroAssemblerARM.cpp \ 88 bytecode/CodeBlock.cpp \ 89 bytecode/JumpTable.cpp \ 90 bytecode/Opcode.cpp \ 91 bytecode/SamplingTool.cpp \ 92 bytecode/StructureStubInfo.cpp \ 93 bytecompiler/BytecodeGenerator.cpp \ 94 bytecompiler/NodesCodegen.cpp \ 95 debugger/DebuggerActivation.cpp \ 96 debugger/DebuggerCallFrame.cpp \ 97 debugger/Debugger.cpp \ 98 interpreter/CallFrame.cpp \ 99 interpreter/Interpreter.cpp \ 100 interpreter/RegisterFile.cpp \ 101 jit/ExecutableAllocatorPosix.cpp \ 102 jit/ExecutableAllocatorSymbian.cpp \ 103 jit/ExecutableAllocatorWin.cpp \ 104 jit/ExecutableAllocator.cpp \ 105 jit/JITArithmetic.cpp \ 106 jit/JITCall.cpp \ 107 jit/JIT.cpp \ 108 jit/JITOpcodes.cpp \ 109 jit/JITPropertyAccess.cpp \ 110 jit/JITStubs.cpp \ 111 parser/Lexer.cpp \ 112 parser/Nodes.cpp \ 113 parser/ParserArena.cpp \ 114 parser/Parser.cpp \ 115 profiler/Profile.cpp \ 116 profiler/ProfileGenerator.cpp \ 117 profiler/ProfileNode.cpp \ 118 profiler/Profiler.cpp \ 119 runtime/ArgList.cpp \ 120 runtime/Arguments.cpp \ 121 runtime/ArrayConstructor.cpp \ 122 runtime/ArrayPrototype.cpp \ 123 runtime/BooleanConstructor.cpp \ 124 runtime/BooleanObject.cpp \ 125 runtime/BooleanPrototype.cpp \ 126 runtime/CallData.cpp \ 127 runtime/Collector.cpp \ 128 runtime/CommonIdentifiers.cpp \ 129 runtime/Completion.cpp \ 130 runtime/ConstructData.cpp \ 131 runtime/DateConstructor.cpp \ 132 runtime/DateConversion.cpp \ 133 runtime/DateInstance.cpp \ 134 runtime/DatePrototype.cpp \ 135 runtime/ErrorConstructor.cpp \ 136 runtime/Error.cpp \ 137 runtime/ErrorInstance.cpp \ 138 runtime/ErrorPrototype.cpp \ 139 runtime/ExceptionHelpers.cpp \ 140 runtime/Executable.cpp \ 141 runtime/FunctionConstructor.cpp \ 142 runtime/FunctionPrototype.cpp \ 143 runtime/GetterSetter.cpp \ 144 runtime/GlobalEvalFunction.cpp \ 145 runtime/Identifier.cpp \ 146 runtime/InitializeThreading.cpp \ 147 runtime/InternalFunction.cpp \ 148 runtime/JSActivation.cpp \ 149 runtime/JSAPIValueWrapper.cpp \ 150 runtime/JSArray.cpp \ 151 runtime/JSByteArray.cpp \ 152 runtime/JSCell.cpp \ 153 runtime/JSFunction.cpp \ 154 runtime/JSGlobalData.cpp \ 155 runtime/JSGlobalObject.cpp \ 156 runtime/JSGlobalObjectFunctions.cpp \ 157 runtime/JSImmediate.cpp \ 158 runtime/JSLock.cpp \ 159 runtime/JSNotAnObject.cpp \ 160 runtime/JSNumberCell.cpp \ 161 runtime/JSObject.cpp \ 162 runtime/JSONObject.cpp \ 163 runtime/JSPropertyNameIterator.cpp \ 164 runtime/JSStaticScopeObject.cpp \ 165 runtime/JSString.cpp \ 166 runtime/JSValue.cpp \ 167 runtime/JSVariableObject.cpp \ 168 runtime/JSWrapperObject.cpp \ 169 runtime/LiteralParser.cpp \ 170 runtime/Lookup.cpp \ 171 runtime/MarkStackPosix.cpp \ 172 runtime/MarkStackSymbian.cpp \ 173 runtime/MarkStackWin.cpp \ 174 runtime/MarkStack.cpp \ 175 runtime/MathObject.cpp \ 176 runtime/NativeErrorConstructor.cpp \ 177 runtime/NativeErrorPrototype.cpp \ 178 runtime/NumberConstructor.cpp \ 179 runtime/NumberObject.cpp \ 180 runtime/NumberPrototype.cpp \ 181 runtime/ObjectConstructor.cpp \ 182 runtime/ObjectPrototype.cpp \ 183 runtime/Operations.cpp \ 184 runtime/PropertyDescriptor.cpp \ 185 runtime/PropertyNameArray.cpp \ 186 runtime/PropertySlot.cpp \ 187 runtime/PrototypeFunction.cpp \ 188 runtime/RegExpConstructor.cpp \ 189 runtime/RegExp.cpp \ 190 runtime/RegExpObject.cpp \ 191 runtime/RegExpPrototype.cpp \ 192 runtime/ScopeChain.cpp \ 193 runtime/SmallStrings.cpp \ 194 runtime/StringConstructor.cpp \ 195 runtime/StringObject.cpp \ 196 runtime/StringPrototype.cpp \ 197 runtime/StructureChain.cpp \ 198 runtime/Structure.cpp \ 199 runtime/TimeoutChecker.cpp \ 200 runtime/UString.cpp \ 201 runtime/UStringImpl.cpp \ 202 wtf/Assertions.cpp \ 203 wtf/ByteArray.cpp \ 204 wtf/CurrentTime.cpp \ 205 wtf/DateMath.cpp \ 206 wtf/dtoa.cpp \ 207 wtf/FastMalloc.cpp \ 208 wtf/HashTable.cpp \ 209 wtf/MainThread.cpp \ 210 wtf/qt/MainThreadQt.cpp \ 211 wtf/qt/ThreadingQt.cpp \ 212 wtf/RandomNumber.cpp \ 213 wtf/RefCountedLeakCounter.cpp \ 214 wtf/ThreadingNone.cpp \ 215 wtf/Threading.cpp \ 216 wtf/TypeTraits.cpp \ 217 wtf/unicode/CollatorDefault.cpp \ 218 wtf/unicode/icu/CollatorICU.cpp \ 219 wtf/unicode/UTF8.cpp \ 220 yarr/RegexCompiler.cpp \ 221 yarr/RegexInterpreter.cpp \ 222 yarr/RegexJIT.cpp 223 224 # Generated files, simply list them for JavaScriptCore 225 SOURCES += \ 226 $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp 227 228 !contains(DEFINES, USE_SYSTEM_MALLOC) { 229 SOURCES += wtf/TCSystemAlloc.cpp 230 } 231 232