summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_configure.prf
Commit message (Collapse)AuthorAgeFilesLines
* configure: fix passing of -L and -F to configure testsOswald Buddenhagen2018-08-091-2/+2
| | | | | | | | | | | the global flags are deprecated in favor of per-library paths, but they obviously should still work. but apparently no-one cares, because there isn't even a bug report about it ... amends 90eee08b3. Change-Id: I85aee41ca11de1715d1c750ae8e663093e012fb7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qmake: skip license check while building qtOswald Buddenhagen2018-07-201-1/+2
| | | | | | | | | | | | | | | | | | configure already does it for qt itself, so it's pointless to ever invoke in default_pre.prf. to make the exclusion work during the makespec reload during early setup, we pull ahead the restoration of CONFIG, hoping it won't cause too many side effects. another change in qt5 will ensure that top-level builds are also covered. finally, configure tests also need an explicit exclusion. that way, attempts to re-configure build trees of commercial builds after the day of the first configuration do not fail anymore. Task-number: QTBUG-63452 Change-Id: I42264f64d7621784d4d67bde885a8e501f5ca413 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* configure: pull ahead gcc-sysroot processingOswald Buddenhagen2018-07-131-1/+1
| | | | | | | | | | | | | the sysroot flags need to be established even before setting up the spec, because as soon as that happens, toolchain.prf will try to determine the default paths and cache them. this also fixes sysroot use in toolchain flag support tests, which run (somewhat) independently from the toolchain setup. Task-number: QTBUG-63483 Change-Id: I7be1540e766dac58fb16f63176aa8d2879b51ae0 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: permit digits in variable assignments on the cmdlineOswald Buddenhagen2018-06-271-4/+4
| | | | | | Change-Id: I21e4f93b119d28fe30cb2436c76a03b67c78fe7a Reviewed-by: Rainer Keller <Rainer.Keller@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* configure: permit multiple repos to use the same directory namesOswald Buddenhagen2018-06-011-2/+3
| | | | | | | | | | | | otherwise, names like "core" are too likely to clash. note that the directories (which contain configure files) still need to have unique names within one repository. that's unlikely to be a problem. Task-number: QTBUG-68385 Change-Id: I01c60479a6a45494ba60e798ceada231d8870556 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* configure: cache test output as wellOswald Buddenhagen2018-04-101-5/+19
| | | | | | | | that way we can create a config.log which is consistent with the end state even if (some) tests are not executed this time around. Change-Id: Ia953ede62d6640aab912559f435ceb1f9ec6d9dc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Revert "Detect C standard and try using the most recent"Friedemann Kleint2018-03-261-11/+2
| | | | | | | | | | | | | | The change causes a crash when compiling the xkbcommon 3rdparty library and compile failures (qtimageformats on Android). This reverts commit a47cb146809e32f43449dcfe9932833c2f0ab987. Task-number: QTBUG-67326 Task-number: QTBUG-67327 Change-Id: I5ddc4eccad699e3eaec535fd6a63d11b0026b42e Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Detect C standard and try using the most recentAllan Sandfeld Jensen2018-03-211-2/+11
| | | | | | | Fixes the default C version used with gcc < 5 Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: introduce 'subarch' term to expression evaluatorOswald Buddenhagen2018-02-221-0/+6
| | | | | | | | | | | ... and make use of it. it's a logical continuation of the 'arch' term, and will be used also in qt3d's configure. Started-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I940917d6763842499b18fffd1514c96889a0cc63 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: make cached results immediately availableOswald Buddenhagen2017-12-141-1/+6
| | | | | | | otherwise test de-duplication between modules doesn't work. Change-Id: I2c6222d853108df223758aa8907dc8d004efd87f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: support discarding selected test results with -recheckOswald Buddenhagen2017-12-141-1/+15
| | | | | | | | | especially during debugging, it is often necessary to re-run only one (or a few) tests, where -recheck-all would be wasteful. Task-number: QTBUG-64059 Change-Id: I9410894dec4289ff832d7f75e04f9b60fe76c57c Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: reset *_LIBS when *_LIBS_{DEBUG|RELEASE} are specifiedOswald Buddenhagen2017-11-301-6/+9
| | | | | | | | | | | it could be somewhat surprising that specifying variant-specific libs would not clear the common libs, so do that. of course, the default for the common libs could theoretically contain common deps of the variant-specific libs, in which case clearing them would be surprising in turn - luckily, we have no such case. Change-Id: Ifca08b9e1949c6a0cefed6931ade4021927d7c90 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: make *_LIBS_{DEBUG|RELEASE} always workOswald Buddenhagen2017-11-301-4/+8
| | | | | | | ... and not only when the source explicitly specifies build variants. Change-Id: Iac6c8fda8f431d5fb50fada8338d1b660ab040d7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: fix over-quoting in library exportingOswald Buddenhagen2017-11-301-3/+4
| | | | | | | | | | | | unlike for the other fields, we forgot to eval() the values of the build-specific library values, leading to over-quoting of values which require any quoting at all. amends c0cc50520. Task-number: QTBUG-62521 Change-Id: I4dfce31040dd09248d3f9dd4294f7fb147c13bdd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: fix processing of *_LIBS_{DEBUG|RELEASE}= argsOswald Buddenhagen2017-11-301-2/+2
| | | | | | | | | | | | qtConfLibrary_inline() used to set $${1}.builds.$${b}.libs, while everything else assumed no such .libs suffix. fix the former. amends 9172143f52. Task-number: QTBUG-61431 Started-by: Konstantin Ritt <ritt.ks@gmail.com> Change-Id: I0bd81591c46266d81baa9c12315411183bbc7a63 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: Disable warnings in configure testsThiago Macieira2017-08-241-0/+3
| | | | | | | No need to log them. Change-Id: I3868166e5efc45538544fffd14d8c3cc0012ba12 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: fix detection of icu in static buildOswald Buddenhagen2017-08-151-2/+2
| | | | | | | | | don't complain about library inline sources which have 'builds' but no 'libs'. Task-number: QTBUG-62150 Change-Id: Ib215d438fc02ebdafde95f31cd48088b1bafc663 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: simplify construction of QMAKE_CONFIG_CACHEOswald Buddenhagen2017-08-151-4/+1
| | | | | | | | there doesn't appear to be a reason for the former complexity. QMAKE_CONFIG_LOG was already assigned the simple way. Change-Id: I6b7e3b5b97c7647237841fa5e16c4959079edc16 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: Add a feature to write tests in the .json fileThiago Macieira2017-08-021-5/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're adding a lot of unnecessary files that end up later as cargo-cult, for at most a handful of lines. So instead move the testcases directly into the .json file. The following sources were not inlined, because multiple tests share them, and the inlining infra does not support that (yet): - avx512 - openssl - gnu-libiconv/sun-libiconv (there is also a command line option to select the exact variant, which makes it hard/impossible to properly coalesce the library sources) The following sources were not inlined because of "complications": - verifyspec contains a lengthy function in the project file - stl contains lots of code in the source file - xlocalescanprint includes a private header from the source tree via a relative path, which we can't do, as the test's physical location is variable. - corewlan uses objective c++, which the inline system doesn't support reduce_relocs and reduce_exports now create libraries with main(), which is weird enough, but doesn't hurt. Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: Ic3a088f9f08a4fd7ae91fffd14ce8a262021cca0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: factor out $$qtConfScalarOrList()Oswald Buddenhagen2017-08-021-10/+15
| | | | | | | we'll need it in more places. Change-Id: Ia7e3d9ea4a27cc01294bde4cafe6721eb9f59343 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* build the configure tests in the top-level build dirOswald Buddenhagen2017-06-121-2/+2
| | | | | | | | | | there isn't really a point in doing strict shadow builds of them, and it complicates stand-alone building of sub-projects (because it points below the build root). Task-number: QTBUG-58372 Change-Id: Ia3bde3826baac44749b27452fd4aeb9491ecb94e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* fix library retrieval in pkg-config source, take 2Oswald Buddenhagen2017-05-311-1/+2
| | | | | | | | | | | the entry's libs field is supposed to be a single pre-quoted string. that implies that the libs and libpaths need to be joined first. amends 7e298e2f. Task-number: QTBUG-60925 Change-Id: Id85b2784e3c081b3ff8eb9ee2216976691f8580d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* make configure -list-features print the section fieldOswald Buddenhagen2017-05-081-1/+3
| | | | | | | | | | prefix it to the purpose field. this makes the presentation more consistent with the graphical tool, and avoids the need to be redundant in the description. Change-Id: Iea58885637e0518aa1ec2f69ff05090b7e1e77a9 Reviewed-by: Stephan Binner <stephan.binner@basyskom.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* don't call pkg-config with --libs-only-L and --libs-only-l at onceOswald Buddenhagen2017-04-281-1/+4
| | | | | | | | the options are mutually exclusive, with the last one winning. Task-number: QTBUG-60382 Change-Id: Ie6d888ac8be6b22b204fcad93c184477baa38965 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* always clear config.log after allOswald Buddenhagen2017-04-281-12/+9
| | | | | | | | | | | | | | delaying the logging setup until the cache use is determined (which depends on xspec determination) causes too much trouble. as already explained in 7ac15ab0f, there is a bit of a gray area when exactly the log should be cleared anyway. a more complete solution would cache the tests' output along with the results and re-log it (with an appropriate marker) upon re-use. Task-number: QTBUG-59565 Change-Id: I17d457598d885bceafd6505cad5ff074c4ace502 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-131-15/+14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network.pro mkspecs/features/mac/default_post.prf src/corelib/io/qfilesystemengine_win.cpp src/corelib/io/qprocess.cpp src/corelib/io/qprocess.h src/corelib/io/qprocess_p.h src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/corelib/thread/qmutex.cpp src/platformsupport/fontdatabases/windows/windows.pri src/plugins/platforms/eglfs/eglfsdeviceintegration.pro tests/auto/corelib/io/io.pro Change-Id: I8a27e0e141454818bba9c433200a4e84a88d147e
| * don't assume that configure --foo options' value is 'yes'Oswald Buddenhagen2017-02-241-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | otherwise, the invalid "--qpa xcb" would complain about "xcb" being unknown, rather than "--qpa" missing an argument. actual booleans are handled by the type-specific callback, just like -foo would be. Task-number: QTBUG-59062 Change-Id: I96632dacfb721cfcbf223b76f6c5c38c810e8d0e Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * de-duplicate and simplify condition checking in qtConfProcessOneOutput()Oswald Buddenhagen2017-02-241-9/+2
| | | | | | | | | | | | | | amends 90eee08b3. Change-Id: If1fa2b14d758cc252d9a2ec3f9deedd1dd200c5e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-241-48/+234
|\| | | | | | | | | | | | | Conflicts: mkspecs/features/moc.prf Change-Id: Ia71c8e3b3185f7c999bf226d0675051b10b8740b
| * configure: fix 'use' for detecting static librariesOswald Buddenhagen2017-02-221-1/+1
| | | | | | | | | | | | | | | | | | these statements are assumed to provide dependencies for the currently detected library. this implies that their resolved content must be passed to the linker after the to be detected static library. Change-Id: Ifaaee2ac71bf176e8a0033765fb979fe119deaba Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: make it possible to make 'use' conditionalOswald Buddenhagen2017-02-221-1/+14
| | | | | | | | | | Change-Id: I8390634c5b23bf34692b4f532ab00a7aba690037 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: support using libraries by their exported nameOswald Buddenhagen2017-02-221-5/+45
| | | | | | | | | | Change-Id: Ibe43c587e83e679baa5f0fc91f452ee06c1e293f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: fix cross-module library usesOswald Buddenhagen2017-02-221-7/+21
| | | | | | | | | | | | | | | | | | | | | | this went unnoticed, because the only cross-module 'use' so far is that of egl, for which the code path provided for modular builds happens to (mostly) work due to the specs already providing the library definition. amends cc842ca4. Change-Id: I58c638d896eabd26f27d5cd90e3a7f8eeece9bc0 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * clash-check configure sub-config namesOswald Buddenhagen2017-02-221-0/+3
| | | | | | | | | | | | | | | | we derive the keys from the last fragment of the parent directory, which is potentially not globally unique. Change-Id: I57cf13394984e6e3d902c0f1bb495bd3920bfc75 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: propagate errors from libraries' transitive dependenciesOswald Buddenhagen2017-02-221-1/+5
| | | | | | | | | | | | | | | | | | | | if a library uses another library which happens to be absent, then the former must also fail. amends cc842ca4. Change-Id: I91f157a6d1ed40b66e196340a282ebe493fcf40e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: error out on activating conflicting librariesOswald Buddenhagen2017-02-221-0/+14
| | | | | | | | | | Change-Id: I5d7dbeb3b3a653f7151279c7eba9387c107f9c42 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: generalize command line overrides of library parametersOswald Buddenhagen2017-02-221-2/+36
| | | | | | | | | | | | | | | | | | the outdated ones remain for backwards compatibility; some remain unchanged. Task-number: QTBUG-30083 Change-Id: Ia596b854d26b00fcb4f48df0da7ad893650ac1c8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * add configure -list-librariesOswald Buddenhagen2017-02-221-0/+36
| | | | | | | | | | | | | | currently mostly for debugging purposes (especially with -verbose). Change-Id: I8af32c61df0b19861aa79bc4bbdd3f6095dbe9b7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * add configure -list-featuresOswald Buddenhagen2017-02-221-6/+24
| | | | | | | | | | | | | | | | | | also actually deletes qfeatures.txt, which was already claimed by a668c6a6, but not actually done. Task-number: QTBUG-58411 Change-Id: I686760632fee7c10b01bd2e83f2481b01bc2b774 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * fix usage of "empty" librariesOswald Buddenhagen2017-02-221-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * prefer library's export name when looking up input variablesOswald Buddenhagen2017-02-221-5/+14
| | | | | | | | | | | | | | | | | | | | if multiple library entries provide the same export (as openssl is going to), it makes sense to make them recognize the same input variables, as it would be rather counterproductive to require different configure arguments for each. Change-Id: Ia32842e95294296d50220297f85689bc92de2d05 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: refactor qtConfExportLibrary()'s interfaceOswald Buddenhagen2017-02-221-14/+18
| | | | | | | | | | | | | | | | pass the library name instead of a library source object. improves overall legibility at a marginal runtime cost. Change-Id: I248ee9622af2b2c37daa2dbc0cc0bca5701d7925 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-141-2/+3
|\| | | | | | | Change-Id: I2bd2e61bae1eab4fc74fa6accd741ed9ae1f0669
| * don't litter configure test build dirs with .qmake.cache filesOswald Buddenhagen2017-02-081-2/+3
| | | | | | | | | | | | | | | | there should be only one, at the level of the isolating .qmake.conf. Change-Id: I25f05864d6f5c1bb5caf2fb4138adb4bb9cc2f22 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-081-1/+7
|\| | | | | | | | | | | | | | | Conflicts: configure.json mkspecs/win32-icc/qmake.conf Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f
| * adjust configure to native build optimizationsOswald Buddenhagen2017-02-061-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | don't fail to set up cross_compile early enough. otherwise, we'd populate the cache for target builds with data for the host. amends 6b8666c7 and 5060740f. conversely, pass on extra flags to configure tests when not cross building. amends d8be8110 (and 2c5eb3e6). Task-number: QTBUG-58556 Change-Id: I531d71e06204a0b17ae6dabf017a52e0f2efd9a7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-301-0/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: examples/network/network-chat/peermanager.cpp src/widgets/util/qsystemtrayicon.cpp src/widgets/util/qsystemtrayicon_qpa.cpp src/widgets/util/qsystemtrayicon_win.cpp src/widgets/util/qsystemtrayicon_x11.cpp Change-Id: I1c026df83818c0ccaf956980370e7522960627db
| * Inform user that a non-prefix build can't be used on other machinesAlexandru Croitor2017-01-241-0/+1
| | | | | | | | | | | | | | | | | | This implies that using tools like windeployqt and macdeployqt will not generate a working standalone application. Change-Id: I002cf6e527e479ccbee2f18df8766648196d6232 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-58/+83
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/common/msvc-version.conf mkspecs/common/winrt_winphone/qmake.conf mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/qt.prf mkspecs/features/uikit/default_post.prf mkspecs/features/winrt/default_pre.prf mkspecs/winphone-arm-msvc2013/qmake.conf mkspecs/winphone-x86-msvc2013/qmake.conf mkspecs/winrt-arm-msvc2013/qmake.conf mkspecs/winrt-x64-msvc2013/qmake.conf mkspecs/winrt-x86-msvc2013/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/gui/kernel/qwindowsysteminterface.cpp src/network/kernel/qhostaddress.cpp src/plugins/platforms/mirclient/qmirclientplugin.cpp src/plugins/platforms/mirclient/qmirclientplugin.h src/widgets/util/qsystemtrayicon.cpp tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp tools/configure/Makefile.mingw tools/configure/Makefile.win32 Done-with: Jake Petroules <jake.petroules@qt.io> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe
| * put some empty lines between configure runs into config.logOswald Buddenhagen2017-01-191-0/+2
| | | | | | | | | | Change-Id: I6c3e3b139752bb9d1b60c590bb1ea72ae2e4fbdf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>