profile/ivi/qtbase.git
12 years agolet default_pre add modules to the qmake path
Oswald Buddenhagen [Mon, 2 Apr 2012 16:59:24 +0000 (18:59 +0200)]
let default_pre add modules to the qmake path

that way qmake is made aware of the forwarding pris which are generated
for this module even when a top-level .qmake.cache prevents the module's
root from being found automatically.
the path is also added to the cache, so that subsequent partial
qmake-ing of the tree will still find the module.

this also makes the -cache-module-fwd parameter of syncqt useless, so
remove it.

Change-Id: I2afbc52a465c0b3260e9bcaf032c43a82ae8061f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agorecognize QMAKEMODULES env var, property and cache variable
Oswald Buddenhagen [Thu, 10 May 2012 13:34:05 +0000 (15:34 +0200)]
recognize QMAKEMODULES env var, property and cache variable

the latter allows sub-projects to dynamically extend the qmake search path
specifically for modules. the others are just for congruency with
QMAKEPATH and QMAKEFEATURES.

Change-Id: I0c099035f8dc8ee8645566dbc635644a15ed9da5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agolook for mkspecs/ even below .qmake.cache/.conf-determined root
Oswald Buddenhagen [Wed, 6 Jun 2012 20:14:41 +0000 (22:14 +0200)]
look for mkspecs/ even below .qmake.cache/.conf-determined root

otherwise a cache/config in an aggregator project may unduly hide the
mkspecs/ of the aggregated project from qmake's view.

Change-Id: Idb0b124de071822f8f55463d9f8a4d194ef3130e

12 years agoadd support for a super cache
Oswald Buddenhagen [Thu, 10 May 2012 10:59:14 +0000 (12:59 +0200)]
add support for a super cache

qmake will now look for .qmake.super, just like it looks for .qmake.cache,
and the cache() function has a mode to write this super cache.
this allows the creation of aggregator projects like, say, qt5.
a notable difference to the normal cache is that this file is *not* added
as a dependency of the Makefile. this means that modifications done by
later sub-projects will not cause a re-processing of earlier projects, and
consequently that one should be cautious regarding what information to
store there.
another notable difference is that this file is read *before* the spec,
so the spec can use the variables from the cache without resorting to
$$fromfile() & co.

Change-Id: I4807b6d34014261fa9eebd6f0ae128b802d86691
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agolook for .qmake.conf files
Oswald Buddenhagen [Thu, 10 May 2012 09:22:07 +0000 (11:22 +0200)]
look for .qmake.conf files

this is the source dir equivalent of .qmake.cache and can be checked
into the repository. it can be used to make project-wide settings, or
just to signal the presence of an mkspecs/ directory.

Change-Id: I5f1cebad2aa2a89e78089341b2051613b6b7a613
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agofind .qmake.cache for subprojects independently
Oswald Buddenhagen [Thu, 10 May 2012 08:41:54 +0000 (10:41 +0200)]
find .qmake.cache for subprojects independently

this allows the creation of aggregator projects, like, say, qt5.
this is not expected to have a negative impact, as no project could
reasonably expect a nested .qmake.cache to *not* take effect - in fact,
if the project was processed stand-alone, it would already use it.

Change-Id: I33f2935d309baba7e95465f2fefb8231c4f03eda
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoallow setting QMAKEPATH and QMAKEFEATURES in .qmake.cache
Oswald Buddenhagen [Thu, 7 Jun 2012 10:48:40 +0000 (12:48 +0200)]
allow setting QMAKEPATH and QMAKEFEATURES in .qmake.cache

Change-Id: Ie383abb57c06cb49d38345d64750837b8fe14c70
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodon't duplicate project_build_root's calculation needlessly
Oswald Buddenhagen [Fri, 27 Apr 2012 16:14:56 +0000 (18:14 +0200)]
don't duplicate project_build_root's calculation needlessly

Change-Id: Id2f343c450149b13b52c2cae8eb6eb4bfd73fc03
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomove generation of module master headers to qt_module_headers
Oswald Buddenhagen [Fri, 13 Apr 2012 14:17:12 +0000 (16:17 +0200)]
move generation of module master headers to qt_module_headers

this has the advantage that the %mastercontent assignments in sync.profile
are not necessary any more. as it happens, most modules got them wrong
anyway.

Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake master phonon compat header a forwarding header
Oswald Buddenhagen [Wed, 25 Apr 2012 10:28:36 +0000 (12:28 +0200)]
make master phonon compat header a forwarding header

instead of writing the same file twice, just forward to the compat
header, like it is done for every other header.

Change-Id: I8c908f80149aff4720cca6d51ab5b550c31f78b1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove detection-based usage of modules which are frameworks
Oswald Buddenhagen [Thu, 12 Apr 2012 18:55:53 +0000 (20:55 +0200)]
remove detection-based usage of modules which are frameworks

each qt module comes properly declared and located, so there is simply
no point in performing a search.

Change-Id: I86fad21bb8e128b85f1000cc116cc44a23642eb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agofix direct includes from modules which are frameworks
Oswald Buddenhagen [Thu, 12 Apr 2012 18:54:05 +0000 (20:54 +0200)]
fix direct includes from modules which are frameworks

Change-Id: I1f2c1e5ebdb2fa258500a08b32dcafb4150ee424
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agolet modules which are frameworks remember that fact
Oswald Buddenhagen [Fri, 1 Jun 2012 06:23:12 +0000 (08:23 +0200)]
let modules which are frameworks remember that fact

this will allow us to not rely on the modules matching the global
qt_framework setting.

Change-Id: Ic1dce757ff63d06af54a2428e23a1bbcf1c81ba1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove workarounds for broken syncqt
Oswald Buddenhagen [Thu, 12 Apr 2012 18:33:20 +0000 (20:33 +0200)]
remove workarounds for broken syncqt

SYNCQT.HEADER_FILES contains qconfig.h just fine nowadays.

Change-Id: I52b35d2ac41d772acaef06f3931df75742c867cb
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoautomatically add QT_BUILD_FOO_LIB to DEFINES
Oswald Buddenhagen [Wed, 11 Apr 2012 15:28:49 +0000 (17:28 +0200)]
automatically add QT_BUILD_FOO_LIB to DEFINES

Change-Id: I35d9861e48469eb5cc8824e361450684047e6559
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove backwards compatibility hacks
Oswald Buddenhagen [Wed, 11 Apr 2012 10:04:17 +0000 (12:04 +0200)]
remove backwards compatibility hacks

there won't be terribly many projects relying on it. now's the time to
find out for sure ...

this reverts commit 3279b07302fde0eb14f9b197c9ad2e14d512817e

Change-Id: Id36687ab3bfc7dd5ce35b584621a8f5b3ee00fc9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoclean up projects from QPRO_PWD nonsense, etc.
Oswald Buddenhagen [Tue, 10 Apr 2012 18:42:59 +0000 (20:42 +0200)]
clean up projects from QPRO_PWD nonsense, etc.

Change-Id: I4c41aedf5bfb37e31ad202cacd2312b0bdb168e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoauto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTION
Oswald Buddenhagen [Tue, 10 Apr 2012 18:35:04 +0000 (20:35 +0200)]
auto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTION

less boilerplate, more accuracy

Change-Id: I6cc2abd50eafb4901d987c122f10a62ec9ea9da3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomove QMAKE_PKGCONFIG_VARIABLES stuff out of qt_module_config.prf
Oswald Buddenhagen [Tue, 10 Apr 2012 18:04:23 +0000 (20:04 +0200)]
move QMAKE_PKGCONFIG_VARIABLES stuff out of qt_module_config.prf

this only needs to be set in one module each - the one which provides
the relevant tool.

this is moderately source-incompatible, in that a package which queries
a given variable from the wrong library won't get the path it looks for
any more. as it's likely that everyone was using QtCore as a reference
anyway, this will only affect uic - which is in the new QtWidgets
library, to which people need to adjust anyway.

Change-Id: If05d3c33fda6cd12466e261391b825c59651d3e4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove ACTIVEQT_IDC assignment from QMAKE_IDC
Oswald Buddenhagen [Fri, 13 Apr 2012 14:14:54 +0000 (16:14 +0200)]
remove ACTIVEQT_IDC assignment from QMAKE_IDC

the specs have been cleaned of it

Change-Id: Ica0ab4d5f9d36f1f9566759326f3b3144e34cd67
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove support for CONFIG+=qt_compat
Oswald Buddenhagen [Tue, 10 Apr 2012 17:17:12 +0000 (19:17 +0200)]
remove support for CONFIG+=qt_compat

this is truly prehistoric stuff

Change-Id: Ia781fc03c081bff895f4d2b5325d3624441bdf5f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodon't explicitly inject qt header/library paths
Oswald Buddenhagen [Tue, 10 Apr 2012 17:06:41 +0000 (19:06 +0200)]
don't explicitly inject qt header/library paths

the modules already do that on demand.

Change-Id: I889a5cd7b62631e2551ada4b096f20b3b79b2c75
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoalways add library path from module
Oswald Buddenhagen [Wed, 11 Apr 2012 16:25:29 +0000 (18:25 +0200)]
always add library path from module

that way we can theoretically support modules outside $QTDIR.
also, it's just cleaner.

Change-Id: I6139ebc7328b64ace8552b3e54f9a8c69248ceec
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake module includepath addition less convoluted
Oswald Buddenhagen [Tue, 10 Apr 2012 16:49:01 +0000 (18:49 +0200)]
make module includepath addition less convoluted

don't prepend the paths, as this will only mess up building of
subsequent modules (e.g., building qtdeclarative against an installed
qtbase would pick up the headers from the qtdeclarative previously
installed into the same directory as qtbase).
for frameworks this was a rather pointless exercise in the first place,
as their headers are properly isolated anyway.

however, make sure that we don't add system locations to the search
paths, as this is a) unnecessary and b) messes up subsequent libraries
in non-standard locations which want to shadow versions in standard
locations (pkg-config .pc files which add standard paths are considered
broken as well).

Change-Id: Ie1dc65d4767e98e1df6e49012505141935a6c704
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoadd qtCompileTest()
Oswald Buddenhagen [Thu, 5 Apr 2012 14:47:35 +0000 (16:47 +0200)]
add qtCompileTest()

this fully replaces qtmodule-configtests.
it is way shorter and it actually integrates reasonably with qmake.

Change-Id: I819cc6807ad3661c419b54fa253894936dd88a64
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodo not route qtmodule-configtests invocation through syncqt
Oswald Buddenhagen [Wed, 4 Apr 2012 12:02:10 +0000 (14:02 +0200)]
do not route qtmodule-configtests invocation through syncqt

there is completely no reason to do it.

Change-Id: Ie186ef4c1bbd12c256acb2fe374d12ebe777d6c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodon't use qt_module_config for winmain
Oswald Buddenhagen [Fri, 13 Apr 2012 15:46:42 +0000 (17:46 +0200)]
don't use qt_module_config for winmain

it is not really a Qt module, and pretending causes some messups.

Change-Id: Id0980f7c00d6d176dd4937f8b265b8b571aa1277
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoauto-generate module pris
Oswald Buddenhagen [Mon, 4 Jun 2012 15:12:24 +0000 (17:12 +0200)]
auto-generate module pris

Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodon't refer to module versions during bootstrap
Oswald Buddenhagen [Wed, 11 Apr 2012 09:54:35 +0000 (11:54 +0200)]
don't refer to module versions during bootstrap

once we auto-generate the pris while building their respective modules,
the versions won't be available during bootstrap yet.
however, as these are core modules, their version is locked to the global
$$QT_VERSION anyway, so just use that.

Change-Id: I092f5e7d4dfe99c03e0df71f9409cac9be9f2297
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
12 years agomove creation of module version header to qt_module_headers
Oswald Buddenhagen [Thu, 26 Apr 2012 11:18:10 +0000 (13:18 +0200)]
move creation of module version header to qt_module_headers

Change-Id: I650b495ec1789eb03b31d796f9f475ba01aab2d3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agocreate module version headers in build dir, not source dir
Oswald Buddenhagen [Wed, 11 Apr 2012 12:22:11 +0000 (14:22 +0200)]
create module version headers in build dir, not source dir

Change-Id: I07bf4dbeba2d35284ecf55542f9cd457b2e49b80
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake %inject_headers a per-module config value
Oswald Buddenhagen [Wed, 11 Apr 2012 12:13:01 +0000 (14:13 +0200)]
make %inject_headers a per-module config value

it's module-specific.
on the way, fix it to actually support multiple files.

Change-Id: I796b0e98e38a54754022e0e2fa48cecb54d06ff4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoautomatically add the module version headers to %classnames
Oswald Buddenhagen [Wed, 11 Apr 2012 14:03:18 +0000 (16:03 +0200)]
automatically add the module version headers to %classnames

Change-Id: I7706a0d54e704320e9e1e480b387e46417739ccf
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoautomatically add the version header to HEADERS
Oswald Buddenhagen [Wed, 11 Apr 2012 10:48:43 +0000 (12:48 +0200)]
automatically add the version header to HEADERS

Change-Id: I7c2e1d852ebdbc5cca7a3a31ab2b4c9ab9faffd9
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agofactor out qt_module_headers.prf
Oswald Buddenhagen [Wed, 25 Apr 2012 09:41:09 +0000 (11:41 +0200)]
factor out qt_module_headers.prf

this doesn't make too much sense as such, but the file will grow.

Change-Id: Iceaecdc24f83b3dafb40c8d2f1b6cddafa2d70a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake sure that forwards for injected headers are not garbage-collected
Oswald Buddenhagen [Wed, 11 Apr 2012 13:40:37 +0000 (15:40 +0200)]
make sure that forwards for injected headers are not garbage-collected

qmake-generated version headers don't exist yet at the time syncqt runs,
so the forwarding headers would be deleted - just to be re-created a
moment later, thus changing the timestamp for no good reason.

Change-Id: I1b4c2f05f57c2315adf4b8dd726ea413ede1be5b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agofix status output for generated headers
Oswald Buddenhagen [Wed, 11 Apr 2012 12:34:39 +0000 (14:34 +0200)]
fix status output for generated headers

Change-Id: I92c250037eb1b1838998cddbaea6ca065153e86e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake headers.pri locality determination less convoluted
Oswald Buddenhagen [Tue, 10 Apr 2012 17:46:12 +0000 (19:46 +0200)]
make headers.pri locality determination less convoluted

the location is determined by syncqt rather precisely. no need to
reverse-engineer config files.
$$HEADERS_PRI doesn't seem used anywhere, so don't set it as a side
effect.

Change-Id: I54a63356c350c0ddae4c880bf374fcd127282429
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agogenerate fwd-pris in qt_module_config, not in syncqt
Oswald Buddenhagen [Mon, 16 Apr 2012 12:13:12 +0000 (14:13 +0200)]
generate fwd-pris in qt_module_config, not in syncqt

the forwarding pri is loaded even if it was still created by syncqt, so a
top-level qmake -r will still catch it even in the future.

Change-Id: I2e4b556cd06eb88be9ee378662a2e6e1bff67ad7
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agobring statements into a somewhat logical order
Oswald Buddenhagen [Mon, 16 Apr 2012 12:11:23 +0000 (14:11 +0200)]
bring statements into a somewhat logical order

Change-Id: I7bfbcd414bd2c8ff82e210c075b88f1ca00d3b73
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove qt from CONFIG for non-artifact templates
Oswald Buddenhagen [Tue, 3 Apr 2012 17:27:55 +0000 (19:27 +0200)]
remove qt from CONFIG for non-artifact templates

there is no point in adding Qt modules to SUBDIRS projects.
as QT contains core and gui by default, the operations are relatively
expensive, so skip them when they are unneeded.

Change-Id: Ibe6447ff452e403cb040fabe245d248edbda0eaa
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodefine have_target CONFIG flag
Oswald Buddenhagen [Tue, 10 Apr 2012 12:18:20 +0000 (14:18 +0200)]
define have_target CONFIG flag

the check whether we are building a lib or an app (and thus have a target)
is done by quite some feature files (and generally wrongly, as they do not
account for the new aux target), so centralize it in default_post.prf.

Change-Id: I868edbc4185be8a6c23ecd4a2c126024d73cdeb4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoadd possibility to install a module with no library
Oswald Buddenhagen [Fri, 30 Mar 2012 12:11:59 +0000 (14:11 +0200)]
add possibility to install a module with no library

the declarative module is a fake, so there is no library to install.

Change-Id: I0dcd39f3304e38adce9ea34e2268905525abd3d5
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake version fallback code sane
Oswald Buddenhagen [Fri, 30 Mar 2012 12:09:34 +0000 (14:09 +0200)]
make version fallback code sane

the qt version is always set.
otoh, we need to allow the module to override the own version.

Change-Id: Ic3eb7dae59a5fb011cede09151553b652a0a1d78
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove some symbian cruft
Oswald Buddenhagen [Fri, 20 Apr 2012 18:10:38 +0000 (20:10 +0200)]
remove some symbian cruft

- Option::mmp_ext
- references to dead QMAKE_INTERNAL_ET_PARSED_* variables

Change-Id: I863605b23798cbca3f6c8ab5a154fd432f1f4dcc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove last traces of js support
Oswald Buddenhagen [Wed, 18 Apr 2012 10:09:48 +0000 (12:09 +0200)]
remove last traces of js support

don't even complain about trying to use js-based feature files. we have
been doing that for long enough.

Change-Id: Ib58ec204322442c488e8d780989f26b1e32595ed
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove explicit RCC_DIR addition to INCLUDEPATH
Oswald Buddenhagen [Tue, 10 Apr 2012 17:30:20 +0000 (19:30 +0200)]
remove explicit RCC_DIR addition to INCLUDEPATH

qrc_ files are generally not meant to be included, so there is not much
point in doing this.
qprintsupport was a notable exception - which broke on mac and thus
needed a hack. just remove the qrc_ inclusion.

Change-Id: If5115665f331a280869e800673bf7b81d3ab559a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake qmake module path configurable separately
Oswald Buddenhagen [Mon, 14 May 2012 13:24:25 +0000 (15:24 +0200)]
make qmake module path configurable separately

this is needed by webkit's creative directory layout.

Change-Id: I2317162c11696d2820423d63563b10d3024a6cb6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agowrite forwarding pris to $outpath/mkspecs/modules
Oswald Buddenhagen [Mon, 2 Apr 2012 15:04:01 +0000 (17:04 +0200)]
write forwarding pris to $outpath/mkspecs/modules

this makes qmake find them automatically now.
consequently, also do not write QMAKE_EXTRA_MODULE_FORWARDS to
.qmake.cache. still write the cache file, though, as otherwise a
top-level cache would mess up the module root detection.

Change-Id: I998b94fcc73ca3f8bf1af09a394ff8d40cf1fb76
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove useless variable assignment
Oswald Buddenhagen [Tue, 3 Apr 2012 12:19:32 +0000 (14:19 +0200)]
remove useless variable assignment

Change-Id: I3552305473cd0150d83c1e2a3c9fb0c4097244cc
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agorename QMAKE_SYNCQT_OUTDIR => MODULE_BASE_OUTDIR
Oswald Buddenhagen [Tue, 15 May 2012 10:36:33 +0000 (12:36 +0200)]
rename QMAKE_SYNCQT_OUTDIR => MODULE_BASE_OUTDIR

a variable name should not reflect the tool which uses it, but its
purpose - especially, as the scope will be extended soon.

this variable is used by webkit, which has a somewhat creative directory
layout.

Change-Id: Id3d3fad6ed9395cb967aeabc79e47a0ba17f5423
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake splitPathList() return an empty list for an empty string
Oswald Buddenhagen [Mon, 12 Mar 2012 16:24:47 +0000 (17:24 +0100)]
make splitPathList() return an empty list for an empty string

this makes the user code a bit cleaner

Change-Id: I3713c73c5c19cf69341be65480917eda0b967b77
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake qt_module_config.prf install the module pri file
Oswald Buddenhagen [Tue, 13 Mar 2012 14:53:10 +0000 (15:53 +0100)]
make qt_module_config.prf install the module pri file

absorb module.prf into qt_installs.prf, as that's where it belongs.
add qt_install_module option and automatically set it in
qt_module_config. make qt_installs use that option.

Change-Id: I860616f3a29a456f7b88ddaffa09375400c8911e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake qtAddLibrary() a noisy compat wrapper for qtAddModule()
Oswald Buddenhagen [Thu, 1 Mar 2012 17:49:29 +0000 (18:49 +0100)]
make qtAddLibrary() a noisy compat wrapper for qtAddModule()

it's used by people (in particular, qt creator), so it would be not nice
to just delete it entirely.

Change-Id: I6bd849d00ebfe3b9b126e01a6d1c6e7c6584d8ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agopurge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT
Oswald Buddenhagen [Mon, 26 Mar 2012 12:58:59 +0000 (14:58 +0200)]
purge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QT

they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get.

Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agosimplify code which determines how/where to create forwarding pris
Oswald Buddenhagen [Wed, 28 Mar 2012 14:06:43 +0000 (16:06 +0200)]
simplify code which determines how/where to create forwarding pris

the qtbase install dir being a build dir is a necessary and sufficient
condition for detecting a developer build.

Change-Id: I3d98c789ac6fbe570980459edabb9a941bf1e5d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomove $QTDIR handling out of syncqt
Oswald Buddenhagen [Tue, 3 Apr 2012 10:11:48 +0000 (12:11 +0200)]
move $QTDIR handling out of syncqt

instead, always pass -qtdir (which, btw, is a slight misnomer - it
should be -qtdatadir) with the correct path. this centralizes the
relevant logic in default_pre.prf.

Change-Id: Icc788d3f3e5f7b68b444e63e181efdea3b4ef160
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agomake use of $$[FOO/get] properties
Oswald Buddenhagen [Thu, 22 Mar 2012 11:40:00 +0000 (12:40 +0100)]
make use of $$[FOO/get] properties

this cleans up a lot of hacks supporting the build of qt, including the
last bits of $QTDIR.

Change-Id: Id119886ed8097967dad6cf86ebd4e71d90c42841
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agointroduce /get property variants
Oswald Buddenhagen [Thu, 3 May 2012 13:36:03 +0000 (15:36 +0200)]
introduce /get property variants

properties are now split into a write location $$[FOO] and a read
location $$[FOO/get]. the write locations are hard-coded and configurable
via qt.conf/Paths as before, while the read locations are configured via
qt.conf/EffectivePaths.

this finally provides a clean solution to the problem that during the qt
build itself tools and libraries need to be taken from somewhere else
than they are installed to.

Change-Id: I956c43bd082afd465e690fe75d0bee3c2c0f7c25
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
12 years agopurge unused VcprojGenerator::findTemplate()
Oswald Buddenhagen [Fri, 1 Jun 2012 09:26:34 +0000 (11:26 +0200)]
purge unused VcprojGenerator::findTemplate()

it looked fishy for years. now i know why. ;)

Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4

12 years agodon't generate make_default targets
Oswald Buddenhagen [Mon, 1 Feb 2010 17:16:39 +0000 (18:16 +0100)]
don't generate make_default targets

make_first really means the same, as the default target is 'first'
which immediately invokes make_first.

as a nice side effect, this fixes ALL_DEPS not being used by the subdirs
template's default target - make_default wasn't special-cased in the
right place, while make_first is.

Change-Id: I946cea3b2dae198eda61d31dbd19c6ccd15deac7
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$reverse() function
Oswald Buddenhagen [Fri, 27 Apr 2012 09:51:55 +0000 (11:51 +0200)]
add $$reverse() function

returns the list with the order of the elements reversed.
one can easily implement this with existing functions, but this is way
faster and more readable.

Change-Id: I12d306eb9fe58fc332622274ea6b658192529491
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoadd $$shell_quote() function
Oswald Buddenhagen [Fri, 20 Apr 2012 13:40:11 +0000 (15:40 +0200)]
add $$shell_quote() function

to be used in system() calls and when assembling EXTRA_COMPILER and
INSTALLS .commands by hand.

Change-Id: Id706cd56aa267a9fb4b14e3416692b4716fafa5b
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$absolute_path() and $$relative_path()
Oswald Buddenhagen [Thu, 26 Apr 2012 11:19:53 +0000 (13:19 +0200)]
add $$absolute_path() and $$relative_path()

just exposes QDir::fooFilePath() wrapped into QDir::cleanPath()

Change-Id: I7a7644084825fd8092a9910ac20f695c4d9351f6
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$native_path() function
Oswald Buddenhagen [Fri, 20 Apr 2012 13:38:43 +0000 (15:38 +0200)]
add $$native_path() function

more or less QDir::toNativeSeparators(QDir::cleanPath())

Change-Id: I52deee1e8086559eda5833b387a0cf64d21cbcd9
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$clean_path() function
Oswald Buddenhagen [Fri, 20 Apr 2012 13:37:25 +0000 (15:37 +0200)]
add $$clean_path() function

just QDir::cleanPath()

Change-Id: I2d51e2385939d8926c00f296537ab7f6757d9a79
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$format_number() function
Oswald Buddenhagen [Tue, 3 Apr 2012 11:35:53 +0000 (13:35 +0200)]
add $$format_number() function

Change-Id: I04266c1f5fb72af94073f3f508cee59085e365b6
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$shadowed() function
Oswald Buddenhagen [Wed, 9 May 2012 13:29:25 +0000 (15:29 +0200)]
add $$shadowed() function

return the build directory corresponding to a given source directory.
this is the identity function if not shadow-building. if input lies
outside the source directory, return empty value.

Change-Id: I2d2a6b1112bd19989fe29cfe19a12d39a0d208c1
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$val_escape() function
Oswald Buddenhagen [Tue, 13 Mar 2012 16:15:27 +0000 (17:15 +0100)]
add $$val_escape() function

this quotes the elements of a variable in a way suitable for re-parsing
as qmake code.

Change-Id: I0e6ea2478c43b5aeff45f485a48ac8c86705dd4a
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd $$enumerate_vars() function
Oswald Buddenhagen [Thu, 1 Mar 2012 17:49:20 +0000 (18:49 +0100)]
add $$enumerate_vars() function

this simply returns the keys of all variables in the context.

Change-Id: I0092f827744fcd257dfb9e7ca664c87c6f1cc763
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agomake defined() support testing definedness of variables
Oswald Buddenhagen [Mon, 2 Apr 2012 13:41:15 +0000 (15:41 +0200)]
make defined() support testing definedness of variables

Change-Id: I58d2dd402d72ee5a19012a6b5a4ba111717d40cc
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd mkpath() function
Oswald Buddenhagen [Thu, 5 Apr 2012 10:45:23 +0000 (12:45 +0200)]
add mkpath() function

Change-Id: I8809b9ee4e85fbe8cec95641d659f237c5f51a26
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd log() function
Oswald Buddenhagen [Thu, 5 Apr 2012 10:26:15 +0000 (12:26 +0200)]
add log() function

this is a literal print to stderr.

Change-Id: Ib0a2f53373ebbc4e0bda07a38d656bce145b31cf
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd touch() function
Oswald Buddenhagen [Mon, 2 Apr 2012 16:08:49 +0000 (18:08 +0200)]
add touch() function

this is equivalent to unix "touch --no-create --reference <ref> <file>".
QFile has no setLastModified() (even though QFileInfo has
lastModified()), so the implementation is low-level.

Change-Id: I6783e8f2613e168ad0c24e79e7384d5b2e4901ee
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd write_file() function
Oswald Buddenhagen [Fri, 27 Apr 2012 12:01:08 +0000 (14:01 +0200)]
add write_file() function

this dumps the contents of a variable into a file. each element of the
variable is considered a line; line terminators are added. all missing
directories are automatically created.

Change-Id: Idafeb873cea64e6705c894b3ab0ef21df69e7170
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd cache() function
Oswald Buddenhagen [Fri, 27 Apr 2012 16:34:09 +0000 (18:34 +0200)]
add cache() function

this function adds the current contents of the named variable to the
cache. this comprises populating base_vars and appending an assignment
to .qmake.cache. if no cache file exists yet, it will be created in the
current output directory (and inherited by subdirs projects). if called
without a variable name, only create the cache file if missing.

Change-Id: I1e81c2238aa6a5817a6ebbfb022e2b995c349363
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoadd "blob" and "lines" modes to $$cat() and $$system()
Oswald Buddenhagen [Tue, 3 Apr 2012 13:55:45 +0000 (15:55 +0200)]
add "blob" and "lines" modes to $$cat() and $$system()

this bypasses the otherwise done insane word splitting

Change-Id: Ia9b8980bc0770de3999544a06d239f55fb34f801
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agorewrite fixPaths()
Oswald Buddenhagen [Wed, 25 Apr 2012 12:29:58 +0000 (14:29 +0200)]
rewrite fixPaths()

now the phonon paths are actually normalized.
just relying on File::Spec for the path relativization, so the code is
much shorter.

Change-Id: I69d6bac73e366ed0f754e1282a375871ce5559c4
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agoremove dead variable
Oswald Buddenhagen [Wed, 25 Apr 2012 09:54:57 +0000 (11:54 +0200)]
remove dead variable

Change-Id: Ic37c2a0da6346f044df10c7d8b5ee1a95efcc29c
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agodon't use abs_path on input arguments
Oswald Buddenhagen [Fri, 20 Apr 2012 15:00:30 +0000 (17:00 +0200)]
don't use abs_path on input arguments

for one, the input paths are already absolute.
second, if a path does not exists, abs_path will fail, which makes the
fallback code which tries to create them rather pointless.

Change-Id: Ie56ff09313e48e82e8bc8e8f06eca384644de464
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agomove moc, rcc and uic CONFIG additions to the respective qt modules
Oswald Buddenhagen [Fri, 24 Feb 2012 18:21:51 +0000 (19:21 +0100)]
move moc, rcc and uic CONFIG additions to the respective qt modules

they don't belong into the global scope

Change-Id: I27a3de5f706392b3c4a84035521bc3b4e4055740
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove last traces of qbase.pri, qt_targets.pri and qt_installs.pri
Oswald Buddenhagen [Tue, 13 Mar 2012 13:25:07 +0000 (14:25 +0100)]
remove last traces of qbase.pri, qt_targets.pri and qt_installs.pri

qt_module_config.prf, qt_targets.prf and qt_installs.prf replace them

Change-Id: I6fc670ce8540dbd9ddaec1632d486e43a7ebf14b
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove some DEPENDPATH nonsense
Oswald Buddenhagen [Tue, 13 Mar 2012 14:42:21 +0000 (15:42 +0100)]
remove some DEPENDPATH nonsense

qt is built with depend_includepath anyway

Change-Id: I3967ad0bb52f5a3d88fceaf102c79f6711aaa83a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove some qmake -project boilerplate from project files
Oswald Buddenhagen [Thu, 12 Apr 2012 10:03:01 +0000 (12:03 +0200)]
remove some qmake -project boilerplate from project files

Change-Id: I5e6103db42b4fcca4ed4c2ffaec71e71e73d5b95
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodispose of library-bound feature files
Oswald Buddenhagen [Thu, 1 Mar 2012 17:10:22 +0000 (18:10 +0100)]
dispose of library-bound feature files

specifically, qtestlib.prf, qdbus.prf, help.prf, designer.prf and
quitools.prf - they have been obsoleted by modularization.
add noisy backwards compat hack to qt.prf.

Change-Id: I26f84fdd51798265471e20dd1f40efec59b1087e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years ago-qconfig needs no own switch case any more
Oswald Buddenhagen [Mon, 2 Apr 2012 17:20:11 +0000 (19:20 +0200)]
-qconfig needs no own switch case any more

Change-Id: I56c14cb7a2bf9e6641c48574d2b13436c1b7f714
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove the insane switch case for qt-style yes options
Oswald Buddenhagen [Mon, 2 Apr 2012 17:14:19 +0000 (19:14 +0200)]
remove the insane switch case for qt-style yes options

it only serves to create merge conflicts. the treatment is the same as
for "unclassified" options anyway (they ignore the value, so it can be
"yes" just as well).

Change-Id: I9a75769338b4dc1f58493f1a1f1dd2c2e895290a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agodon't overquote make command
Oswald Buddenhagen [Wed, 13 Jun 2012 13:19:46 +0000 (15:19 +0200)]
don't overquote make command

$(MAKE) is apparently already quoted when the path contains spaces

Change-Id: Ie09a0f43083f9eae95fc135c3a74364eaa356934

12 years agoclean up path normalization in configure.exe and QLibraryInfo
Oswald Buddenhagen [Wed, 28 Mar 2012 14:00:06 +0000 (16:00 +0200)]
clean up path normalization in configure.exe and QLibraryInfo

always use normalized path separators, except when running native
commands or printing (note however that the qmake -query output will now
be consistently normalized).

Change-Id: I6ae920c3bc656cb517d1f4e4e5518cf79e002169
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agorewrite SUBDIRS construction logic
Oswald Buddenhagen [Fri, 1 Jun 2012 14:43:46 +0000 (16:43 +0200)]
rewrite SUBDIRS construction logic

clearer and gets the conditional dependencies right

Change-Id: Ifb24a4a84caffb0e3b45af7eb8cb21f5c5861d54
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
12 years agodetach src/src.pro and src/tools/tools.pro from qtbase.pro
Oswald Buddenhagen [Fri, 1 Jun 2012 14:37:42 +0000 (16:37 +0200)]
detach src/src.pro and src/tools/tools.pro from qtbase.pro

they were included instead of being proper subdirs. this doesn't appear
to be necessary for anything at this point.

Change-Id: Ie57285df8e5ea7bd8883bcd42fa6ed62b8e1d54d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoremove convoluted recursive debug/release target magic
Oswald Buddenhagen [Tue, 3 Apr 2012 14:50:04 +0000 (16:50 +0200)]
remove convoluted recursive debug/release target magic

this has been a) dysfunct and b) unnecessary for *quite* a while.

Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Change-Id: I5d658a15d0c1dc923002f8d773eecb8382cd213d

12 years agomake makefile generation under unix sane
Oswald Buddenhagen [Fri, 24 Feb 2012 13:35:56 +0000 (14:35 +0100)]
make makefile generation under unix sane

we now simply call qmake -r, which is also what we do under windows.
-fast mode is retained for examples and tests, though with moderately
modified semantics (i couldn't be bothered to decipher what the old ones
were supposed to be).

Change-Id: Id2c2d2bed9c8d52ac42f31b388bffc34f4649650
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoproperly declare the host tools as such in the project files
Oswald Buddenhagen [Fri, 3 Feb 2012 21:13:12 +0000 (22:13 +0100)]
properly declare the host tools as such in the project files

don't mess with the qmake cmdline args any more.

Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agointroduce ability to build projects for the host system
Oswald Buddenhagen [Tue, 31 Jan 2012 17:36:18 +0000 (18:36 +0100)]
introduce ability to build projects for the host system

when qmake runs into the new option(host_build) command, it will restart
the project evaluation with a host spec.

the new default host spec is called default-host (gasp!). it is
overridden with the pre-exising -spec / -platform option, while the new
-xspec / -xplatform option overrides the pre-existing default spec.
specifying -spec but not -xspec will set the xspec, too, so the behavior
is backwards-compatible. same for the XQMAKESPEC override read from
.qmake.cache and the environment variable.
the cleaner solution would be adding -hostspec, to be symmetrical with
the override semantics, but that would deviate from configure in turn.

Change-Id: I4297c873780af16ab7928421b434ce0f1d3820da
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoRevert "make default_pro.prf advertize dynamically created .qmake.cache"
Oswald Buddenhagen [Wed, 9 May 2012 16:39:05 +0000 (18:39 +0200)]
Revert "make default_pro.prf advertize dynamically created .qmake.cache"

... and followup fixes.
this is not needed any more due to the breaking patch being reverted.

Change-Id: Ia3416fcc16ddece680efbd0322286a601879fa0a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoRevert "move .qmake.cache search to Option"
Oswald Buddenhagen [Wed, 9 May 2012 13:14:37 +0000 (15:14 +0200)]
Revert "move .qmake.cache search to Option"

We are now moving in the exact opposite direction.
This logically reverts commit 059200a44ba7177d0c9ec6bb5e6ee0b7e0c3f017.
Some adjustments were necessary to maintain the project root stuff.

Conflicts:

qmake/main.cpp
qmake/option.cpp
qmake/option.h
qmake/project.cpp

Change-Id: Ic14fa571cbbfe9ac159f92493e49741d70a87eff
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoRevert "move finding the makespec to Option"
Oswald Buddenhagen [Wed, 9 May 2012 10:47:02 +0000 (12:47 +0200)]
Revert "move finding the makespec to Option"

Needed for an upcoming revert.
This reverts commit 74a6669fa7c0d6e2cb7d34d56332d620d2a07755.

Conflicts:

qmake/option.cpp
qmake/project.cpp
qmake/property.cpp

Change-Id: I56088506d27bf1f095f9261c75224f4bee17ec60
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
12 years agoQEvent: Don't give DeferredDelete special treatment
Bradley T. Hughes [Mon, 18 Jun 2012 10:08:16 +0000 (12:08 +0200)]
QEvent: Don't give DeferredDelete special treatment

After commit 9b07fd0d5cae6846f0eaccf3dc51bc9e78559a05, Qt no longer
keeps the loop-level in QEvent's d-pointer. This means we no longer need
to special case this event type in the QEvent copy constructor,
assignment operator, and destructor.

Change-Id: Iff71713d38303674f4517fdfa169cc448ed41dd4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
12 years agoclang: Do not use libstdc++ when C++11 is enabled
Bradley T. Hughes [Wed, 13 Jun 2012 11:23:53 +0000 (13:23 +0200)]
clang: Do not use libstdc++ when C++11 is enabled

We expect that the C++ library also supports C++11 when the compiler
says it does as well. When using clang with libstdc++, the library has
no C++11 support or headers, so we cannot use, for example, #include
<initializer_lists>.

Change-Id: I844877107256f15ab314e8f82fe54434dbb07638
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>