|
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(release, 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/JITCall32_64.cpp \ |
|
105 jit/JIT.cpp \ |
|
106 jit/JITOpcodes.cpp \ |
|
107 jit/JITOpcodes32_64.cpp \ |
|
108 jit/JITPropertyAccess.cpp \ |
|
109 jit/JITPropertyAccess32_64.cpp \ |
|
110 jit/JITStubs.cpp \ |
|
111 jit/ThunkGenerators.cpp \ |
|
112 parser/JSParser.cpp \ |
|
113 parser/Lexer.cpp \ |
|
114 parser/Nodes.cpp \ |
|
115 parser/ParserArena.cpp \ |
|
116 parser/Parser.cpp \ |
|
117 profiler/Profile.cpp \ |
|
118 profiler/ProfileGenerator.cpp \ |
|
119 profiler/ProfileNode.cpp \ |
|
120 profiler/Profiler.cpp \ |
|
121 runtime/ArgList.cpp \ |
|
122 runtime/Arguments.cpp \ |
|
123 runtime/ArrayConstructor.cpp \ |
|
124 runtime/ArrayPrototype.cpp \ |
|
125 runtime/BooleanConstructor.cpp \ |
|
126 runtime/BooleanObject.cpp \ |
|
127 runtime/BooleanPrototype.cpp \ |
|
128 runtime/CallData.cpp \ |
|
129 runtime/Collector.cpp \ |
|
130 runtime/CommonIdentifiers.cpp \ |
|
131 runtime/Completion.cpp \ |
|
132 runtime/ConstructData.cpp \ |
|
133 runtime/DateConstructor.cpp \ |
|
134 runtime/DateConversion.cpp \ |
|
135 runtime/DateInstance.cpp \ |
|
136 runtime/DatePrototype.cpp \ |
|
137 runtime/ErrorConstructor.cpp \ |
|
138 runtime/Error.cpp \ |
|
139 runtime/ErrorInstance.cpp \ |
|
140 runtime/ErrorPrototype.cpp \ |
|
141 runtime/ExceptionHelpers.cpp \ |
|
142 runtime/Executable.cpp \ |
|
143 runtime/FunctionConstructor.cpp \ |
|
144 runtime/FunctionPrototype.cpp \ |
|
145 runtime/GetterSetter.cpp \ |
|
146 runtime/GlobalEvalFunction.cpp \ |
|
147 runtime/Identifier.cpp \ |
|
148 runtime/InitializeThreading.cpp \ |
|
149 runtime/InternalFunction.cpp \ |
|
150 runtime/JSActivation.cpp \ |
|
151 runtime/JSAPIValueWrapper.cpp \ |
|
152 runtime/JSArray.cpp \ |
|
153 runtime/JSByteArray.cpp \ |
|
154 runtime/JSCell.cpp \ |
|
155 runtime/JSFunction.cpp \ |
|
156 runtime/JSGlobalData.cpp \ |
|
157 runtime/JSGlobalObject.cpp \ |
|
158 runtime/JSGlobalObjectFunctions.cpp \ |
|
159 runtime/JSImmediate.cpp \ |
|
160 runtime/JSLock.cpp \ |
|
161 runtime/JSNotAnObject.cpp \ |
|
162 runtime/JSNumberCell.cpp \ |
|
163 runtime/JSObject.cpp \ |
|
164 runtime/JSObjectWithGlobalObject.cpp \ |
|
165 runtime/JSONObject.cpp \ |
|
166 runtime/JSPropertyNameIterator.cpp \ |
|
167 runtime/JSStaticScopeObject.cpp \ |
|
168 runtime/JSString.cpp \ |
|
169 runtime/JSValue.cpp \ |
|
170 runtime/JSVariableObject.cpp \ |
|
171 runtime/JSWrapperObject.cpp \ |
|
172 runtime/LiteralParser.cpp \ |
|
173 runtime/Lookup.cpp \ |
|
174 runtime/MarkStackPosix.cpp \ |
|
175 runtime/MarkStackSymbian.cpp \ |
|
176 runtime/MarkStackWin.cpp \ |
|
177 runtime/MarkStack.cpp \ |
|
178 runtime/MathObject.cpp \ |
|
179 runtime/NativeErrorConstructor.cpp \ |
|
180 runtime/NativeErrorPrototype.cpp \ |
|
181 runtime/NumberConstructor.cpp \ |
|
182 runtime/NumberObject.cpp \ |
|
183 runtime/NumberPrototype.cpp \ |
|
184 runtime/ObjectConstructor.cpp \ |
|
185 runtime/ObjectPrototype.cpp \ |
|
186 runtime/Operations.cpp \ |
|
187 runtime/PropertyDescriptor.cpp \ |
|
188 runtime/PropertyNameArray.cpp \ |
|
189 runtime/PropertySlot.cpp \ |
|
190 runtime/PrototypeFunction.cpp \ |
|
191 runtime/RegExpConstructor.cpp \ |
|
192 runtime/RegExp.cpp \ |
|
193 runtime/RegExpObject.cpp \ |
|
194 runtime/RegExpPrototype.cpp \ |
|
195 runtime/RegExpCache.cpp \ |
|
196 runtime/RopeImpl.cpp \ |
|
197 runtime/ScopeChain.cpp \ |
|
198 runtime/SmallStrings.cpp \ |
|
199 runtime/StringConstructor.cpp \ |
|
200 runtime/StringObject.cpp \ |
|
201 runtime/StringPrototype.cpp \ |
|
202 runtime/StructureChain.cpp \ |
|
203 runtime/Structure.cpp \ |
|
204 runtime/TimeoutChecker.cpp \ |
|
205 runtime/UString.cpp \ |
|
206 wtf/Assertions.cpp \ |
|
207 wtf/ByteArray.cpp \ |
|
208 wtf/CurrentTime.cpp \ |
|
209 wtf/DateMath.cpp \ |
|
210 wtf/dtoa.cpp \ |
|
211 wtf/FastMalloc.cpp \ |
|
212 wtf/HashTable.cpp \ |
|
213 wtf/MD5.cpp \ |
|
214 wtf/MainThread.cpp \ |
|
215 wtf/qt/MainThreadQt.cpp \ |
|
216 wtf/qt/StringQt.cpp \ |
|
217 wtf/qt/ThreadingQt.cpp \ |
|
218 wtf/RandomNumber.cpp \ |
|
219 wtf/RefCountedLeakCounter.cpp \ |
|
220 wtf/symbian/BlockAllocatorSymbian.cpp \ |
|
221 wtf/ThreadingNone.cpp \ |
|
222 wtf/Threading.cpp \ |
|
223 wtf/TypeTraits.cpp \ |
|
224 wtf/WTFThreadData.cpp \ |
|
225 wtf/text/AtomicString.cpp \ |
|
226 wtf/text/CString.cpp \ |
|
227 wtf/text/StringImpl.cpp \ |
|
228 wtf/text/StringStatics.cpp \ |
|
229 wtf/text/WTFString.cpp \ |
|
230 wtf/unicode/CollatorDefault.cpp \ |
|
231 wtf/unicode/icu/CollatorICU.cpp \ |
|
232 wtf/unicode/UTF8.cpp \ |
|
233 yarr/RegexCompiler.cpp \ |
|
234 yarr/RegexInterpreter.cpp \ |
|
235 yarr/RegexJIT.cpp |
|
236 |
|
237 # Generated files, simply list them for JavaScriptCore |
|
238 |
|
239 !contains(DEFINES, USE_SYSTEM_MALLOC) { |
|
240 SOURCES += wtf/TCSystemAlloc.cpp |
|
241 } |
|
242 |
|
243 # Disable C++0x mode in JSC for those who enabled it in their Qt's mkspec |
|
244 *-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x |