summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_functions.prf
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* 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 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>
* factor out qtAddTargetEnv()Oswald Buddenhagen2012-09-191-0/+31
| | | | | Change-Id: Ib0517da54da98de4b1f2ee7d80bee22316231091 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* factor out qtAddToolEnv()Oswald Buddenhagen2012-09-181-0/+20
| | | | | | | so it's available for other users as well Change-Id: I2d5a14ae427575c07321ac532b13ee03308b837f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* remove 3rd parameter from qtPrepareTool()Oswald Buddenhagen2012-09-181-6/+1
| | | | | | | it's been superseded by the QTTOOL.* module stuff. Change-Id: I01c9fc3ebbb22111bfb03f82693c7cf08b5fc9d4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use each module's lib_bundle settingOswald Buddenhagen2012-09-071-1/+1
| | | | | | | | | ... instead of relying on the global qt_framework flag. Change-Id: Ie23f55788c26d732ada87aab7284c0a1fe0bfa28 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make .private_includes in module pri files "self-contained"Oswald Buddenhagen2012-08-151-7/+1
| | | | | | | | this puts the whole logic of assembling those paths into qt_module. Change-Id: Iafbe3969e3092e294bdb8243b2dffa7a899a7eb8 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* support -rpath for modules which are not installed to QT_INSTALL_PREFIXOswald Buddenhagen2012-08-111-0/+7
| | | | | | | | | | | | | a module's project file may set MODULE_INSTALL_LIBS before loading qt_module.prf to have an alternative RPATH linked into the users of that module. this is relevant only for linking against non-installed -prefix builds of that module, as otherwise .libs from the module's pri file is used for rpath. Change-Id: Ib240e748cf130a71a5991dc643c368a983092ead Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix -rpath-link handling for non-installed prefix buildsOswald Buddenhagen2012-08-111-7/+10
| | | | | | | | | forwarding module pris get rpath_link{,_private} fields, which are used accordingly by qtAddModule(). Change-Id: I0abc2dc8b1e8744dbf7f439aa7fed9ae159c2c74 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qtAddModule(): put search paths directly into LIBS{,_PRIVATE}Oswald Buddenhagen2012-08-111-7/+12
| | | | | | | | | QMAKE_LIBDIR and QMAKE_FRAMEWORKPATH have the downside that they always effectively end up in LIBS, which makes for weird prl files. Change-Id: Iaf61b0038504ff91ae5ec7f9b1255fe3a2d134f1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* assemble the complete tool commands already in qt_tool.prfOswald Buddenhagen2012-08-111-24/+2
| | | | | | | | this saves some repeated calculations. also, it's nicer to have most logic in one place. Change-Id: Iea362d40f5e6203709ced94d29ca61a4163b8e69 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix error message about bad qt modulesOswald Buddenhagen2012-08-111-1/+1
| | | | | | | the variable name is a function parameter now Change-Id: I46f3ce37c157312e7f70291a0cef2d666d50664c Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* adjust qtAddLibrary() to new qtAddModule() parametersOswald Buddenhagen2012-08-081-1/+1
| | | | | Change-Id: Ib5918fa83e78d16fd318590c33b280d9054b2cd6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* add support for QT_PRIVATEOswald Buddenhagen2012-08-071-2/+41
| | | | | | | | | | | | | | | | this is handled the same way as the QT variable, only that the actual libraries end up in LIBS_PRIVATE, not LIBS, which means they don't end up in prl files. the handling of the two variables is entirely independent, including independent dependency resolution, so some libraries will typically end up twice on the linker command line. this is not a problem. Change-Id: I257ad0d414bf273c08a7bd6a874fe9ddb7356009 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* use QMAKE_LIBDIR for passing LSB library pathOswald Buddenhagen2012-08-041-1/+1
| | | | | | | -L in QMAKE_LFLAGS is just wrong Change-Id: I05eae0bb5e5e3dc8f8234616cb2ccdfba1d517fb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix host vs. makefile directory separator messOswald Buddenhagen2012-07-281-2/+2
| | | | | | | | | | | | | | | | | the system path separator and shell are bound to the host system (system() will use cmd even on mingw with sh.exe in path). the makefiles otoh may depend on what the qmakespec defines. consequently, add $$system_path() and $$system_quote() (for use with system() & $$system()). $$native_path() is renamed to $$shell_path() and should be used with $$shell_quote() to produce command lines in makefiles. $$QMAKE_DIR_SEP needs to be applied to Option::dir_sep right after parsing the spec, so it is available to $$shell_{path,quote}(). Change-Id: If3db4849e7f96068cf03a32348a24f3a72d6292c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* make the prl lookup search in standard locationsOswald Buddenhagen2012-07-121-4/+2
| | | | | | | | | | | | qtAddModule() skips adding standard library paths to LIBS. however, as processPrlFiles() didn't know anything about that, it would not find the prl files of qt libraries in these paths. so centralize the definition of these default paths (we should actually ask the linker for them) and use it in both places. do the same for the include paths for symmetry. Change-Id: I7e3692dc2d1c2d0c97a9151d15887b1263de137a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix linking against installations in /usr/libOswald Buddenhagen2012-07-101-2/+2
| | | | | Change-Id: I17a6a2e058f039e525461d459477329fd7090417 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* deal with %PATH% containing parenthesesOswald Buddenhagen2012-07-091-1/+2
| | | | | | | | we need to make cmd escape the expanded output, so it doesn't confuse its own command line parsing (which happens later!). Change-Id: I0c2c71d276c0aebe3c2163f7f08db8050a14d7ce Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>