summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
Commit message (Collapse)AuthorAgeFilesLines
* rewrite handling of private modulesOswald Buddenhagen2013-10-241-63/+59
| | | | | | | | | | | | | | | | 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>
* purge auto_use_privates module optionOswald Buddenhagen2013-10-241-4/+3
| | | | | | | | it was introduced as a hack to simplify writing tests, but the change to make use of it was backed out of testlib and nobody seems to care. Change-Id: Icc86621b865276e86593afdb923247bbdca19d49 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* return()-related break() insanity is not necessary in qt5Oswald Buddenhagen2013-10-231-1/+1
| | | | | Change-Id: I593c7160e44d51d25dee76c56c2e5580345ab42a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* don't suggest to use qtAddModule(), it's internal APIOswald Buddenhagen2013-10-231-1/+1
| | | | | | Change-Id: Idf01d0dd74a0708014b7fca33611535c604a75f9 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-071-0/+1
|\ | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| * export QT_TOOL_ENV to the tool module pri fileOswald Buddenhagen2013-08-271-0/+1
| | | | | | | | | | | | | | | | fixes "make ts" in qttranslations in a non-installed prefix build. amends 13e01fda1 Change-Id: I2547d825c1c71e42fdacab5edaace67247ef69e7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-211-0/+5
|\| | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| * suppress error output from pkg-configOswald Buddenhagen2013-08-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | under normal circumstances, any errors will be noticed already by the pkg-config --exists call, which is silent anyway. therefore this doesn't change anything in normal qmake usage. however, lupdate's and creator's evaluators skip the --exists calls and subsequently invoke the normal query, which then prints useless noise to the terminal. Task-number: QTBUG-28159 Change-Id: I536412060f3830aafeb0587f855cd6af11227bca Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | don't include non-framework include paths when using frameworksOswald Buddenhagen2013-08-201-5/+4
|/ | | | | Change-Id: Ia72d5b611b9870b83846299bc7642841b09b84b1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make requirement for -private suffix explicit, take 2Oswald Buddenhagen2013-07-051-1/+1
| | | | | | | | | | 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>
* Merge branch 'release' into stableSergio Ahumada2013-07-031-0/+3
|\ | | | | | | Change-Id: I982a86e1b99e3ae629e8c5667bc7bdf9f4018b2e
| * make requirement for -private suffix explicitOswald Buddenhagen2013-07-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | if a private module was used without the suffix, it would not add any include paths, but the library would be still added. as long as the includes were written as <Module/private/Header>, this would not become visible, as the public modules would add the common include path ... however, this soon won't be the case for mac frameworks any more. this change makes the problem visible early on. Change-Id: I8b1a20313ad736cb49507f07fa623e9aa812f651 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-251-6/+6
|\| | | | | | | Change-Id: I4c0ae2ac1c10d4d50c03625c802d981b7850ed6f
| * install private headers into frameworksOswald Buddenhagen2013-06-251-0/+4
| | | | | | | | | | | | Task-number: QTBUG-31641 Change-Id: Ifadc380c0a8983b2be93194e2e2257494b13dff8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * un-nest conditionalsOswald Buddenhagen2013-06-251-3/+1
| | | | | | | | | | | | | | | | it's cleaner, and it makes it possible to actually have a single else branch. Change-Id: I5ef917b678e2bd5a2face8ee19e942e5e952aa80 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * mac framework build: always set QMAKE_FRAMEWORKPATHOswald Buddenhagen2013-06-251-3/+1
| | | | | | | | | | | | | | | | | | | | | | don't mess with the -F linker flag manually. qt headers include other headers via the canonical Module/Header syntax, which means that the compiler also needs the -F flag. QMAKE_FRAMEWORKPATH does exactly that. Task-number: QTBUG-29003 Change-Id: I5f4af1a462697cd6996c54436ccdb9fc2b216020 Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-06-201-12/+33
|\| | | | | | | Change-Id: I94bb158562ae6b80a87b40139d7302ea7b9b9aa8
| * fix LD_LIBRARY_PATH manipulation in uic calls not being make-escapedOswald Buddenhagen2013-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | the evaluator has the bug that function arguments are inherited. work around that by passing an explicitly empty 3rd parameter to qtAddTargetEnv(). proper fix upcoming in less critical branch. Change-Id: Ic45cc890abaa6271985590d4ebe02c96bff6dec4 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix rcc & uic .depend_commandsOswald Buddenhagen2013-06-151-7/+26
| | | | | | | | | | | | | | | | | | | | unlike the .command, the .depend_command is not executed by make via its chosen shell, but qmake itself via the system's native shell. consequently, it needs different path separators and no make-escaping. Task-number: QTBUG-31289 Change-Id: I480f815753632db6e8d4725f463f8a1fc59680a6 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * always $-escape make commandsOswald Buddenhagen2013-06-151-1/+1
| | | | | | | | | | | | | | | | nmake needs %-escaping in addition to $-escaping, not instead. this has little practical impact, so it went unnoticed. Change-Id: I144b6142eec0151d83a22e0ac5ead7b0415cdafa Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * fix command over-escaping in vcproj filesOswald Buddenhagen2013-06-151-2/+4
| | | | | | | | | | | | | | | | | | the vs ide executes the commands verbatim, so they must not be make-escaped. Task-number: QTBUG-31289 Change-Id: Ie73fd5c4da5527c2d10bc94ccdf60f8a1ca21351 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * assemble the tool commands at use time, after allOswald Buddenhagen2013-06-151-4/+4
| | | | | | | | | | | | | | | | | | | | | | the precise syntax depends on what exactly the command is used for, so we need to resolve it at the last moment. see followup commits. This logically reverts commits 6f4ff81380862ad0e788151b35d742f548241d5a and 731e6bece5cebe205ca47c1c078c7ac18984ba1c. Change-Id: If285c91d7521069be86d32593b5c2ae2027b3038 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | remove pointless return code checkingOswald Buddenhagen2013-06-171-3/+2
| | | | | | | | | | | | | | | | qtAddModule() always returns true anyway. the real checking is done by qtAddModules() and qtAddLibrary() itself. Change-Id: Ieed821acc36dc57ca52aec3e6b2dd6513be9b6c1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | make use of QT_MODULES to simplify codeOswald Buddenhagen2013-06-171-3/+2
| | | | | | | | | | Change-Id: I1124088f807023faf678e030cfb1fc4a4c8b40d7 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Support setting the library-search environment on a few more OSsThiago Macieira2013-05-311-1/+3
|/ | | | | | | | | | | | | | | Most Unix systems will honor LD_LIBRARY_PATH (all ELF-based systems definitely do), so let's not make it an error if the user isn't compiling on Linux or FreeBSD. The only known exception are Darwin / Mac OS X and AIX. For everything else, cause an error. The list of unames came from: http://en.wikipedia.org/wiki/Uname. AIX does not use ELF, so its variable is called LIBPATH: http://publib.boulder.ibm.com/infocenter/forms/v3r5m0/index.jsp?topic=/com.ibm.form.api.configuring.doc/api_configuring_unix_path.html Change-Id: I67055e6a231aa1430d91431e7cab5f98f0e1bd95 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* remove qtPrepareTool()'s ability to run batch filesOswald Buddenhagen2013-05-131-5/+1
| | | | | | | | | | | it was only meant to automatically support syncqt.bat, which is gone now. fwiw, invoking batch files from within msys Makefiles was broken to start with, as sh cannot directly run them. Change-Id: I435568c578ce79e46f4e230e985ca9a04b34ffff Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless extension check from qtPrepareTool()Oswald Buddenhagen2013-05-131-1/+1
| | | | | | | | we never call it with an explicit extension, so this only complicates matters. Change-Id: Ib15180130359bb9575bf5dda564f8b817431618f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* make qtPrepareTool recognize perl scripts by extensionOswald Buddenhagen2013-05-131-1/+3
| | | | | | | | this makes it possible to directly execute perl scripts on windows. Change-Id: Ibbb90d46518ea8ac4f695d07141700630b33fab3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix LD_LIBRARY_PATH setup of check targetsOswald Buddenhagen2013-03-151-5/+2
| | | | | | | amends 4c34b418 Change-Id: Id9d214fe936d947aaea4a56fd724ad50381032e1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* simplify qtAddModule() by using $$qtPlatformTargetSuffix()Oswald Buddenhagen2013-02-201-6/+1
| | | | | Change-Id: I02b6c1eb2db0c8a36c50b1ec3c79dea215fba03a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove pointless conditionals and expansions from qtLibraryTarget()Oswald Buddenhagen2013-02-201-4/+1
| | | | | | | | this function is called only from library TEMPLATEs, and always with exactly one word as the only argument. Change-Id: I6282e3826791f89e6cf89dde625c8166e4e56028 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* add QT_CONFIG's static/shared to CONFIG on startupOswald Buddenhagen2013-02-181-1/+1
| | | | | | | | | ... instead of as a fallback in default_post. it was this way in qt4, and it requires less code to be written in the end. we are already doing it for debug/release as well. Change-Id: I6e02849d61d14a18375cf64a5990768931ebac48 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove useless unset()sOswald Buddenhagen2013-02-131-1/+0
| | | | | | | | there is mightily little point in unsetting variables right before unconditionally assigning to them. Change-Id: I24c1814ce38bf9aab4496679b1a670f3cd55c536 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use install path as fallback when locating toolsOswald Buddenhagen2013-02-111-1/+1
| | | | | | | | | | | | all non-installed tools are properly registered, so they don't need the fallback. conversely, we can assume that non-registered tools are already installed. this enables us to build docs in qtbase after an incremental build+install up to qttools. Change-Id: I95a55f6b84e01885bcf6dd656caf0dd2b679bb73 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix transitive linking for x-buildsOswald Buddenhagen2013-02-051-1/+0
| | | | | | | | | | | | | -rpath does *not* imply -rpath-link when x-building: ld(1): "Searching -rpath in this way is only supported by native linkers and cross linkers which have been configured with the --with-sysroot option." it doesn't hurt to have the "excess" -rpath-link for native builds, so just remove the cleanup. Change-Id: Ic39c1f4d6c2e3770d43a5ed3e56cf89a146edf85 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix lack of rpath-link when using modules from final locationOswald Buddenhagen2013-02-041-9/+18
| | | | | | | | | | | | 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>
* add and use qtHaveModule() functionOswald Buddenhagen2012-12-211-0/+7
| | | | | | | | | | | this is much more elegant than the so far propagated !isEmpty(QT.foo.name). also replace feature-specific tests (no-gui and no-widgets) and the obsolete contains(QT_CONFIG, foo) syntax. Change-Id: Ia4b3c8febcabf9eeca67b1f9173a523820b1038b Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com> Reviewed-by: Tasuku Suzuki <stasuku@gmail.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* fix static lib dep additionOswald Buddenhagen2012-12-111-5/+6
| | | | | | | | | | leave MODULE_LIBS unmodified - MODULE_LIBS_ADD takes the role of the filtered variable. Change-Id: I2a67078bbc453eccc08317a1ca8e3228cbc3a8f7 Reviewed-by: Davide Pesavento <davidepesa@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* introduce QMAKE_RPATHLINKDIR (and QMAKE_LFLAGS_RPATHLINK)Oswald Buddenhagen2012-12-031-3/+4
| | | | | | | | | complementary to QMAKE_RPATHDIR. this avoids that we need to sprinkle linux/gcc specific code all over the place. Task-number: QTBUG-27427 Change-Id: Iebafd1749d1a0d803704902473df8c743f074ddc Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* resolve private dependencies of tools as wellOswald Buddenhagen2012-12-021-1/+2
| | | | | | Change-Id: I25c73661489f0a6e6ecf3bb423cdae6435221e25 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* packagesExist(): always return false if QT_CONFIG contains no-pkg-configMilian Wolff2012-11-211-1/+2
| | | | | | | | | | | | | 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>
* qtAddModule(): define PRE_TARGETDEPS for static modulesJ-P Nurmi2012-11-141-4/+8
| | | | | | | | 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>
* define the module rpath in the installed module pri fileOswald Buddenhagen2012-11-131-5/+1
| | | | | | | | | | | 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>
* Insert the Qt major version (5) in the library namesThiago Macieira2012-11-101-3/+13
| | | | | | | | | | | 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>
* make it possible to put removals into modules' .CONFIG and .DEFINESOswald Buddenhagen2012-11-081-4/+13
| | | | | | | the respective flags/defines need to be prefixed with a minus sign. Change-Id: I8a3a46254f90d4ecdbd692a0eca635038691d078 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* fix tool invocation for -prefix + -framework builds on macxOswald Buddenhagen2012-10-291-5/+9
| | | | | | | | 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>
* redo QT_PLUGIN_PATH assembly for non-installed executionOswald Buddenhagen2012-10-291-7/+7
| | | | | | | | | 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>
* escape constructed command for makefilesOswald Buddenhagen2012-10-261-2/+5
| | | | | Change-Id: Iec7f2bd7b02d03bf6a99dde363a41578924e523c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Refactor recursive target logic out of default_post into functionTor Arne Vestbø2012-10-181-0/+26
| | | | | | | | | 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>
* Fix accessing the rpath dir from included modulesRomain Pokrzywka2012-09-281-1/+1
| | | | | | | The wrong variable was used when reading the module settings Change-Id: If35dc9694240a68393b24d7dba72520108cb9ac3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>