Add expected results for Snow Leopard and earlier for fast/css/font-family-pictograph...
[WebKit.git] / Source / WebKit.pri
1 # Include file to make it easy to include WebKit into Qt projects
2
3 contains(QT_CONFIG, qpa)|contains(QT_CONFIG, embedded): CONFIG += embedded
4
5 # Detect that we are building as a standalone package by the presence of
6 # either the generated files directory or as part of the Qt package through
7 # QTDIR_build
8 CONFIG(QTDIR_build) {
9     CONFIG += standalone_package
10     # Make sure we compile both debug and release on mac when inside Qt.
11     # This line was extracted from qbase.pri instead of including the whole file
12     win32|mac:!macx-xcode:CONFIG += debug_and_release
13 } else {
14     !CONFIG(release, debug|release) {
15         OBJECTS_DIR = obj/debug
16     } else { # Release
17         OBJECTS_DIR = obj/release
18         DEFINES *= NDEBUG
19     }
20     exists($$PWD/WebCore/generated):CONFIG += standalone_package
21     # Make sure that build_all follows the build_all config in WebCore
22     mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
23 }
24 #We don't want verify and other platform macros to pollute the namespace
25 mac: DEFINES += __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
26
27 CONFIG(standalone_package): DEFINES *= NDEBUG
28
29 CONFIG += depend_includepath
30 DEPENDPATH += $$OUT_PWD
31
32 DEFINES += BUILDING_QT__=1
33 building-libs {
34     win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32
35 } else {
36     CONFIG(QTDIR_build) {
37         QT += webkit
38     } else {
39         QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
40         QTWEBKITLIBNAME = QtWebKit
41         mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) {
42             LIBS += -framework $$QTWEBKITLIBNAME
43             QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
44         } else {
45             build_pass: win32-*|wince* {
46                 !CONFIG(release, debug|release): QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
47                 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
48                 win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
49                 else: LIBS += $${QTWEBKITLIBNAME}.lib
50             } else {
51                 LIBS += -lQtWebKit
52                 symbian {
53                     TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB
54                     # For EXEs only: set heap to usable value
55                     TARGET.EPOCHEAPSIZE =
56                     heapSizeRule = \
57                     "$${LITERAL_HASH}ifdef WINSCW" \
58                         "EPOCHEAPSIZE  0x40000 0x2000000 // Min 256kB, Max 32MB" \
59                     "$${LITERAL_HASH}else" \
60                         "EPOCHEAPSIZE  0x40000 0x10000000 // Min 256kB, Max 256MB" \
61                     "$${LITERAL_HASH}endif"
62                     MMP_RULES += heapSizeRule
63                 }
64             }
65         }
66     }
67     DEPENDPATH += $$PWD/WebKit/qt/Api
68 }
69
70 CONFIG(release, debug|release) {
71     DEFINES += NDEBUG
72 }
73
74 INCLUDEPATH += \
75     $$PWD \
76     $$OUTPUT_DIR/include/QtWebKit \
77     $$OUTPUT_DIR/include \
78     $$QT.script.includes
79
80 DEFINES += QT_ASCII_CAST_WARNINGS
81
82 webkit2:INCLUDEPATH *= $$OUTPUT_DIR/include/WebKit2
83
84 # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
85 win32-g++* {
86     TMPPATH            = $$quote($$(INCLUDE))
87     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
88     TMPPATH            = $$quote($$(LIB))
89     QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
90 }
91
92 CONFIG -= warn_on
93 *-g++*:QMAKE_CXXFLAGS += -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self
94
95 # Treat warnings as errors on x86/Linux/GCC
96 linux-g++* {
97     isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
98
99     greaterThan(QT_GCC_MAJOR_VERSION, 3):greaterThan(QT_GCC_MINOR_VERSION, 5) {
100         if (!contains(QMAKE_CXXFLAGS, -std=c++0x) && !contains(QMAKE_CXXFLAGS, -std=gnu++0x)) {
101             # We need to deactivate those warnings because some names conflicts with upcoming c++0x types (e.g.nullptr).
102             QMAKE_CFLAGS_WARN_ON += -Wno-c++0x-compat
103             QMAKE_CXXFLAGS_WARN_ON += -Wno-c++0x-compat
104             QMAKE_CFLAGS += -Wno-c++0x-compat
105             QMAKE_CXXFLAGS += -Wno-c++0x-compat
106         }
107     }
108 }
109
110 symbian|*-armcc {
111     # Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT
112     RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293
113     RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates
114     # Make debug symbols leaner in RVCT4.x. Ignored by compiler for release builds
115     QMAKE_CXXFLAGS.ARMCC_4_0 += --remove_unneeded_entities
116     # Match other compilers' (GCC, MSVC, WINSCW...) behavior regarding bitfield signedness.
117     # This flag is not needed for RVCT 2.x.
118     QMAKE_CXXFLAGS.ARMCC_4_0 += --signed_bitfields
119 }
120
121 *-armcc {
122     QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS
123     QMAKE_CXXFLAGS += $$RVCT_COMMON_CXXFLAGS
124 }
125
126 symbian {
127     QMAKE_CXXFLAGS.ARMCC += $$RVCT_COMMON_CXXFLAGS
128 }
129
130 valgrind {
131     contains(JAVASCRIPTCORE_JIT,yes): error("'JAVASCRIPTCORE_JIT=yes' not supported with valgrind")
132     QMAKE_CXXFLAGS += -g
133     QMAKE_LFLAGS += -g
134     DEFINES += USE_SYSTEM_MALLOC=1
135     DEFINES += ENABLE_JIT=0
136     JAVASCRIPTCORE_JIT = no
137 }
138
139 # Disable dependency to a specific version of a Qt package for non-production builds
140 symbian:!CONFIG(production):default_deployment.pkg_prerules -= pkg_depends_qt
141
142 ##### Defaults for some mobile platforms
143 symbian|maemo5|maemo6 {
144     CONFIG += disable_uitools
145     CONFIG += enable_fast_mobile_scrolling
146     CONFIG += use_qt_mobile_theme
147     maemo6: CONFIG += include_webinspector
148 } else {
149     CONFIG += include_webinspector
150 }
151
152 *sh4* {
153     CONFIG += disable_uitools
154 }
155 ####
156
157 disable_uitools: DEFINES *= QT_NO_UITOOLS
158
159 # Disable a few warnings on Windows. The warnings are also
160 # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
161 win32-msvc*|wince*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
162
163 CONFIG(qt_minimal) {
164     DEFINES *= QT_NO_ANIMATION
165     DEFINES *= QT_NO_BEARERMANAGEMENT
166     DEFINES *= QT_NO_CLIPBOARD
167     DEFINES *= QT_NO_COMBOBOX
168     DEFINES *= QT_NO_CONCURRENT
169     DEFINES *= QT_NO_CRASHHANDLER
170     DEFINES *= QT_NO_CURSOR
171     DEFINES *= QT_NO_DESKTOPSERVICES
172     DEFINES *= QT_NO_FILEDIALOG
173     DEFINES *= QT_NO_GRAPHICSEFFECT
174     DEFINES *= QT_NO_IM
175     DEFINES *= QT_NO_INPUTDIALOG
176     DEFINES *= QT_NO_LINEEDIT
177     DEFINES *= QT_NO_MESSAGEBOX
178     DEFINES *= QT_NO_OPENSSL
179     DEFINES *= QT_NO_PRINTER
180     DEFINES *= QT_NO_QUUID_STRING
181     DEFINES *= QT_NO_SHORTCUT
182     DEFINES *= QT_NO_STYLE_STYLESHEET
183     DEFINES *= QT_NO_SYSTEMTRAYICON
184     DEFINES *= QT_NO_TEMPORARYFILE
185     DEFINES *= QT_NO_TOOLTIP
186     DEFINES *= QT_NO_UITOOLS
187     DEFINES *= QT_NO_UNDOCOMMAND
188     DEFINES *= QT_NO_UNDOSTACK
189     DEFINES *= QT_NO_XRENDER
190 }
191
192 contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools