summaryrefslogtreecommitdiffstats
path: root/mkspecs
Commit message (Collapse)AuthorAgeFilesLines
* embedded doesn't exist anymoreGirish Ramakrishnan2012-06-221-3/+0
| | | | | Change-Id: Ib56895defb72f51bb790994b9fd72fc81ef25af5 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* mkspecs: Add macx-clang-libc++ and macx-clang-libc++-32Bradley T. Hughes2012-06-204-0/+129
| | | | | | | | | Use these mkspecs to switch to the new libc++ C++ runtime library, which in turn makes it possible to enable C++11 support with clang. Change-Id: If92908592f8bee4829a1bad747fe396f527d26c7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* make missing qt modules fatalOswald Buddenhagen2012-06-191-1/+3
| | | | | | | there is no point in continuing; it will error out later (in more cryptic ways) anyway. Change-Id: I2562eadc2d91bfaa6e85368dc3774da31409a141
* less confusing wordingOswald Buddenhagen2012-06-191-1/+1
| | | | Change-Id: Ia509fe1a28de803673623d425f5949b35404598c
* fix misnomer: qt_module.prf => qt_build_config.prfOswald Buddenhagen2012-06-193-34/+36
| | | | | | qt_module suggests to be congruent to qt_plugin. Change-Id: I629530bcbe2ba6c0adbdc11a275119c8aff0c953
* fix regexp in qmodule.pri inclusion checkOswald Buddenhagen2012-06-192-3/+1
| | | | | | this also allows us removing the redundant flag variable Change-Id: If26d22280ce7bc2ef3514c7c11ce7cd9baec1293
* revamp automatic makefile generation for sub-projectsOswald Buddenhagen2012-06-192-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of making the "real" targets depend on the makefiles, add conditional makefile generation to the targets themselves. this causes makefile generation to follow the recursion order determined by the project, which is important when dealing with prl and module pri files. a side effect of this is that qmake and make calls are interleaved now, which is entirely different from a 'qmake -r' run. on the downside, calling make with multiple targets which operate on the same subprojects without prior makefile generation will make a mess, as the qmake calls will be racing. this should be no problem, as qmake does not generate recursive targets where this would be useful - at least by default. it is not sufficient to just order the creation of the makefiles non-recursively (e.g., by using gnu-specific order-only-prerequisites), as an interrupted and subsequently resumed build would happily skip the nested makefiles. workable alternative approaches would be walking the entire tree in a pre-pass to ensure makefile presence (which is incredibly slow) or creating additional stamp files only after recursing and having the makefiles depend on them (which is ugly). Task-number: QTBUG-23376 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Change-Id: I88d3e7610215677d362026de316513d3bea04b06
* support for private depends in modulesOswald Buddenhagen2012-06-193-1/+12
| | | | | | | | | | | if a module's private headers add additional dependencies, QT_PRIVATE is now the place to declare them. note however, that this may not contain other private headers in turn - that would be much harder to implement, and we want the explicitness anyway. Change-Id: Ic516fcf1a003c95798df4fbe216f92016afaf47e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* introduce $$QMAKE_CHK_EXISTS_GLUEOswald Buddenhagen2012-06-192-0/+2
| | | | | | | instead of hard-coding platform differences, use a variable. Change-Id: I20e98811ad5f07429148c6f88aedbabc3ba58fff Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* centralize definitions of shell commandsOswald Buddenhagen2012-06-1966-622/+43
| | | | | | | there are only two types. everything else is duplication. Change-Id: I87f2bdd3d56b94bb2ecdb60e8861afeb9af3666f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* normalize $$QMAKE_QMAKEOswald Buddenhagen2012-06-191-1/+0
| | | | | | | | | everything in the projects should be normalized. only the makefile generators need to adjust it to the native form. Change-Id: I06a4e997f32134d13949ec4a9dd1b44367aab7cb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* correctly find idc even for makefilesOswald Buddenhagen2012-06-191-1/+2
| | | | | | | | this is a qt tool, so it needs appropriate treatment Change-Id: I0cb30ba07e03c72ee275cd916ca0a39a99fc3705 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* scan module path backwardsOswald Buddenhagen2012-06-191-0/+1
| | | | | | | | the last read file wins, so reading in inverse order ensures that we respect the list's sorting by decreasing priority. Change-Id: I2e6539a52d4195ed6af4c0143b035c39577b8310 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* let default_pre add modules to the qmake pathOswald Buddenhagen2012-06-191-1/+3
| | | | | | | | | | | | | | that way qmake is made aware of the forwarding pris which are generated for this module even when a top-level .qmake.cache prevents the module's root from being found automatically. the path is also added to the cache, so that subsequent partial qmake-ing of the tree will still find the module. this also makes the -cache-module-fwd parameter of syncqt useless, so remove it. Change-Id: I2afbc52a465c0b3260e9bcaf032c43a82ae8061f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* recognize QMAKEMODULES env var, property and cache variableOswald Buddenhagen2012-06-191-2/+8
| | | | | | | | | the latter allows sub-projects to dynamically extend the qmake search path specifically for modules. the others are just for congruency with QMAKEPATH and QMAKEFEATURES. Change-Id: I0c099035f8dc8ee8645566dbc635644a15ed9da5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move generation of module master headers to qt_module_headersOswald Buddenhagen2012-06-191-0/+28
| | | | | | | | | this has the advantage that the %mastercontent assignments in sync.profile are not necessary any more. as it happens, most modules got them wrong anyway. Change-Id: Ibdf689be408f18e1d90c44ef4ecacd7c24b1f1c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove detection-based usage of modules which are frameworksOswald Buddenhagen2012-06-191-11/+0
| | | | | | | | each qt module comes properly declared and located, so there is simply no point in performing a search. Change-Id: I86fad21bb8e128b85f1000cc116cc44a23642eb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* fix direct includes from modules which are frameworksOswald Buddenhagen2012-06-191-1/+1
| | | | | Change-Id: I1f2c1e5ebdb2fa258500a08b32dcafb4150ee424 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* let modules which are frameworks remember that factOswald Buddenhagen2012-06-191-0/+2
| | | | | | | | this will allow us to not rely on the modules matching the global qt_framework setting. Change-Id: Ic1dce757ff63d06af54a2428e23a1bbcf1c81ba1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove workarounds for broken syncqtOswald Buddenhagen2012-06-192-10/+0
| | | | | | | SYNCQT.HEADER_FILES contains qconfig.h just fine nowadays. Change-Id: I52b35d2ac41d772acaef06f3931df75742c867cb Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* automatically add QT_BUILD_FOO_LIB to DEFINESOswald Buddenhagen2012-06-191-0/+5
| | | | | Change-Id: I35d9861e48469eb5cc8824e361450684047e6559 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove backwards compatibility hacksOswald Buddenhagen2012-06-192-14/+0
| | | | | | | | | | there won't be terribly many projects relying on it. now's the time to find out for sure ... this reverts commit 3279b07302fde0eb14f9b197c9ad2e14d512817e Change-Id: Id36687ab3bfc7dd5ce35b584621a8f5b3ee00fc9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTIONOswald Buddenhagen2012-06-191-0/+6
| | | | | | | less boilerplate, more accuracy Change-Id: I6cc2abd50eafb4901d987c122f10a62ec9ea9da3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move QMAKE_PKGCONFIG_VARIABLES stuff out of qt_module_config.prfOswald Buddenhagen2012-06-191-23/+0
| | | | | | | | | | | | | | this only needs to be set in one module each - the one which provides the relevant tool. this is moderately source-incompatible, in that a package which queries a given variable from the wrong library won't get the path it looks for any more. as it's likely that everyone was using QtCore as a reference anyway, this will only affect uic - which is in the new QtWidgets library, to which people need to adjust anyway. Change-Id: If05d3c33fda6cd12466e261391b825c59651d3e4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove ACTIVEQT_IDC assignment from QMAKE_IDCOswald Buddenhagen2012-06-191-1/+0
| | | | | | | the specs have been cleaned of it Change-Id: Ica0ab4d5f9d36f1f9566759326f3b3144e34cd67 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove support for CONFIG+=qt_compatOswald Buddenhagen2012-06-191-6/+0
| | | | | | | this is truly prehistoric stuff Change-Id: Ia781fc03c081bff895f4d2b5325d3624441bdf5f Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* don't explicitly inject qt header/library pathsOswald Buddenhagen2012-06-191-6/+0
| | | | | | | the modules already do that on demand. Change-Id: I889a5cd7b62631e2551ada4b096f20b3b79b2c75 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* always add library path from moduleOswald Buddenhagen2012-06-191-3/+3
| | | | | | | | that way we can theoretically support modules outside $QTDIR. also, it's just cleaner. Change-Id: I6139ebc7328b64ace8552b3e54f9a8c69248ceec Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make module includepath addition less convolutedOswald Buddenhagen2012-06-191-12/+11
| | | | | | | | | | | | | | | | | | don't prepend the paths, as this will only mess up building of subsequent modules (e.g., building qtdeclarative against an installed qtbase would pick up the headers from the qtdeclarative previously installed into the same directory as qtbase). for frameworks this was a rather pointless exercise in the first place, as their headers are properly isolated anyway. however, make sure that we don't add system locations to the search paths, as this is a) unnecessary and b) messes up subsequent libraries in non-standard locations which want to shadow versions in standard locations (pkg-config .pc files which add standard paths are considered broken as well). Change-Id: Ie1dc65d4767e98e1df6e49012505141935a6c704 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* add qtCompileTest()Oswald Buddenhagen2012-06-191-0/+90
| | | | | | | | this fully replaces qtmodule-configtests. it is way shorter and it actually integrates reasonably with qmake. Change-Id: I819cc6807ad3661c419b54fa253894936dd88a64 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* do not route qtmodule-configtests invocation through syncqtOswald Buddenhagen2012-06-191-1/+4
| | | | | | | there is completely no reason to do it. Change-Id: Ie186ef4c1bbd12c256acb2fe374d12ebe777d6c9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate module prisOswald Buddenhagen2012-06-192-1/+57
| | | | | Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* move creation of module version header to qt_module_headersOswald Buddenhagen2012-06-191-0/+20
| | | | | Change-Id: I650b495ec1789eb03b31d796f9f475ba01aab2d3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* automatically add the version header to HEADERSOswald Buddenhagen2012-06-191-0/+9
| | | | | Change-Id: I7c2e1d852ebdbc5cca7a3a31ab2b4c9ab9faffd9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* factor out qt_module_headers.prfOswald Buddenhagen2012-06-192-3/+5
| | | | | | | this doesn't make too much sense as such, but the file will grow. Change-Id: Iceaecdc24f83b3dafb40c8d2f1b6cddafa2d70a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make headers.pri locality determination less convolutedOswald Buddenhagen2012-06-191-5/+1
| | | | | | | | | | the location is determined by syncqt rather precisely. no need to reverse-engineer config files. $$HEADERS_PRI doesn't seem used anywhere, so don't set it as a side effect. Change-Id: I54a63356c350c0ddae4c880bf374fcd127282429 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* generate fwd-pris in qt_module_config, not in syncqtOswald Buddenhagen2012-06-192-1/+68
| | | | | | | | the forwarding pri is loaded even if it was still created by syncqt, so a top-level qmake -r will still catch it even in the future. Change-Id: I2e4b556cd06eb88be9ee378662a2e6e1bff67ad7 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* bring statements into a somewhat logical orderOswald Buddenhagen2012-06-191-4/+4
| | | | | Change-Id: I7bfbcd414bd2c8ff82e210c075b88f1ca00d3b73 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove qt from CONFIG for non-artifact templatesOswald Buddenhagen2012-06-191-0/+2
| | | | | | | | | there is no point in adding Qt modules to SUBDIRS projects. as QT contains core and gui by default, the operations are relatively expensive, so skip them when they are unneeded. Change-Id: Ibe6447ff452e403cb040fabe245d248edbda0eaa Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* define have_target CONFIG flagOswald Buddenhagen2012-06-195-6/+8
| | | | | | | | | the check whether we are building a lib or an app (and thus have a target) is done by quite some feature files (and generally wrongly, as they do not account for the new aux target), so centralize it in default_post.prf. Change-Id: I868edbc4185be8a6c23ecd4a2c126024d73cdeb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* add possibility to install a module with no libraryOswald Buddenhagen2012-06-191-6/+8
| | | | | | | the declarative module is a fake, so there is no library to install. Change-Id: I0dcd39f3304e38adce9ea34e2268905525abd3d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make version fallback code saneOswald Buddenhagen2012-06-192-10/+2
| | | | | | | | the qt version is always set. otoh, we need to allow the module to override the own version. Change-Id: Ic3eb7dae59a5fb011cede09151553b652a0a1d78 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove explicit RCC_DIR addition to INCLUDEPATHOswald Buddenhagen2012-06-191-1/+0
| | | | | | | | | | qrc_ files are generally not meant to be included, so there is not much point in doing this. qprintsupport was a notable exception - which broke on mac and thus needed a hack. just remove the qrc_ inclusion. Change-Id: If5115665f331a280869e800673bf7b81d3ab559a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* 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-192-11/+3
| | | | | | | | | | 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 qt_module_config.prf install the module pri fileOswald Buddenhagen2012-06-193-7/+12
| | | | | | | | | 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-1964-133/+4
| | | | | | | they are equivalent to QT_INSTALL_(HEADERS|LIBS)/get. Change-Id: Ic4b47f3ca7db55785b96f19020a2fa020a8d25bd Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>