1 | # JavaScriptCore - qmake build info
|
---|
2 | CONFIG += building-libs
|
---|
3 | include($$PWD/../WebKit.pri)
|
---|
4 | include(JavaScriptCore.pri)
|
---|
5 |
|
---|
6 | TEMPLATE = lib
|
---|
7 | CONFIG += staticlib
|
---|
8 | # Don't use JavaScriptCore as the target name. qmake would create a JavaScriptCore.vcproj for msvc
|
---|
9 | # which already exists as a directory
|
---|
10 | TARGET = $$JAVASCRIPTCORE_TARGET
|
---|
11 | DESTDIR = $$JAVASCRIPTCORE_DESTDIR
|
---|
12 | QT += core
|
---|
13 | QT -= gui
|
---|
14 |
|
---|
15 | CONFIG += depend_includepath
|
---|
16 |
|
---|
17 | contains(QT_CONFIG, embedded):CONFIG += embedded
|
---|
18 |
|
---|
19 | CONFIG(QTDIR_build) {
|
---|
20 | # Make sure we compile both debug and release on mac when inside Qt.
|
---|
21 | # This line was extracted from qbase.pri instead of including the whole file
|
---|
22 | win32|mac:!macx-xcode:CONFIG += debug_and_release
|
---|
23 | } else {
|
---|
24 | CONFIG(debug, debug|release) {
|
---|
25 | OBJECTS_DIR = obj/debug
|
---|
26 | } else { # Release
|
---|
27 | OBJECTS_DIR = obj/release
|
---|
28 | }
|
---|
29 | # Make sure that build_all follows the build_all config in WebCore
|
---|
30 | mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
|
---|
31 | }
|
---|
32 |
|
---|
33 | # WebCore adds these config only when in a standalone build.
|
---|
34 | # qbase.pri takes care of that when in a QTDIR_build
|
---|
35 | # Here we add the config for both cases since we don't include qbase.pri
|
---|
36 | contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
|
---|
37 | unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
|
---|
38 |
|
---|
39 | CONFIG(QTDIR_build) {
|
---|
40 | # Remove the following 2 lines if you want debug information in JavaScriptCore
|
---|
41 | CONFIG -= separate_debug_info
|
---|
42 | CONFIG += no_debug_info
|
---|
43 | }
|
---|
44 |
|
---|
45 | # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
|
---|
46 | win32-g++ {
|
---|
47 | TMPPATH = $$quote($$(INCLUDE))
|
---|
48 | QMAKE_INCDIR_POST += $$split(TMPPATH,";")
|
---|
49 | TMPPATH = $$quote($$(LIB))
|
---|
50 | QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
|
---|
51 | }
|
---|
52 |
|
---|
53 | *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
|
---|
54 | *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
|
---|
55 |
|
---|
56 | # Rules when JIT enabled (not disabled)
|
---|
57 | !contains(DEFINES, ENABLE_JIT=0) {
|
---|
58 | linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
|
---|
59 | QMAKE_CXXFLAGS += -fno-stack-protector
|
---|
60 | QMAKE_CFLAGS += -fno-stack-protector
|
---|
61 | }
|
---|
62 | }
|
---|
63 |
|
---|
64 | wince* {
|
---|
65 | SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
|
---|
66 | }
|
---|
67 |
|
---|
68 | include(pcre/pcre.pri)
|
---|
69 |
|
---|
70 | SOURCES += \
|
---|
71 | API/JSBase.cpp \
|
---|
72 | API/JSCallbackConstructor.cpp \
|
---|
73 | API/JSCallbackFunction.cpp \
|
---|
74 | API/JSCallbackObject.cpp \
|
---|
75 | API/JSClassRef.cpp \
|
---|
76 | API/JSContextRef.cpp \
|
---|
77 | API/JSObjectRef.cpp \
|
---|
78 | API/JSStringRef.cpp \
|
---|
79 | API/JSValueRef.cpp \
|
---|
80 | API/OpaqueJSString.cpp \
|
---|
81 | assembler/ARMAssembler.cpp \
|
---|
82 | assembler/MacroAssemblerARM.cpp \
|
---|
83 | bytecode/CodeBlock.cpp \
|
---|
84 | bytecode/JumpTable.cpp \
|
---|
85 | bytecode/Opcode.cpp \
|
---|
86 | bytecode/SamplingTool.cpp \
|
---|
87 | bytecode/StructureStubInfo.cpp \
|
---|
88 | bytecompiler/BytecodeGenerator.cpp \
|
---|
89 | bytecompiler/NodesCodegen.cpp \
|
---|
90 | debugger/DebuggerActivation.cpp \
|
---|
91 | debugger/DebuggerCallFrame.cpp \
|
---|
92 | debugger/Debugger.cpp \
|
---|
93 | interpreter/CallFrame.cpp \
|
---|
94 | interpreter/Interpreter.cpp \
|
---|
95 | interpreter/RegisterFile.cpp \
|
---|
96 | jit/ExecutableAllocatorFixedVMPool.cpp \
|
---|
97 | jit/ExecutableAllocatorPosix.cpp \
|
---|
98 | jit/ExecutableAllocatorSymbian.cpp \
|
---|
99 | jit/ExecutableAllocatorWin.cpp \
|
---|
100 | jit/ExecutableAllocator.cpp \
|
---|
101 | jit/JITArithmetic.cpp \
|
---|
102 | jit/JITArithmetic32_64.cpp \
|
---|
103 | jit/JITCall.cpp \
|
---|
104 | jit/JIT.cpp \
|
---|
105 | jit/JITOpcodes.cpp \
|
---|
106 | jit/JITOpcodes32_64.cpp \
|
---|
107 | jit/JITPropertyAccess.cpp \
|
---|
108 | jit/JITPropertyAccess32_64.cpp \
|
---|
109 | jit/JITStubs.cpp \
|
---|
110 | jit/ThunkGenerators.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/RopeImpl.cpp \
|
---|
193 | runtime/ScopeChain.cpp \
|
---|
194 | runtime/SmallStrings.cpp \
|
---|
195 | runtime/StringConstructor.cpp \
|
---|
196 | runtime/StringObject.cpp \
|
---|
197 | runtime/StringPrototype.cpp \
|
---|
198 | runtime/StructureChain.cpp \
|
---|
199 | runtime/Structure.cpp \
|
---|
200 | runtime/TimeoutChecker.cpp \
|
---|
201 | runtime/UString.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/MD5.cpp \
|
---|
210 | wtf/MainThread.cpp \
|
---|
211 | wtf/qt/MainThreadQt.cpp \
|
---|
212 | wtf/qt/StringQt.cpp \
|
---|
213 | wtf/qt/ThreadingQt.cpp \
|
---|
214 | wtf/RandomNumber.cpp \
|
---|
215 | wtf/RefCountedLeakCounter.cpp \
|
---|
216 | wtf/symbian/BlockAllocatorSymbian.cpp \
|
---|
217 | wtf/ThreadingNone.cpp \
|
---|
218 | wtf/Threading.cpp \
|
---|
219 | wtf/TypeTraits.cpp \
|
---|
220 | wtf/WTFThreadData.cpp \
|
---|
221 | wtf/text/AtomicString.cpp \
|
---|
222 | wtf/text/CString.cpp \
|
---|
223 | wtf/text/StringImpl.cpp \
|
---|
224 | wtf/text/StringStatics.cpp \
|
---|
225 | wtf/text/WTFString.cpp \
|
---|
226 | wtf/unicode/CollatorDefault.cpp \
|
---|
227 | wtf/unicode/icu/CollatorICU.cpp \
|
---|
228 | wtf/unicode/UTF8.cpp \
|
---|
229 | yarr/RegexCompiler.cpp \
|
---|
230 | yarr/RegexInterpreter.cpp \
|
---|
231 | yarr/RegexJIT.cpp
|
---|
232 |
|
---|
233 | # Generated files, simply list them for JavaScriptCore
|
---|
234 | SOURCES += \
|
---|
235 | $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp
|
---|
236 |
|
---|
237 | !contains(DEFINES, USE_SYSTEM_MALLOC) {
|
---|
238 | SOURCES += wtf/TCSystemAlloc.cpp
|
---|
239 | }
|
---|
240 |
|
---|
241 | # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec
|
---|
242 | *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
|
---|