This is part of r 18111 commit - Use the Qt image
[WebKit-https.git] / JavaScriptCore / kjs / kjs.pro
1 LANGUAGE = C++
2 TARGET = kjs
3 TEMPLATE = lib
4 CONFIG += qt warn_on debug static
5 QT -= gui
6
7 unix {
8         !system(which perl >/dev/null 2>&1):error("Build requires perl.")
9         !exists(lexer.lut.h):system(perl create_hash_table keywords.table -i >lexer.lut.h)
10         !exists(array_object.lut.h):system(perl create_hash_table array_object.cpp -i >array_object.lut.h)
11         !exists(math_object.lut.h):system(perl create_hash_table math_object.cpp -i >math_object.lut.h)
12         !exists(date_object.lut.h):system(perl create_hash_table date_object.cpp -i >date_object.lut.h)
13         !exists(number_object.lut.h):system(perl create_hash_table number_object.cpp -i >number_object.lut.h)
14         !exists(string_object.lut.h):system(perl create_hash_table string_object.cpp -i >string_object.lut.h)
15         !exists(regexp_object.lut.h):system(perl create_hash_table regexp_object.cpp -i >regexp_object.lut.h)
16         !exists(grammar.cpp):system(bison -d -p kjsyy grammar.y && mv grammar.tab.c grammar.cpp && mv grammar.tab.h grammar.h)
17 }
18
19 # QMakes YACC support is strange
20 # YACCSOURCES += grammar.y
21
22 SOURCES += \
23         ../kxmlcore/FastMalloc.cpp \
24         ../kxmlcore/TCSystemAlloc.cpp \
25         ../kxmlcore/HashTable.cpp \
26         array_object.cpp \
27         function_object.cpp \
28         nodes2string.cpp \
29         reference.cpp \
30         bool_object.cpp \
31         identifier.cpp \
32         nodes.cpp \
33         reference_list.cpp \
34         collector.cpp \
35         internal.cpp \
36         number_object.cpp \
37         regexp.cpp \
38         date_object.cpp \
39         interpreter.cpp \
40         object.cpp \
41         regexp_object.cpp \
42         debugger.cpp \
43         object_object.cpp \
44         scope_chain.cpp \
45         dtoa.cpp \
46         lexer.cpp \
47         operations.cpp \
48         string_object.cpp \
49         error_object.cpp \
50         list.cpp \
51         property_map.cpp \
52         fpconst.cpp \
53         lookup.cpp \
54         property_slot.cpp \
55         ustring.cpp \
56         function.cpp \
57         math_object.cpp \
58         value.cpp \
59         JSLock.cpp \
60         grammar.cpp
61
62 !macx:unix {
63         INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings
64         MOC_DIR = .moc
65         OBJECTS_DIR = .obj
66         QMAKE_CXXFLAGS_DEBUG += -ansi
67 }
68
69 win32 {
70         INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings ../icu
71         QMAKE_CXXFLAGS_RELEASE += /Zm1000
72         QMAKE_CXXFLAGS_DEBUG += /Zm1000
73 }
74