This broke windows.
[WebKit-https.git] / JavaScriptCore / JavaScriptCore.pro
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 QT += core
12
13 CONFIG += depend_includepath
14
15 contains(QT_CONFIG, embedded):CONFIG += embedded
16
17 CONFIG(debug_and_release):CONFIG(debug, debug|release): DESTDIR = debug
18 CONFIG(debug_and_release):CONFIG(release, debug|release): DESTDIR = release
19
20 !CONFIG(QTDIR_build) {
21     CONFIG(debug, debug|release) {
22         OBJECTS_DIR = obj/debug
23     } else { # Release
24         OBJECTS_DIR = obj/release
25     }
26     # Make sure that build_all follows the build_all config in WebCore
27     mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
28 }
29
30 CONFIG(QTDIR_build) {
31     # Remove the following 2 lines if you want debug information in JavaScriptCore
32     CONFIG -= separate_debug_info
33     CONFIG += no_debug_info
34 }
35
36 # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
37 win32-g++ {
38     TMPPATH            = $$quote($$(INCLUDE))
39     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
40     TMPPATH            = $$quote($$(LIB))
41     QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
42 }
43
44 *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2
45 *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3
46
47 # Rules when JIT enabled (not disabled)
48 !contains(DEFINES, ENABLE_JIT=0) {
49     linux*-g++*:greaterThan(QT_GCC_MAJOR_VERSION,3):greaterThan(QT_GCC_MINOR_VERSION,0) {
50         QMAKE_CXXFLAGS += -fno-stack-protector
51         QMAKE_CFLAGS += -fno-stack-protector
52     }
53 }
54
55 wince* {
56     SOURCES += $$QT_SOURCE_TREE/src/3rdparty/ce-compat/ce_time.c
57 }
58
59 include(pcre/pcre.pri)
60
61 SOURCES += \
62     API/JSBase.cpp \
63     API/JSCallbackConstructor.cpp \
64     API/JSCallbackFunction.cpp \
65     API/JSCallbackObject.cpp \
66     API/JSClassRef.cpp \
67     API/JSContextRef.cpp \
68     API/JSObjectRef.cpp \
69     API/JSStringRef.cpp \
70     API/JSValueRef.cpp \
71     API/OpaqueJSString.cpp \
72     assembler/ARMAssembler.cpp \
73     assembler/MacroAssemblerARM.cpp \
74     bytecode/CodeBlock.cpp \
75     bytecode/JumpTable.cpp \
76     bytecode/Opcode.cpp \
77     bytecode/SamplingTool.cpp \
78     bytecode/StructureStubInfo.cpp \
79     bytecompiler/BytecodeGenerator.cpp \
80     bytecompiler/NodesCodegen.cpp \
81     debugger/DebuggerActivation.cpp \
82     debugger/DebuggerCallFrame.cpp \
83     debugger/Debugger.cpp \
84     interpreter/CallFrame.cpp \
85     interpreter/Interpreter.cpp \
86     interpreter/RegisterFile.cpp \
87     jit/ExecutableAllocatorFixedVMPool.cpp \
88     jit/ExecutableAllocatorPosix.cpp \
89     jit/ExecutableAllocatorSymbian.cpp \
90     jit/ExecutableAllocatorWin.cpp \
91     jit/ExecutableAllocator.cpp \
92     jit/JITArithmetic.cpp \
93     jit/JITCall.cpp \
94     jit/JIT.cpp \
95     jit/JITOpcodes.cpp \
96     jit/JITPropertyAccess.cpp \
97     jit/JITPropertyAccess32_64.cpp \
98     jit/JITStubs.cpp \
99     parser/Lexer.cpp \
100     parser/Nodes.cpp \
101     parser/ParserArena.cpp \
102     parser/Parser.cpp \
103     profiler/Profile.cpp \
104     profiler/ProfileGenerator.cpp \
105     profiler/ProfileNode.cpp \
106     profiler/Profiler.cpp \
107     runtime/ArgList.cpp \
108     runtime/Arguments.cpp \
109     runtime/ArrayConstructor.cpp \
110     runtime/ArrayPrototype.cpp \
111     runtime/BooleanConstructor.cpp \
112     runtime/BooleanObject.cpp \
113     runtime/BooleanPrototype.cpp \
114     runtime/CallData.cpp \
115     runtime/Collector.cpp \
116     runtime/CommonIdentifiers.cpp \
117     runtime/Completion.cpp \
118     runtime/ConstructData.cpp \
119     runtime/DateConstructor.cpp \
120     runtime/DateConversion.cpp \
121     runtime/DateInstance.cpp \
122     runtime/DatePrototype.cpp \
123     runtime/ErrorConstructor.cpp \
124     runtime/Error.cpp \
125     runtime/ErrorInstance.cpp \
126     runtime/ErrorPrototype.cpp \
127     runtime/ExceptionHelpers.cpp \
128     runtime/Executable.cpp \
129     runtime/FunctionConstructor.cpp \
130     runtime/FunctionPrototype.cpp \
131     runtime/GetterSetter.cpp \
132     runtime/GlobalEvalFunction.cpp \
133     runtime/Identifier.cpp \
134     runtime/InitializeThreading.cpp \
135     runtime/InternalFunction.cpp \
136     runtime/JSActivation.cpp \
137     runtime/JSAPIValueWrapper.cpp \
138     runtime/JSArray.cpp \
139     runtime/JSByteArray.cpp \
140     runtime/JSCell.cpp \
141     runtime/JSFunction.cpp \
142     runtime/JSGlobalData.cpp \
143     runtime/JSGlobalObject.cpp \
144     runtime/JSGlobalObjectFunctions.cpp \
145     runtime/JSImmediate.cpp \
146     runtime/JSLock.cpp \
147     runtime/JSNotAnObject.cpp \
148     runtime/JSNumberCell.cpp \
149     runtime/JSObject.cpp \
150     runtime/JSONObject.cpp \
151     runtime/JSPropertyNameIterator.cpp \
152     runtime/JSStaticScopeObject.cpp \
153     runtime/JSString.cpp \
154     runtime/JSValue.cpp \
155     runtime/JSVariableObject.cpp \
156     runtime/JSWrapperObject.cpp \
157     runtime/LiteralParser.cpp \
158     runtime/Lookup.cpp \
159     runtime/MarkStackPosix.cpp \
160     runtime/MarkStackSymbian.cpp \
161     runtime/MarkStackWin.cpp \
162     runtime/MarkStack.cpp \
163     runtime/MathObject.cpp \
164     runtime/NativeErrorConstructor.cpp \
165     runtime/NativeErrorPrototype.cpp \
166     runtime/NumberConstructor.cpp \
167     runtime/NumberObject.cpp \
168     runtime/NumberPrototype.cpp \
169     runtime/ObjectConstructor.cpp \
170     runtime/ObjectPrototype.cpp \
171     runtime/Operations.cpp \
172     runtime/PropertyDescriptor.cpp \
173     runtime/PropertyNameArray.cpp \
174     runtime/PropertySlot.cpp \
175     runtime/PrototypeFunction.cpp \
176     runtime/RegExpConstructor.cpp \
177     runtime/RegExp.cpp \
178     runtime/RegExpObject.cpp \
179     runtime/RegExpPrototype.cpp \
180     runtime/ScopeChain.cpp \
181     runtime/SmallStrings.cpp \
182     runtime/StringConstructor.cpp \
183     runtime/StringObject.cpp \
184     runtime/StringPrototype.cpp \
185     runtime/StructureChain.cpp \
186     runtime/Structure.cpp \
187     runtime/TimeoutChecker.cpp \
188     runtime/UString.cpp \
189     runtime/UStringImpl.cpp \
190     wtf/Assertions.cpp \
191     wtf/ByteArray.cpp \
192     wtf/CurrentTime.cpp \
193     wtf/DateMath.cpp \
194     wtf/dtoa.cpp \
195     wtf/FastMalloc.cpp \
196     wtf/HashTable.cpp \
197     wtf/MainThread.cpp \
198     wtf/qt/MainThreadQt.cpp \
199     wtf/qt/ThreadingQt.cpp \
200     wtf/RandomNumber.cpp \
201     wtf/RefCountedLeakCounter.cpp \
202     wtf/symbian/BlockAllocatorSymbian.cpp \
203     wtf/ThreadingNone.cpp \
204     wtf/Threading.cpp \
205     wtf/TypeTraits.cpp \
206     wtf/text/CString.cpp \
207     wtf/unicode/CollatorDefault.cpp \
208     wtf/unicode/icu/CollatorICU.cpp \
209     wtf/unicode/UTF8.cpp \
210     yarr/RegexCompiler.cpp \
211     yarr/RegexInterpreter.cpp \
212     yarr/RegexJIT.cpp
213
214 # Generated files, simply list them for JavaScriptCore
215 SOURCES += \
216     $${JSC_GENERATED_SOURCES_DIR}/Grammar.cpp
217
218 !contains(DEFINES, USE_SYSTEM_MALLOC) {
219     SOURCES += wtf/TCSystemAlloc.cpp
220 }