1 # Include file to make it easy to include WebKit into Qt projects
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
7 CONFIG += standalone_package
8 # Make sure we compile both debug and release on mac when inside Qt.
9 # This line was extracted from qbase.pri instead of including the whole file
10 win32|mac:!macx-xcode:CONFIG += debug_and_release
12 !CONFIG(release, debug|release) {
13 OBJECTS_DIR = obj/debug
15 OBJECTS_DIR = obj/release
18 exists($$PWD/WebCore/generated):CONFIG += standalone_package
19 # Make sure that build_all follows the build_all config in WebCore
20 mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all
23 CONFIG(standalone_package): DEFINES *= NDEBUG
25 CONFIG += depend_includepath
26 DEPENDPATH += $$OUT_PWD
28 DEFINES += BUILDING_QT__=1
30 win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32
35 QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
36 QTWEBKITLIBNAME = QtWebKit
37 mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) {
38 LIBS += -framework $$QTWEBKITLIBNAME
39 QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
41 build_pass: win32-*|wince* {
42 !CONFIG(release, debug|release): QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
43 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
44 win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
45 else: LIBS += $${QTWEBKITLIBNAME}.lib
49 TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB
50 # For EXEs only: set heap to usable value
53 "$${LITERAL_HASH}ifdef WINSCW" \
54 "EPOCHEAPSIZE 0x40000 0x2000000 // Min 256kB, Max 32MB" \
55 "$${LITERAL_HASH}else" \
56 "EPOCHEAPSIZE 0x40000 0x10000000 // Min 256kB, Max 256MB" \
57 "$${LITERAL_HASH}endif"
58 MMP_RULES += heapSizeRule
63 DEPENDPATH += $$PWD/WebKit/qt/Api
66 CONFIG(release, debug|release) {
72 $$OUTPUT_DIR/include/QtWebKit \
73 $$OUTPUT_DIR/include \
76 DEFINES += QT_ASCII_CAST_WARNINGS
78 webkit2:INCLUDEPATH *= $$OUTPUT_DIR/include/WebKit2
80 # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
82 TMPPATH = $$quote($$(INCLUDE))
83 QMAKE_INCDIR_POST += $$split(TMPPATH,";")
84 TMPPATH = $$quote($$(LIB))
85 QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
89 *-g++*:QMAKE_CXXFLAGS += -Wall -Wextra -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
91 # Treat warnings as errors on x86/Linux/GCC
93 isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
97 # Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT
98 RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293 --signed_bitfields
99 RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates
100 # Make debug symbols leaner in RVCT4.x. Ignored by compiler for release builds
101 QMAKE_CXXFLAGS.ARMCC_4_0 += --remove_unneeded_entities
105 QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS
106 QMAKE_CXXFLAGS += $$RVCT_COMMON_CXXFLAGS
110 QMAKE_CXXFLAGS.ARMCC += $$RVCT_COMMON_CXXFLAGS
114 contains(JAVASCRIPTCORE_JIT,yes): error("'JAVASCRIPTCORE_JIT=yes' not supported with valgrind")
117 DEFINES += USE_SYSTEM_MALLOC=1
118 DEFINES += ENABLE_JIT=0
119 JAVASCRIPTCORE_JIT = no
122 # Disable dependency to a specific version of a Qt package for non-production builds
123 symbian:!CONFIG(production):default_deployment.pkg_prerules -= pkg_depends_qt
125 ##### Defaults for some mobile platforms
126 symbian|maemo5|maemo6 {
127 CONFIG += disable_uitools
128 CONFIG += enable_fast_mobile_scrolling
129 CONFIG += use_qt_mobile_theme
130 maemo6: CONFIG += include_webinspector
132 CONFIG += include_webinspector
137 !contains(QT_CONFIG, uitools)|disable_uitools: DEFINES *= QT_NO_UITOOLS
139 isEmpty(QT.phonon.includes) {
140 QT.phonon.includes = $$QMAKE_INCDIR_QT/phonon
141 QT.phonon.libs = $$QMAKE_LIBDIR_QT
144 # Disable a few warnings on Windows. The warnings are also
145 # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
146 win32-msvc*|wince*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
149 DEFINES *= QT_NO_ANIMATION
150 DEFINES *= QT_NO_BEARERMANAGEMENT
151 DEFINES *= QT_NO_CLIPBOARD
152 DEFINES *= QT_NO_COMBOBOX
153 DEFINES *= QT_NO_CONCURRENT
154 DEFINES *= QT_NO_CRASHHANDLER
155 DEFINES *= QT_NO_CURSOR
156 DEFINES *= QT_NO_DESKTOPSERVICES
157 DEFINES *= QT_NO_FILEDIALOG
158 DEFINES *= QT_NO_GRAPHICSEFFECT
160 DEFINES *= QT_NO_INPUTDIALOG
161 DEFINES *= QT_NO_LINEEDIT
162 DEFINES *= QT_NO_MESSAGEBOX
163 DEFINES *= QT_NO_OPENSSL
164 DEFINES *= QT_NO_PRINTER
165 DEFINES *= QT_NO_QUUID_STRING
166 DEFINES *= QT_NO_SHORTCUT
167 DEFINES *= QT_NO_STYLE_STYLESHEET
168 DEFINES *= QT_NO_SYSTEMTRAYICON
169 DEFINES *= QT_NO_TEMPORARYFILE
170 DEFINES *= QT_NO_TOOLTIP
171 DEFINES *= QT_NO_UITOOLS
172 DEFINES *= QT_NO_UNDOCOMMAND
173 DEFINES *= QT_NO_UNDOSTACK
174 DEFINES *= QT_NO_XRENDER
177 contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools