QtScript/JSC on Symbian: Enhanced memory allocator for Collector heap
[qt:qt.git] / src / 3rdparty / javascriptcore / JavaScriptCore / JavaScriptCore.pri
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     LIBS += -lhal
20 }
21
22 INCLUDEPATH = \
23     $$PWD \
24     $$PWD/.. \
25     $$PWD/assembler \
26     $$PWD/bytecode \
27     $$PWD/bytecompiler \
28     $$PWD/debugger \
29     $$PWD/interpreter \
30     $$PWD/jit \
31     $$PWD/parser \
32     $$PWD/pcre \
33     $$PWD/profiler \
34     $$PWD/runtime \
35     $$PWD/wrec \
36     $$PWD/wtf \
37     $$PWD/wtf/symbian \
38     $$PWD/wtf/unicode \
39     $$PWD/yarr \
40     $$PWD/API \
41     $$PWD/ForwardingHeaders \
42     $$JSC_GENERATED_SOURCES_DIR \
43     $$INCLUDEPATH
44
45 DEFINES += BUILDING_QT__ BUILDING_JavaScriptCore BUILDING_WTF
46
47 win32-* {
48     LIBS += -lwinmm
49 }
50 contains(JAVASCRIPTCORE_JIT,yes) {
51     DEFINES+=ENABLE_JIT=1
52     DEFINES+=ENABLE_YARR_JIT=1
53     DEFINES+=ENABLE_YARR=1
54 }
55 contains(JAVASCRIPTCORE_JIT,no) {
56     DEFINES+=ENABLE_JIT=0
57     DEFINES+=ENABLE_YARR_JIT=0
58     DEFINES+=ENABLE_YARR=0
59 }
60
61 # Rules when JIT enabled (not disabled)
62 !contains(DEFINES, ENABLE_JIT=0) {
63     linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
64         QMAKE_CXXFLAGS += -fno-stack-protector
65         QMAKE_CFLAGS += -fno-stack-protector
66     }
67 }
68
69 wince* {
70     INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/ce-compat
71     SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
72     DEFINES += WINCEBASIC
73 }
74
75 include(pcre/pcre.pri)
76
77 SOURCES += \
78     API/JSBase.cpp \
79     API/JSCallbackConstructor.cpp \
80     API/JSCallbackFunction.cpp \
81     API/JSCallbackObject.cpp \
82     API/JSClassRef.cpp \
83     API/JSContextRef.cpp \
84     API/JSObjectRef.cpp \
85     API/JSStringRef.cpp \
86     API/JSValueRef.cpp \
87     API/OpaqueJSString.cpp \
88     assembler/ARMAssembler.cpp \
89     assembler/MacroAssemblerARM.cpp \
90     bytecode/CodeBlock.cpp \
91     bytecode/JumpTable.cpp \
92     bytecode/Opcode.cpp \
93     bytecode/SamplingTool.cpp \
94     bytecode/StructureStubInfo.cpp \
95     bytecompiler/BytecodeGenerator.cpp \
96     bytecompiler/NodesCodegen.cpp \
97     debugger/DebuggerActivation.cpp \
98     debugger/DebuggerCallFrame.cpp \
99     debugger/Debugger.cpp \
100     interpreter/CallFrame.cpp \
101     interpreter/Interpreter.cpp \
102     interpreter/RegisterFile.cpp \
103     jit/ExecutableAllocatorPosix.cpp \
104     jit/ExecutableAllocatorSymbian.cpp \
105     jit/ExecutableAllocatorWin.cpp \
106     jit/ExecutableAllocator.cpp \
107     jit/JITArithmetic.cpp \
108     jit/JITCall.cpp \
109     jit/JIT.cpp \
110     jit/JITOpcodes.cpp \
111     jit/JITPropertyAccess.cpp \
112     jit/JITStubs.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/JSONObject.cpp \
165     runtime/JSPropertyNameIterator.cpp \
166     runtime/JSStaticScopeObject.cpp \
167     runtime/JSString.cpp \
168     runtime/JSValue.cpp \
169     runtime/JSVariableObject.cpp \
170     runtime/JSWrapperObject.cpp \
171     runtime/LiteralParser.cpp \
172     runtime/Lookup.cpp \
173     runtime/MarkStackPosix.cpp \
174     runtime/MarkStackSymbian.cpp \
175     runtime/MarkStackWin.cpp \
176     runtime/MarkStack.cpp \
177     runtime/MathObject.cpp \
178     runtime/NativeErrorConstructor.cpp \
179     runtime/NativeErrorPrototype.cpp \
180     runtime/NumberConstructor.cpp \
181     runtime/NumberObject.cpp \
182     runtime/NumberPrototype.cpp \
183     runtime/ObjectConstructor.cpp \
184     runtime/ObjectPrototype.cpp \
185     runtime/Operations.cpp \
186     runtime/PropertyDescriptor.cpp \
187     runtime/PropertyNameArray.cpp \
188     runtime/PropertySlot.cpp \
189     runtime/PrototypeFunction.cpp \
190     runtime/RegExpConstructor.cpp \
191     runtime/RegExp.cpp \
192     runtime/RegExpObject.cpp \
193     runtime/RegExpPrototype.cpp \
194     runtime/ScopeChain.cpp \
195     runtime/SmallStrings.cpp \
196     runtime/StringConstructor.cpp \
197     runtime/StringObject.cpp \
198     runtime/StringPrototype.cpp \
199     runtime/StructureChain.cpp \
200     runtime/Structure.cpp \
201     runtime/TimeoutChecker.cpp \
202     runtime/UString.cpp \
203     runtime/UStringImpl.cpp \
204     wtf/Assertions.cpp \
205     wtf/ByteArray.cpp \
206     wtf/CurrentTime.cpp \
207     wtf/DateMath.cpp \
208     wtf/dtoa.cpp \
209     wtf/FastMalloc.cpp \
210     wtf/HashTable.cpp \
211     wtf/MainThread.cpp \
212     wtf/qt/MainThreadQt.cpp \
213     wtf/qt/ThreadingQt.cpp \
214     wtf/RandomNumber.cpp \
215     wtf/RefCountedLeakCounter.cpp \
216     wtf/symbian/BlockAllocatorSymbian.cpp \
217     wtf/symbian/RegisterFileAllocatorSymbian.cpp \
218     wtf/ThreadingNone.cpp \
219     wtf/Threading.cpp \
220     wtf/TypeTraits.cpp \
221     wtf/unicode/CollatorDefault.cpp \
222     wtf/unicode/icu/CollatorICU.cpp \
223     wtf/unicode/UTF8.cpp \
224     yarr/RegexCompiler.cpp \
225     yarr/RegexInterpreter.cpp \
226     yarr/RegexJIT.cpp
227
228 # Generated files, simply list them for JavaScriptCore
229 SOURCES += \
230     $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp
231
232 !contains(DEFINES, USE_SYSTEM_MALLOC) {
233     SOURCES += wtf/TCSystemAlloc.cpp
234 }
235