summaryrefslogtreecommitdiffstats
path: root/mkspecs/devices
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-16 18:06:24 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-05-31 12:57:14 +0000
commit5afde92bd76421a49b9eb76e6071b32fd3ca41df (patch)
tree532cb98da7b60265d8940f28cd83d33f62827796 /mkspecs/devices
parent6dcd944deeed28bdd001eea5289d04116c9d23f4 (diff)
make mkspecs not mess up -rpath-link
adding shared install paths via QMAKE_LFLAGS in the spec has the tiny side effect that they are searched _first_, which is generally a really bad idea - they should be _last_. for that purpose, introduce QMAKE_RPATHLINKDIR_POST, and migrate all specs to use it. QMAKE_RPATHDIR_POST is added for consistency, but not actually used. Task-number: QTBUG-59457 Change-Id: Iac6cda5e9111ef8cca454a69861fe8408bb40589 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'mkspecs/devices')
-rw-r--r--mkspecs/devices/common/linux_device_post.conf5
-rw-r--r--mkspecs/devices/linux-drive-cx-g++/qmake.conf10
-rw-r--r--mkspecs/devices/linux-jetson-tk1-g++/qmake.conf8
-rw-r--r--mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf10
-rw-r--r--mkspecs/devices/linux-jetson-tx1-g++/qmake.conf10
-rw-r--r--mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf3
-rw-r--r--mkspecs/devices/linux-rasp-pi-g++/qmake.conf2
-rw-r--r--mkspecs/devices/linux-rasp-pi2-g++/qmake.conf2
-rw-r--r--mkspecs/devices/linux-rasp-pi3-g++/qmake.conf5
-rw-r--r--mkspecs/devices/linux-snowball-g++/qmake.conf5
-rw-r--r--mkspecs/devices/linux-tegra2-g++/qmake.conf7
11 files changed, 34 insertions, 33 deletions
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/linux-drive-cx-g++/qmake.conf b/mkspecs/devices/linux-drive-cx-g++/qmake.conf
index 3cff38ff8b..a0dcaddec9 100644
--- a/mkspecs/devices/linux-drive-cx-g++/qmake.conf
+++ b/mkspecs/devices/linux-drive-cx-g++/qmake.conf
@@ -26,11 +26,11 @@ QMAKE_LIBDIR_POST += \
$$[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 32996f59e6..4c733e8b77 100644
--- a/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf
+++ b/mkspecs/devices/linux-jetson-tk1-g++/qmake.conf
@@ -20,10 +20,10 @@ QMAKE_LIBDIR_POST += \
$$[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 64b25e0182..fb89721798 100644
--- a/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf
+++ b/mkspecs/devices/linux-jetson-tk1-pro-g++/qmake.conf
@@ -24,11 +24,11 @@ QMAKE_LIBDIR_POST += \
$$[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 f45be457fd..f9dec441f6 100644
--- a/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf
+++ b/mkspecs/devices/linux-jetson-tx1-g++/qmake.conf
@@ -34,11 +34,11 @@ QMAKE_LIBDIR_POST += \
$$[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 2a4e558186..c7b6970fea 100644
--- a/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf
+++ b/mkspecs/devices/linux-mipsel-broadcom-97425-g++/qmake.conf
@@ -54,8 +54,7 @@ QMAKE_LIBS_EGL =
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_LFLAGS += -Wl,-rpath-link,$$QMAKE_LIBDIR_OPENGL_ES2 -Wl,-rpath-link,$${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 89177b7fa2..5497b0ce1b 100644
--- a/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
+++ b/mkspecs/devices/linux-rasp-pi-g++/qmake.conf
@@ -4,7 +4,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 4db576d791..3f6da7668d 100644
--- a/mkspecs/devices/linux-tegra2-g++/qmake.conf
+++ b/mkspecs/devices/linux-tegra2-g++/qmake.conf
@@ -16,9 +16,10 @@ 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