ValueToInt32 bool case does bad things to registers
[WebKit-https.git] / Source / api.pri
1 # -------------------------------------------------------------------
2 # Project file for the QtWebKit C++ APIs
3 #
4 # See 'Tools/qmake/README' for an overview of the build system
5 # -------------------------------------------------------------------
6
7 # Use Qt5's module system
8 load(qt_build_config)
9
10 TEMPLATE = lib
11 TARGET = QtWebKit
12
13 WEBKIT_DESTDIR = $${ROOT_BUILD_DIR}/lib
14
15 WEBKIT += wtf javascriptcore webcore
16
17 build?(webkit1): WEBKIT += webkit1
18 build?(webkit2): WEBKIT += webkit2
19
20 # Ensure that changes to the WebKit1 and WebKit2 API will trigger a qmake of this
21 # file, which in turn runs syncqt to update the forwarding headers.
22 build?(webkit1): QMAKE_INTERNAL_INCLUDED_FILES *= WebKit/WebKit1.pro
23 build?(webkit2): QMAKE_INTERNAL_INCLUDED_FILES *= WebKit2/Target.pri
24
25 use?(3D_GRAPHICS): WEBKIT += angle
26
27 MODULE = webkit
28
29 # This is the canonical list of dependencies for the public API of
30 # the QtWebKit library, and will end up in the library's prl file.
31 QT_API_DEPENDS = core gui network
32 build?(webkit1): QT_API_DEPENDS += widgets
33
34 # We load the relevant modules here, so that the effects of each module
35 # on the QT variable can be picked up when we later load(qt_module).
36 load(webkit_modules)
37
38 # ---------------- Custom developer-build handling -------------------
39 #
40 # The assumption for Qt developer builds is that the module file
41 # will be put into qtbase/mkspecs/modules, and the libraries into
42 # qtbase/lib, with rpath/install_name set to the Qt lib dir.
43 #
44 # For WebKit we don't want that behavior for the libraries, as we want
45 # them to be self-contained in the WebKit build dir.
46 #
47 CONFIG += force_independent
48
49 BASE_TARGET = $$TARGET
50
51 load(qt_module)
52
53 # Allow doing a debug-only build of WebKit (not supported by Qt)
54 macx:!debug_and_release:debug: TARGET = $$BASE_TARGET
55
56 # Make sure the install_name of the QtWebKit library point to webkit
57 macx {
58     # We do our own absolute path so that we can trick qmake into
59     # using the webkit build path instead of the Qt install path.
60     CONFIG -= absolute_library_soname
61     QMAKE_LFLAGS_SONAME = $$QMAKE_LFLAGS_SONAME$$WEBKIT_DESTDIR/
62
63     !debug_and_release|build_pass {
64         # We also have to make sure the install_name is correct when
65         # the library is installed.
66         change_install_name.depends = install_target
67
68         # The install rules generated by qmake for frameworks are busted in
69         # that both the debug and the release makefile copy QtWebKit.framework
70         # into the install dir, so whatever changes we did to the release library
71         # will get overwritten when the debug library is installed. We work around
72         # that by running install_name on both, for both configs.
73         change_install_name.commands = framework_dir=\$\$(dirname $(TARGETD)); \
74             for file in \$\$(ls $$[QT_INSTALL_LIBS]/\$\$framework_dir/$$BASE_TARGET*); do \
75                 install_name_tool -id \$\$file \$\$file; \
76             done
77         default_install_target.target = install
78         default_install_target.depends += change_install_name
79
80         QMAKE_EXTRA_TARGETS += change_install_name default_install_target
81     }
82 }
83
84 qnx {
85     # see: https://bugs.webkit.org/show_bug.cgi?id=93460
86     # the gcc 4.4.2 used in the qnx bbndk cannot cope with
87     # the linkage step of libQtWebKit, adding a dummy .cpp
88     # file fixes this though - so do this here
89     dummyfile.target = dummy.cpp
90     dummyfile.commands = touch $$dummyfile.target
91     QMAKE_EXTRA_TARGETS += dummyfile
92     GENERATED_SOURCES += $$dummyfile.target
93 }