Commit Graph

962 Commits

Author SHA1 Message Date
Joerg Bornemann
d9a9eca54d Remove unsupported host-related configure options
The following host-related configure options were unsupported since Qt
6.0 and are now completely removed:
-hostprefix
-external-hostbindir
-host*dir (except -hostdatadir)
-android-ndk-host

Pick-to: 6.2
Change-Id: Ib69d90c40ef546f61bf87b1f443eb9d10f7a5a21
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-07-06 08:53:52 +02:00
Joerg Bornemann
081b5398f8 Remove the -qmake and -cmake configure arguments
Qt is built with CMake since 6.0 and the QMake build system was removed
in 6.1. It's time to remove the -cmake and -qmake configure arguments
for Qt 6.2.

Fixes: QTBUG-88286
Change-Id: Ie726ec364ded025f8d93bd69b469561a6ae40aa9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-03-11 16:39:50 +01:00
Joerg Bornemann
31396f0aff Remove qmake-related code from configure
This leaves a very simple script that delegates the heavy configure work
to a CMake script.

This also removes the Makefile templates that were used for
bootstrapping qmake.

Task-number: QTBUG-88742
Change-Id: Iab9c477e0bb611d680bda2cf8aaa7ad88356a8d1
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-12-21 10:33:33 +01:00
Alexandru Croitor
126c5c501a CMake: Disable building Qt with qmake
Print an error message when configure is passed the -qmake option.
The only supported way to build Qt now is with CMake.

This means the CMakeLists.txt files are the source of truth now, and
pro2cmake will not have to be used anymore.
The .pro files can be removed at a later time.

The same is true for configure.cmake files. They are the authoritative
source, and the configure.json files will be removed at a later time.

Task-number: QTBUG-88741
Change-Id: Ia9de4c1411978b40b13e9b982977e7818164c984
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-12-10 15:25:37 +01:00
Kai Koehne
ea0f81a6b2 configure: Fix call without options
Previously this would result in config.opt file not being written.

Change-Id: I9ce349a7cda9f399fa789a569e46138ea90769f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-07 19:33:37 +01:00
Volker Hilsheimer
ba7ef28ea9 Default to cmake when building Qt
People that insist on qmake builds of Qt can configure with -qmake

Task-number: QTBUG-87049
Change-Id: I5729b654d4c8b9c6b526234ba5563aff8fd750e1
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-11-02 15:36:13 +00:00
Joerg Bornemann
077ea0c633 configure: add -qmake argument
This option configures Qt with the qmake-based build system.
Currently, this is the default, so this option is a no-op until the
default switches to CMake.

Task-number: QTBUG-87049
Change-Id: I56f3080a4f1423788ffb743287a7b2e67a8e2cc4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-10-01 14:34:05 +02:00
Joerg Bornemann
25cc901f04 CMake: Fix configure -redo for top-level builds
When re-doing in a top-level build, we did not read the config.opt file
from the top-level directory.

Also, the config.opt file should not contain the -top-level argument.
This is an internal option, and on Windows, it was already missing. The
information whether we're doing a top-level build is now passed in the
CMake variable TOP_LEVEL.

Change-Id: Iaecd7306a4b6d9ad494684c201cf12f8e74d684b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-22 22:20:43 +02:00
Joerg Bornemann
45d3c75ab6 CMake: Fix configure -redo on Unix
One can now place a config.opt file in an otherwise empty build
directory and call 'configure -redo'. If config.opt contains the
-cmake argument, Qt will be built with CMake as expected.

To achieve that, configure must peek into config.opt and look for the
-cmake argument.

Fixes: QTBUG-86097
Change-Id: I35f76caca862e5a59c2fb850e0aeb6529c826149
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-20 17:07:09 +02:00
Joerg Bornemann
ca2f13bad6 CMake: Purge remains of the -cmake-makefiles configure argument
This amends 3ac054d6a8.

Change-Id: Ia6f1e4d967160628144478f9baecbcd3ae74dd32
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-08-18 20:24:44 +02:00
Joerg Bornemann
044cb3ce20 CMake: Fix top-level configure
The working directory for CMake must be the top-level build dir, not the
qtbase one.

Change-Id: I1090aca8bf2617719e724f96b1fa356eb9fabb46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-16 15:00:37 +02:00
Joerg Bornemann
dbd3c75965 CMake: Teach configure.bat the -cmake argument
The configure scripts need to translate configure options to CMake
arguments. It is not sensible to implement this translation twice, in
sh and Windows batch language, so we're doing this once, in CMake
language.

The configure scripts write their options into config.opt and call a
CMake script that reads config.opt, does the translation to CMake
arguments and calls CMake to generate the build system.

While we're at it, implement some more translations than the sh
configure provided, like -extprefix, -top-level and -skip.

Fixes: QTBUG-85349
Fixes: QTBUG-85350
Task-number: QTBUG-85373
Change-Id: Ida5d8b2a3c178b9349d41ec76d190c69a9456e74
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2020-07-06 17:43:28 +02:00
Dimitrios Apostolou
013b04a381 Fix configure -cmake -no-pch
Since the CMake build of Qt needs a special flag (BUILD_WITH_PCH)
we need to detect -no-pch separately in the configure script.

Change-Id: If31e129ba532c00a7e0a7ee817dec6a6a0138ebf
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-30 15:21:21 +02:00
Dimitrios Apostolou
33714b6c02 Adjust configure -cmake to accept both single and double dash arguments
This uses sed -E (extended regular expressions) to improve readability of
regular expressions. Shouldn't be a problem on most modern systems.

Change-Id: I12c9834c1ef83bf5f8547bccff655a6b8525cc3d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-27 02:58:24 +02:00
Dimitrios Apostolou
52a7d2e3a3 Fix configure -cmake -nomake examples -nomake tests
Change-Id: I4cea33ec5a231dc84805cb3e5052e662cc601749
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-27 02:58:16 +02:00
Dimitrios Apostolou
e3fe8524ed Fix -system-library and -qt-library arguments for configure -cmake
Change-Id: Ief19f2e8cb2996b7d09e2354328d30a67ad801fd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-06-27 02:58:08 +02:00
Lars Knoll
412dd857b8 Compile QRegularExpression into qmake
This is required to be able to port qmake over to use
QRegularExpression instead of QRegExp.

Change-Id: I0ad2c19bf3c0a28e52c1e12b4d3daa0300a75ed2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-05 18:41:20 +02:00
Qt Forward Merge Bot
8823bb8d30 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	examples/opengl/doc/src/cube.qdoc
	src/corelib/global/qlibraryinfo.cpp
	src/corelib/text/qbytearray_p.h
	src/corelib/text/qlocale_data_p.h
	src/corelib/time/qhijricalendar_data_p.h
	src/corelib/time/qjalalicalendar_data_p.h
	src/corelib/time/qromancalendar_data_p.h
	src/network/ssl/qsslcertificate.h
	src/widgets/doc/src/graphicsview.qdoc
	src/widgets/widgets/qcombobox.cpp
	src/widgets/widgets/qcombobox.h
	tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
	tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
	tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
	tests/manual/diaglib/debugproxystyle.cpp
	tests/manual/diaglib/qwidgetdump.cpp
	tests/manual/diaglib/qwindowdump.cpp
	tests/manual/diaglib/textdump.cpp
	util/locale_database/cldr2qlocalexml.py
	util/locale_database/qlocalexml.py
	util/locale_database/qlocalexml2cpp.py

Resolution of util/locale_database/ are based on:
https://codereview.qt-project.org/c/qt/qtbase/+/294250
and src/corelib/{text,time}/*_data_p.h were then regenerated by
running those scripts.

Updated CMakeLists.txt in each of
	tests/auto/corelib/serialization/qcborstreamreader/
	tests/auto/corelib/serialization/qcborvalue/
	tests/auto/gui/kernel/
and generated new ones in each of
	tests/auto/gui/kernel/qaddpostroutine/
	tests/auto/gui/kernel/qhighdpiscaling/
	tests/libfuzzer/corelib/text/qregularexpression/optimize/
	tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/
	tests/libfuzzer/gui/text/qtextdocument/sethtml/
	tests/libfuzzer/gui/text/qtextdocument/setmarkdown/
	tests/libfuzzer/gui/text/qtextlayout/beginlayout/
by running util/cmake/pro2cmake.py on their changed .pro files.

Changed target name in
	tests/auto/gui/kernel/qaction/qaction.pro
	tests/auto/gui/kernel/qaction/qactiongroup.pro
	tests/auto/gui/kernel/qshortcut/qshortcut.pro
to ensure unique target names for CMake

Changed tst_QComboBox::currentIndex to not test the
currentIndexChanged(QString), as that one does not exist in Qt 6
anymore.

Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
2020-04-08 20:11:39 +02:00
Tor Arne Vestbø
6387138a79 Pass SDK root to the linker as -isysroot, not -Wl,-syslibroot
The former option to clang will result in more options to the linker,
such as the newly introduced -platform_version, which writes the
SDK version to the resulting binary. By using the syslibroot flag
directly we were missing the platform version, and binaries were
left without an SDK version set, resulting in failed validation
of the binary. Going with the clang driver gives us the right
behavior for free.

Fixes: QTBUG-83100
Change-Id: I98bc9ba644dae4bcc7a6a88481556bae185ce5fa
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 6a60192ac03d0b4ab542191065122243cebcd1ca)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-04-02 18:33:42 +02:00
Simon Hausmann
a845e1db18 Add convenience forwards/translations to cmake configure wrapper
Translate --ccache and --sanitize=foo into corresponding cmake
variables.

Change-Id: If6e20a715ace7e55e498e3398c592295a4f264c3
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-04-01 22:57:18 +02:00
Olivier Goffart
4933a5f892 Use C++17 for qmake and force the build of everything with C++17
We will want to use C++17 code in our headers soon.
(including the one in the bootstrap libraries)

This patch is quick and dirty, I guess it will be cleaner once we move to cmake

Updated QMAKE_MACOSX_DEPLOYMENT_TARGET because 10.13 runtime does
not support C++17 stdlib features

Change-Id: I75ac171436945dddd1bb953a9c8d323ac20da7ac
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-02-08 09:49:07 +01:00
Ville Voutilainen
3ad5d7aa55 configure: Add support for -feature and -no-feature for cmake builds
Change-Id: I160a9513da0401f1c83598691294ec48737e08a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-29 11:35:42 +00:00
Leander Beernaert
502d3d6744 Merge remote-tracking branch 'origin/dev' into merge-dev
Change-Id: I31b761cfd5ea01373c60d02a5da8c33398d34739
2020-01-24 13:17:33 +01:00
Qt Forward Merge Bot
58c69df4d3 Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
	src/corelib/tools/qhash.h
	src/gui/kernel/qevent.h
	src/widgets/kernel/qshortcut.cpp
	src/widgets/kernel/qshortcut.h

Change-Id: If61c206ee43ad1d97f5b07f58ac93c4583ce5620
2019-11-25 11:30:04 +01:00
Mitch Curtis
17ec21e824 Android: remove remaining reference to -android-toolchain-version
This amends 65dfc485ad.

Change-Id: I5e0ec7632befe0650138d1977d42313dc0acf3bf
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-11-18 14:13:32 +01:00
Simon Hausmann
68296aaed4 Prospective fix for Boot2Qt build in the CI
One of the parameters that Coin passes to configure is this:

    -device-option DISTRO_OPTS="hard-float boot2qt"

The configure script would "swallow" the quotes and end up calling qmake
with -device-option DISTRO_OPTS=hard-float boot2qt, causing qmake to
complain that the standalone "boot2qt" option is unknown.

Fix this by preserving the quotes in the forwarding helper functions.

Change-Id: I16098bd35acb579ebf183b0f7746af8758269e7c
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
2019-10-18 13:21:29 +00:00
Alexandru Croitor
440286655e Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: I4a78428a8ea273b6960792e3b8043f816fa37fcf
2019-10-14 17:46:34 +02:00
Lars Knoll
e1fd607493 Remove leftovers from QML1
QML1 is not supported anymore, remove the leftover hooks for it.

Change-Id: I2900726714c5faea3523b2ebe39bb393364b3bfb
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-10-10 11:28:19 +02:00
Ville Voutilainen
1569c6d85e Restore top-level build with a separate function
We have other helper functions like this, and the way they are made
to work is to pass the script's arguments down to them.

Change-Id: I3b80e82a2fb3d6e6a65b2deca3b60e4e0dd8de07
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-10-07 14:59:49 +00:00
Simon Hausmann
3ecfeb3629 Fix top-level builds with qmake
The separation of functionality into functions in commit
37756ede09 accidentally broke top-level
builds as the function to detect -top-level was operating on local
parameters (shift) or they were not available ($1). Inlining these few
lines fixes it.

Change-Id: Icf609dc5e7b361997847f3ef3a1b10635c122d5d
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2019-09-23 10:51:45 +00:00
Ville Voutilainen
37756ede09 cmake: configure defaults to ninja, support -developer-mode
This makes -developer-mode build tests and examples, too.

Change-Id: I3f1a700c6e9d06ab632990561e13f059acb4e6ff
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-09-11 08:30:50 +00:00
Alexandru Croitor
c7ec7cd2a1 Merge branch 'wip/qt6' into wip/cmake
Change-Id: I50ac36b8803c296998149e98cc61e38687cdd14b
2019-08-15 16:53:19 +02:00
Tasuku Suzuki
3bbbc8510a Fix typo in configure script
Change-Id: Icc979dd58e061c62d45305e00580d27d0cd4af69
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-07-24 10:42:16 +09:00
Ville Voutilainen
3a9ffadf69 Teach configure to run either qmake or cmake
Task-number: QTBUG-74139
Change-Id: I609ec4b3ef9f30455bd72aaebad0b6c766c39cd7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-05-16 13:54:15 +00:00
Martin Storsjö
9436e3c315 configure: Treat win32-clang-g++ the same as win32-g++
This fixes configure with win32-clang-g++ as the native compiler.

Change-Id: Iced43d70b9a0aa413d1f5f6034b42b976cb7c39e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-10-10 04:10:40 +00:00
Gabriel de Dietrich
b6f7230cda configure: Detect Cocoa instead of Carbon
Change-Id: I9d1ff47481ad450b4b57c82e15186657eb7dcf93
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-05 21:04:22 +00:00
Jake Petroules
cd542a82b0 Remove references to obsolete platforms
ultrix and reliant have not seen a release since 1995. dgux not since
2001. bsdi not since 2003. irix not since 2006. osf not since 2010.
dynix... unclear, but no later than 2002. symbian needs no mention.
All considered obsolete, all gone.

sco and unixware are effectively obsolete. Remove them until someone
expresses a real need.

Change-Id: Ia3d9d370016adce9213ae5ad0ef965ef8de2a3ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-11-05 06:33:53 +00:00
Oswald Buddenhagen
92ff8a2500 configure: dispose of which.test
just use 'which' and be done with it. the script was rather arcane, and
worked around deficiencies of cygwin (no longer relevant) and solaris
(assumed to be somewhat sane meanwhile).

Change-Id: I2e11ea3c87ac06a85604ac8d58d8fee95eae2e15
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2017-08-02 16:37:32 +00:00
Jake Petroules
fa7626713b Allow using Xcode Command Line Tools to build Qt
Some users don't want to download the full Xcode installation which can
weigh upwards of 5 GB download and 20 GB installed.

[ChangeLog][macOS / iOS] Qt can now be built using just the Xcode
Command Line Tools, without needing to install the full Xcode IDE.

Task-number: QTBUG-35928
Task-number: QTBUG-41908
Change-Id: I6d13c9a03ab9087b3ab56e8547f53f0cc2806c7b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
2017-06-29 02:00:12 +00:00
Thiago Macieira
ab44ac021d Clean up mkspecs from old, unsupported and untested mkspecs
They have not been tested with Qt 5, not even once to make sure
that the mkspec passes the sanity check.

This removes for OSes:
  HP-UX (running on PA-RISC -- Itanium still supported)
  SGI IRIX
  SCO Unix
  Tru64 Unix
  Unixware

And compilers:
  IBM xlC (Visual Age C++)
  HP aCC compiler (PA-RISC and Itanium)
  PGCC, cxx and kcc on Linux

There were a couple more OSes detected in the configure script that were
lacking even the mkspec. Those have also been removed.

Of those, only hpuxi-acc and aix-xlc have been tested in the last 9
years, though only with Qt 4 and never tried with C++11 support. IRIX
was last tested over 10 years ago and PA-RISC is definitely not
supported due to its lack of atomic operations.

Support for HP-UXi and AIX is now only possible with GCC (assuming GCC
supports those). Support files for Oracle's Sun Studio compiler are left
behind, but its state is unknown.

Change-Id: I7814054a102a407d876ffffd14b69c796b97c972
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-04-27 22:34:34 +00:00
Oswald Buddenhagen
7967d8dadb configure: balk at any of {{,X}QMAKESPEC,QMAKE{PATH,FEATURES}} being set
these variables have no legitimate use when building qt itself, but have
great potential to wreak havoc.

Task-number: QTBUG-60016
Change-Id: I161837463443af82d48145e75952fa529212fe75
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2017-04-21 09:22:27 +00:00
Oswald Buddenhagen
696c3f9af8 complain about various invalid configuration attempts
Task-number: QTBUG-56049
Change-Id: Id5eeb014c2b88195d2d14566a62dcb9185206b37
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-01-06 20:10:10 +00:00
Oswald Buddenhagen
17b6967f68 don't unnecessarily pass -qtconf to qmake
it makes the call more noisy for no particular reason.
and the new code is even easier to read ...

Change-Id: Ib4dfd373f351eeaca99e6bfc42b631f931ec987d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2017-01-06 20:09:02 +00:00
Oswald Buddenhagen
cfba3fff05 move emission of final messages to qmake-based configure
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>
2017-01-06 20:08:56 +00:00
Oswald Buddenhagen
7af6e9bbe6 print help from all modules in top-level builds
this is rather hacky. a proper solution would auto-generate help from
the command line argument definitions, at the cost of needing to
bootstrap qmake first.

Change-Id: Iada6e25d5b31d7db0595309887f2d13295bbc1e3
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-30 10:25:47 +00:00
Oswald Buddenhagen
ab0cc3055d move all target spec handling to qmake-based configure system
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>
2016-12-13 18:56:34 +00:00
Oswald Buddenhagen
8861b82f9e move qdevice.pri creation to qmake-based configure system
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>
2016-12-13 18:56:28 +00:00
Oswald Buddenhagen
169a40d511 move generation of qconfig.cpp (and qt.conf) to qmake-based configure
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>
2016-12-13 18:56:12 +00:00
Oswald Buddenhagen
42196f4061 nuke configure -host-option
in its current form, it was introduced only in 5.7, mostly as a side
effect of -external-hostbindir (which is now handled differently).
it only ever worked for the macOS and MinGW specs, as a side effect of
them supporting -sdk and -device-option (for good reasons), and was
supported only by the unix configure. it's not believed to be really
useful and complicates matters somewhat, so get rid of it again.

should it ever become actually relevant, it can be re-introduced
properly, probably along with a -host-sdk option for macOS.

Change-Id: Ib078469ea39deb821c7b6a8c67fda9e1a95fedf5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-13 18:55:59 +00:00
Oswald Buddenhagen
e2eab15e34 write HOST_QT_TOOLS to qmodule.pri instead of qhost.pri
its only consumer is qt_tool.prf, which is an internal api.

Change-Id: Iae90b079c5af60efad2ded70d6ea481212e5353a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2016-12-13 18:55:48 +00:00