summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* make qmake module path configurable separatelyOswald Buddenhagen2012-06-191-1/+4
| | | | | | | this is needed by webkit's creative directory layout. Change-Id: I2317162c11696d2820423d63563b10d3024a6cb6 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* write forwarding pris to $outpath/mkspecs/modulesOswald Buddenhagen2012-06-193-15/+4
| | | | | | | | | | 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>
* remove useless variable assignmentOswald Buddenhagen2012-06-191-3/+0
| | | | | Change-Id: I3552305473cd0150d83c1e2a3c9fb0c4097244cc Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* rename QMAKE_SYNCQT_OUTDIR => MODULE_BASE_OUTDIROswald Buddenhagen2012-06-191-2/+2
| | | | | | | | | | | 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>
* make splitPathList() return an empty list for an empty stringOswald Buddenhagen2012-06-192-20/+10
| | | | | | | this makes the user code a bit cleaner Change-Id: I3713c73c5c19cf69341be65480917eda0b967b77 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make qt_module_config.prf install the module pri fileOswald Buddenhagen2012-06-1915-19/+17
| | | | | | | | | 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>
* make qtAddLibrary() a noisy compat wrapper for qtAddModule()Oswald Buddenhagen2012-06-191-46/+10
| | | | | | | | 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>
* purge QMAKE_INCDIR_QT and QMAKE_LIBDIR_QTOswald Buddenhagen2012-06-1966-142/+4
| | | | | | | they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get. Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* simplify code which determines how/where to create forwarding prisOswald Buddenhagen2012-06-191-29/+6
| | | | | | | | 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>
* move $QTDIR handling out of syncqtOswald Buddenhagen2012-06-192-8/+3
| | | | | | | | | 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>
* make use of $$[FOO/get] propertiesOswald Buddenhagen2012-06-196-52/+10
| | | | | | | | 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>
* introduce /get property variantsOswald Buddenhagen2012-06-197-14/+89
| | | | | | | | | | | | | | | 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>
* purge unused VcprojGenerator::findTemplate()Oswald Buddenhagen2012-06-192-17/+0
| | | | | | it looked fishy for years. now i know why. ;) Change-Id: I822cadecaf8d914f383f9f907b92507852e434b4
* don't generate make_default targetsOswald Buddenhagen2012-06-191-5/+3
| | | | | | | | | | | | 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>
* add $$reverse() functionOswald Buddenhagen2012-06-192-1/+15
| | | | | | | | | 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>
* add $$shell_quote() functionOswald Buddenhagen2012-06-192-1/+79
| | | | | | | | 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>
* add $$absolute_path() and $$relative_path()Oswald Buddenhagen2012-06-192-1/+24
| | | | | | | just exposes QDir::fooFilePath() wrapped into QDir::cleanPath() Change-Id: I7a7644084825fd8092a9910ac20f695c4d9351f6 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$native_path() functionOswald Buddenhagen2012-06-192-1/+11
| | | | | | | more or less QDir::toNativeSeparators(QDir::cleanPath()) Change-Id: I52deee1e8086559eda5833b387a0cf64d21cbcd9 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$clean_path() functionOswald Buddenhagen2012-06-192-1/+11
| | | | | | | just QDir::cleanPath() Change-Id: I2d51e2385939d8926c00f296537ab7f6757d9a79 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$format_number() functionOswald Buddenhagen2012-06-192-1/+89
| | | | | Change-Id: I04266c1f5fb72af94073f3f508cee59085e365b6 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add $$shadowed() functionOswald Buddenhagen2012-06-196-2/+43
| | | | | | | | | 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>
* add $$val_escape() functionOswald Buddenhagen2012-06-192-1/+22
| | | | | | | | 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>
* add $$enumerate_vars() functionOswald Buddenhagen2012-06-191-1/+5
| | | | | | | this simply returns the keys of all variables in the context. Change-Id: I0092f827744fcd257dfb9e7ca664c87c6f1cc763 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make defined() support testing definedness of variablesOswald Buddenhagen2012-06-191-0/+2
| | | | | Change-Id: I58d2dd402d72ee5a19012a6b5a4ba111717d40cc Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add mkpath() functionOswald Buddenhagen2012-06-192-1/+19
| | | | | Change-Id: I8809b9ee4e85fbe8cec95641d659f237c5f51a26 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add log() functionOswald Buddenhagen2012-06-191-6/+13
| | | | | | | this is a literal print to stderr. Change-Id: Ib0a2f53373ebbc4e0bda07a38d656bce145b31cf Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* add touch() functionOswald Buddenhagen2012-06-191-1/+74
| | | | | | | | | 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>
* add write_file() functionOswald Buddenhagen2012-06-192-2/+53
| | | | | | | | | 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>
* add cache() functionOswald Buddenhagen2012-06-191-3/+222
| | | | | | | | | | | 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>
* add "blob" and "lines" modes to $$cat() and $$system()Oswald Buddenhagen2012-06-191-25/+63
| | | | | | | this bypasses the otherwise done insane word splitting Change-Id: Ia9b8980bc0770de3999544a06d239f55fb34f801 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* rewrite fixPaths()Oswald Buddenhagen2012-06-191-41/+12
| | | | | | | | | 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>
* remove dead variableOswald Buddenhagen2012-06-191-1/+0
| | | | | Change-Id: Ic37c2a0da6346f044df10c7d8b5ee1a95efcc29c Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* don't use abs_path on input argumentsOswald Buddenhagen2012-06-191-7/+5
| | | | | | | | | 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>
* move moc, rcc and uic CONFIG additions to the respective qt modulesOswald Buddenhagen2012-06-198-7/+6
| | | | | | | they don't belong into the global scope Change-Id: I27a3de5f706392b3c4a84035521bc3b4e4055740 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove last traces of qbase.pri, qt_targets.pri and qt_installs.priOswald Buddenhagen2012-06-195-6/+1
| | | | | | | qt_module_config.prf, qt_targets.prf and qt_installs.prf replace them Change-Id: I6fc670ce8540dbd9ddaec1632d486e43a7ebf14b Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove some DEPENDPATH nonsenseOswald Buddenhagen2012-06-191-9/+0
| | | | | | | qt is built with depend_includepath anyway Change-Id: I3967ad0bb52f5a3d88fceaf102c79f6711aaa83a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove some qmake -project boilerplate from project filesOswald Buddenhagen2012-06-1913-35/+3
| | | | | Change-Id: I5e6103db42b4fcca4ed4c2ffaec71e71e73d5b95 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* dispose of library-bound feature filesOswald Buddenhagen2012-06-197-28/+22
| | | | | | | | | | 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>
* -qconfig needs no own switch case any moreOswald Buddenhagen2012-06-191-7/+1
| | | | | Change-Id: I56c14cb7a2bf9e6641c48574d2b13436c1b7f714 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove the insane switch case for qt-style yes optionsOswald Buddenhagen2012-06-191-6/+2
| | | | | | | | | 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>
* don't overquote make commandOswald Buddenhagen2012-06-191-1/+1
| | | | | | $(MAKE) is apparently already quoted when the path contains spaces Change-Id: Ie09a0f43083f9eae95fc135c3a74364eaa356934
* clean up path normalization in configure.exe and QLibraryInfoOswald Buddenhagen2012-06-193-105/+111
| | | | | | | | | 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>
* rewrite SUBDIRS construction logicOswald Buddenhagen2012-06-191-47/+68
| | | | | | | | | 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>
* detach src/src.pro and src/tools/tools.pro from qtbase.proOswald Buddenhagen2012-06-193-15/+8
| | | | | | | | | 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>
* remove convoluted recursive debug/release target magicOswald Buddenhagen2012-06-192-79/+0
| | | | | | | | 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
* make makefile generation under unix saneOswald Buddenhagen2012-06-192-211/+34
| | | | | | | | | | 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>
* properly declare the host tools as such in the project filesOswald Buddenhagen2012-06-1910-16/+14
| | | | | | | don't mess with the qmake cmdline args any more. Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* introduce ability to build projects for the host systemOswald Buddenhagen2012-06-1910-55/+128
| | | | | | | | | | | | | | | | | 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>
* Revert "make default_pro.prf advertize dynamically created .qmake.cache"Oswald Buddenhagen2012-06-192-5/+0
| | | | | | | | ... 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>
* Revert "move .qmake.cache search to Option"Oswald Buddenhagen2012-06-194-72/+59
| | | | | | | | | | | | | | | | 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>