Commit Graph

690 Commits

Author SHA1 Message Date
Oswald Buddenhagen
b1ff4712f2 resolve private dependencies of tools as well
Change-Id: I25c73661489f0a6e6ecf3bb423cdae6435221e25
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-12-02 02:16:00 +01:00
Friedemann Kleint
95a05904b9 ANGLE: Fix debug-and-release builds
Add a 'd' to debug builds to allow both release and debug builds
to be used.

- Add .def-files for Debug
- Build all libraries debug/release
- Add description to README.qt
- Differentiate debug/release in qmake.conf.

Task-number: QTBUG-28196

Change-Id: Ib3081004a6ed2ad71d353244154684d2e0ebbc86
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-12-01 08:30:38 +01:00
Joerg Bornemann
9d650a4b36 don't link qtmain.lib when using idcidl.prf
QAxServer projects must not link qtmain.lib.
This awful hack was adapted from the old qaxserver.prf

Change-Id: I78b4cbf6714bfbd88341449b9230f1989cff8a6f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-30 21:57:49 +01:00
Miikka Heikkinen
09a1810319 Added custom flags for enabling dependencies of other parts to tools
Introduced CONFIG flags examples_need_tools and tests_need_tools.

Change-Id: I4789d05f6bc0a63c75340c3b3e2aecde18c42c20
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
329e174802 expose a little less of the build host's file system structure
Change-Id: I6fc675b9aeae0744c3308cd20ffd8c115c271c58
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
3e37c209d2 remove another pointless indirection
we directly expand $$TARGET on the same line, so just do the same with
$$VERSION

Change-Id: I3601bfcc835b13f63dce43d00cfe8d34ded60b21
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
02cb58cbd4 remove unnecessary indirection
we are assigning QT.*.VERSION from VERSION a moment earlier

Change-Id: Ie4d51f8835b8050755bc399a1a597967c8e3e499
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
2c8ebbc25b make it possible to name include dir differently from library name
ActiveQt needs that

Change-Id: Ib9f69d19e8042c1ab0f211eebb9237bc2fb77aa3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Oswald Buddenhagen
5de4b24c99 don't install headers into Qt/ any more
this should have been part of 656e0d342.

Change-Id: I56e5d743a756e9236759595429de85754593638e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-30 21:57:49 +01:00
Stephen Kelly
2bda681eb6 Add a way to not generate INCLUDE_DIRS variables.
ActiveQt needs this, and it sets the no_module_headers flag.

We still need to set the include_dirs variable in the
no_module_headers case, so that its dependencies are added to it.

Change-Id: I2cad5ee792eed51d36b7c8e2c616763516a5fc10
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-30 18:51:34 +01:00
Oswald Buddenhagen
aeb036ed87 centralize and fixup example sources install targets
it's confusing for the users if the examples' project files contain code
to install their own sources. also, this constitutes an enormous code
duplication, and lots of mistakes. consequently, automate it.

more or less as a side effect, this also removes the entirely meaningless
target installs in subdirs projects.

Task-number: QTBUG-28184
Change-Id: I9fc1367a06db9e2c46aeb67d68729a4f67163ef9
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-29 20:21:11 +01:00
Oswald Buddenhagen
bc6228c3f4 factor out qt_docs_targets.prf
instead of letting *every* qmake-based project have recursive docs targets,
let qt modules "subscribe" to it explicitly by having load(qt_build_config)
in their .qmake.conf (which they already do).

Change-Id: I97b74591fd0c4bd5f8b08c5f550df9c7eef2f556
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-28 16:21:57 +01:00
Oswald Buddenhagen
e543807ca0 reformat assignment to ease later modification
Change-Id: Ib8741baf678583fe56ea0f0a5d4cf2ee22b21b3a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-28 16:21:57 +01:00
Thiago Macieira
5dcc36b15c Add a -libexecdir option to the configures
User applications are those that users run directly, whether it be for
development or not. The executable binaries that the user does not
usually run but is still required for proper functioning are called
"program executables" in Autoconf and they are placed in libexec.

This commit adds support for "program executables" in Qt by adding the
-libexecdir option to the configures, the qmake variable
QT_INSTALL_LIBEXECS (note the plural, to match all other properties),
and QLibraryInfo::LibraryExecutables.

At the time of this commit, the only expected "program executable" is
the QtWebProcess, the WebKit2 helper process from QtWebKit.

Change-Id: I66c3a3e0cf7f9d93b5f88f55f18e957faff608fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2012-11-28 08:39:07 +01:00
Oswald Buddenhagen
6133c8a9e7 revamp doc generation targets
- the old docs target becomes html_docs
- a new qch_docs target is added. the .qch files end up directly in
  QT_INSTALL_DOCS, wihout any subdirectories in between
- the new docs target invokes html_docs and qch_docs
- respective un-/install targets are added as well. note that the
  install targets don't depend on the build targets, as it's virtually
  impossible to get the dependencies right throughout the hierarchy.

Change-Id: I07a2589db8252371e77cf925c47c4e59fbd1b2ca
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2012-11-27 19:31:21 +01:00
Joerg Bornemann
a7ac893534 adjust to modularization changes in ActiveQt
Task-number: QTBUG-27776
Change-Id: I1c30270867d20f028bad09fdc5408a414b122f5b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-11-27 16:18:15 +01:00
Sergio Ahumada
cd765bbae0 qmake: Change copyright information from Nokia to Digia
Task-number: QTBUG-28156
Change-Id: If54615a465504b4124891fb393185eb324372874
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2012-11-26 17:33:37 +01:00
Peter Hartmann
c8c8e1990c BlackBerry mkspecs: optimize linker flags
* relro makes some sections read-only before giving control to the
program;
* now resolves all symbols when the program is started and allows for
 the GOT being marked read-only to prevent it from being overwritten.

These settings have been used internally for device builds already.

Change-Id: I9f62fffe618c75748e2357d1686289c23c5dbee5
Reviewed-by: Greg Bentz <gbentz@rim.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-26 15:11:59 +01:00
Peter Hartmann
44b1c5dde2 BlackBerry mkspecs: tell compiler the specific ARM version (cortex-a9)
... so the compiler knows which instructions to generate and can
optimize for the specific CPU.
All BlackBerry platforms are Cortex-A9 compatible.

Change-Id: I3fd22e63af12f704365f494bbb7138963b4c4ec7
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-11-23 11:59:50 +01:00
Eike Ziller
490379a3e3 Mac: Fix compilation with -sdk option
The include paths that the mkspecs set into the OpenGL/AGL frameworks
must take the SDK into account.
(The headers in 10.8 have slightly changed wrt 10.7, leading to compile
errors because framework style includes (<OpenGL/foo.h>) within the system
headers are resolved to the SDK framework headers.)

Change-Id: I6113cdb95b462d587f593682e03e81e920f3f672
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-11-23 10:08:10 +01:00
Oswald Buddenhagen
86b2804eaf bootstrapped tools don't need env var setup
Change-Id: I15d818d3ca24d426e492ea9d3a423f661b3ccf3b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-11-22 14:44:53 +01:00
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
Thiago Macieira
048b697c07 There's no uic3 anymore
Change-Id: Iacbe2e6a802278c2c82ae60551eae5bc2636e6f5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-17 20:53:22 +02:00
Oswald Buddenhagen
93e0f1223a fix syntax of warning message
Change-Id: I2e0a9afd6e46534156b7277dc5ceaf85d2dd4cac
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-16 17:31:31 +02:00
Andy Shaw
47881a7144 Compile fix for AIX with xlc
The -qtls option is needed when building with thread support so it can
use the local thread storage.

Change-Id: I693d944efddac911fe03b2c9a6b06a28f112b54d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2012-10-16 17:31:31 +02:00
Stephen Kelly
102e1822ff Remove addition of dependencies for static libraries.
The content in the prl file is not compatible with what CMake
expects in the value of the IMPORTED_LINK_INTERFACE_LIBRARIES
property. That property expects a list of IMPORTED targets or
full paths to libraries.

The prl file gives us a whitespace separated string of content
suitable for passing to ld, that is, it contains -L and -l content.
As this would take a lot of error prone parsing in cmake code in
order to resolve the content to a list of full paths to libraries
(which can be processed by any cmake generator), it's better to
remove the code until qmake is able to generate a list of full
paths.

Change-Id: I72fe8e862b7f3bd25a7f9a03db94d2e9b815d08a
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-16 17:31:31 +02:00
Kai Koehne
e76f820e55 QML plugins: Make sure that both debug and release versions are built
Make sure that both debug and release versions of QML plugins are built
if Qt is configured accordingly. Also pass on the other QT_CONFIG configurations.

Change-Id: I4aaaf002068dd66277235bef7d1e3da3366d6d12
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 15:29:15 +02:00
Stephen Kelly
f696205b37 Use the mkspec name Qt was configured with instead of default symlink
The default symlink is not available on Windows, so the qplatformdefs.h
header is not available there. Instead we can bypass the symlink and
use the actual mkspec name directly.

Change-Id: I1d7e05f35c1ff56befab5bed307cb1755ade8377
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 08:41:48 +02:00
Tor Arne Vestbø
3e095fcbf5 Get rid of QT_MODULE_DOC_BASE/QT.foo.docs
It was only needed by qt_module.pri anyways, to handle index lookup
paths for qdoc when building documentation that depends on other modules.

Change-Id: Ibf60e2504f388b1aed7231eee04d89d3ba31c6eb
Hand-held-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-16 02:46:04 +02:00
Jason Barron
7fabf3bd35 Define QMAKE_LIBS_OPENGL_ES2 for win32-g++ mkspec.
Needed to compile Qt with ANGLE.

Change-Id: Ie88aeff21dfeddbfcb6ef14e453c8dc077896a1b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2012-10-15 10:18:31 +02:00
Arvid Picciani
386eb2a5c0 android: set QMAKE_COMPILER
Change-Id: I5b38bf94f0f0d4080b8d355013441c1805524d71
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-13 23:23:33 +02:00
Arvid Picciani
ec9056ba66 android-qt: fix build for jellybean
Change-Id: I2a52770502ec6e70ae0e3928d98c6c573f773579
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-13 23:23:33 +02:00
Arvid Picciani
0aa28cf67a android-eglfs: open the correct fb device for reading attrs
Change-Id: Icedcab50379834fa3456d0e18aaef8a4dd9cf949
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-13 23:23:33 +02:00
Thiago Macieira
76874dea44 Remove the -falign-stack option from ICC's mkspec.
This option was necessary in early ICC 12 releases because of a
difference in interpreting the ABI requirements with GCC. According to
ICC devs, GCC changed the ABI on its own to require 16-byte-aligned
stacks on i386.

It looks like this option has been the default in later ICC 12
releases. At least 12.1 update 5 has it by default. ICC 13 does not
have the option anymore but accepts it silently for backwards
compatibility.

Change-Id: Id8bb4c250718eef2f02dc97bd47a0efd95b272fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-10-13 05:51:19 +02:00
Tor Arne Vestbø
087efb572a Modularize documenation build
qdocconf files can now reference $QT_INSTALL_DOCS to pick up e.g. global
includes, instead of using relative paths. Qt modules will automatically
get a doc target that builds and installs into the right place (including
supporting shadow-builds) if they set QMAKE_DOCS before loading(qt_module).

Change-Id: Ia408385199e56e3ead0afa45645a059d1a8b0d48
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2012-10-10 23:27:03 +02:00
Tor Arne Vestbø
96bc659ea1 Ensure that Qt.module.docs is set when first creating the module-fwd file
This is a follow-up fix to aef441b1.

Change-Id: Ie5e92ecc55ddcbab3e7830a99a77d3748a5568c1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-10-10 14:44:47 +02:00
Stephen Kelly
95e548eeaa Generate ';' separated libraries in prl files for CMake.
The generated CMake files need to pass ';' separated libraries to
the IMPORTED_LINK_INTERFACE_LIBRARIES property, otherwise we get errors
such as this:

http://testresults.qt-project.org/ci/QtTools_master_Integration/build_00386/win32-msvc2010_Windows_7/log.txt.gz

(grep for QtCore5.lib.lib)

Rather than a naive and error prone replacement of whitespace, generate
the appropriate ';' separated content directly in the qmake prl file.

Change-Id: I8eb5e233a0318b57ec74b86d910583ff99c29415
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Brad King <brad.king@kitware.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-10-09 06:09:32 +02:00
Thomas Senyk
38a6d7e7a1 Introduce a Tegra2 mkspec to the device specs
Change-Id: I16275f2f289a78e3217d765934b999b188005c14
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-10-08 17:27:51 +02:00
Thomas Senyk
fcf12a214c Simplify the imx6-device-mkspec
This change is possible due to commit 18654058
As it's now possible to use configure's -sysroot without
gcc's --sysroot, it's possible to use configure's pkg-config setup
(which comes with its -sysroot). This gives the possibility to
simplify the mkspec and be in line with the other device-mkspecs

Change-Id: I0f34ec2c5c7b06334ad3c1605001c0803272b027
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2012-10-08 17:27:29 +02:00
Tor Arne Vestbø
aef441b13d Add QT.module.docs variable to the module system
Change-Id: Ibe54ee44a06747453bc09e006e27187cbee30b23
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2012-10-08 17:14:50 +02:00
Arvid Picciani
38f521b0bd native android support with eglfs
Enable eglfs build against any android > 4 tree,
linking to native libs without emulation layers,
running on top of surfaceflinger.
No GNUs where harmed in the process.

Yes, any android.
Tested on maguro, tf300, eeepc-x86
x86-64 compiles but broken elsewhere.

You don't need an Android.mk, but you must compile from within
a shell setup with androids "lunch" or an equivalent that set TOP and OUT.
Since we do callbacks to androids build system,
the same env restrictions apply (must use gnu bash, and gnumake 3.81)

Done-with: Samuel Roedal <samuel.rodal@digia.com>
Done-with: Robin Burchell <robin+qt@viroteck.net>
Done-with: Brian Avery <brian.avery@nokia.com>

Change-Id: Iec0178cdeadbeefc79e4fe6ef449d399ac8ca666
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2012-10-04 11:58:48 +02:00
Kai Koehne
abbecca7d4 Rename quick1_debug back to declarative_debug
The library name changed back from quick1 to declarative, so the
debug option should be renamed accordingly.

Change-Id: I192520a0a4de4764cf93da8cdbb14e24ba7de093
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-10-04 03:03:00 +02:00
Jason Barron
32b72283d0 Define QMAKE_EXTENSION_STATICLIB for MSVC mkspecs.
Change-Id: Ia652001f9be67b0c509495c054875ca1ef8fc049
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2012-10-03 09:08:27 +02:00
Peter Hartmann
291e1a9e67 QNX: change suffix for separate debug files
QNX uses .sym for files containing debug symbols.

Change-Id: Ieb995ae90af771ff5c877213f4f4982169f333c6
Patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-01 10:34:24 +02:00
Peter Hartmann
80f6d7862c Blackberry mkspecs: Refine compiler options
stack-protector-strong gives performance benefits over
stack-protector-all and is still checking more than -stack-protector,
so seems to be a good middle way and we want to use it when it is
there.

The -shared option for the compiler (not the linker) prevents a
RIM internal version of qcc from forcing -fPIE, and should not harm
in general when set.

In addition, add a method "compilerSupportsFlag" for Windows as is
present in the Unix configure script.

Change-Id: Iba300e9cb82f34043e7b36f8e45287a1aed2a1a5
Original-patch-by: Greg Bentz
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2012-10-01 10:22:06 +02:00
Romain Pokrzywka
84118ffa2c Fix accessing the rpath dir from included modules
The wrong variable was used when reading the module settings

Change-Id: If35dc9694240a68393b24d7dba72520108cb9ac3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-28 21:09:35 +02:00
Romain Pokrzywka
e4486e9fd0 Fix rpath dir in forwarding module .pri file
The module rpath should be the raw QT_INSTALL_LIBS, without the sysroot

Change-Id: I4140929b38a589134872593e4ce35eaf7d1cd5b7
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2012-09-28 21:09:35 +02:00
Stephen Kelly
ff70c020bc Make CMake tests significant on Windows.
All bugs in the testing scripts are now fixed.

Task-number: QTBUG-27087
Change-Id: I764257a9bbee7efeb9265449f6fa6a15bdeba883
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-09-27 15:46:18 +02:00
Stephen Kelly
f8ca79579f CMake: Fix the generated location of static libraries.
We need to make sure to put the .lib file into the LOCATION property,
not the .dll file, when building a static library.

Change-Id: I8912abfd172d0939cd07ba02901ab58093ccefa1
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-26 10:08:59 +02:00
Stephen Kelly
89d5f46dea CMake: Specify the prl files when building with mingw.
As was done in ae6d4c77eb, but that commit
missed the mingw branch.

Change-Id: I1d76ed2f8070dced2749aabe889fee48c4086744
Reviewed-by: Peter Kümmel <syntheticpp@gmx.net>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-26 10:08:59 +02:00
Jan Arve Saether
44a0e972a0 When trying to run cmake, don't show stderr output.
It looks like the qmake process failed if cmake is not installed.

Change-Id: I721796a602d8c572144e9d21be5d62b737698b73
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-09-24 18:01:14 +02:00