2008-04-23 Brady Eidson <beidson@apple.com>
[WebKit-https.git] / WebKit.pri
1 # Include file to make it easy to include WebKit into Qt projects
2
3
4 isEmpty(OUTPUT_DIR) {
5     CONFIG(release):OUTPUT_DIR=$$PWD/WebKitBuild/Release
6     CONFIG(debug):OUTPUT_DIR=$$PWD/WebKitBuild/Debug
7 }
8
9 !gtk-port:CONFIG += qt-port
10 qt-port:DEFINES += BUILDING_QT__=1
11 qt-port:!building-libs {
12     QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
13     LIBS += -lQtWebKit
14     DEPENDPATH += $$PWD/WebKit/qt/Api
15 }
16
17 gtk-port:!building-libs {
18     QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
19     LIBS += -lWebKitGtk
20     DEPENDPATH += $$PWD/WebKit/gtk $$PWD/WebKit/gtk/WebCoreSupport $$PWD/WebKit/gtk/webkit
21 }
22
23 gtk-port {
24     CONFIG += link_pkgconfig
25
26     DEFINES += BUILDING_CAIRO__=1 BUILDING_GTK__=1
27
28     # We use FreeType directly with Cairo
29     PKGCONFIG += cairo-ft
30
31     directfb: PKGCONFIG += cairo-directfb gtk+-directfb-2.0
32     else: PKGCONFIG += cairo gtk+-2.0
33
34     # Set a CONFIG flag for the GTK+ target (x11, quartz, win32, directfb)
35     CONFIG += $$system(pkg-config --variable=target $$PKGCONFIG)
36
37     # We use the curl http backend on all platforms
38     PKGCONFIG += libcurl
39     DEFINES += WTF_USE_CURL=1
40
41     LIBS += -lWebKitGtk -ljpeg -lpng
42
43     QMAKE_CXXFLAGS += $$system(icu-config --cppflags)
44     QMAKE_LIBS += $$system(icu-config --ldflags)
45
46     # This set of warnings is borrowed from the Mac build
47     QMAKE_CXXFLAGS += -Wall -W -Wcast-align -Wchar-subscripts -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter -Wundef
48
49     # These flags are based on optimization experience from the Mac port:
50     # Helps code size significantly and speed a little
51     QMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
52
53     DEPENDPATH += $$PWD/JavaScriptCore/API
54     INCLUDEPATH += $$PWD
55 }
56
57 DEFINES += USE_SYSTEM_MALLOC
58 CONFIG(release) {
59     DEFINES += NDEBUG
60 }
61
62 gtk-port:CONFIG(debug) {
63     DEFINES += G_DISABLE_DEPRECATED GDK_PIXBUF_DISABLE_DEPRECATED GDK_DISABLE_DEPRECATED GTK_DISABLE_DEPRECATED PANGO_DISABLE_DEPRECATED
64 # maybe useful for debugging   DEFINES += GDK_MULTIHEAD_SAFE GTK_MULTIHEAD_SAFE
65 }
66
67 BASE_DIR = $$PWD
68 qt-port:INCLUDEPATH += \
69     $$PWD/WebKit/qt/Api
70 gtk-port:INCLUDEPATH += \
71     $$BASE_DIR/WebCore/platform/gtk \
72     $$BASE_DIR/WebCore/platform/network/curl \
73     $$BASE_DIR/WebCore/platform/graphics/cairo \
74     $$BASE_DIR/WebCore/loader/gtk \
75     $$BASE_DIR/WebCore/page/gtk \
76     $$BASE_DIR/WebKit/gtk \
77     $$BASE_DIR/WebKit/gtk/WebCoreSupport \
78     $$BASE_DIR/WebKit/gtk/webkit
79 INCLUDEPATH += \
80     $$BASE_DIR/JavaScriptCore/ \
81     $$BASE_DIR/JavaScriptCore/kjs \
82     $$BASE_DIR/JavaScriptCore/bindings \
83     $$BASE_DIR/JavaScriptCore/bindings/c \
84     $$BASE_DIR/JavaScriptCore/wtf \
85     $$BASE_DIR/JavaScriptCore/ForwardingHeaders \
86     $$BASE_DIR/WebCore \
87     $$BASE_DIR/WebCore/ForwardingHeaders \
88     $$BASE_DIR/WebCore/platform \
89     $$BASE_DIR/WebCore/platform/network \
90     $$BASE_DIR/WebCore/platform/graphics \
91     $$BASE_DIR/WebCore/loader \
92     $$BASE_DIR/WebCore/page \
93     $$BASE_DIR/WebCore/css \
94     $$BASE_DIR/WebCore/dom \
95     $$BASE_DIR/WebCore/bridge \
96     $$BASE_DIR/WebCore/editing \
97     $$BASE_DIR/WebCore/rendering \
98     $$BASE_DIR/WebCore/history \
99     $$BASE_DIR/WebCore/xml \
100     $$BASE_DIR/WebCore/html \
101     $$BASE_DIR/WebCore/plugins
102
103
104 macx {
105         INCLUDEPATH += /usr/include/libxml2
106         LIBS += -lxml2 -lxslt
107 }