summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_module_pris.prf
Commit message (Collapse)AuthorAgeFilesLines
* fix the determination whether to build a module as a frameworkOswald Buddenhagen2015-11-191-1/+1
| | | | | | | | | | | | CONFIG+=qt_framework is actually put into qconfig.pri, so it's always set in framework builds. things (sometimes) worked only by virtue of the qt_framework checks being in "else" branches of "static" checks. use lib_bundle instead, which triggers the actual framework build anyway. amends b72d1db44. Change-Id: Ib725c43476d9fb38bad940ce09905d29ff3edfa3 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* centralize determination whether a module is built as a frameworkOswald Buddenhagen2015-11-171-1/+1
| | | | | Change-Id: Ie5f8ab6bb789536707050f0fd83b953650028cf2 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* simplify qt rpath codeOswald Buddenhagen2015-09-171-10/+0
| | | | | | | | | the rpath applies only to the installed on-device location and is consequently always the same for all modules, so there is no point in indirections. Change-Id: Ia0590552aa317d799a2d3879fd0c0768344b9645 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* allow modules to declare that they have generated private includesOswald Buddenhagen2015-05-201-2/+9
| | | | | Change-Id: Ifbd561aab9c6a6634930b525aa1d51b9ad792a09 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* make headers-only modules work for framework buildsOswald Buddenhagen2015-04-271-3/+3
| | | | | | Change-Id: I00125883335c5b8cc556b4e4c964e11c55aa989b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* don't try to include non-existing private module .priOswald Buddenhagen2015-04-211-2/+5
| | | | | | | amends b8f79e7095d1. Change-Id: If4358634a66947d7644224466b239e470d15afda Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make it possible to suppress the creation of a private moduleOswald Buddenhagen2015-03-271-2/+2
| | | | | | | | | while every "real" module has private headers, a very small headers-only module could reasonably have none. entirely hypothetically, of course. ;) Change-Id: Ib51a66858fb7d62f45fe2928625c25aa1ffc2827 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* export modules with TEMPLATE=aux as no_linkOswald Buddenhagen2015-03-271-1/+3
| | | | | | | they have no library to link against, obviously. Change-Id: I721670382c1ec56e19130f0a0ecef616e101b885 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* support spaces in build and install dirsOswald Buddenhagen2015-02-171-14/+15
| | | | | | | | spaces in the source dir are not supported for now, as that requires some more profound refactoring of the bootstrap makefiles. Change-Id: Ie0c07a1558b8326f642f2ea144bc1cd85ee761af Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* introduce /dev variants of qmake propertiesOswald Buddenhagen2015-02-051-1/+1
| | | | | | | | | these reflect the on-target paths (unlike /raw, which are host paths, just without the -sysroot). this is necessary for anything deployment-related, starting with RPATH. Change-Id: I13d598995d0e4d6cb0dc1fc7938b8631cf3e3a95 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix linking of sources without LTCG to a static lib with LTCGThiago Macieira2014-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | Whenever a binary is created and linked against a static lib that was compiled with LTCG, the final linking step requires the compiler flags so that the pre-compiled data in the shared library can get properly compiled. This could happen for a static build of Qt with LTCG, but also happens frequently for Qt's own build when linking regular libraries and applications against QtBootstrap or QtPlatformSupport. The linking fails when the target is a shared library (example: QtWaylandClient linking against QtPlatformSupport). The .prl file actually contains the "ltcg" flag, so the best solution would actually be to process that flag there and add link_ltcg if any dependent .prl has "ltcg", but I couldn't find out how to do that. Change-Id: I4a75a14d1dcb8c2089a427285e25d5555df7d7d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* add support for explicitly declaring the module master headerOswald Buddenhagen2014-10-291-0/+5
| | | | | | | | | | | | when a module delegates to another module (as the activeqt ones do), it doesn't have a master header to be included. we could derive the real master header by doing a transitive dependency resolution and some filtering, but that seems unnecessarily complex. Task-number: QTBUG-41892 Change-Id: Ie7ce51a837ac06e929b204ec734206c11b3ae241 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* make module-by-module build work when old builds are installedOswald Buddenhagen2014-07-301-3/+5
| | | | | | | | | | | | | | | | when doing a module-by-module build, we need to also use includes and libraries from the install tree, as it contains the current module's dependencies. but a pre-existing installation of the current module must not be found first, as it would cause trouble latest when it was somehow incompatible. but purely topological sorting of the dependencies could cause the locations to be mixed up. therefore we give modules which are part of the current build a priority boost. Change-Id: I8fdbb46f0a2a630781c8a2177468039c1122151a Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix list of cached module variablesOswald Buddenhagen2014-04-301-2/+1
| | | | | | | | | makes configure -fully-process less broken. Change-Id: I7d22898b1e6994eb46359afca3fc4ad08e334946 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Martin Jansa <Martin.Jansa@gmail.com>
* automatically link plugins belonging to qt modules when building static appsOswald Buddenhagen2014-04-091-1/+5
| | | | | | | | | | | | | | | | the plugins already declare which modules they belong to. additionally, we allow plugins to declare which modules they "extend" - e.g., while the Quick accessibility plugin belongs to Gui's 'accessiblity' type, it makes no sense to link it unless Quick is actually linked. finally, it is possible to manually override the plugins which are linked for a particular type, by setting QTPLUGIN.<type> (to '-' if no plugins of this type should be linked at all). Task-number: QTBUG-35195 Change-Id: I8273d167a046eb3f3c1c584dc6e3798212a2fa31 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make better use of $$MODULE_PLUGIN_TYPESOswald Buddenhagen2013-10-241-1/+2
| | | | | | | | | | | | | | | | | | the module project files declare what plugins they need, as that is necessary for automatic android deployment. enable wider usage of this by making the information available from the module .pri files. caveat: the variable is called "types", but is in fact paths, so there can be particular plugins named. use this new facility to replace the egregious hard-coded list of plugin-to-module mappings from create_cmake. possible todo: automate populating DEPLOYMENT (for wince, and whatever else). Change-Id: Ibb9c07cfe2b0008905204cbeb81e9c8e2ae4dc69 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* rewrite handling of private modulesOswald Buddenhagen2013-10-241-53/+69
| | | | | | | | | | | | | | | | instead of being magic attributes of the main modules, the privates are now proper modules of their own. this cleans up some code paths, is more mappable to other build tools, and enables private modules to depend on other private modules. note that the library path is needed even in the "empty" private modules, as in the framework case that's where headers are found. consequently, the modules need to be explicitly marked with the new "no_link" flag. this required some reorganization of qtAddModule(). Change-Id: I8e4f44a609f8d639cc01bcb658256870a627eb63 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make requirement for -private suffix explicit, take 2Oswald Buddenhagen2013-07-051-2/+6
| | | | | | | | | | the previous attempt broke ActiveQt, as it actually has public modules without headers (they are provided by a common base module). so explicitly mark the internal modules as such instead of applying heuristics. Change-Id: I8d8a2ee66f02c3444da2036a497e7f382f089f62 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* redo include path logic for pre-generated headersOswald Buddenhagen2013-06-101-16/+32
| | | | | | | | | make the include dir in the source tree the "main" include path, as that's where the majority of the headers is. then selectively add the shadowed dirs. Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* update some comments relating to forwarding module pri filesOswald Buddenhagen2013-06-101-1/+1
| | | | | Change-Id: I3486f949fee2ac977e3cde669188790e5f4b3167 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* allow modules to extend their MODULE_{,PRIVATE_}INCLUDESOswald Buddenhagen2013-06-101-0/+2
| | | | | Change-Id: I5e401edbe891846579cf6d9ff84427d16783923b Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't add absent private include paths to non-git buildsOswald Buddenhagen2013-06-051-2/+2
| | | | | | | | | all private headers are created by syncqt (and are thus in the source dir), so we can simply override the normal (build dir based) paths instead of extending them. Change-Id: I9c1f3344c401b481b3f3d2295515f1aabffaa9a0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix non-git non-shadow non-prefix non-qtbase buildsOswald Buddenhagen2013-06-051-1/+2
| | | | | | | | | | these builds usually assume all headers in the qtbase build (== source == install) dir, so the path for adding our pre-generated per-module include paths needs to be triggered explicitly. Change-Id: I57ec441d58cdf8186907ee6c36dce08daa206c49 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* run syncqt only for builds from gitOswald Buddenhagen2013-06-031-1/+14
| | | | | | | | | | | | | | | | | the logic in the configures was even trying to express that, only that nowadays we always ship syncqt, so the tests were kinda pointless. this frees us from the perl dependency for non-developer builds of packaged modules (except for webkit, which needs almost every scripting language on earth anyway). obviously, this requires that the packaging scripts run syncqt in the source dir before tarring up the sources. note that for repositories other than qtbase, the -version argument needs to be passed to syncqt. Task-number: QTBUG-29465 Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless quoting of MODULE_*INCLUDES assignmentsOswald Buddenhagen2013-06-031-3/+3
| | | | | | | it would only cause trouble further down the line. Change-Id: Ied9ba8a1ecf36b77e1091c73564bd7601ea6a6b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* install host libraries into -hostprefixOswald Buddenhagen2013-05-131-7/+19
| | | | | | | | | | | | | | ... and introduce -hostlibdir configure option for symmetry. the libraries built for the host have no business in the target prefix. in principle this code would even support dynamically linked host libraries, but that's currently unused. Task-number: QTBUG-30591 Change-Id: I8e600fa4911a020fb0e87fbf7ef2f35647c7c4d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Ivan Romanov <drizt@land.ru>
* Merge remote-tracking branch 'gerrit/release' into stableSamuel Rødal2013-03-211-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/qt_module_headers.prf mkspecs/features/qt_tool.prf src/angle/angle.pro src/tools/bootstrap/bootstrap.pro tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp Change-Id: Ide5759fe419a50f1c944211a48f7c66f662684e0
| * enumerate modules in QT_MODULES, not QT_CONFIGOswald Buddenhagen2013-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QT_CONFIG is supposed to contain configure output, not a list of modules. for example, enumerating modules is not cleanly possible if modules are mixed with other flags. the conflation was merely historical, due to webkit and phonon doing it this way in the preliminary qt4 modularization. we now have a much cleaner way to query modules (qtHaveModule(<module>), or less recently, !isEmpty(QT.<module>.name)), which is already used throughout Qt. the old way was supposed to be removed for 5.0 already, but it slipped. better do it now, before people actually start using it. Change-Id: Iabdf0cdfaab9cd674f634f4c6ece105b2039c850 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * broaden the effect of CONFIG+=force_independent somewhatOswald Buddenhagen2013-03-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | modules which demand it (i.e., qtwebkit) need forwarding pris, etc., even when not making a -prefix build. Change-Id: Id405be8763e94cc074854f799bd785e9cdf62e8e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Andras Becsi <andras.becsi@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | consolidate syncqt invocationsOswald Buddenhagen2013-03-131-1/+1
|/ | | | | | Change-Id: Ic28ea95201501b05c4a62366d1f70fa120161927 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix lack of rpath-link when using modules from final locationOswald Buddenhagen2013-02-041-44/+5
| | | | | | | | | | | | if the libraries are in a non-standard location, but no rpath is used, rpath-link is needed. this is often the case for non-prefix builds (which have no forwarding pris any more). as we cannot store absolute paths in the final pris, we need to store the module names, and resolve them only at use time. Change-Id: I1538b5d531611c76a2d7058a3b2ff683bdcbe427 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't create forwarding module pris for non-prefix buildsOswald Buddenhagen2013-01-311-62/+78
| | | | | | | | | | | as everything is built inside the common build/install dir, there is no point in the fwd pri stuff. as a "side effect", this makes it more straight-forward to relocate non-prefix builds, which is the default on windows. Task-number: QTBUG-28827 Change-Id: I010246a9ad87cf74974dc168768b1a8625f73260 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* qt_module_fwdpri.prf => qt_module_pris.prfOswald Buddenhagen2013-01-311-0/+144
move the regular pri file creation into the "sub-prf" and rename it accordingly. the original reason for the split was the deep magic in activeqt (and phonon), which is gone now. Change-Id: If40e941afc9293725630ed6bcf3e4ef18a692f66 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>