summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_configure.prf
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-06-071-4/+6
|\ | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp src/plugins/platforms/cocoa/qcocoaintegration.h src/plugins/platforms/cocoa/qcocoaintegration.mm Done-With: Jörg Bornemann <joerg.bornemann@qt.io> Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
| * Fix prefix_build check for top-level buildsJoerg Bornemann2019-06-051-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The checks whether we have a Qt prefix build were broken for top-level builds. Non-prefix top-level builds were incorrectly detected as prefix builds. For top-level non-prefix builds QT_HOST_DATA/QT_INSTALL_PREFIX becomes something like "~/my/build/dir/qtbase" but .qmake.cache (and .qmake.super) is/are created in "~/my/build/dir". This patch extends the prefix_build check by probing for the existence of .qmake.super, which only exists for top-level builds. Also, we add qt_prefix_build_check.prf as central place for determining whether we have a prefix build to make sure that qt_configure.prf and qt_build_config.prf use the same logic. Fixes: QTBUG-76185 Change-Id: I2b76fe26013496aaf2dac96ea711b06a69550a29 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-05-061-2/+4
|\| | | | | | | Change-Id: Iaad9509712c848ed42ada2c25065162a6fc5a930
| * Resolve QMAKE_INCDIR_VULKAN on every qmake callJoerg Bornemann2019-05-051-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not store this variable locally, because a) it might change if the SDK location changes b) does not play well with Qt installer packages which would provide the include path of the build machine. To achieve this we introduce the (usual) magic value - for QMAKE_EXPORT_INCDIR_VULKAN to denote "do not export this value". Fixes: QTBUG-73796 Change-Id: Ied26ee12cbcdf7f5f6e1caef5d29dadf6309c5d6 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-281-1/+7
|\| | | | | | | Change-Id: Ibce9bfef928ce39070183c488ce86ae32e5ea705
| * Fix determination of OpenGL include paths on macOS, take 3Joerg Bornemann2019-04-271-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sysrootification of QMAKE_INCDIR_OPENGL on macOS must happen only once. Commit 49ef3773 addressed this but stored the sysrootified QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. For installer packages, these paths are the paths of the build machine and most likely wrong on the user's machine. This reverts commit 4949ef377349ba4dae840c2d5caa36e2d516707baa and restores the sysrootification in sdk.prf. The original include paths are assigned to QMAKE_EXPORT_INCDIR_OPENGL and stored as QMAKE_INCDIR_OPENGL in qt_lib_gui_private.pri. Fixes: QTBUG-75374 Task-number: QTBUG-73736 Change-Id: I4c0f65866d60660c632363dba3adc7ea2e344bfc Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-04-241-0/+14
|\| | | | | | | Change-Id: I26da00aa71b0f0b91c9bfb4a9e8550345ee62875
| * configure: Support the = prefix for -I and -LJoerg Bornemann2019-04-231-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | For gcc's -I and -L arguments a = prefix is replaced by the sysroot. Since we're resolving include paths and library paths, we have to support this feature. For example, the linux-rasp-pi3-g++ makes use of this and is broken without this patch. Change-Id: Ie39e63322bd35e2a93aa8e55d52260164b8c6a6b Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-211-1/+9
|\| | | | | | | Change-Id: Ie7f68dcd5650e0037b6c3313cc9ffdcd7c494fbe
| * configure: Allow libraries to be defined with exact filenameTimo Aarnipuro2019-03-201-1/+9
| | | | | | | | | | | | | | | | | | INTEGRITY compiler searches for exact filename if the -l argument already contains .a suffix. GNU linker uses exact filename if -l argument begins with a colon. Change-Id: I62be8f1e6b9c7dc7eaa5ab3d4bfc55460d729737 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-021-1/+1
|\| | | | | | | Change-Id: I83f6ed9480bf21020ce7a9431010d87a88df84a1
| * Actively discard return value of qtConfGetNextCommandlineArgJoerg Bornemann2019-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | Calling a qmake replace function without assignment is undefined behavior. This amends 11ae0e77. Change-Id: Ie716f295275d1ba79a217745b332a8eca04b355d Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Liang Qi2019-02-081-1/+13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/templates/AndroidManifest.xml src/network/ssl/qsslsocket_mac.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/corelib/kernel/qtimer/BLACKLIST tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp tests/auto/testlib/selftests/expected_blacklisted.lightxml tests/auto/testlib/selftests/expected_blacklisted.tap tests/auto/testlib/selftests/expected_blacklisted.teamcity tests/auto/testlib/selftests/expected_blacklisted.txt tests/auto/testlib/selftests/expected_blacklisted.xml tests/auto/testlib/selftests/expected_blacklisted.xunitxml tests/auto/testlib/selftests/expected_float.tap tests/auto/testlib/selftests/expected_float.teamcity tests/auto/testlib/selftests/expected_float.txt tests/auto/testlib/selftests/expected_float.xunitxml Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de> Done-With: Edward Welbourne <edward.welbourne@qt.io> Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: If93cc432a56ae3ac1b6533d0028e4dc497415a52
| * configure: Respect -continue in qtConfParseCommandLineJoerg Bornemann2019-01-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | If configure is called with -continue, it should not stop processing command line arguments after encountering an invalid one. Example: configure ... -continue -quack -no-feature-gui would ignore everything after -quack. Change-Id: Ia5f0cb13414c9c0c7246ff0c72f8e935fe6dca3c Fixes: QTBUG-72912 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Consume the -skip option in qtbase/configureJoerg Bornemann2019-01-291-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | ...and yield a warning that -skip has no effect in a qtbase build. This is consistent with configure's help output and enables us to always pass "-skip qtwhatnot", whether we're calling top-level or qtbase configure. Change-Id: Ie5b0791a6000d1d78b1367658ad86a92b2ec6a6a Fixes: QTBUG-71253 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Add llvm linker detection to configureMichal Klocek2019-02-061-0/+8
|/ | | | | | | | | | | | | | | | | | | https://gcc.gnu.org/ml/gcc-patches/2018-10/msg01240.html This is currently only used for webengine, where link time really matters. New configure options: * force 'lld' '-linker lld' or' --linker=lld' * force 'gold' '-linker gold' or '--linker=gold' * force 'bfd' '-linker bfd' or '--linker=bfd' Note before by default gold was always forced (if supported) now default linker is system default one. [ChangeLog][Tools][configure & build system] Added --linker=[bfg,lld,gold] configure flag. Change-Id: Idaa13510da70243c6176b96db846d629cd65c7af Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix resolving of libraries on Apple platformsJoerg Bornemann2019-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | Qt couldn't be configured with -system-zlib on macOS, because qmake failed to find "/usr/lib/libz.dylib". The library path is something along the lines of "/Applications/Xcode.app/.../MacOSX10.14.sdk/usr/lib" which doesn't contain "libz.dylib". But it contains "libz.tbd", which is a YAML-file pointing to "/usr/lib/libz.dylib". One can pass the absolute path to this tbd file to the linker, which will then pick up "/usr/lib/libz.dylib". Introduce a new variable QMAKE_EXTENSIONS_AUX_SHLIB, which is a list of auxiliary extensions for shared libs, and add the "tbd" extension to it on macOS. Change-Id: I083b79a69d00232e35f9d6164ffa86cb473f1742 Fixes: QTBUG-72745 Fixes: QTBUG-72964 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* configure: enable inline tests to refer to PWDOswald Buddenhagen2018-12-191-1/+2
| | | | | | | ... and use that to inline the xlocalescanprint test. Change-Id: I0973133d7f9ecc9a38b70dc4b83df174a35b2b1f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: enable inline tests to contain auxiliary filesOswald Buddenhagen2018-12-191-0/+5
| | | | | | | ... and use that to migrate the pch test. Change-Id: I2ce884442cab6124c37142f571cf6f82191ee4f5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: enable sharing of inlined source code between testsOswald Buddenhagen2018-12-191-18/+41
| | | | | | | | | this is implemented by means of (multiple) inheritance, which applies specifically only to the inlined source and header list, but not to library sources or dependencies. Change-Id: I8f1d5b34d1d2d12e39225dc50357ad6ec648c6b6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: normalize dashes to underscores in exported librariesOswald Buddenhagen2018-12-191-8/+8
| | | | | | | it works without it, but technically speaking it's undefined behavior. Change-Id: Icdcdd5b923ce4cecd9dc9e75f9d5d66d0fa8a032 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: add support for multiple libdirs in inline library sourcesOswald Buddenhagen2018-12-191-2/+6
| | | | | | | | | | | | | while the command line doesn't actually permit it (that can be re-evaluated separately), derivatives of the inline source type may want to inject additional paths, as is the case with opcua. the incdir field supports multiple entries without additional action. Change-Id: I3860ca1fc8fab25c04eb63bdb2f855b77ff3b9a4 Reviewed-by: Rainer Keller <Rainer.Keller@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: allow libraries to create explicitly empty testsOswald Buddenhagen2018-12-171-1/+1
| | | | | | | | this allows compile-testing the specified headers with no further tests. Change-Id: I268ff328deee221d9b92386fe2bd133b19a6f8e2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: add "we mean it" blurbOswald Buddenhagen2018-12-171-0/+10
| | | | | | | | like all qt_*.prf files (exceptions prove the rule), the configure system counts as private api. Change-Id: Iea3057445e430029ecd8449e604e2d5c499ae10a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* configure: verify header presence against sourcesOswald Buddenhagen2018-12-141-7/+51
| | | | | | | | | | | | | | | | | | | | | | | | in addition to the actual library resolution, also resolve the headers belonging to the library, to validate the include path, and possibly ensure that the right version of the library is present. the "include" entries were moved out of the "test" objects, and renamed to "headers". this cleanly permits libraries without compile tests. the headers were not put into the sources, because the variance among the includes is generally orthogonal to the variance among the libraries. note that this - like the library resolution - provides no support for darwin frameworks. consequently, the opengl libraries are excluded from the conversion on darwin. similarly, wasm is excluded (centrally), because emcc is magic and would need advanced wizardry to be dealt with. Change-Id: Ib390c75371efa2badcfec9b74274047ce67c3e5a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* configure: fix $$qtConfFindInPath() on windowsOswald Buddenhagen2018-12-121-0/+1
| | | | | | | | | | uses of this function (or the "files" stanza in configure.json) which don't explicitly target windows don't specify the .exe extension, so we need to add it automatically if it's missing. Task-number: QTBUG-57436 Change-Id: I1994378399bc3466c32ee065e752516f42652975 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* escape literal backslashes in qmake filesOswald Buddenhagen2018-12-121-19/+19
| | | | | | Task-number: QTBUG-70765 Change-Id: I56abbf19be88d01b2964980fb741567f28e4f0fa Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* add support for transitive deps to QMAKE_USEOswald Buddenhagen2018-12-071-6/+56
| | | | | | | | | | | | | | | | | | | we already knew the dependencies (as they are declared in the json files), but failed to export them in any way, which made linking against statically built external deps which have deps in turn fail (unless the project happened to pull in the dep anyway, as is the case with qtcore + zlib). the previous assumption was that the USE-able library objects would be self-contained, but that is conceptually unclean. instead, properly export the raw dependencies and resolve them only in qmake_use.prf. note that pkg-config produces self-contained output, so we need to actively subtract the dependencies we know. Change-Id: I4b41a7efc05bbd309a6d66275d7557a80efd5af4 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: query pkg-config for deps of static libsOswald Buddenhagen2018-12-071-0/+7
| | | | | | | | | | | | | | | note that pkg-config is a tad stupid: it won't tell us if the package is built statically, but one needs to explicitly ask it to output transitive deps for static packages. we can do that, as we resolve the pkg-config output to actual libraries, so we know if they are static. always asking it would print the transitive deps also if we found a dynamically linked library, which would inappropriately extend the link interface. the latter actually happens on windows (because we can't easily tell apart real static libs from import libs), but that doesn't matter, as under windows, the linker transitively resolves dlls anyway. Change-Id: If1be3b3df476374d5c8e62f4b185477c988223b3 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: actually resolve libraries into full filepathsOswald Buddenhagen2018-12-031-35/+136
| | | | | | | | | | | | | | this considerably speeds up failures, as no doomed build is attempted, and produces more reliable results, as no second lookup (which would be subject to environment changes) is done any more during the build. in principle, this also opens up possibilities like selecting specific variants of dependencies, automatically extracting rpaths, etc. qt_helper_lib.prf also needs to create fully resolved library names now. Change-Id: I65f13564b635433030e40fa017427bbc72d1c130 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* configure: fix bogus message about not needing to install qtOswald Buddenhagen2018-11-211-1/+1
| | | | | | | | | | | | | | | when building additional modules against an already installed qtbase, $$[QT_INSTALL_PREFIX/get] is obviously the same as $$[QT_INSTALL_PREFIX], so we would misdiagnose a non-prefix build. instead, use the same condition as qt_build_config.prf (we cannot just rely on what it sets, because in qtbase configure context it's evaluated before we set up the paths). Fixes: QTBUG-60541 Change-Id: I37be30e0e682ece76ed460a66f1984ee0fe2ed71 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: log -I and -L before doing first library checkOswald Buddenhagen2018-11-211-6/+20
| | | | | | | | | | | | | | | | | | ... for debugging purposes. this needs to work in every configure run even though the options (currently) come from qtbase's global scope. this is accomplished by automatically injecting the test type dependencies declared in the 'builtins' scope (where they generally make no sense whatsoever, because there are no tests there) into other scopes (the first one that has a test of the particular type, specifically). we do that *after* the scope's own test type deps, so it can do its custom stuff first (it can explicitly activate the required features if it depends on some global stuff). Change-Id: I67317da1b55804d39458bdbcf13d39a3e57a13bf Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-08-161-2/+2
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/plugins/platforms/xcb/qxcbbackingstore.cpp Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I4af138ffb2f5306373244523768209e8873b2798
| * 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>
* | Merge branch '5.11' into devEdward Welbourne2018-07-311-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/library/qmakebuiltins.cpp src/plugins/platforms/windows/qwindowstabletsupport.h src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/widgets/styles/qstylesheetstyle.cpp tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp Done-With: Gatis Paeglis <gatis.paeglis@qt.io> Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
| * 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>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-171-1/+1
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbintegration.cpp Conflicts git missed: src/plugins/platforms/qnx/qqnxglcontext.cpp Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
| * 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: move qtConfTest_verifySpec() out of qt_configure.prfOswald Buddenhagen2018-07-101-5/+0
| | | | | | | | | | | | | | | | | | | | the callback is specific to qtbase/configure.json, so it belongs into qtbase/configure.pri. amends d90db0f136. Change-Id: I905f985e2d3d2e42c4587cbacdea8dc3eb09a5be Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-07-021-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qnsview.mm src/plugins/platforms/cocoa/qnsview_dragging.mm src/plugins/platforms/ios/qiosinputcontext.mm src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/tools/androiddeployqt/main.cpp Was moved from qttools into qtbase in 5.11. So re-apply 32398e4d here. tests/auto/corelib/global/qlogging/test/test.pro tests/auto/corelib/global/qlogging/tst_qlogging.cpp tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/kernel/qtimer/tst_qtimer.cpp tests/auto/corelib/thread/qthreadstorage/test/test.pro tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp tests/auto/widgets/kernel/qapplication/test/test.pro Done-with: Gatis Paeglis <gatis.paeglis@qt.io> Done-with: Mårten Nordheim <marten.nordheim@qt.io> Done-with: Oliver Wolff <oliver.wolff@qt.io> Change-Id: Id970486c5315a1718c540f00deb2633533e8fc7b
| * 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: make splitting of CFLAGS specific to the pkgConfig sourceOswald Buddenhagen2018-06-151-28/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | as evidenced by things actually still working despite qmake_use.prf not processing *_CFLAGS, this is not relevant for any makeSpec sources any more, and was never relevant for other non-pkgConfig sources to start with. localizing the code cleans things up. as a side effect, configure won't emit a notice for dropped flags any more, but will only log them to config.log. i think that makes sense, as for the average user that would be only noise anyway. Change-Id: Iaffde6474b786f5cbcbeac881850792563b74495 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | configure: dequote library sources asapOswald Buddenhagen2018-06-121-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the json format uses single strings for library sources, as that leads to less noisy source text. however, this implies the need for de-quoting and subsequent re-quoting whenever the values are processed. so change the internal representation to regular qmake string lists as the first thing when processing the lib source, and re-quote only when outputting the values. CFLAGS are excluded, because we'll deal with them differently. Change-Id: I4ab43d98085ea9f6601fd21ac2afb5bce4f7e2a9 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devLiang Qi2018-06-071-2/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
| * 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: change convention of passing libraries to config testsOswald Buddenhagen2018-05-081-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of pre-resolving them and passing the final LIBS to qmake, pass raw QMAKE_*_LIBS* assignments and a QMAKE_USE stanza. the immediate benefit of that is that it centralizes the debug/release lib handling, which makes build variant overrides available to all libraries, not just a few selected ones. note that this removes the CONFIG+=build_all from the test projects. turns out that this was ineffective to start with, as config tests are built with an explicit CONFIG-=debug_and_release. we might re-instate it in a non-broken way later on. Change-Id: I2117c5b36937e8230bd571dcee83231515cbe30b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | configure: centralize shell-quoting of tests' .literal_args fieldOswald Buddenhagen2018-05-081-5/+7
| | | | | | | | | | | | | | | | this de-noises the code somewhat, and makes it possible to eval() the code generated by $$qtConfLibraryArgs(), which we want to do later. Change-Id: Ib6101c6745101801e34f8fab1ad6651e624130c7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Detect C standard and try using the most recent one (take 2)Allan Sandfeld Jensen2018-04-211-2/+11
|/ | | | | | | Fixes the default C version used with gcc < 5 Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>