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
6 CONFIG(QTDIR_build): CONFIG += standalone_package
7 else:exists($$PWD/WebCore/generated): CONFIG += standalone_package
9 CONFIG += depend_includepath
10 DEPENDPATH += $$OUT_PWD
12 DEFINES += BUILDING_QT__=1
14 win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32
19 QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR
20 QTWEBKITLIBNAME = QtWebKit
21 mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) {
22 LIBS += -framework $$QTWEBKITLIBNAME
23 QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH
25 build_pass: win32-*|wince* {
26 !CONFIG(release, debug|release): QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}d
27 QTWEBKITLIBNAME = $${QTWEBKITLIBNAME}$${QT_MAJOR_VERSION}
28 win32-g++*: LIBS += -l$$QTWEBKITLIBNAME
29 else: LIBS += $${QTWEBKITLIBNAME}.lib
33 TARGET.EPOCSTACKSIZE = 0x14000 // 80 kB
34 # For EXEs only: set heap to usable value
37 "$${LITERAL_HASH}ifdef WINSCW" \
38 "EPOCHEAPSIZE 0x40000 0x2000000 // Min 256kB, Max 32MB" \
39 "$${LITERAL_HASH}else" \
40 "EPOCHEAPSIZE 0x40000 0x10000000 // Min 256kB, Max 256MB" \
41 "$${LITERAL_HASH}endif"
42 MMP_RULES += heapSizeRule
47 DEPENDPATH += $$PWD/WebKit/qt/Api
50 CONFIG(release, debug|release) {
54 INCLUDEPATH += $$OUTPUT_DIR/include/QtWebKit
55 INCLUDEPATH += $$QT.script.includes
58 *-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
60 # Treat warnings as errors on x86/Linux/GCC
62 isEqual(QT_ARCH,x86_64)|isEqual(QT_ARCH,i386): QMAKE_CXXFLAGS += -Werror
66 # Enable GNU compiler extensions to the ARM compiler for all Qt ports using RVCT
67 RVCT_COMMON_CFLAGS = --gnu --diag_suppress 68,111,177,368,830,1293
68 RVCT_COMMON_CXXFLAGS = $$RVCT_COMMON_CFLAGS --no_parse_templates
69 # Make debug symbols leaner in RVCT4.x. Ignored by compiler for release builds
70 QMAKE_CXXFLAGS.ARMCC_4_0 += --remove_unneeded_entities
74 QMAKE_CFLAGS += $$RVCT_COMMON_CFLAGS
75 QMAKE_CXXFLAGS += $$RVCT_COMMON_CXXFLAGS
79 QMAKE_CXXFLAGS.ARMCC += $$RVCT_COMMON_CXXFLAGS
83 contains(JAVASCRIPTCORE_JIT,yes): error("'JAVASCRIPTCORE_JIT=yes' not supported with valgrind")
86 DEFINES += USE_SYSTEM_MALLOC=1
87 DEFINES += ENABLE_JIT=0
88 JAVASCRIPTCORE_JIT = no
91 ##### Defaults for some mobile platforms
92 symbian|maemo5|maemo6 {
93 CONFIG += disable_uitools
94 CONFIG += enable_fast_mobile_scrolling
95 CONFIG += use_qt_mobile_theme
96 maemo6: CONFIG += include_webinspector
98 CONFIG += include_webinspector
103 disable_uitools: DEFINES *= QT_NO_UITOOLS
105 # Disable a few warnings on Windows. The warnings are also
106 # disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
107 win32-msvc*|wince*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
110 DEFINES *= QT_NO_ANIMATION
111 DEFINES *= QT_NO_BEARERMANAGEMENT
112 DEFINES *= QT_NO_CLIPBOARD
113 DEFINES *= QT_NO_COMBOBOX
114 DEFINES *= QT_NO_CONCURRENT
115 DEFINES *= QT_NO_CRASHHANDLER
116 DEFINES *= QT_NO_CURSOR
117 DEFINES *= QT_NO_DESKTOPSERVICES
118 DEFINES *= QT_NO_FILEDIALOG
119 DEFINES *= QT_NO_GRAPHICSEFFECT
121 DEFINES *= QT_NO_INPUTDIALOG
122 DEFINES *= QT_NO_LINEEDIT
123 DEFINES *= QT_NO_MESSAGEBOX
124 DEFINES *= QT_NO_OPENSSL
125 DEFINES *= QT_NO_PRINTER
126 DEFINES *= QT_NO_QUUID_STRING
127 DEFINES *= QT_NO_SHORTCUT
128 DEFINES *= QT_NO_STYLE_STYLESHEET
129 DEFINES *= QT_NO_SYSTEMTRAYICON
130 DEFINES *= QT_NO_TEMPORARYFILE
131 DEFINES *= QT_NO_TOOLTIP
132 DEFINES *= QT_NO_UITOOLS
133 DEFINES *= QT_NO_UNDOCOMMAND
134 DEFINES *= QT_NO_UNDOSTACK
135 DEFINES *= QT_NO_XRENDER
138 contains(DEFINES, QT_NO_UITOOLS): CONFIG -= uitools