diff options
author | Liang Qi <liang.qi@qt.io> | 2017-06-07 12:05:33 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-06-07 14:02:43 +0200 |
commit | 7cbee5629604aa49c618829c8e3e55fc64e94df7 (patch) | |
tree | d12041105160c1cb21226b365edb9653d87b5853 /mkspecs | |
parent | e400b7e326c554ccd819448866265953d2a0f24d (diff) | |
parent | 5f0ce2333f7e11a3ffb5d16a27cd9303efa712d5 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/widgets/widgets/qmenu.cpp
Change-Id: I6d3baf56eb24501cddb129a3cb6b958ccc25a308
Diffstat (limited to 'mkspecs')
28 files changed, 192 insertions, 72 deletions
diff --git a/mkspecs/common/android-base-tail.conf b/mkspecs/common/android-base-tail.conf index 23bd6696de..2610918c4e 100644 --- a/mkspecs/common/android-base-tail.conf +++ b/mkspecs/common/android-base-tail.conf @@ -74,8 +74,8 @@ else: \ LIBGCC_PATH = $$dirname(LIBGCC_PATH_FULL) -QMAKE_INCDIR = $$ANDROID_SOURCES_CXX_STL_INCDIR $$QMAKE_ANDROID_PLATFORM_INCDIR -QMAKE_LIBDIR = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$QMAKE_ANDROID_PLATFORM_LIBDIR $$LIBGCC_PATH +QMAKE_INCDIR_POST = $$ANDROID_SOURCES_CXX_STL_INCDIR $$QMAKE_ANDROID_PLATFORM_INCDIR +QMAKE_LIBDIR_POST = $$ANDROID_SOURCES_CXX_STL_LIBDIR $$QMAKE_ANDROID_PLATFORM_LIBDIR $$LIBGCC_PATH QMAKE_INCDIR_X11 = QMAKE_LIBDIR_X11 = QMAKE_INCDIR_OPENGL = $$QMAKE_ANDROID_PLATFORM_INCDIR diff --git a/mkspecs/common/ghs-integrity-armv8.conf b/mkspecs/common/ghs-integrity-armv8.conf new file mode 100644 index 0000000000..e454cfd245 --- /dev/null +++ b/mkspecs/common/ghs-integrity-armv8.conf @@ -0,0 +1,27 @@ +# +# Base qmake configuration for INTEGRITY armv8 targets +# +MAKEFILE_GENERATOR = UNIX + +QMAKE_PLATFORM = integrity + +include(unix.conf) + +include(ghs-base.conf) + +bsp_name = $$(INTEGRITY_BSP) +isEmpty(bsp_name): \ + error("This qmakespec requires $INTEGRITY_BSP to be set") + +os_directory = $$(INTEGRITY_DIR) +isEmpty(os_directory): \ + error("This qmakespec requires $INTEGRITY_DIR to be set") + +QMAKE_CC = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared +QMAKE_CXX = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared +QMAKE_LINK = $$QMAKE_CXX +QMAKE_AR = $$QMAKE_CXX -archive -o + +QMAKE_CFLAGS += -bigswitch +QMAKE_CXXFLAGS += -bigswitch +QMAKE_LFLAGS += -bigswitch diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf index 29f96b7abf..d8ec089f55 100644 --- a/mkspecs/common/msvc-version.conf +++ b/mkspecs/common/msvc-version.conf @@ -81,6 +81,10 @@ greaterThan(QMAKE_MSC_VER, 1909) { MSVC_VER = 15.0 COMPAT_MKSPEC = win32-msvc2017 QMAKE_CXXFLAGS += -Zc:referenceBinding + # For now permissive fails as soon as UWP API comes into play. In qtbase this + # API is used in direct2d, but also in multimedia, positioning and sensors. + # We can try again with a later version of Visual Studio. + # QMAKE_CXXFLAGS_STRICTCXX = -permissive- } greaterThan(QMAKE_MSC_VER, 1910) { diff --git a/mkspecs/common/qcc-base-qnx.conf b/mkspecs/common/qcc-base-qnx.conf index 624bdd3656..148645b4e9 100644 --- a/mkspecs/common/qcc-base-qnx.conf +++ b/mkspecs/common/qcc-base-qnx.conf @@ -38,9 +38,9 @@ isEmpty(QNX_DIR) { error("QNX_TARGET environment variable not set") } -QMAKE_INCDIR = $${QNX_DIR}/usr/include $${QNX_DIR}/usr/include/freetype2 -QMAKE_LIBDIR = $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib -QMAKE_LFLAGS += -Wl,-rpath-link,$${QNX_DIR}/$${QNX_CPUDIR}/lib -Wl,-rpath-link,$${QNX_DIR}/$${QNX_CPUDIR}/usr/lib +QMAKE_INCDIR_POST = $${QNX_DIR}/usr/include $${QNX_DIR}/usr/include/freetype2 +QMAKE_LIBDIR_POST = $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib +QMAKE_RPATHLINKDIR_POST += $${QNX_DIR}/$${QNX_CPUDIR}/lib $${QNX_DIR}/$${QNX_CPUDIR}/usr/lib QMAKE_CXXFLAGS_CXX11 = -Wc,-std=gnu++11 QMAKE_CXXFLAGS_CXX14 = -Wc,-std=gnu++1y diff --git a/mkspecs/devices/common/freebsd_device_pre.conf b/mkspecs/devices/common/freebsd_device_pre.conf index 97d70b5265..8eb76f60f1 100644 --- a/mkspecs/devices/common/freebsd_device_pre.conf +++ b/mkspecs/devices/common/freebsd_device_pre.conf @@ -24,4 +24,4 @@ QMAKE_STRIP = $${CROSS_COMPILE}strip # it messes up system include order. --sysroot is # sufficient. See link for details: # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213217 -QMAKE_LIBDIR = $$[QT_SYSROOT]/usr/lib +QMAKE_LIBDIR_POST = $$[QT_SYSROOT]/usr/lib diff --git a/mkspecs/devices/common/linux_device_post.conf b/mkspecs/devices/common/linux_device_post.conf index cf1608f32b..9a434dba77 100644 --- a/mkspecs/devices/common/linux_device_post.conf +++ b/mkspecs/devices/common/linux_device_post.conf @@ -3,8 +3,9 @@ defineTest(qtConfSanitizeMkspec) { } contains(DISTRO_OPTS, deb-multi-arch) { - QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/$${GCC_MACHINE_DUMP} \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP} + QMAKE_RPATHLINKDIR_POST += \ + $$[QT_SYSROOT]/usr/lib/$${GCC_MACHINE_DUMP} \ + $$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP} } contains(DISTRO_OPTS, boot2qt) { diff --git a/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf b/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf new file mode 100644 index 0000000000..37474e9dea --- /dev/null +++ b/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf @@ -0,0 +1,39 @@ +# +# qmake configuration for 64-bit Tegra X1 boards, like the DRIVE CX, using Vibrante Integrity +# +# A typical configure line might look like: +# configure \ +# -device integrity-armv8-drive-cx \ +# -device-option VIBRANTE_INTEGRITY_PDK_TOPDIR=/opt/nvidia/vibrante-t186ref-integrity +# -static \ +# -opengl es2 + +load(device_config) + +include(../../common/ghs-integrity-armv8.conf) + +DEFINES += WIN_INTERFACE_CUSTOM + +QT_QPA_DEFAULT_PLATFORM = eglfs + +QMAKE_LIBS_EGL += -lEGL -lGLESv2 -lnvidia-glsi -lnvidia-eglcore -lnvidia-rmapi-tegra -lposix -livfs -ldrm-nvdc -lnvll -lnvdc -lnvrm -lnvrm_gpu -lnvrm_graphics -lnvos -lsocket -lnet -lnvtegrahv +QMAKE_LIBS_OPENGL_ES2 += $${QMAKE_LIBS_EGL} + +EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice + +# Vibrante Integrity PDK headers & libraries +QMAKE_INCDIR += $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include +QMAKE_LIBDIR += $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs + +# OpenGL libraries have a dependency on libEGL +QMAKE_INCDIR_EGL = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include +QMAKE_LIBDIR_EGL = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs +QMAKE_INCDIR_OPENGL_ES2 = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include +QMAKE_LIBDIR_OPENGL_ES2 = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs + +defineTest(qtConfSanitizeMkspec) { + isEmpty(VIBRANTE_INTEGRITY_PDK_TOPDIR): \ + error("You must pass -device-option VIBRANTE_INTEGRITY_PDK_TOPDIR=/path/to/pdk") +} + +load(qt_config) diff --git a/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h b/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h new file mode 100644 index 0000000000..c8361113a0 --- /dev/null +++ b/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) 2017 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QPLATFORMDEFS_H +#define QPLATFORMDEFS_H + +#include "../../common/integrity/qplatformdefs.h" + +#endif // QPLATFORMDEFS_H diff --git a/mkspecs/devices/linux-arm-hisilicon-hix5hd2-g++/qmake.conf b/mkspecs/devices/linux-arm-hisilicon-hix5hd2-g++/qmake.conf index 99b8f22f97..f65e9730d0 100644 --- a/mkspecs/devices/linux-arm-hisilicon-hix5hd2-g++/qmake.conf +++ b/mkspecs/devices/linux-arm-hisilicon-hix5hd2-g++/qmake.conf @@ -19,8 +19,8 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += /usr/arm-linux-gnueabihf/include -QMAKE_LIBDIR += /usr/arm-linux-gnueabihf/lib +QMAKE_INCDIR_POST += /usr/arm-linux-gnueabihf/include +QMAKE_LIBDIR_POST += /usr/arm-linux-gnueabihf/lib QMAKE_LIBS += -lrt diff --git a/mkspecs/devices/linux-arm-trident-pnx8473-g++/qmake.conf b/mkspecs/devices/linux-arm-trident-pnx8473-g++/qmake.conf index b131f65a79..5619c205fb 100644 --- a/mkspecs/devices/linux-arm-trident-pnx8473-g++/qmake.conf +++ b/mkspecs/devices/linux-arm-trident-pnx8473-g++/qmake.conf @@ -50,9 +50,9 @@ QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_NM = $${CROSS_COMPILE}nm -P QMAKE_STRIP = $${CROSS_COMPILE}strip -QMAKE_INCDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include -QMAKE_LIBDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/lib -QMAKE_LIBDIR += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generated/lib/armgnu_linux_el_cortex-a9 +QMAKE_INCDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include +QMAKE_LIBDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/lib +QMAKE_LIBDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generated/lib/armgnu_linux_el_cortex-a9 QMAKE_INCDIR_EGL = $${TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2} QMAKE_LIBDIR_EGL = $${TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2} diff --git a/mkspecs/devices/linux-drive-cx-g++/qmake.conf b/mkspecs/devices/linux-drive-cx-g++/qmake.conf index a658f29deb..a0dcaddec9 100644 --- a/mkspecs/devices/linux-drive-cx-g++/qmake.conf +++ b/mkspecs/devices/linux-drive-cx-g++/qmake.conf @@ -16,21 +16,21 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += \ +QMAKE_INCDIR_POST += \ $${VIBRANTE_SDK_TOPDIR}/include \ $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR += \ +QMAKE_LIBDIR_POST += \ $${VIBRANTE_SDK_TOPDIR}/lib-target \ $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/aarch64-linux-gnu \ $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu -QMAKE_LFLAGS += \ - -Wl,-rpath-link,$${VIBRANTE_SDK_TOPDIR}/lib-target \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/aarch64-linux-gnu +QMAKE_RPATHLINKDIR_POST += \ + $${VIBRANTE_SDK_TOPDIR}/lib-target \ + $$[QT_SYSROOT]/usr/lib \ + $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \ + $$[QT_SYSROOT]/lib/aarch64-linux-gnu DISTRO_OPTS += aarch64 diff --git a/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf b/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf index 493b55384f..4c733e8b77 100644 --- a/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf +++ b/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf @@ -11,19 +11,19 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += \ +QMAKE_INCDIR_POST += \ $$[QT_SYSROOT]/usr/include \ $$[QT_SYSROOT]/usr/include/arm-linux-gnueabihf -QMAKE_LIBDIR += \ +QMAKE_LIBDIR_POST += \ $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/arm-linux-gnueabihf \ $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf -QMAKE_LFLAGS += \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabihf +QMAKE_RPATHLINKDIR_POST += \ + $$[QT_SYSROOT]/usr/lib \ + $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ + $$[QT_SYSROOT]/lib/arm-linux-gnueabihf DISTRO_OPTS += hard-float COMPILER_FLAGS += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4 diff --git a/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf b/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf index 1f44c47151..fb89721798 100644 --- a/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf +++ b/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf @@ -14,21 +14,21 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += \ +QMAKE_INCDIR_POST += \ $${VIBRANTE_SDK_TOPDIR}/include \ $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR += \ +QMAKE_LIBDIR_POST += \ $${VIBRANTE_SDK_TOPDIR}/lib-target \ $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/arm-linux-gnueabihf \ $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf -QMAKE_LFLAGS += \ - -Wl,-rpath-link,$${VIBRANTE_SDK_TOPDIR}/lib-target \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabihf +QMAKE_RPATHLINKDIR_POST += \ + $${VIBRANTE_SDK_TOPDIR}/lib-target \ + $$[QT_SYSROOT]/usr/lib \ + $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ + $$[QT_SYSROOT]/lib/arm-linux-gnueabihf DISTRO_OPTS += hard-float COMPILER_FLAGS += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4 -DWIN_INTERFACE_CUSTOM diff --git a/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf b/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf index 06cf329f3a..f9dec441f6 100644 --- a/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf +++ b/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf @@ -25,20 +25,20 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += \ +QMAKE_INCDIR_POST += \ $$[QT_SYSROOT]/usr/include \ $$[QT_SYSROOT]/usr/include/aarch64-linux-gnu -QMAKE_LIBDIR += \ +QMAKE_LIBDIR_POST += \ $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/aarch64-linux-gnu \ $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu -QMAKE_LFLAGS += \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/aarch64-linux-gnu +QMAKE_RPATHLINKDIR_POST += \ + $$[QT_SYSROOT]/usr/lib \ + $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \ + $$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra \ + $$[QT_SYSROOT]/lib/aarch64-linux-gnu DISTRO_OPTS += aarch64 COMPILER_FLAGS += -mtune=cortex-a57.cortex-a53 -march=armv8-a diff --git a/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf b/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf index 9211551daf..c7b6970fea 100644 --- a/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf +++ b/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf @@ -52,10 +52,9 @@ QMAKE_LIBDIR_OPENGL_ES2 = $${BRCM_ROCKFORD_PATH}/middleware/v3d/lib_$${BRCM_PLAT QMAKE_LIBS_OPENGL_ES2 = -lv3ddriver -lrt QMAKE_LIBS_EGL = -INCLUDEPATH += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 -QMAKE_LIBDIR += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 - -QMAKE_LFLAGS += -Wl,-rpath-link,$$QMAKE_LIBDIR_OPENGL_ES2 -Wl,-rpath-link,$${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 +QMAKE_INCDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 +QMAKE_LIBDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 +QMAKE_RPATHLINKDIR_POST += $$QMAKE_LIBDIR_OPENGL_ES2 $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3 # DirectFB platform hooks for this hardware QT_CONFIG += directfb_egl egl diff --git a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf index 8f0edbc6e6..b72091373d 100644 --- a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf +++ b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf @@ -5,7 +5,7 @@ include(../common/linux_device_pre.conf) -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib +QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2 diff --git a/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf b/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf index 2911f08873..ffe8f5739a 100644 --- a/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf +++ b/mkspecs/devices/linux-rasp-pi2-g++/qmake.conf @@ -2,7 +2,7 @@ include(../common/linux_device_pre.conf) -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib +QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2 diff --git a/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf b/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf index 10862ccd70..2bb70ffb5a 100644 --- a/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf +++ b/mkspecs/devices/linux-rasp-pi3-g++/qmake.conf @@ -8,13 +8,12 @@ include(../common/linux_device_pre.conf) # and possibly no pkg-config, have some static values as well: # I consider it a bug that this is required, but our EGL config.test _requires_ it -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/opt/vc/lib +QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib VC_LIBRARY_PATH = /opt/vc/lib VC_INCLUDE_PATH = =/opt/vc/include -# terrible, they do not appear to resolve "=" in rpath! -VC_LINK_LINE = -L=$${VC_LIBRARY_PATH} -Wl,-rpath-link,$$[QT_SYSROOT]$${VC_LIBRARY_PATH} +VC_LINK_LINE = -L=$${VC_LIBRARY_PATH} QMAKE_LIBDIR_OPENGL_ES2 = =$${VC_LIBRARY_PATH} QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2 diff --git a/mkspecs/devices/linux-snowball-g++/qmake.conf b/mkspecs/devices/linux-snowball-g++/qmake.conf index 9791119363..ff0f3ab1ae 100644 --- a/mkspecs/devices/linux-snowball-g++/qmake.conf +++ b/mkspecs/devices/linux-snowball-g++/qmake.conf @@ -27,7 +27,8 @@ QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy QMAKE_NM = $${CROSS_COMPILE}nm -P QMAKE_STRIP = $${CROSS_COMPILE}strip -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabihf +QMAKE_RPATHLINKDIR_POST += \ + $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \ + $$[QT_SYSROOT]/lib/arm-linux-gnueabihf load(qt_config) diff --git a/mkspecs/devices/linux-tegra2-g++/qmake.conf b/mkspecs/devices/linux-tegra2-g++/qmake.conf index adadc4d5b0..3f6da7668d 100644 --- a/mkspecs/devices/linux-tegra2-g++/qmake.conf +++ b/mkspecs/devices/linux-tegra2-g++/qmake.conf @@ -10,15 +10,16 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += $$[QT_SYSROOT]/usr/include +QMAKE_INCDIR_POST += $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR += $$[QT_SYSROOT]/usr/lib \ +QMAKE_LIBDIR_POST += $$[QT_SYSROOT]/usr/lib \ $$[QT_SYSROOT]/lib/arm-linux-gnueabi \ $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib \ - -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi \ - -Wl,-rpath-link,$$[QT_SYSROOT]/lib/arm-linux-gnueabi +QMAKE_RPATHLINKDIR_POST += \ + $$[QT_SYSROOT]/usr/lib \ + $$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi \ + $$[QT_SYSROOT]/lib/arm-linux-gnueabi TEGRA2_CFLAGS = -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp -mfpu=vfpv3-d16 QMAKE_CFLAGS += $$TEGRA2_CFLAGS diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf index a4464528b4..e870e2ee10 100644 --- a/mkspecs/features/configure_base.prf +++ b/mkspecs/features/configure_base.prf @@ -31,7 +31,9 @@ defineTest(qtLog) { defineTest(qtRunLoggedCommand) { qtLog("+ $$1") - output = $$system("( $$1 ) 2>&1", lines, result) + !equals(3, false): \ + 1 = "( $$1 ) 2>&1" + output = $$system("$$1", lines, result) lg = for (l, output): \ lg += "> $$l" diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 4f342d67d7..17da8b979e 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -35,7 +35,7 @@ set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\") !!IF !equals(TEMPLATE, aux) # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead. -set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)") +set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)") set(Qt5$${CMAKE_MODULE_NAME}_LIBRARIES Qt5::$${CMAKE_MODULE_NAME}) !!ENDIF // TEMPLATE != aux diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index d6caf870f7..d18604e0b8 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -124,8 +124,12 @@ c++11|c++14|c++1z { cxxstd = CXX11 } - # Check if we should disable the GNU extensions or not - !strict_c++:!isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd): cxxstd = GNU$$cxxstd + # Check if we should disable compiler extensions or not + isEmpty(QMAKE_CXXFLAGS_GNU$$cxxstd) { + strict_c++: QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_STRICTCXX + } else { + !strict_c++: cxxstd = GNU$$cxxstd + } QMAKE_CXXFLAGS += $$eval(QMAKE_CXXFLAGS_$$cxxstd) QMAKE_LFLAGS += $$eval(QMAKE_LFLAGS_$$cxxstd) @@ -139,6 +143,3 @@ utf8_source { } !precompile_header: SOURCES += $$NO_PCH_SOURCES - -QMAKE_INCDIR += $$QMAKE_INCDIR_POST -QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 5cbc0d4bfd..964c2393c2 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -581,7 +581,8 @@ defineTest(qtConfLibrary_pkgConfig) { version ~= s/[^0-9.].*$// $${1}.version = $$first(version) export($${1}.version) - $${1}.libs = $$libpaths $$libs + libpaths += $$libs + $${1}.libs = "$$libpaths" export($${1}.libs) return(true) } diff --git a/mkspecs/freebsd-clang/qmake.conf b/mkspecs/freebsd-clang/qmake.conf index 10bb4a3723..f59fbd3c7d 100644 --- a/mkspecs/freebsd-clang/qmake.conf +++ b/mkspecs/freebsd-clang/qmake.conf @@ -8,8 +8,8 @@ QMAKE_PLATFORM = freebsd include(../common/bsd/bsd.conf) # Addon software goes into /usr/local on FreeBSD, by default we will look there -QMAKE_INCDIR = /usr/local/include -QMAKE_LIBDIR = /usr/local/lib +QMAKE_INCDIR_POST = /usr/local/include +QMAKE_LIBDIR_POST = /usr/local/lib QMAKE_LFLAGS_NOUNDEF = -Wl,--no-undefined diff --git a/mkspecs/freebsd-g++/qmake.conf b/mkspecs/freebsd-g++/qmake.conf index 1f4448889e..4df444480d 100644 --- a/mkspecs/freebsd-g++/qmake.conf +++ b/mkspecs/freebsd-g++/qmake.conf @@ -8,8 +8,8 @@ QMAKE_PLATFORM = freebsd include(../common/bsd/bsd.conf) # Addon software goes into /usr/local on FreeBSD, by default we will look there -QMAKE_INCDIR = /usr/local/include -QMAKE_LIBDIR = /usr/local/lib +QMAKE_INCDIR_POST = /usr/local/include +QMAKE_LIBDIR_POST = /usr/local/lib include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) diff --git a/mkspecs/netbsd-g++/qmake.conf b/mkspecs/netbsd-g++/qmake.conf index a4b26837ce..c7e067a5c7 100644 --- a/mkspecs/netbsd-g++/qmake.conf +++ b/mkspecs/netbsd-g++/qmake.conf @@ -8,8 +8,8 @@ QMAKE_PLATFORM = netbsd include(../common/bsd/bsd.conf) # Addon software goes into /usr/pkg on NetBSD, by default we will look there -QMAKE_INCDIR = /usr/pkg/include -QMAKE_LIBDIR = /usr/pkg/lib +QMAKE_INCDIR_POST = /usr/pkg/include +QMAKE_LIBDIR_POST = /usr/pkg/lib # System provided X11 defaults to X11R7 path on NetBSD since 5.0 QMAKE_INCDIR_X11 = /usr/X11R7/include diff --git a/mkspecs/openbsd-g++/qmake.conf b/mkspecs/openbsd-g++/qmake.conf index 6124d31439..4a142e476e 100644 --- a/mkspecs/openbsd-g++/qmake.conf +++ b/mkspecs/openbsd-g++/qmake.conf @@ -8,8 +8,8 @@ QMAKE_PLATFORM = openbsd include(../common/bsd/bsd.conf) # Addon software goes into /usr/local on OpenBSD, by default we will look there -QMAKE_INCDIR = /usr/local/include -QMAKE_LIBDIR = /usr/local/lib +QMAKE_INCDIR_POST = /usr/local/include +QMAKE_LIBDIR_POST = /usr/local/lib # System provided X11 defaults to X11R6 path on OpenBSD QMAKE_INCDIR_X11 = /usr/X11R6/include |