summaryrefslogtreecommitdiffstats
path: root/qtwebkit.pri
blob: cb1691303bb5d11f6ee2b7e360fa283e6722dd11 (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
# Wrapper profile for QtWebkit.
#
# This is needed because webkit builds via a script.
# Technically this script is a .pro file, but we name it .pri to avoid clashing
# with qt.pro.

isEmpty(vcproj) {
    QMAKE_LINK = @: IGNORE THIS LINE
    OBJECTS_DIR =
    win32:CONFIG -= embed_manifest_exe
} else {
    CONFIG += console
    PHONY_DEPS = .
    phony_src.input = PHONY_DEPS
    phony_src.output = phony.c
    phony_src.variable_out = GENERATED_SOURCES
    phony_src.commands = echo int main() { return 0; } > phony.c
    phony_src.name = CREATE phony.c
    phony_src.CONFIG += combine
    QMAKE_EXTRA_COMPILERS += phony_src
}

DS = $$QMAKE_DIR_SEP
contains(DS, /) {
    env_export = export
    OPTI=+
    SBC=$$quote($$QMAKE_CHK_DIR_EXISTS qtwebkit || mkdir qtwebkit &&)
} else {
    env_export = set
    GNUTOOLS = $$quote("set \"PATH=$$PWD/gnuwin32/bin;%PATH%\" &&")
}

# Any configuration making use of QMAKE_POST_LINK will not work for this project,
# since the building is done by webkit's own build script and qmake at this level
# does not know the real TARGET.  Disable them here.
CONFIG -= separate_debug_info

exists($$PWD/qtwebkit/WebKitTools):qtwebkit_tools_dir = WebKitTools
else:qtwebkit_tools_dir = Tools

QTWEBKIT_BUILD_CONFIG =
contains(CONFIG, release):!contains(CONFIG, debug_and_release): {QTWEBKIT_BUILD_CONFIG = --release}

# WebKit2 is not yet supported on Windows, so avoid trying to build it
# Disable WebKit2 until https://bugs.webkit.org/show_bug.cgi?id=94914 is fixed.
QTWEBKIT_BUILD_CONFIG += --no-webkit2

# The '+' is to make parallel "make" work across the script boundary.
module_qtwebkit.commands = $${OPTI}$${SBC}cd qtwebkit && \
                           $$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
                           perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
                               --qt \
                               --qmake=$(QMAKE) \
                               --install-libs=$$[QT_INSTALL_LIBS] \
                               --qmakearg=CONFIG+=production_build \
                               $$QTWEBKIT_BUILD_CONFIG
#                               "--makeargs=\"-$(MAKEFLAGS)\""
# Trick to force dependency on this rule.
#module_qtwebkit.commands += $$escape_expand(\\n)make_default: module-qtwebkit
module_qtwebkit.target = module-qtwebkit

# The '+' is to make parallel "make" work across the script boundary.
module_qtwebkit_clean.commands = $${OPTI}$${SBC}cd qtwebkit && \
                                 $$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
                                 perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
                                     --qt \
                                     --qmake=$(QMAKE) \
                                     --install-libs=$$[QT_INSTALL_LIBS] \
                                     $$QTWEBKIT_BUILD_CONFIG \
                                     "--makeargs=\"$(MAKEFLAGS)\"" \
                                     --clean
# Trick to force dependency on this rule.
module_qtwebkit_clean.commands += $$escape_expand(\\n)clean: module-qtwebkit-clean
module_qtwebkit_clean.target = module-qtwebkit-clean

module_qtwebkit_install.commands = $${OPTI}$${SBC}cd qtwebkit && \
                           $$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
                           perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
                               --qt \
                               --qmake=$(QMAKE) \
                               --install-libs=$$[QT_INSTALL_LIBS] \
                               "--makeargs=\"install\""
# Trick to force dependency on this rule.
module_qtwebkit_install.commands+= $$escape_expand(\\n)install: module-qtwebkit-install
module_qtwebkit_install.target = module-qtwebkit-install

module_qtwebkit_uninstall.commands = $${OPTI}$${SBC}cd qtwebkit && \
                           $$env_export \"WEBKITOUTPUTDIR=$$OUT_PWD/qtwebkit/WebKitBuild\" && $$GNUTOOLS \
                           perl $$PWD$${DS}qtwebkit$${DS}$${qtwebkit_tools_dir}$${DS}Scripts$${DS}build-webkit \
                               --qt \
                               --qmake=$(QMAKE) \
                               --install-libs=$$[QT_INSTALL_LIBS] \
                               "--makeargs=\"uninstall\""
# Trick to force dependency on this rule.
module_qtwebkit_uninstall.commands+= $$escape_expand(\\n)uninstall: module-qtwebkit-uninstall
module_qtwebkit_uninstall.target = module-qtwebkit-uninstall

# WebKit needs a nonstandard target because the build has to be initiated by the bundled script.
QMAKE_EXTRA_TARGETS += module_qtwebkit module_qtwebkit_clean module_qtwebkit_install module_qtwebkit_uninstall
PRE_TARGETDEPS += module-qtwebkit