1 # JavaScriptCore - Qt4 build info
5 INCLUDEPATH += $$PWD $$PWD/kjs $$PWD/wtf $$PWD/wtf/unicode $$PWD/VM $$PWD/profiler
6 DEPENDPATH += $$PWD $$PWD/kjs $$PWD/wtf $$PWD/wtf/unicode $$PWD/VM $$PWD/profiler
7 DEFINES -= KJS_IDENTIFIER_HIDE_GLOBALS
8 DEFINES += BUILDING_QT__
10 win32-msvc*: INCLUDEPATH += $$PWD/os-win32
12 isEmpty(GENERATED_SOURCES_DIR):GENERATED_SOURCES_DIR = tmp
14 include(pcre/pcre.pri)
17 kjs/DatePrototype.cpp \
18 kjs/NumberConstructor.cpp \
19 kjs/StringPrototype.cpp \
20 kjs/ArrayPrototype.cpp \
22 kjs/RegExpConstructor.cpp \
35 wtf/RefCountedLeakCounter.cpp \
36 wtf/unicode/CollatorDefault.cpp \
37 wtf/unicode/icu/CollatorICU.cpp \
38 wtf/unicode/UTF8.cpp \
40 API/JSCallbackConstructor.cpp \
41 API/JSCallbackFunction.cpp \
42 API/JSCallbackObject.cpp \
44 API/JSContextRef.cpp \
48 kjs/InitializeThreading.cpp \
49 kjs/JSGlobalData.cpp \
50 kjs/JSGlobalObject.cpp \
51 kjs/JSVariableObject.cpp \
52 kjs/JSActivation.cpp \
53 kjs/JSNotAnObject.cpp \
55 VM/CodeGenerator.cpp \
56 VM/ExceptionHelpers.cpp \
57 VM/JSPropertyNameIterator.cpp \
62 # AllInOneFile.cpp helps gcc analize and optimize code
63 # Other compilers may be able to do this at link time
67 kjs/ArrayConstructor.cpp \
68 kjs/ArrayPrototype.cpp \
69 kjs/BooleanConstructor.cpp \
70 kjs/BooleanObject.cpp \
71 kjs/BooleanPrototype.cpp \
74 kjs/CommonIdentifiers.cpp \
75 kjs/ConstructData.cpp \
76 kjs/DateConstructor.cpp \
77 kjs/DateInstance.cpp \
79 kjs/DatePrototype.cpp \
81 kjs/DebuggerCallFrame.cpp \
84 kjs/ErrorConstructor.cpp \
85 kjs/ErrorInstance.cpp \
86 kjs/ErrorPrototype.cpp \
88 kjs/FunctionConstructor.cpp \
89 kjs/FunctionPrototype.cpp \
90 kjs/GetterSetter.cpp \
91 kjs/GlobalEvalFunction.cpp \
93 kjs/IndexToNameMap.cpp \
94 kjs/InternalFunction.cpp \
99 kjs/JSGlobalObjectFunctions.cpp \
100 kjs/JSImmediate.cpp \
102 kjs/JSNumberCell.cpp \
106 kjs/JSWrapperObject.cpp \
111 kjs/NativeErrorConstructor.cpp \
112 kjs/NativeErrorPrototype.cpp \
114 kjs/nodes2string.cpp \
115 kjs/NumberConstructor.cpp \
116 kjs/NumberObject.cpp \
117 kjs/NumberPrototype.cpp \
118 kjs/ObjectConstructor.cpp \
119 kjs/ObjectPrototype.cpp \
122 kjs/PropertyMap.cpp \
123 kjs/PropertyNameArray.cpp \
124 kjs/PropertySlot.cpp \
125 kjs/PrototypeFunction.cpp \
127 kjs/RegExpConstructor.cpp \
128 kjs/RegExpObject.cpp \
129 kjs/RegExpPrototype.cpp \
131 kjs/StringConstructor.cpp \
132 kjs/StringObject.cpp \
133 kjs/StringPrototype.cpp \
135 profiler/HeavyProfile.cpp \
136 profiler/Profile.cpp \
137 profiler/ProfileGenerator.cpp \
138 profiler/ProfileNode.cpp \
139 profiler/Profiler.cpp \
140 profiler/TreeProfile.cpp \
142 wtf/ThreadingQt.cpp \
143 wtf/qt/MainThreadQt.cpp
145 !CONFIG(QTDIR_build) {
146 defineTest(addExtraCompiler) {
147 QMAKE_EXTRA_COMPILERS += $$1
148 generated_files.depends += compiler_$${1}_make_all
149 export(QMAKE_EXTRA_COMPILERS)
150 export(generated_files.depends)
155 # GENERATOR 1-A: LUT creator
156 lut.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.lut.h
157 lut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
158 lut.depend = ${QMAKE_FILE_NAME}
159 lut.input = LUT_FILES
160 lut.CONFIG += no_link
161 addExtraCompiler(lut)
163 # GENERATOR 1-B: particular LUT creator (for 1 file only)
164 keywordlut.output = $$GENERATED_SOURCES_DIR/lexer.lut.h
165 keywordlut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
166 keywordlut.depend = ${QMAKE_FILE_NAME}
167 keywordlut.input = KEYWORDLUT_FILES
168 keywordlut.CONFIG += no_link
169 addExtraCompiler(keywordlut)
171 # GENERATOR 2: bison grammar
172 kjsbison.output = $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.cpp
173 kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_BASE}.tab.c && $(MOVE) ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && $(MOVE) ${QMAKE_FILE_BASE}.tab.h $$GENERATED_SOURCES_DIR/${QMAKE_FILE_BASE}.h
174 kjsbison.depend = ${QMAKE_FILE_NAME}
175 kjsbison.input = KJSBISON
176 kjsbison.variable_out = GENERATED_SOURCES
177 kjsbison.dependency_type = TYPE_C
178 kjsbison.CONFIG = target_predeps
179 kjsbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_GENERATED_SOURCES_DIR}${QMAKE_FILE_BASE}.h
180 addExtraCompiler(kjsbison)