Commit Graph

2848 Commits

Author SHA1 Message Date
Liang Qi
c0359bd3c3 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/global/qfloat16.cpp
	src/corelib/global/qfloat16.h
	src/plugins/platforms/windows/qwindowswindow.cpp

Change-Id: I0938aaa6a9771f55e48c95ed29f6f5291431b947
2019-05-15 07:11:41 +02:00
Steve Lhomme
02a14e6e1b Include MODULE_AUX_INCLUDES in the generated .pc files
QtANGLE is set on MODULE_AUX_INCLUDES so the headers can be found when
building with ANGLE (gui.pro) but the pkg-config file is missing this
header and the Qt headers cannot be compiled with the path from this
config.

Fixes: QTBUG-75495
Change-Id: I4d795b3495b8d08c65f9ddffad4fc838b4f04c31
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-05-14 11:07:14 +00:00
Liang Qi
388fe97f2a Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/tools/qstring.cpp

Change-Id: I81dbf90fc936c9bf08197baefa071117bddb1c63
2019-05-13 08:04:58 +02:00
Liang Qi
c2b553784d Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/kernel/qobject.cpp
	src/corelib/kernel/qvariant.h
	src/corelib/tools/qlist.h

Done-With: Milian Wolff <milian.wolff@kdab.com>
Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io>
Change-Id: I6803f7239aa137a51a7467fab7cc7a01302a848d
2019-05-07 11:58:30 +02:00
Mikhail Svetkin
a43c3b456a rtems: add mkspecs for new operation system RTEMS
Change-Id: Idd01ccd69c296df1a67a90260fc4e5547acf3079
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
2019-05-06 06:56:33 +00:00
Allan Sandfeld Jensen
f5de7896d7 Use -Wextra instead -W
-W is a really old way of writing -Wextra.

Change-Id: Ibc531749293fab9b03e404fe751fc1c7b4a7e6db
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-05-03 09:11:00 +00:00
Qt Forward Merge Bot
4a54e8fd82 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: Ic712e8a84b01b212bb1121d7a2c9b85e0d2da9da
2019-04-29 01:00:22 +02:00
Qt Forward Merge Bot
03f7d0a005 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I1c9449ab064deed1367a7e5dbedfcb489f28140e
2019-04-27 01:00:11 +02:00
Christian Ehrlicher
220028d37c QtBase: introduce QT_DEPRECATED_VERSION/QT_DEPRECATED_VERSION_X
QT_DEPRECATED_VERSION(major, minor) and
QT_DEPRECATED_VERSION_X(major, minor, text) outputs a deprecation
warning if QT_DEPRECATED_WARNINGS_SINCE is equal or greater than the
version specified as major, minor.
This allows the user to hide deprecation warnings which can't yet be
fixed for their codebase because the minimum required Qt version does
not provide the replacement function.

If QT_DEPRECATED_WARNINGS_SINCE is not set by the user, it's set to
QT_DISABLE_DEPRECATED_BEFORE if available, otherwise to QT_VERSION.

[ChangeLog][QtCore][QtGlobal] Add new macros QT_DEPRECATED_VERSION
and QT_DEPRECATED_VERSION_X to conditionally display deprecation
warnings

Change-Id: I61b1a7624c9b870695c9e3274313de636f804b5d
Reviewed-by: Konstantin Shegunov <kshegunov@gmail.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-04-25 17:58:30 +00:00
Ryan Chu
658f12d735 Expose docker test server as an internal config to all modules
Before testserver becomes a stable feature, let's keep testserver.prf in
"mkspecs/features/unsupported". The test server's shared files will be
stored in "mkspecs/features/data/testserver".

Because the path of testserver has been changed, all the tests relying
on the docker servers should be updated as well.

Change-Id: Id2494d2b58ee2a9522d99ae61c6236021506b876
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-04-25 15:33:06 +00:00
Liang Qi
dc37318684 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/gui/util/qshaderformat.cpp
	src/gui/util/qshaderformat_p.h
	src/widgets/graphicsview/qgraphicsitem_p.h

Change-Id: Idafd88eb9a0a15b4af29f6143d009c1ec8ceecca
2019-04-24 09:52:30 +02:00
Liang Qi
a20da2353c Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	mkspecs/win32-clang-msvc/qmake.conf
	src/gui/image/qpnghandler.cpp

Change-Id: Ied79d02912ffb3a307a99483df7db08c7f9d0cd8
2019-04-10 08:16:20 +02:00
Qt Forward Merge Bot
ed485243b5 Merge "Merge remote-tracking branch 'origin/5.13' into dev" into refs/staging/dev 2019-04-04 23:01:17 +00:00
Allan Sandfeld Jensen
b6cf8cb794 Clang_cl: Use -O3 for full optimization
Pass it through as a traditional clang argument instead of relying on
what MSVC cl.exe can take.

Change-Id: I94405ce6ab80d16b687e62c9aa4b2866ba84f0e2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-04-04 16:59:29 +00:00
Qt Forward Merge Bot
682513bed4 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I99a27f9a0402e1ccad45a2d062d784f8d9a08dd3
2019-04-03 01:00:11 +02:00
Liang Qi
29f01b32f5 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/corelib/configure.json

Change-Id: I93ac67f3bf4844bc7c691183e94bceb922b7b919
2019-03-31 12:39:42 +02:00
Joerg Bornemann
03ecdddb11 configure: Warn about redundant and contradictory options
Configure will print notes in the following situations:
  - redundant options, e.g. -gui -gui
  - contradictory options, e.g. -gui -no-gui

Fixes: QTBUG-53499
Change-Id: I6cf023e7730907069cf971f5982a41453f611c3c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-03-27 09:11:34 +00:00
Friedemann Kleint
7f635d9777 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I38389a69411f4549fed432f1181dbe23398b34a2
2019-03-26 08:24:59 +01:00
Yuhang Zhao
b43988ada2 Clang: use -Oz instead of -O1 to optimize for size
Change-Id: I60fecba64e968d10b87a9c1af571ff4a3aa98ad7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-21 23:46:32 +00:00
Yuhang Zhao
6a210e0329 clang-cl: Enable linker optimization explicitly
In release mode, MSVC linker will enable it by default
while clang-cl won't. So enable it explicitly.

Change-Id: Iabfd8698d426290fee59662acf6c124b9f226c11
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-21 10:16:08 +00:00
Yuhang Zhao
36827faa18 Clang: Add Thin LTO in addition to Full LTO
Change-Id: I6502f3ff31c16faebd9b931b99b77a273971f611
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-03-20 17:21:08 +00:00
Qt Forward Merge Bot
64085d9b2f Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I9e7cb1b131b7b216aad8ed1b1536669fd1557c21
2019-02-22 01:00:27 +01:00
Oliver Wolff
7227e54445 qmake: Fix COPIES for Visual Studio projects
QINSTALLS is not set when Visual Studio projects are used. Use its
resolved value in case that Visual Studio projects are generated.

Change-Id: I8c21d4335971f45e56b3549086cb803c2d464158
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-02-21 06:43:56 +00:00
Qt Forward Merge Bot
2e8987b7ec Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13 2019-02-21 01:34:52 +00:00
Qt Forward Merge Bot
0c0c4a23bc Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I830beea26863323ab78a5d4b093f7763d77ad3da
2019-02-21 01:00:08 +01:00
Lorn Potter
70b558ad5b wasm: fix system lib detection and use
This is a revert of eea08d376a.
We need these flags to be added to the compiler in order to find the
emscripten ports to be able to use them.

Task-number: QTBUG-73127
Change-Id: Icf70f456947aef04dc79b2328f2e95fb1e94fcf8
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-02-20 23:03:09 +00:00
Oliver Wolff
ba58776a79 winrt: Add support for Visual Studio 2019
Change-Id: I5a07a3d20425a8c7ce2b2477792c379afeff5680
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2019-02-20 13:32:29 +00:00
Qt Forward Merge Bot
67c70b22f6 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Ifa143cc462301aaa305c9c85360e543553a751f0
2019-02-19 01:00:08 +01:00
Joerg Bornemann
8fe3680193 Add cmdline feature to qmake
[ChangeLog][qmake] A new feature "cmdline" was added that implies
"CONFIG += console" and "CONFIG -= app_bundle".

Task-number: QTBUG-27079
Change-Id: I6e52b07c9341c904bb1424fc717057432f9360e1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2019-02-18 07:12:14 +00:00
Joerg Bornemann
0c03316ec9 Revert "Fix determination of OpenGL include paths on macOS"
This reverts commit 37970d7b3e.

That commit broke the build on macOS, because the OpenGL headers aren't
resolved anymore at configure time.

Change-Id: Iec6ef009c9ea7e28b12eeca6b5eb06918bf49d98
Fixes: QTBUG-73827
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-02-16 16:25:24 +00:00
Qt Forward Merge Bot
ef2ddcf551 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I8cad26f17834dbc9f7151edc0f17786f9e32025d
2019-02-15 01:00:51 +01:00
Samuel Thibault
501cca2c4b Add <features.h> include to hurd-g++ mkspec
Without this include, __REDIRECT does not get defined, and then
open gets #defined to open64, leading to bogus MOC output.

See https://bugs.debian.org/920613.

Change-Id: I629d9dc6af05b9480c0c81a61d8890ab8bbefaae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-14 14:24:56 +00:00
Joerg Bornemann
797f686ea4 Turn bcm_host library into makeSpec source
The bcm_host library couldn't be detected anymore. Let the makespec
provide LIBDIR, INCDIR and LIBS for bcm_host to fix this.

Change-Id: I4bc268504dc48edaf2884f1c14b745260fd9112c
Fixes: QTBUG-73727
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2019-02-14 07:27:34 +00:00
Oliver Wolff
896b307679 Add support for Visual Studio 2019
Change-Id: I963fc1c159edc644f081675c3dee248c25d7c9dc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
2019-02-13 14:04:54 +00:00
Liang Qi
93bcd488af Merge "Merge remote-tracking branch 'origin/5.12' into 5.13" into refs/staging/5.13 2019-02-12 18:13:34 +00:00
Jean-Michaël Celerier
cbbf7ddd3d Fix detection of libraries when linking against static builds with CMake
This patch is a follow-up to eda28621f6.
It adds a translation of the $$[QT_INSTALL_LIBS] variable into
a path that CMake understands.
Without this, CMake finds the system libraries if there are any
instead.
It also handles the case where the .prl file contains absolute paths to
libraries, as it happens for instance on Debian systems.

Task-number: QTBUG-38913
Change-Id: If68373efee22bc00172e8fead3e2c12ea440787f
Reviewed-by: Kyle Edwards <kyle.edwards@kitware.com>
Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
2019-02-12 13:09:38 +00:00
Joerg Bornemann
37970d7b3e Fix determination of OpenGL include paths on macOS
Since include paths are fully resolved, we must remove the code that prepends
the SDK path to the OpenGL include paths.

Change-Id: I80d74629c7fc989a89c3f1d95d6de43b4c1de17a
Fixes: QTBUG-73736
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-02-12 12:58:44 +00:00
Qt Forward Merge Bot
d3b3be6865 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: Iad53d4f21263718b8ecf15fd2d1170d24c7b675d
2019-02-12 13:53:22 +01:00
Eric Lemanissier
fd88c152db configure: use proper separator for mingw libraries
Change-Id: Ic328691fe2f08e918c1bb67910521d85b274a8fd
Fixes: QTBUG-73466
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-02-12 05:48:58 +00:00
Liang Qi
fbfacd33be Merge remote-tracking branch 'origin/5.12' into 5.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
2019-02-08 12:31:02 +01:00
Morten Johan Sørvig
de4f256d48 Wasm: enable thread support
configure.json: Make the “thread” feature be allowed
for wasm but disabled by default.

Change qmake.conf and wasm.prf to enable Emscripten
pthreads mode:
- Add USE_PTHREADS=1 linker flag
- Add PTHREAD_POOL_SIZE linker flag with a default pool size (4).
- Add TOTAL_MEMORY linker flag to set available memory (1GB)

It is possible to override options such as PTHREAD_POOL_SIZE
from the application .pro file using QMAKE_WASM_PTHREAD_POOL_SIZE
To change TOTAL_MEMORY, use QMAKE_WASM_TOTAL_MEMORY

Make qtloader.js work in pthreads mode:
- The Module.instantiateWasm callback must provide the module
  in addition to the instance to Emscripten.
- Set Module.mainScriptUrlOrBlob so that the pthreads web workers
  can access the main script

Task-number: QTBUG-64625
Change-Id: I1ab5a559ec97c27c5fc24500ba5f863bcd275141
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-02-07 16:13:26 +00:00
Morten Johan Sørvig
6e7a7d5fb9 Wasm: enable source map support for debug builds
The source map location can be configured by setting
QMAKE_WASM_SOURCE_MAP_BASE in the .pro file. Fall back
to “http://localhost:8000” if not set.

Task-number: QTBUG-72002
Change-Id: I9da80dacdefc272f267e5db4caac274d93ba4479
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
2019-02-07 16:11:23 +00:00
BogDan Vatra
74e04d6ace Android: follow official android flags for cmake
Update our cflags and lflags with the ones found in android.toolchain.cmake

Fixes: QTBUG-73274
Change-Id: Id9fd9bf04df959239abd3100090a1485e872b2f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-02-07 09:02:17 +00:00
Michal Klocek
7910dd0a54 Add llvm linker detection to configure
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>
2019-02-06 22:11:22 +00:00
Qt Forward Merge Bot
670b843369 Merge "Merge remote-tracking branch 'origin/5.12.1' into 5.12" into refs/staging/5.12 2019-02-06 10:52:13 +00:00
Qt Forward Merge Bot
e4c29088c8 Merge remote-tracking branch 'origin/5.12.1' into 5.12
Change-Id: I486f3c51df4b60fe60b75ba642636a835a75f731
2019-02-06 10:28:01 +01:00
Joerg Bornemann
8e6231f4eb Fix install targets for generated private headers
Header files of modules that specify generated_privates are usually
not yet available at qmake-time. Thus, the installation rule must not
check for the file's existence.

Change-Id: Ifc7ff95422912d255744c9006382ff181176ae77
Fixes: QTBUG-71340
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2019-02-06 07:17:46 +00:00
Andy Shaw
9435526d50 qmake: Add variables for setting the version number and name in Android
This makes it much easier to have the version information set for an
Android APK without having to manually modify the AndroidManifest.xml
each time.

[ChangeLog][Android][qmake] Can now set the version name and code for
Android using ANDROID_VERSION_NAME and ANDROID_VERSION_CODE respectively
in the pro file.

Change-Id: Ie6813bc3a7444f7baa5e772b93bc2695d9b81e57
Done-with: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: Markus Maier <markus.maier@rosenberger.de>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-02-04 16:57:07 +00:00
Tor Arne Vestbø
5d181961ea macOS: Don't check for stale SDK unless target needs to be remade
Also catches some more variants of SDK mismatch, such as Xcode not
being installed at all, or the SDK missing.

Change-Id: I184aaa571ef0ea722ca64c54f665462dabc17533
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-01-29 11:08:31 +00:00
Joerg Bornemann
c2b0bca984 configure: Respect -continue in qtConfParseCommandLine
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>
2019-01-29 10:51:19 +00:00
Joerg Bornemann
11ae0e772c Consume the -skip option in qtbase/configure
...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>
2019-01-29 10:51:10 +00:00
Morten Johan Sørvig
3a9240428c Wasm: disable resources_big
Errors out with “No data signature found”.

Change-Id: Ia9a38e8c71aef4e090494ed4754f4c14e913b092
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: hjk <hjk@qt.io>
2019-01-28 16:06:39 +00:00
Liang Qi
980567b3a3 Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	src/android/templates/AndroidManifest.xml
	tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp

Change-Id: I4c9679e3a8ebba118fbf4772301ff8fde60455b9
2019-01-26 08:35:40 +01:00
Janne Koskinen
63891267c1 Disable NEON flags from Integrity compiler
Integrity assembler doesn't understand NEON assembly statements.
Compiler enables _ARM_NEON_ and _ARM_NEON to indicate that NEON
intrinsics are available. _ARM_NEON_ and _ARM_NEON needs to be
disabled to skip handwritten assembly code paths in Qt.Auto-
vectorization is enabled without the flags enabled.

Task-number: QTBUG-72716
Change-Id: I84cfbf98bd2af47740a79f4b300c1801017ee22c
Reviewed-by: Tuukka Turunen <tuukka.turunen@qt.io>
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-01-25 11:15:04 +00:00
Kimmo Ollila
f8f96d0fa1 Fix OpenGL library paths on INTEGRITY QC Snapdragon 820
After 521a85395d configure doesn't find
OpenGL libraries from QMAKE_LIBDIR, hence we use QMAKE_LIBDIR_OPENGL_ES2
and QMAKE_LIBDIR_EGL instead.

Task-number: QTBUG-73136
Change-Id: Iaeac46000c5d684f601741cbef91ce745ceb4ea2
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
2019-01-25 11:14:55 +00:00
Thomas Miller
036247e777 Add arm64 winrt target
Change-Id: I45170216be3a0ffe28a9759ffc12aebca342efd2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2019-01-24 21:04:20 +00:00
Eskil Abrahamsen Blomfeldt
e0dc6dce22 Android: Set minimum supported version to android-21
With the current distribution, this is 90% of active devices, and
it was released in 2014. Qt 5.12 is LTS and will continue to support
older Android versions for a long time to come.

This is to reduce the testing needed on outdated platforms and
allow ourselves to use some newer APIs unconditionally in Qt.
Android 21 was chosen because it is the minimum version that supports
64 bit builds.

[ChangeLog][Android] Increased the minimum supported Android version
to Android 5.0 (API level 21).

Fixes: QTBUG-70508
Change-Id: Ia7b4345e42ca05a25a292f11ccbb8cbd692cf8f0
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2019-01-23 15:21:56 +00:00
Qt Forward Merge Bot
e3da05f39a Merge remote-tracking branch 'origin/5.12.1' into 5.12
Change-Id: Icebd151eae0cf9d400319a42573290d1a911ce26
2019-01-23 10:13:29 +01:00
Lorn Potter
df65087192 wasm: remove BINARYEN_METHOD from link line
This has been removed in emscripten compler version 1.38.23 and will
cause building apps to fail.

Change-Id: I7e58053ce06053f6f1d577377b503cabb035bb58
Fixes: QTBUG-73143
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2019-01-23 01:53:36 +00:00
Qt Forward Merge Bot
f94ca82e0f Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
	.qmake.conf

Change-Id: Ibfcb30053f3aacb8ec2ec480e146538c9bf440ea
2019-01-21 13:03:09 +01:00
Mårten Nordheim
61af5abb33 clang-cl: use GCC -m CPU feature flag option
To enable non-default options

Change-Id: I2d2f5dc8368a8235fd91e7f9986df4402612a823
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2019-01-16 14:23:50 +00:00
Joerg Bornemann
af821f79ca Remove duplicate windeployqt_clean target
That target is added unconditionally at the end of windeployqt.prf.

Fixes: QTBUG-73018
Change-Id: I8d29691c30df64bf5383daa10e169985d47592f2
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-01-16 11:26:46 +00:00
Tor Arne Vestbø
1b47e7154a Fix default rpath dirs on Apple platforms
The @executable_path relative framework directory is one step below
the executable, as in:

   Foo.app/Contents/Frameworks

not:

  Foo.app/Contents/MacOS/Frameworks

The former is what Xcode defaults to for new projects.

Change-Id: Id08f3f1d80f1c84d76fb71676c5df4a3a6b3da36
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-01-15 14:26:29 +00:00
Joerg Bornemann
69bd238ad8 Fix resolving of libraries on Apple platforms
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>
2019-01-13 18:17:43 +00:00
Tor Arne Vestbø
7044409c87 macOS: Use tool environment to ensure tests load matching Qt libraries
Linking with a framework suffix to pick up the debug version of
libraries doesn't work as long as the dependencies picked up from prl
files are not rewritten to also include the suffix. The result is that
we end up loading both release and debug versions of the Qt libraries.

Use the target environment (target_wrapper.sh) to set the image suffix
instead, which means 'make check' will automatically work.

Change-Id: I60b0840760f68e579c270245d394e1dd609a0ebb
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2019-01-12 12:18:36 +00:00
Oliver Wolff
911da982df qmltestcase: Fix generation of Visual Studio project files
Mimicking the approach from testlib_defines.prf, DEFINES containing a path
surrounded by quotation marks have to be handled differently for Visual
Studio projects.

Change-Id: I26f6a45d4df154f599e8be15b3aa3905cf703a1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-01-11 12:56:14 +00:00
Liang Qi
0e96b5fe48 Merge remote-tracking branch 'origin/5.12' into 5.12.1
Conflicts:
	src/widgets/kernel/qtooltip.cpp

Change-Id: Ic2f9a425359050eb56b3a4e5162cf5e3447058c8
2019-01-08 09:34:24 +01:00
Oswald Buddenhagen
5733dfbd90 qmake: make CONFIG+=egl work again
while it's legacy and should not be used (use QMAKE_USE+=egl instead),
it shouldn't be broken nonetheless.

amends 310bf3f57c.

Fixes: QTBUG-72564
Change-Id: Id6a070a4653dc1182a6b4d75af027a6ee6cbacae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Rolf Eike Beer <eb@emlix.com>
2019-01-07 19:07:02 +00:00
Qt Forward Merge Bot
c497f79ad4 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ieb57137ee2b7d0c505e3531d5aa1bcb66978847e
2019-01-07 01:00:08 +01:00
Oswald Buddenhagen
45e4dfb449 qmake: rewrite msvc/nmake cross-build environment setup
rather than reproducing vcvarsall.bat's functionality as hard-wired code
in the nmake generator, just invoke the actual script from
toolchain.prf. this is much easier, more future proof, and - critically
- makes the detected variables available to configure's new library &
header search facilities.

[ChangeLog][Important Behavior Changes][qmake][WinRT] Cross-builds will
now ignore pre-set values of %INCLUDE% and %LIB% when building target
executables. If necessary, use configure's -I and -L switches when
building Qt, and pass QMAKE_INCDIR and QMAKE_LIBDIR on qmake's command
line when building own projects.

Change-Id: I36f53e8880d6523f3f6f7a44d40d87d04bd06854
Reviewed-by: Thomas Miller <thomaslmiller91@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2019-01-05 20:33:24 +00:00
Oswald Buddenhagen
ef14c3dc1a qmake: reshuffle toolchain.prf
swap the order of compiler version detection and default path detection.
this keeps a subsequent commit smaller, which introduces a dependency
between the two.

Change-Id: I2d4cbee1fd3555411c18833bbee0201c994a9942
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2019-01-05 20:33:14 +00:00
Liang Qi
03039979b5 Merge remote-tracking branch 'origin/5.12' into dev
Also blacklist tst_QRawFont::unsupportedWritingSystem() and
tst_QGlyphRun::mixedScripts() on windows for now.

 Conflicts:
	qmake/generators/makefile.cpp
	src/corelib/itemmodels/qstringlistmodel.cpp
	src/platformsupport/fontdatabases/windows/qwindowsfontengine_p.h
	tests/auto/corelib/itemmodels/qstringlistmodel/tst_qstringlistmodel.cpp
	tests/auto/gui/text/qglyphrun/BLACKLIST
	tests/auto/gui/text/qrawfont/BLACKLIST

Task-number: QTBUG-72836
Change-Id: I10fea1493f0ae1a5708e1e48d0a4d7d6b76258b9
2019-01-04 07:33:14 +01:00
Tor Arne Vestbø
5af60d3b37 macOS: Prevent checking for stale SDK without the required SDK name
There's no need to check the SDK at the root exclusive-build Makefile,
we can leave it to the individual build passes where the SDK variable
is available.

Fixes: QTBUG-72449
Change-Id: Ic829babf4c76e6d20812de0b94120199ebfb300c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-12-23 11:58:48 +00:00
Oswald Buddenhagen
e0926ca426 qmake: remove support for pre-5.6 qt module pris
it seems rather obsolete by now.

Change-Id: I43a84367fbe9f82c3adc0e3825d14198e69eaa1f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2018-12-20 21:01:16 +00:00
Oswald Buddenhagen
49c8595bf8 qmake: fix typo in function name
Change-Id: Ie88ae0f13be83d6e63078eeb359d9ddf012c94fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-20 21:01:11 +00:00
Oswald Buddenhagen
98689cd2f9 configure: enable inline tests to refer to PWD
... and use that to inline the xlocalescanprint test.

Change-Id: I0973133d7f9ecc9a38b70dc4b83df174a35b2b1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-19 19:22:10 +00:00
Oswald Buddenhagen
73b8769730 configure: enable inline tests to contain auxiliary files
... and use that to migrate the pch test.

Change-Id: I2ce884442cab6124c37142f571cf6f82191ee4f5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-19 19:22:06 +00:00
Oswald Buddenhagen
6b39d51a2c configure: enable sharing of inlined source code between tests
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>
2018-12-19 19:21:54 +00:00
Oswald Buddenhagen
a8207699ce configure: normalize dashes to underscores in exported libraries
it works without it, but technically speaking it's undefined behavior.

Change-Id: Icdcdd5b923ce4cecd9dc9e75f9d5d66d0fa8a032
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-19 19:21:49 +00:00
Oswald Buddenhagen
32aa6734d4 configure: add support for multiple libdirs in inline library sources
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>
2018-12-19 19:21:41 +00:00
Kai Koehne
5fd48d78d5 Bump copyright year to 2019
Task-number: QTBUG-72635
Change-Id: Idc9bd97fe873b332d7ff72cb44a00334a472404f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2018-12-18 07:51:10 +00:00
Oswald Buddenhagen
cf51bcba10 configure: allow libraries to create explicitly empty tests
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>
2018-12-17 21:29:51 +00:00
Oswald Buddenhagen
bd05a009f0 configure: add "we mean it" blurb
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>
2018-12-17 21:28:59 +00:00
Yuhang Zhao
b34143f8a1 Fix clang LTCG config on Windows
To enable LTCG, clang-cl.exe need "-flto" instead of "-GL". But if you
enabled LTO, the lib tool will have to change to "llvm-lib.exe" and the
link tool also need to change to "lld-link.exe", because msvc linker
will see these lib files as corrupted files. Leave QMAKE_LFLAGS_LTCG
empty because lld-link doesn't need any additional parameters.

Fixes: QTBUG-72402
Change-Id: Ia34d98bd1ad919d542ea3eac83944bf8c40ce0cd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-12-16 10:40:03 +00:00
Qt Forward Merge Bot
4b04e47be9 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Iad06d8c07dfc288c9d1a9f7ee3520285cea60546
2018-12-15 01:00:31 +01:00
Oswald Buddenhagen
e80bf655e9 configure: verify header presence against sources
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>
2018-12-14 23:44:30 +00:00
Thiago Macieira
e9c08f8287 Mark ICC 18 & 19 as warning-free
Change-Id: I052407b777ec43f78378fffd15311de83f978817
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
2018-12-14 18:25:46 +00:00
Friedemann Kleint
a8cb177d31 Fix build with win32-clang-msvc and win32-icc
fbbe8aba9d introduced a check for
MSVC_VER to qmake, which is not set in win32-clang-msvc,
causing the build to fail:

Mkspec does not specify MSVC_VER. Cannot continue.
Unable to generate output for: .../config.tests/verifyspec/Makefile

Extract a minimal msvc-based-version.conf which determines
MSVC_VER from QMAKE_MSC_VER for win32-clang-msvc and win32-icc.

Task-number: QTBUG-63512
Change-Id: Ia6de8c4b1aae2ae1962cf4e60e3e6d51fdbbbabe
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-12-14 18:20:26 +00:00
Oswald Buddenhagen
852b1afa56 qmake: don't misuse cache()
... when QMAKE_DEFAULT_{INC,LIB}DIRS cannot be determined.

it would have been nicer to actually persist empty results, but cache()
won't do that, and fixing it doesn't seem worth the effort now.

Change-Id: I95d5645e40a0da572f0def16462703373eaeb804
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-14 17:57:20 +00:00
Oswald Buddenhagen
74cdd89e0f qmake: don't assign fallbacks for QMAKE_DEFAULT_{INC,LIB}DIRS in x-builds
these cannot be possibly correct, and might mislead.

Change-Id: Ie10531807978def04768e2429304949415cafb2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-14 17:57:11 +00:00
Daniel Wingerd
27d3c14ab6 qmake: enable rtti config option for g++/clang
Fixes: QTBUG-26595
Change-Id: Ic996c8e27ef4b79c91c5afa0ad55ef0fc07b6004
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-12-13 20:51:39 +00:00
Qt Forward Merge Bot
ad4f359f80 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I0fe623517af28e408b642c879efd59f633ab63ac
2018-12-13 01:00:11 +01:00
Oswald Buddenhagen
69f6d3bd44 configure: fix $$qtConfFindInPath() on windows
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>
2018-12-12 17:35:27 +00:00
Oswald Buddenhagen
bccb964b9a escape literal backslashes in qmake files
Task-number: QTBUG-70765
Change-Id: I56abbf19be88d01b2964980fb741567f28e4f0fa
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2018-12-12 17:24:39 +00:00
Ville Voutilainen
76f11b0eda Silence GCC 9 warnings
Change-Id: I5654881a3adac6f67a38837321c8e1c3ce1e2d8f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-12-11 17:57:32 +00:00
Qt Forward Merge Bot
a2fd99c430 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I91e684e74c36467efda8ded6ed19791baa0c1a1f
2018-12-11 01:00:13 +01:00
Richard Moe Gustavsen
826b09f0c5 Fix build of static plugins with resources
This patch reverts 388c4ef9f7. The reason is that it generates a symbol
(resource_init_function) based on the name of the pro-file. But if different
plugins are built from a pro-file with the same name, you end up linking in
many symbols with the same name as well. Which one that ends up being used at
runtime will typically depend on the linking order of the plugins.

This problem will happen if you build an app for iOS that uses both controls 1
and controls 2. In that case, both QML plugins are built from a "controls.pro"
file. At runtime, only one of the plugins will be imported correctly.

This patch therefore reverts 388c4ef9f7, but at the same time, to not
re-introduce the problem it fixed, we instead genereate both a debug and release
version of the plugin_resources.cpp file. That way we can still depend on the
TARGET variable for generating both the resource_init_function symbol and the
cpp file.

Fixes: QTBUG-62647
Fixes: QTBUG-71386
Fixes: QTBUG-72108
Change-Id: I3d8c53132458b30ed9f47a259f1f8e4fa4d44130
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-12-10 12:18:52 +00:00
Qt Forward Merge Bot
fc11604964 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: I10ae61ec6867b38601d85d6fc34e1f6a6ba0cc11
2018-12-09 01:00:43 +01:00
Qt Forward Merge Bot
f8c5c13564 Merge remote-tracking branch 'origin/5.12' into dev
Change-Id: Ied1194730e75a6f30839bbf5429aa2699230288e
2018-12-08 01:01:00 +01:00
Oswald Buddenhagen
33276e1cf1 add support for transitive deps to QMAKE_USE
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>
2018-12-07 23:48:11 +00:00