summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_module_pris.prf
Commit message (Collapse)AuthorAgeFilesLines
* Say hello to Android multi arch build in one goBogDan Vatra2019-08-261-3/+24
| | | | | | | | | | | | | | Multi arch build in one go is need to support the new .aab packaging format. By default the users apps are built for all Android ABIs: arm64-v8a armeabi-v7a x86_64 x86 The user can pass ANDROID_ABIS to qmake to filter the ABIs during development, e.g. qmake ANDROID_ABIS="arm64-v8a armeabi-v7a" will build only for arm ABIs. [ChangeLog][Android] Android multi arch build in one go, needed to support the new .aab packaging format. Change-Id: I3a64caf9621c2a195863976a62a57cdf47e6e3b5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Resolve QMAKE_INCDIR_VULKAN on every qmake callJoerg Bornemann2019-05-051-2/+6
| | | | | | | | | | | | | | | Do not store this variable locally, because a) it might change if the SDK location changes b) does not play well with Qt installer packages which would provide the include path of the build machine. To achieve this we introduce the (usual) magic value - for QMAKE_EXPORT_INCDIR_VULKAN to denote "do not export this value". Fixes: QTBUG-73796 Change-Id: Ied26ee12cbcdf7f5f6e1caef5d29dadf6309c5d6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* add support for transitive deps to QMAKE_USEOswald Buddenhagen2018-12-071-0/+1
| | | | | | | | | | | | | | | | | | | we already knew the dependencies (as they are declared in the json files), but failed to export them in any way, which made linking against statically built external deps which have deps in turn fail (unless the project happened to pull in the dep anyway, as is the case with qtcore + zlib). the previous assumption was that the USE-able library objects would be self-contained, but that is conceptually unclean. instead, properly export the raw dependencies and resolve them only in qmake_use.prf. note that pkg-config produces self-contained output, so we need to actively subtract the dependencies we know. Change-Id: I4b41a7efc05bbd309a6d66275d7557a80efd5af4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-271-2/+2
|\ | | | | | | Change-Id: Icdd71e9713725bda9c305e338f5c8b41a92ed8e8
| * fix bootstrapped modules in framework builds, take 2Oswald Buddenhagen2017-03-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | the borrowing of headers always happens from "proper" modules which are actually built as frameworks if so requested. that means that even though the borrowing module itself never is a framework, it needs a framework path and include paths that point into frameworks. amends 20c7ab44. Change-Id: Ic582060dd179cc592e9be7792ff02cebdfabd772 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-241-1/+1
|\| | | | | | | | | | | | | Conflicts: mkspecs/features/moc.prf Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
| * fix usage of "empty" librariesOswald Buddenhagen2017-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | a header-only library in a default location would produce no variables at all, making it appear undefined. fix this by forcing the writeout of the QMAKE_LIBS_* variable, and use its definedness (rather than non-emptiness) as a signifier. this works for both QMAKE_USE and configure tests'/libraries' 'use' entries. Change-Id: Id7a1e23725caba1a91ea4db448b4aeb7fe632393 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | stop exporting QT.*.{libexecs,plugins,imports,qml} in module prisOswald Buddenhagen2017-02-061-13/+1
| | | | | | | | | | | | | | | | | | | | | | these are not referenced anywhere, and neither should they, as they are not relevant to _using_ these modules in any way. notably, QT.*.bins remains exported - this is because dlls reside there, so it is necessary for setting up a launch environment. Change-Id: I7a33c72be6e4789ea29a2fbbcac9588213900b6e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | stop exporting QT.*.{MAJOR,MINOR,PATCH}_VERSION in module prisOswald Buddenhagen2017-02-061-6/+0
|/ | | | | | | | | | | | the only users of module versions in the first place are found within qt's own prfs; even qbs' qt module importer ignores them. but arguably, the information makes sense. however, exporting the same barely useful information redundantly is plain over the top, so remove the pre-split representation. Change-Id: Iaee69c86d8b7c8b8ef4f3580b8da333aeb8ade2c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-011-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| * don't strip off plugin subtypesOswald Buddenhagen2016-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | this code is meant to strip off the file name if provided (as the accessibility plugin in qtdeclarative does), but clearly overshot the mark by stripping the subtypes (as needed by qtmultimedia, and soon qtbase as well). use a stricter regexp which matches only names with an extension, which is a Good Enough (TM) approximation. Change-Id: I63afe9c7b1b0ebf4da530dcf558e9c84ae3c85ec Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | stop exporting the library versionsOswald Buddenhagen2016-10-181-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | all users of this functionality have been removed, and not emitting the version info saves quite some noise from the generated files. the reason why the users have been removed is that it was unreliable in the first place: if a dependency is found without pkg-config, no version information would be available. the extraction of the version via pkg-config itself is kept in place, as configure tests could be potentially optimized by utilizing it. this reverts much of commit 48b4e0bf6f. Change-Id: I01917f3b2a56b747d7cc54955141d20d23d0990a Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | propagate the correct library variable to the private module priOswald Buddenhagen2016-10-181-1/+1
| | | | | | | | | | | | | | | | amends 310bf3f57. Change-Id: I6706e9435b7af558a3639d5824330d57430bb057 Reviewed-by: Jake Petroules <jake.petroules@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | make users of qt modules inherit the modules' public QMAKE_USEOswald Buddenhagen2016-10-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when a module makes an external dependency part of its api, the users of that module need to know the include paths (and possibly defines) of that dependency, and also need to link to it explicitly if they want to access symbols from it directly. this patch implements this via the usual qt module pri mechanism. limitation: the external library definitions are in the private pris, so technically a public module is not allowed to make its external dependencies public. we don't have (and don't anticipate) such a case. Change-Id: I2dbbdcfcfc1b200acae151a969976cd668e24f89 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | fix shadow builds with pre-synced headers, part 3Oswald Buddenhagen2016-10-141-3/+0
| | | | | | | | | | | | | | | | | | | | with the new configure system, all modules which have a configure.json also produce a private config header. the forwarding module pri needs to reflect that. Change-Id: If79e10a2643d55ad9aa9815f20297d36d9b9feec Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Modularize the new configure system (infrastructure part)Lars Knoll2016-09-101-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | make use of silent error() emissionOswald Buddenhagen2016-08-081-3/+3
|/ | | | | | | | get rid of the entirely superfluous stock "Aborting." messages - the event triggering the exit has already reported the problem. Change-Id: Ib9dfb9e4212f60eceb2ea432cdf56c5a8afe9d65 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* winrt: Add capabilities as specified by modulesMaurice Kalinowski2016-04-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | So far no capabilities (but internetClient for Windows 10) were added by default, which forced developers to always manually edit the WINRT_MANIFEST.capabilities(_device) property. This allowed to leave out non-required capabilities and keep the created manifest clean, examples being microphone for multimedia. However, this also breaks first user experience as deeper knowledge about this topic is required. Furthermore this is inconsistent with other platforms like Android, where all capabilities are set by default and developers need to edit the manifest manually in any case. With this change, modules can define the capability set to enable all features in the module. If developers want to disable some again, they need to adapt the generated manifest. From our experience this needs to be done in any case, latest at publishing stage when the store manipulates the manifest. Task-number: QTBUG-38802 Change-Id: I6d522268ee0afbfa00a30dbdd5e6ec9f415bebf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6.0' into 5.6Frederik Gladhorn2016-03-171-1/+1
|\ | | | | | | Change-Id: Iac8ff05cd76cbacf859138a73e8e2ed0a979c75a
| * fix non-git non-prefix shadow buildsOswald Buddenhagen2016-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | turns out we need forwarding .pris in this case: without them, QT_MODULE_INCLUDE_BASE points into the build dir, so we fail to find the pre-generated headers. an alternative would be writing primary module .pris which already take that into account, but that would just add even more arcane code paths. Task-number: QTBUG-51521 Change-Id: I59f2a0d3f2095c9dfa0a8d1cabfc007a30bd2d23 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | export private module's deps as run deps of the public moduleOswald Buddenhagen2016-03-071-2/+5
|/ | | | | | | | | | this is necessary for: - generating -rpath-link arguments when link_prl is not used. link_prl is enabled by default, so this has no effect on most projects. - deployment purposes, which is hypothetical as of now. Change-Id: I9e629f3eef93c4edf12efc016ecc27dbe2186d61 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* unbreak propagation of dependencies on private modulesOswald Buddenhagen2016-01-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | most module project files define two logical modules: a public one and the corresponding private one. these are really separate modules as far as qmake is concerned (even though the private one contains just headers), and consequently have separate dependencies - QT and QT_FOR_PRIVATE. as public modules cannot depend on private ones, all private dependencies would have to go to QT_FOR_PRIVATE, and a dependency on the respective public module would have to be added to QT. this would be a bit tedious, so we have a convenience feature which allows putting private dependencies into QT, but automatically "downgrades" them to their public counterpart when creating the public module's .pri file. however, we failed to put verbatim versions of these private dependencies into the private modules, which meant that these dependencies were not pulled in transitively by the private modules' users. note that this entirely unrelated to QT_PRIVATE - this one defines the private (non-propagated) dependencies of the module's implementation, i.e., the libraries (and headers) that are not part of the link interface. there is no QT_PRIVATE_FOR_PRIVATE, because there is obviously no point in assigning the dependencies to a particular logical submodule when neither one inherits them as far as the qt module system is concerned. Change-Id: Ib056b47dde3341ef9a52ffff13efaf8ef8e6817b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make module .pri files more flexibleOswald Buddenhagen2016-01-131-11/+19
| | | | | | | | | | | | save the actual library/framework name and framework paths in the .pri file instead of computing them again at use time in qt.prf. qt_no_framework_direct_includes inherently requires a use-time decision, so this ugliness remains. Change-Id: I09b2775e7d8e1d52e3af0d663e1babde10ae4814 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* rework include path construction in the module systemOswald Buddenhagen2016-01-121-31/+11
| | | | | | | | | | | | | | | the main objective was to fix the bootstrap modules in framework builds. bootstrapped modules which "borrow" headers from "proper" modules can specify this in a clean way now. a side effect of this is that the bootstrap-dbus module now has its own syncqt call. most includepath-related setup from qt_module_pris.prf was moved to qt_module_headers.prf. Change-Id: Ie0d8192cfac1a8cdae0ddd0bc0cd8c3092b1e85b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* 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>