summaryrefslogtreecommitdiffstats
path: root/configure.pri
Commit message (Collapse)AuthorAgeFilesLines
* Make build ABI available as qmake variableSimon Hausmann2017-03-281-2/+10
| | | | | | | | | | This is needed to encode the correct ABI into the generated qml caches. It is identical with the return value of QSysInfo::buildAbi(). Change-Id: I2d581b22326da4220f412ab4f517156f4ba31897 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-131-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * make an effort to keep /src properties constantOswald Buddenhagen2017-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writing $$PWD (via $$QT_SOURCE_TREE) into the new bin/qt.conf would potentially change the path compared to the value originally written by the configure script, as $$PWD is canonicalized. this in turn would break the magic for delaying the loading of toolchain.prf. so instead just write out the perfectly fine current value of $$[QT_INSTALL_PREFIX/src]. amends 169a40d51, thereby fixing 6834d0eec on windows. Task-number: QTBUG-58816 Change-Id: Ibbd44df8f3c825a97d9f4acb869e44c93acb835b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-081-15/+15
|\ \ | |/ | | | | | | | | | | | | Conflicts: configure.json mkspecs/win32-icc/qmake.conf Change-Id: Ibf40546b024d644c7d9ed490bee15b82597f4d3f
| * Remove outdated check for Apple Clang 2.x and 3.xThiago Macieira2017-02-081-12/+0
| | | | | | | | | | | | | | The minimum version of Xcode that we support is 5.1 (based on Clang 3.4) Change-Id: I536c32a88bff44dab37afffd14a11f709fb25169 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * adjust configure to native build optimizationsOswald Buddenhagen2017-02-061-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * make more use of configure QMAKE_*= arguments in native buildsOswald Buddenhagen2017-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | don't ignore the variable assignments for host tools when we're not actually cross-building. (sort of) amends 5060740f. Task-number: QTBUG-58511 Change-Id: Ideda25fb18a4e0b2d54179b08b6301b94a48e51c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * Fix MIPS DSP configurationAllan Sandfeld Jensen2017-01-271-2/+3
| | | | | | | | | | | | | | | | | | The patch fixes a number of bugs in code, and removes dead logic clarifying that MIPS DSP, like ARM NEON, has no runtime detecton. Change-Id: If2f4eea68da5b2eaa80b8e9c8258206d8c1b7173 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-86/+61
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * prevent configure from putting garbage into .qmake.stashOswald Buddenhagen2017-01-201-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | in cross-builds, toolchain.prf was loaded before CROSS_COMPILE was set up, leading to caching of possibly nonsensical values. this change also necessitated that msvc-version.conf is loaded only when toolchain.prf is, which is best done by loading the former from within the latter. that seems quite appropriate in the first place. Change-Id: I62577e827a75e335e03df016bd1aa1932643fd6c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * configure: better suppression magic for old qdevice.priOswald Buddenhagen2017-01-191-4/+3
| | | | | | | | | | | | | | | | instead of forcing an early load and discarding its contents again before they could cause harm, trick qmake into not loading it at all. Change-Id: I672ca9de362b1f23bf5cfea007053570c8534fc6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * revert to building qmake with qconfig.cppOswald Buddenhagen2017-01-061-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | turns out that just appending builtin-qt.conf isn't a good idea: executable-editing tools (objcopy, prelink, etc.) will happily drop the "attachment". a safe method would be adding a proper section to the executable, but there doesn't appear to be an objcopy equivalent in msvc, and using entirely different methods of embedding the file with different toolchains seems like a rather bad idea. so instead go back to the old method of building qmake with a generated qconfig.cpp. of course, as said file is now created by qmake itself, we have to compile qlibraryinfo.cpp a second time, and link a second qmake executable. Task-number: QTBUG-57803 Change-Id: I9e232693550aa870cec154e49cc06add13017cc2 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * move emission of final messages to qmake-based configureOswald Buddenhagen2017-01-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | now qmake is the last command called by the unix configure script. as it happens, this was already the case in the windows script, but only because it didn't print these messages at all, which it implicitly does now. another effect of this is that repositories outside qtbase will now also get the installation note in modular builds, which makes sense. Change-Id: I567146936b216185a8e0f61e445222215608bf13 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * determine compiler version at build time, not in configureOswald Buddenhagen2016-12-231-63/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this makes it consistent with the determination of the default include/library paths. this makes sense, as it's possible to switch the sdk/toolchain after building qt (within reason). a side effect of this change is that for compilers which emulate other compilers, both the real and the emulated version are now made available. Change-Id: Icfcc672c0d2e3d1b5e622993c366063d70ad327c Started-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure: reload spec after configuring pathsOswald Buddenhagen2016-12-221-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | this fixes the x-build for raspberry pi, as that spec refers to the sysroot. the path setup doesn't require the device options to be in effect yet, so it was sufficient to move the existing spec reload to a later point in time. Change-Id: Idc521aa13ff441931e954c7c9004472cf7061ee1 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
| * fix sysrootification of install pathsOswald Buddenhagen2016-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | initially, the idea was that QLibraryInfo would receive a pre-sysrootified ExtPrefix from the builtin qt.conf. matching this against the sysroot would then tell us whether to sysrootify the Prefix from a "regular" qt.conf as well. however, this would have lead to some major ugliness and inconsistency between the code paths, so i changed my mind. unfortunately, i failed to adjust the remaining code, leading to 169a40d51 entirely breaking sysrootification ... the proper (and nicely consistent) solution is to introduce a SysrootifyPrefix key to qt.conf. this is user-accessible as well, so as a bonus it is now possible to adjust the setting at qmake installation time. incidentally, this omission was the last thing that prevented using the same qmake host build for any imaginable configuration of the same qt version ... i think. Change-Id: Ic0eebf21f93651f6374628c0ad8b206d696a4a7e Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-161-5/+474
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure configure.pri examples/widgets/painting/fontsampler/mainwindow.cpp examples/widgets/painting/fontsampler/mainwindow.h mkspecs/features/moc.prf src/corelib/global/qglobal.h src/gui/text/qtextdocument.cpp Change-Id: Ica65512e00871695190a14ccea5c275b0165f787
| * move all target spec handling to qmake-based configure systemOswald Buddenhagen2016-12-131-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | we pull this feat off by booting configure with a dummy spec. the proper spec gets loaded subsequently. note that it was necessary to move the cache loading after processing the early checks (from which the spec handling is triggered). this is just fine, as the cache is needed only by tests, which are forbidden at this stage by definition. Change-Id: I5120e25a8bf05fb8cc5485fd93cf6387301089aa Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * move qdevice.pri creation to qmake-based configure systemOswald Buddenhagen2016-12-131-5/+149
| | | | | | | | | | | | | | Change-Id: I06540c3b6d98303bd9a218feedfb529993477ed6 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * move generation of qconfig.cpp (and qt.conf) to qmake-based configureOswald Buddenhagen2016-12-131-0/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this moves us another step towards the "outer" configure doing just minimal bootstrapping of qmake. a challenge here was that so far, qmake itself needed qconfig.cpp. this was replaced by usage of a qt.conf file instead of compiled-in values. however, to make the executable still self-contained, that qt.conf is embedded into it (by simple appending of a fixed signature and the text file). the qmake with the embedded qt.conf is not used for the qt build itself, which instead relies on the qt.conf in bin/ as before. however, due to the missing built-in values, this file now needs to contain more information than before. but except for a minimal version that is needed to start up qmake/configure at all, that file is now also generated with qmake. as some of the newly set up properties are subsequently used by configure itself, qmake gains a (deliberately undocumented) function to reload the qt.conf after it's fully populated. unlike the old implementations, this one doesn't emit redundant qt.conf entries which match the hard-coded fallbacks. omitting them leads to leaner files which are more comprehensible. Started-by: Paolo Angelelli <paolo.angelelli@qt.io> Change-Id: I4526ef64b3c89d9851e10f83965fe479ed7f39f6 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * write HOST_QT_TOOLS to qmodule.pri instead of qhost.priOswald Buddenhagen2016-12-131-0/+9
| | | | | | | | | | | | | | its only consumer is qt_tool.prf, which is an internal api. Change-Id: Iae90b079c5af60efad2ded70d6ea481212e5353a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * move configure -redo handling (mostly) to qmake-based systemOswald Buddenhagen2016-12-131-0/+24
|/ | | | | | | | | the qmake bootstrap uses some of the options, so the configures still read config.opt for their own purposes, but the general handling is entirely in the new system now. Change-Id: I2c6c657d4da01c8d520ac74795454747bb224bdd Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* move license check to qmake-based configure systemOswald Buddenhagen2016-12-081-3/+163
| | | | | | | | | | | | | this also removes the need for passing pre-processed options via configure.cfg, so get rid of that. a somewhat unfortunate side effect is that the android-style-assets feature had to move back to the top level, as the licensing options depend on it. Started-by: Lars Knoll <lars.knoll@qt.io> Change-Id: Id4d1e0ba18b3e3104400293b8f0c7f2f65e68dea Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Make reported build type match old configureOswald Buddenhagen2016-12-071-3/+10
| | | | | | | | | | Adds platform and CPU features to the reported build type, matching the format of the old configure. Started-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: I6d93ec7416b38684da51af5238a5cf537810b21d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* configure: turn qtConfOutputPostProcess_*() callbacks into replace functionsOswald Buddenhagen2016-11-151-6/+6
| | | | | | | | now the callbacks don't need to re-export the designated file contents, which improves the abstraction and removes some boilerplate. Change-Id: Ifa50313155fc96762025e2610b810ebb71daa373 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Enable cross_compile when sysroot is usedSamuli Piippo2016-11-081-0/+1
| | | | | | | | | | The crossCompile test checked only if platform and xplatform are different (which is the usual case), but in yocto builds cross compilation is done by setting both platform and xplatform to the same target mkspec and using host tools from -external-hostbindir. Change-Id: Ib4ae3975a52196d9c0ad52b5b5e9ccd7c1bfe883 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* remove redundancy from the build type report with -force-debug-infoOswald Buddenhagen2016-11-071-3/+6
| | | | | | | | it's a bit pointless to state "(with debug info)" also for the default build mode. Change-Id: I99563c424752c735a3157776ef4fe5252ebd3900 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* fix icpc version detectionOswald Buddenhagen2016-11-071-3/+3
| | | | | | | | | | | | | the regex didn't match the actual output ("icpc (ICC) 17.0.0 20160721"), and the code failed to concatenate the lines (broken in 492d7d14fc, as for clang). but using -dumpversion (as we do for g++) is more elegant anyway, so do it instead. Change-Id: I328bbfab9c08d6e660c3f1ec51554d9f877b8f66 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compiler version detection for clangLars Knoll2016-11-071-0/+1
| | | | | | | | | | Concatenate the multi line output from clang into one line before parsing it. This got broken in 492d7d14fc. Change-Id: I282d69932c5851f229213d7ef1ca6a78cd56c8c3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* configure: fix usage of pkg-config from qmakespecOswald Buddenhagen2016-11-011-1/+1
| | | | | | | | the spec (possibly) provides QMAKE_PKG_CONFIG. PKG_CONFIG is dynamically determined on use. Change-Id: I45b7f4eddeff5d28539021472ef9036dd397d61e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-011-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
* Write PKG_CONFIG_EXECUTABLE to qmodule.priLars Knoll2016-10-261-2/+3
| | | | | | | | | | | | | ... and use that variable in qt_configure.prf to find the pkg-config we detected during qtbase configuration. This is required for modules outside of qtbase being able to use pkg-config to configure external libraries. We do not use the PKG_CONFIG variable any more, as that interferes with the $$pkgConfigExecutable() function, which some Qt modules still use. Change-Id: I8886a266207e04301009fe8207c16b02c5455b2f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Convert the old feature systemLars Knoll2016-09-151-37/+0
| | | | | | | | | | | | | ... to the new qmake based configuration system. This removes the old qfeatures.txt (distributed over configure.json files) and qfeatures.h (distributed over qconfig-<module>.h files). qfeatures.prf is gone without replacement, as attempts to use it would lead to followup errors anyway. Change-Id: I1598de19db937082283a905b9592d3849d2199d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* rename description => label in configure.jsonOswald Buddenhagen2016-09-151-3/+3
| | | | | | | | | | "description" suggests something slightly longer. this may seem like a gratuitous change, but the upcoming replacement of the old feature system clarifies makes it seem much less so. Change-Id: Ibe702e01cb146b59127bf1f990b4acaef1c61d55 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Modularize configure.json/.priLars Knoll2016-09-151-173/+0
| | | | | | | | | | | | Move the different parts of configure.json/.pri into the libraries where they belong. Gui is not yet fully modularized, and contains many things related to the different QPA plugins. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: I6659bb29354ed1f36b95b8c69e7fce58f642053f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Modularize the new configure system (infrastructure part)Lars Knoll2016-09-101-60/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the required infrastructure to modularize the new configuration system. This requires a hierarchy of configuration files, both for handling multiple repositories and for individual modules inside the same repository. When configuring, they all need to get loaded first, as command line processing needs to know about all possible command line options. When the command line has been processed, the individual configuration files need to get processed one after the other and independently from each other. Configure is now automatically invoked when building the a project tree's "root" project; this works with both modular and top-level builds of Qt (the latter with an according change in the super repo). As an immediate consequence, the -skip option moves to the super repo with a different implementation, as configuration is now done after the repo list is determined. The option belongs there anyway. This commit also adds an optional testDir entry to the json file. Like this, we can still have all configure tests in qtbase/config.tests and the configuration file in, e.g., corelib can reference those. The files section can now be left out as long as a 'module' entry is present, specifying the module name. The names of the files to generate can then be deduced from that name. We still need to be able to specify names directly for the global configuration files. qtConfig() now also queries features which are module-specific. As it is sometimes necessary to query the configuration of modules which should not be actually linked (and cannot in the case of subdirs projects), the new variable QT_FOR_CONFIG which allows specifying configuration-only dependencies is introduced. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Id1b518a3aa34044748b87fb8fac14d79653f6b18 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Turn the available sql drivers into public featuresLars Knoll2016-09-101-4/+0
| | | | | | | | This is required to do the modularization of those features properly. Change-Id: I384aff20274e795aa70483980f0ef25309328800 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* configure.pri: Determine MSVC compiler versionFriedemann Kleint2016-09-021-0/+3
| | | | | | | | Run cl.exe /? and extract version from header line printed to standard error. Change-Id: Iecf18f1b0f94cc1d51add7021d80772784e0f953 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* unbreak pkg-config use with cacheOswald Buddenhagen2016-08-301-3/+2
| | | | | | | | | | test callbacks MUST NOT act as outputs, ever. this went unnoticed so far, as it would become visible only with configure -recheck. Change-Id: Idd923097b4b2790ef4fe8a6d430db4b62851801a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* don't cache results of build_parts and skip_modulesOswald Buddenhagen2016-08-251-3/+4
| | | | | | | | | | | as these tests do nothing but validating the command line, caching the result is more confusing than anything else. also make the tests silent, so they don't clutter an otherwise fully cached configure run. Change-Id: Ifc3d65278769b36a056650f077fd6274a7e192e7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* clean up qconfig/qmodule.pri handling in configureOswald Buddenhagen2016-08-251-0/+4
| | | | | | | | | | | | | | | | | | instead of saving the files away and restoring them afterwards, use the new and shiny discard_from() function to throw away everything the files might contain. strictly speaking, this is not precise, as the pris may also use *=, -=, and possibly other operations which cannot be trivially undone, but the purpose is essentially to discard the special outputs of some features which may affect subsequent tests, for which this is sufficient. as a side effect, the failure to load qmodule.pri is not fatal any more (like for qconfig.pri), to save the pointless effort of ensuring that it exists. Change-Id: I07625b60c4f2e27b21206b2c16d24ab111737395 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Add support for Apple watchOSJake Petroules2016-08-191-2/+2
| | | | | Change-Id: I3f9e00569458a463af2eaa5a3a16a6afd1e9c1ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* add configure test result cachingOswald Buddenhagen2016-08-191-0/+15
| | | | | | Started-by: Lars Knoll <lars.knoll@qt.io> Change-Id: I29bafc5913cf95d9908dbcdd9597df2258b69837 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Don't disable examples on iOS and tvOSJake Petroules2016-08-181-1/+0
| | | | | | | | This is just an excuse to let build failures slip past CI, as has happened and been fixed recently. Change-Id: If4356eaced0f90c7c455b21cc7676b0c9b7b1e27 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* Use the qmake based configuration system also on WindowsLars Knoll2016-08-181-0/+31
| | | | | | | | | | | | | | | | | | | | Adapt configure.exe to use qmake to do most of the work of configuring Qt. This unifies a large part of our configuration system between Unix and Windows. configure.exe is now still doing the license check, creating qconfig.cpp, building qmake, and not much more. On the way, re-implement the still missing Windows-specific tests with the new system. The opengles2 vs. opengl-desktop conditions got a bit convoluted, as Unix prefers desktop GL, while Windows GLES2 (via ANGLE). Superficially, there is a circular dependency, but the platform scopes are supposed to break it. Done-with: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Change-Id: Ia1941f2c34b7f5bd4990a7673cd737361381c2e7 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* replace mechanism to override variables from the mkspecsOswald Buddenhagen2016-08-181-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is sometimes desirable to override values from the mkspec without modifying (or wrapping) the spec itself. linux distributors do this on a regular basis. so far, we'd pick up CFLAGS, etc. from the environment, in a somewhat autoconf-like fashion. however, over time, this approach proved problematic: the concept doesn't mix particularly well with mkspecs to start with, is unexpected (and therefore causes frustration), and doesn't mix well with cross-building (at least the way it was realized). ironically, it was implemented this way (quite a while ago) upon my explicit request ... the new mechanism uses explicit variable manipulations on the configure command line, just like qmake itself understands. as it happens, this is again quite similar to autoconf-generated configure scripts. however, this time around we don't pretend to be actually autoconf-like, so we also don't try to map any variable names (some of which have different semantics anyway). this commit also eliminates the last use of the QMakeVar() function, so delete it and the underlying infrastructure. Task-number: QTBUG-32530 Task-number: QTBUG-42962 Change-Id: Id31a6b80e1add08ca21f5b178614bda530d12374 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Revamp configure system for widget stylesLars Knoll2016-08-181-1/+1
| | | | | | | | | | | | Add [-no]-style-foo command line options for all widget styles, bringing this closer in line with configure.exe. Add proper platform dependencies and a configure test for the required uxtheme.h header on Windows. Clean up and simplify styles.pri. Don't let configure.exe define QT_NO_STYLE_* any more, as styles.pri does that locally anyway. Change-Id: I81341f887a65b4e45e77380974eb79743acfad77 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* rewrite library handling in configureOswald Buddenhagen2016-08-181-26/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so far, each library was distributed over a test and (optionally) a 'library' output of a feature. this was conceptually messy and limiting. so instead, turn libraries into a category of their own. libraries now support multiple properly separated sources, which makes overriding them a lot saner. sources can be conditional to accommodate platform differences. as an immediate consequence, move (almost) all library references from the config test projects to the json file. a few tests were excluded, because they are doing somewhat magic things that should not be handled in this bulk change: - freetype: .pri file shared with actual source code - clock-gettime: -lrt is conditional, and there is a .pri file which is shared with actual source code - ipc_posix: -lrt & -lpthread conditional - iconv: -liconv conditional the multi-source mechanism is used to make a variety of tests work on windows, where the library name differs from unix (and sometimes between build configurations). some tests still needed minor adjustments to actually work. on the way, fix up disagreements between manually specified libraries and pkg-config lines (affecting several xcb-related tests). Change-Id: Ic8c58556fa0cf8f981d386b13ea34b4431b127c5 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* improve handling of test commands which produce outputOswald Buddenhagen2016-08-181-12/+13
| | | | | | | | | | | | | | | | | | never use $$system() directly, but instead use qtRunLoggedCommand() with a newly introduced out parameter. that way we can print the command's raw output, which should help debugging configure problems. additionally, we now consistently check the exit code of all executed commands, which should avoid confusing followup errors. note that as a side effect some calls now use $$system()'s 'lines' mode instead of the bizarre default splitting mode. this has no impact on any of the cases, which is why it is basically a negligible style change at this point. however, qtLog() gained support for arguments with more than one element to accommodate this. Change-Id: I40d907e27de32dfec8d6086ce7d93fc4be18241f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* remove left over debug messageOswald Buddenhagen2016-08-121-1/+0
| | | | | Change-Id: I2750e9561c006e7e9dae569af0e1c9095cb1b8f7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>