2010-02-17 Noam Rosenthal <noam.rosenthal@nokia.com>
[WebKit-https.git] / WebKit.pri
1 # Include file to make it easy to include WebKit into Qt projects
2
3 # Detect that we are building as a standalone package by the presence of
4 # either the generated files directory or as part of the Qt package through
5 # QTDIR_build
6 CONFIG(QTDIR_build): CONFIG += standalone_package
7 else:exists($$PWD/WebCore/generated): CONFIG += standalone_package
8
9 CONFIG(standalone_package) {
10     OUTPUT_DIR=$$PWD
11 }
12
13 CONFIG += depend_includepath
14
15 isEmpty(OUTPUT_DIR) {
16     CONFIG(debug, debug|release) {
17         OUTPUT_DIR=$$PWD/WebKitBuild/Debug
18     } else { # Release
19         OUTPUT_DIR=$$PWD/WebKitBuild/Release
20     }
21 }
22
23 DEFINES += BUILDING_QT__=1
24 building-libs {
25     win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32
26 } else {
27     CONFIG(QTDIR_build) {
28         QT += webkit
29     } else {
30         QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
31         QTWEBKITLIBNAME = QtWebKit
32         mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) {
33             LIBS += -framework $$QTWEBKITLIBNAME
34             QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
35         } else {
36             win32-*|wince* {
37                 CONFIG(debug, debug|release):build_pass: QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
38                 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
39                 win32-g++: LIBS += -l$$QTWEBKITLIBNAME
40                 else: LIBS += $${QTWEBKITLIBNAME}.lib
41             } else {
42                 LIBS += -lQtWebKit
43                 symbian {
44                     TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB
45                     TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB
46                 }
47             }
48         }
49     }
50     DEPENDPATH += $$PWD/WebKit/qt/Api
51 }
52 greaterThan(QT_MINOR_VERSION, 5):DEFINES += WTF_USE_ACCELERATED_COMPOSITING
53 greaterThan(QT_MINOR_VERSION, 5):DEFINES += ENABLE_3D_RENDERING=1
54
55 !mac:!unix|symbian {
56     DEFINES += USE_SYSTEM_MALLOC
57 }
58
59 CONFIG(release, debug|release) {
60     DEFINES += NDEBUG
61 }
62
63 BASE_DIR = $$PWD
64 INCLUDEPATH += $$OUTPUT_DIR/include/QtWebKit
65
66 CONFIG -= warn_on
67 *-g++*:QMAKE_CXXFLAGS += -Wall -Wreturn-type -fno-strict-aliasing -Wcast-align -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self
68
69 # Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT
70 symbian|*-armcc {
71     RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293
72     RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates
73 }
74
75 *-armcc {
76     QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS
77     QMAKE_CXXFLAGS += $$RVCT_COMMON_CXXFLAGS
78 }
79
80 symbian {
81     QMAKE_CXXFLAGS.ARMCC += $$RVCT_COMMON_CXXFLAGS
82 }
83
84 symbian|maemo5: DEFINES *= QT_NO_UITOOLS
85
86 contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools
87
88 # Disable a few warnings on Windows. The warnings are also
89 # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
90 win32-msvc*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
91