Commit Graph

619 Commits

Author SHA1 Message Date
Milian Wolff
a0ac93c73d packagesExist(): always return false if QT_CONFIG contains no-pkg-config
On QNX e.g. you'll end up with a Qt configured without pkg-config support
by default. Once you try to compile e.g. QtWebKit which contains a check
like packagesExist(libudev) the system pkg-config (see default branch
of pkgConfigExecutable) will be called without any special config sysroot
or libdir. Thus libudev will be found in your system host, even though
it is not available for the cross compile target. This leads to compile
errors as described in https://bugs.webkit.org/show_bug.cgi?id=98032 .

Change-Id: If1474cb3b3f3b71fad7269e4aedd4e10f70a9b2a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-21 16:36:50 +01:00
Oswald Buddenhagen
1c70033bb6 don't set CONFIG+=release during build passes
otherwise we get inconsistent builds.

Task-number: QTBUG-28046
Change-Id: I7952000bfc8e02ced5fd2c1bbffab7384f2730c1
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-20 16:46:33 +01:00
Eskil Abrahamsen Blomfeldt
0dc61c4216 Merge branch 'newdocs'
Added prepare_docs to qt_build_config.prf (it was added
directly in configure in the source branch)

Conflicts:
	configure
	tools/configure/configureapp.cpp

Change-Id: I1337c69fc62b1c934e3e39b4409e4857440c9db8
2012-11-20 10:12:44 +01:00
Thiago Macieira
df3631045c Add a new location for QML 2.x imports
This commits adds a -qmldir configuration option for the configures to
allow the user to change the default location (it defaults to
$archdatadir/qml).

It adds a QLibraryInfo::Qml2ImportsPath value for
QLibraryInfo::location, a qmake property of QT_INSTALL_QML and a qt.conf
configure location entry "Qml2Imports".

At the same time, it makes the qmake .prf files dealing with QML plugins
be the QML 2 version. Those files are new in Qt 5, so we have the option
to choose which version we want to use.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-October/007136.html
Change-Id: I8c1c53e8685a5934ed0a9a42ba5663297b81a677
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-19 15:25:54 +01:00
Morten Johan Sorvig
a0af6c8e4a Remove obsolete Mac mkspecs.
Project Builder was replaced with Xcode in Mac OS 10.3.
The xlc compiler is not in use on OS X any more.

Change-Id: Ie9150243cf5594a70f692a6841ee8221a2fa9ddb
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-11-18 23:13:29 +01:00
Oswald Buddenhagen
f2b77e0c3c make qt_tool support building bootstrapped tools
as a "side effect", this fixes the build of bootstrapped tools when
doing a debug build under msvc: qt.prf would add CONFIG+=release after
default_post.prf already loaded debug.prf.

Change-Id: Idd17cf28d358950fd90bb18ca7a8d67e06953bc1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2012-11-16 15:59:20 +01:00
J-P Nurmi
9cdcd2f639 qtAddModule(): define PRE_TARGETDEPS for static modules
This ensures that for example the platform plugins get properly
re-linked when the static platform-support lib changes.

Change-Id: Iad493d4de30d6f6977f80aa56d0b27d05e9e3770
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-14 12:29:01 +01:00
Konstantin Ritt
ac9b853242 Don't link QtGui to winspool.dll
The printer support API has moved to printsupport module/plugins

Change-Id: I6fdc6c08e600d0f7cc8d79bef808227b54880904
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-11-13 18:51:15 +01:00
Stephen Kelly
235f04f8c9 Refactor create_cmake to re-use the computed stem.
Change-Id: I3b277316b1befbb57613b465fc5bbedc6b2305f7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-11-13 18:51:15 +01:00
Oswald Buddenhagen
c3637ce66b define the module rpath in the installed module pri file
the fallback path wouldn't account for a sysroot. as there is no clean
way to implement that, rather remove the fallback alltogether and make
the rpath a mandatory part of modules.

Change-Id: I6f2bd6e36889be2f61e17a579174380aa3c6622d
Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-13 16:05:50 +01:00
Thiago Macieira
d725239c3e Insert the Qt major version (5) in the library names
As discussed on the mailing list, insert the Qt major library version in
the library name, so even the development files can be co-installed with
Qt 4.

Discussed-on: http://lists.qt-project.org/pipermail/development/2012-September/006545.html
Discussed-on: http://lists.qt-project.org/pipermail/development/2012-September/006551.html
Change-Id: If0be11ebf9454a9fb6d96cda161790dfd53c00f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-10 09:20:26 +01:00
Oswald Buddenhagen
3ad90ea8f6 Generate a proper static QtBootstrap module
Making a properly installed libQtBootstrap simplifies
our tools build process a little and in addition allows
other comand line tools to use the bootstrap lib and
link against it.

Initial-version-by: Lars Knoll
Change-Id: Iddf4568a5505bc24898ec1abf7e7022e19f0a454
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen
f1841d864d make it possible to put removals into modules' .CONFIG and .DEFINES
the respective flags/defines need to be prefixed with a minus sign.

Change-Id: I8a3a46254f90d4ecdbd692a0eca635038691d078
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Oswald Buddenhagen
735738cc65 add support for per-module QT_BUILD_PARTS overrides
this makes it possible to configure with -nomake tests, but have, e.g.,
QTSVG_BUILD_PARTS="libs tools examples tests" to enable tests
specifically in the svg module.

Change-Id: I925ab955ac32ec3e311c2a852a51b098fd4e0ea3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-08 16:59:50 +01:00
Thiago Macieira
565b6bd635 Make it possible to suppress the automatic version number in DLLs
qmake automatically appends the library's major version number to the
DLL file name on Windows, as DLL naming doesn't include the version
number on a suffix like on Unix systems.

This flag makes it so qmake skips adding. This will allow us to insert
Qt's major version number at a different position.

Change-Id: I25d471038841fb0c5a34ef6b3bd6266aa33cebd1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-06 23:52:47 +01:00
Oswald Buddenhagen
754cf42bb5 don't unset TARGET_VERSION_EXT
otherwise we may remove a user-provided setting.

Change-Id: If3217a3d92938fe2f3ac3740a645d3ace0ce9ab0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
76dfe82add move QT_NAMESPACE define to qtcore's module pri file
it's basically an attribute of qtcore (and everything that depends on it).

Change-Id: I6eeefeb5df70764399d9f22dca9dbec1843b8d68
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
80439fbd82 move invariant CONFIG flags out of the configures
we now have qt_build_config.prf which can contain static code.

Change-Id: I3f0ae142fdc5ffb4e1d25e628e809ba15b5f0ac4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Oswald Buddenhagen
bc64a7a6f7 remove pointless messing with CONFIG+=fix_output_dirs
the function is automatically performed by debug_and_release.prf,
regardless what we do with this flag.

Change-Id: Iddec69b35e0e905fdf4133ee240af37d3a8ada0b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-02 18:07:35 +01:00
Jerome Pasion
c808dd2745 Merge branch 'master' of ssh://codereview.qt-project.org/qt/qtbase into newdocs
Change-Id: I7e6cee190a341901dfbf8effb54ebccb91bf7a17
2012-11-02 14:41:27 +01:00
Oswald Buddenhagen
733ac1f6e6 let static plugins have "module" pri files
... and use them in qt.prf instead of (not) maintaining hand-coded lists.

Change-Id: Ia21f7864eaf3ca92fa75f23876f71075d0521f4b
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2012-11-01 22:35:28 +01:00
Stephen Kelly
b94cfa4236 Use the new QMAKE_XSPEC to get the mkspec.
Change-Id: I7f307ffe0954464f68192f9f3781bdb206f87809
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-01 22:22:24 +01:00
Oswald Buddenhagen
8abfe4bb43 purge dead defines
Change-Id: I8770416a19fb0951c0096cedf3f36c3493437903
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
7db3c4dc1d remove pointless indirections
Change-Id: I2bf6d9a0352dea75f8fd596859ca7939685c9cec
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
6853f888eb use .qmake.conf instead of sync.profile as "anchor"
this is less expensive, as qmake already provides us with it.

Change-Id: Ifb44ea9126e6b52c02025858c5d88032e7a6cc2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
8c39b4c05f beef up qt_plugin.prf
it now defines the DESTDIR and creates an INSTALLS rule.

Change-Id: I15a462ccad9acbe3521c352fa98327825dc27c05
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-01 20:17:57 +01:00
Oswald Buddenhagen
21d74702d1 add qml1_{module,plugin}.prf
these are in fact thin wrappers around the qml2 variants, which got
respective hooks.

Change-Id: I1190856aea3f454b6f163e147d39c707a35ec4c6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-30 21:46:43 +01:00
Oswald Buddenhagen
f05a392f3e fix tool invocation for -prefix + -framework builds on macx
set DYLD_FRAMEWORK_PATH instead of DYLD_LIBRARY_PATH

Change-Id: I9849f12063b8c7a45d040c087f4611c3a48180b8
Reviewed-by: Johanna Äijälä <johanna.aijala@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
d802a00198 let qt_tool.prf set up DESTDIR
Change-Id: Ie30066566fe25859b2a661970b11a58e69361b1d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
b493e1ec6f introduce tool_plugin CONFIG flag
while plugins for libraries need to follow the -debug-and-release switch,
plugins for tools must follow the single-config approach of tools.

Change-Id: I8a79e98034d2ff8b5d4e6191a9143c9472a5aa02
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
f0ee55c00a VERSION makes no sense for plugins
Change-Id: I7af058eec1c5a0fdbd9848d2dc2f6bd76ca4747e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
4010c70269 namespace "module" pri files
we now have tool and soon plugin pri files. make them easily
distinguishable.

Change-Id: I8904e4182227a78060121e8712446bc43b1dd185
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
103ddce67a kill $$mod_component_base & $$mod_qmake_base
use $$MODULE_BASE_OUTDIR & $$MODULE_QMAKE_OUTDIR directly.
this is a no-op, except that now module pris will be built in qtbase for
all modules when building without -prefix - which is only consistent with
all other artifacts.

Change-Id: I2965b2c7a15aa9e82ba6017f5f4c0daa14b6e6fe
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
4a9ffb5c9e centralize module directory calculation
Change-Id: I5db529676b3287013008f28623a541fee1cde6a0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
c9266e7cb9 redo QT_PLUGIN_PATH assembly for non-installed execution
it is a bad idea to extract plugin paths from library modules.
instead, just collect plugin paths from all known repositories.

Change-Id: I527325f20e9cf98ae974997530af1b2893537e5d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-29 22:21:32 +01:00
Oswald Buddenhagen
ae789544e4 simplify determination of static plugin link line
qt_debug & qt_release are dead, so collapse the respective paths and use
an existing function.

Change-Id: Ie800be477186a6eab72682d367b24e83c3b9bbc0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-26 18:57:54 +02:00
Oswald Buddenhagen
a3941c2f6e escape constructed command for makefiles
Change-Id: Iec7f2bd7b02d03bf6a99dde363a41578924e523c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-26 14:33:15 +02:00
Tor Arne Vestbø
6e5818f2bb Merge remote-tracking branch 'gerrit/master' into newdocs
Change-Id: I10cf9f915c602c8e5a0e7d7c9e17b7bc5ca00640
2012-10-26 12:28:53 +02:00
Oswald Buddenhagen
e8170aee1f move QMAKEMODULES addition to .qmake.super to qt_build_config.prf
this is qt module specific magic that has no business in the generic
default_pre.prf.

a side effect is that every qt module now needs to have a .qmake.conf
(unless it sets MODULE_QMAKE_OUTDIR, like webkit does).

Change-Id: Id9e5f6eee2d8ec0c711e7217d9e1893fc9c88132
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:52 +02:00
Oswald Buddenhagen
315c58509d fix 'qmltypes' targets
should now actually work for all build types

Change-Id: I2dc1f8231737c13e95ce8aab1330b4f063951547
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:43 +02:00
Oswald Buddenhagen
b229eff08c make qmltypes target properly respect debug vs. release
Change-Id: Ia4f5ccb2b795a7594b74ea95aa0cc56a91aa7043
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-26 12:20:38 +02:00
Tor Arne Vestbø
600f2397b8 Add config option to build documentation as a two-step process
The new 'prepare_docs' CONFIG option triggers the documentation rules in
default_post to generate two extra targets: prepare_docs and generate_docs.
The prepare_docs stage runs qdoc with the -prepare option, which means qdoc
will only generate index files, and the generate_docs stage will call
qdoc with -generate, which reads the index files and generates the final
output. The regular docs target will then run the prepare_docs target
for all submodules before running the generate_docs target.

This ensures that when generating the final output, qdoc has all the
index files for all the other modules available, to be able to resolve
cross-references between the various Qt modules.

This patch needs a follow-up in qt5.git to add CONFIG+=prepare_docs, so
that the root Qt5 build will be able to hook into this new behavior.

Change-Id: I654d7f0d4d5a41d9be208e6d3a8923bf0194f9ad
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-10-25 12:19:17 +02:00
Morten Johan Sorvig
9c6066fce6 Mac: Set minimum version to 10.7 for clang-libc++
Clang's libc++ does not support 10.6.

Add mac-minimum-version.conf which sets the version
to 10.6. Set the version to 10.7 in the clang-libx++*
mkspecs.

Change-Id: I494d0d24b0d73d9395e9d5406c8c63c9af87f8cc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-24 01:39:45 +02:00
Morten Sorvig
ee0dbed4db Enable HiDPI mode for retina displays.
Change-Id: I3b62ec9c3bf5e53c6ec056b95c52cfeb6ce5b61f
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-23 12:43:24 +02:00
Stephen Kelly
6444d36e5d Use a qmake variable to pass the Qt version to the cmake version file.
By depending on a simple variable instead of a more complex expression, we
can more easily use this file from other contexts.

Change-Id: Ib6ce1e2537f3e7ac19d25ad33454f25e85f71040
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 13:02:17 +02:00
Stephen Kelly
89c53738de CMake: Remove content from else() and endif() commands.
Having them empty is the common style and is less noisy.

Change-Id: I30c0c4d297a7bdb373a57a636f4fdbc488a69fcd
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
2012-10-19 02:44:26 +02:00
Thiago Macieira
c67a5df8d8 Rename the syncqt -qtdir to -mkspecsdir
It's actually looking for the mkspecs (so it can read qconfig.pri to
get the Qt version), so give it exactly what it wants.

Change-Id: I2957b2d93a8837b8492d313209d45ff3ec01704c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-19 00:44:54 +02:00
Tor Arne Vestbø
e6cbf2f985 Prevent 'make install' from automatically installing documentation
Just like 'make docs' is used to build documentation, you will now have
to run 'make install_docs' to install it.

Change-Id: I57db53160ca91618784f4e39da0a47322c070208
Task-number: QTBUG-27590
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 21:01:26 +02:00
Tor Arne Vestbø
b9facbf345 Refactor recursive target logic out of default_post into function
The qmake function prepareRecursiveTarget can now be used both by the
existing logic in default_post, as well as future recursive targets that
will be needed as part of the modularization of documentation builds.

Change-Id: Ibc72c3e224cb57c9f1796de3b04fda9de663dbb4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 21:01:09 +02:00
Oswald Buddenhagen
6226fcdc3e add a .qmake.conf file which load()s qt_build_config
that way we don't have to auto-generate code for that in the configures.

note that we now load qt_build_config.prf instead of just qmodule.pri,
which means that exceptions_off is set everywhere. we forcibly re-enable
them for testcases to minimize the deviation from default 3rd party usage.
testlib selftests are not qt testcases, so the one that needs exceptions
needs to enable them explicitly.

Change-Id: I1b9360bb11f2e80c92a2b63a7c45991ad17fda1b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-18 17:42:40 +02:00