summaryrefslogtreecommitdiff
path: root/recipes/webkit/files/WebKit.pri
blob: 36404ac8032bde8a522f718d4decbefae573ef28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Include file to make it easy to include WebKit into Qt projects


isEmpty(OUTPUT_DIR) {
    CONFIG(release):OUTPUT_DIR=$$PWD/WebKitBuild/Release
    CONFIG(debug):OUTPUT_DIR=$$PWD/WebKitBuild/Debug
}

!gtk-port:CONFIG += qt-port
qt-port:DEFINES += BUILDING_QT__=1
qt-port:!building-libs {
    QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
    LIBS += -lQtWebKit
    DEPENDPATH += $$PWD/WebKit/qt/Api
}

gtk-port:!building-libs {
    QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
    LIBS += -lWebKitGtk
    DEPENDPATH += $$PWD/WebKit/gtk/WebView $$PWD/WebKit/gtk/WebCoreSupport
}

gtk-port {
    CONFIG += link_pkgconfig

    DEFINES += BUILDING_CAIRO__=1 BUILDING_GTK__=1

    # We use FreeType directly with Cairo
    PKGCONFIG += cairo-ft

    directfb: PKGCONFIG += cairo-directfb gtk+-directfb-2.0
    else: PKGCONFIG += cairo gtk+-2.0

    # Set a CONFIG flag for the GTK+ target (x11, quartz, win32, directfb)
    CONFIG += $$system(pkg-config --variable=target $$PKGCONFIG)

    # We use the curl http backend on all platforms
    PKGCONFIG += libcurl

    LIBS += -lWebKitGtk -ljpeg -lpng

    QMAKE_CXXFLAGS += $$system(icu-config --cppflags)
    QMAKE_LIBS += $$system(icu-config --ldflags)

    # This set of warnings is borrowed from the Mac build
    QMAKE_CXXFLAGS += -Wall -W -Wcast-align -Wchar-subscripts -Wformat-security -Wmissing-format-attribute -Wpointer-arith -Wwrite-strings -Wno-format-y2k -Wno-unused-parameter -Wundef

    # These flags are based on optimization experience from the Mac port:
    # Helps code size significantly and speed a little
    QMAKE_CXXFLAGS += -fno-exceptions -fno-rtti

    DEPENDPATH += $$PWD/JavaScriptCore/API
    INCLUDEPATH += $$PWD
}

DEFINES += USE_SYSTEM_MALLOC
CONFIG(release) {
    DEFINES += NDEBUG
}

gtk-port:CONFIG(debug) {
    DEFINES += G_DISABLE_DEPRECATED GDK_PIXBUF_DISABLE_DEPRECATED GDK_DISABLE_DEPRECATED GTK_DISABLE_DEPRECATED PANGO_DISABLE_DEPRECATED
# maybe useful for debugging   DEFINES += GDK_MULTIHEAD_SAFE GTK_MULTIHEAD_SAFE
}

BASE_DIR = $$PWD
qt-port:INCLUDEPATH += \
    $$PWD/WebKit/qt/Api
gtk-port:INCLUDEPATH += \
    $$BASE_DIR/WebCore/platform/gtk \
    $$BASE_DIR/WebCore/platform/network/curl \
    $$BASE_DIR/WebCore/platform/graphics/cairo \
    $$BASE_DIR/WebCore/loader/gtk \
    $$BASE_DIR/WebCore/page/gtk \
    $$BASE_DIR/WebKit/gtk/WebView \
    $$BASE_DIR/WebKit/gtk/WebCoreSupport
INCLUDEPATH += \
    $$BASE_DIR/JavaScriptCore/ \
    $$BASE_DIR/JavaScriptCore/kjs \
    $$BASE_DIR/JavaScriptCore/bindings \
    $$BASE_DIR/JavaScriptCore/bindings/c \
    $$BASE_DIR/JavaScriptCore/wtf \
    $$BASE_DIR/JavaScriptCore/ForwardingHeaders \
    $$BASE_DIR/WebCore \
    $$BASE_DIR/WebCore/ForwardingHeaders \
    $$BASE_DIR/WebCore/platform \
    $$BASE_DIR/WebCore/platform/network \
    $$BASE_DIR/WebCore/platform/graphics \
    $$BASE_DIR/WebCore/loader \
    $$BASE_DIR/WebCore/page \
    $$BASE_DIR/WebCore/css \
    $$BASE_DIR/WebCore/dom \
    $$BASE_DIR/WebCore/bridge \
    $$BASE_DIR/WebCore/editing \
    $$BASE_DIR/WebCore/rendering \
    $$BASE_DIR/WebCore/history \
    $$BASE_DIR/WebCore/xml \
    $$BASE_DIR/WebCore/html


macx {
	INCLUDEPATH += /usr/include/libxml2
	LIBS += -lxml2 -lxslt
}