aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2021-01-15 11:02:06 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-01-18 10:41:45 +0000
commit3717b450151156b77110d42c5ce667b759d65dcc (patch)
treed7c9be2d51e5975ee953f77ab4fcc3dd65263863
parent25ee0bde7dd0eab66781516a77ae826ce107c4ea (diff)
Add QMAKE_OBJCOPY and QMAKE_NM to mkspec
Needed to use the correct cross-compiler tools for objcopy and nm. Fixes: QTBUG-90256 Change-Id: I38048033b17d388b86612bc7205c4e22d948be29 Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io> Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> (cherry picked from commit ac8056ef0e5b45e80bf430d27369efbe921421a1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--classes/populate_sdk_qt6_base.bbclass6
-rw-r--r--classes/qt6-qmake.bbclass2
-rw-r--r--recipes-qt/qt6/qtbase/0001-Add-linux-oe-g-platform.patch17
3 files changed, 16 insertions, 9 deletions
diff --git a/classes/populate_sdk_qt6_base.bbclass b/classes/populate_sdk_qt6_base.bbclass
index eb8ade4..f7ea63c 100644
--- a/classes/populate_sdk_qt6_base.bbclass
+++ b/classes/populate_sdk_qt6_base.bbclass
@@ -45,16 +45,20 @@ create_qt6_sdk_files () {
echo 'export OE_QMAKE_LINK="$CXX"' >> $script
echo 'export OE_QMAKE_AR="$AR"' >> $script
echo 'export OE_QMAKE_STRIP="$STRIP"' >> $script
+ echo 'export OE_QMAKE_OBJCOPY="$OBJCOPY"' >> $script
+ echo 'export OE_QMAKE_NM="$NM"' >> $script
mkspec=${SDK_OUTPUT}${SDKTARGETSYSROOT}${QT6_INSTALL_MKSPECSDIR}/linux-oe-g++/qmake.conf
echo "count(QMAKE_AR, 1): QMAKE_AR = ${AR} cqs" >> $mkspec
+ echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${STRIP}" >> $mkspec
+ echo "isEmpty(QMAKE_OBJCOPY): QMAKE_OBJCOPY = ${OBJCOPY}" >> $mkspec
+ echo "count(QMAKE_NM, 1): QMAKE_NM = ${NM} -P" >> $mkspec
echo "isEmpty(QMAKE_CC): QMAKE_CC = ${CC}" >> $mkspec
echo "isEmpty(QMAKE_CFLAGS): QMAKE_CFLAGS = ${CFLAGS}" >> $mkspec
echo "isEmpty(QMAKE_CXX): QMAKE_CXX = ${CXX}" >> $mkspec
echo "isEmpty(QMAKE_CXXFLAGS): QMAKE_CXXFLAGS = ${CXXFLAGS}" >> $mkspec
echo "isEmpty(QMAKE_LINK): QMAKE_LINK = ${CXX}" >> $mkspec
echo "isEmpty(QMAKE_LFLAGS): QMAKE_LFLAGS = ${LDFLAGS}" >> $mkspec
- echo "isEmpty(QMAKE_STRIP): QMAKE_STRIP = ${STRIP}" >> $mkspec
sed -i $mkspec \
-e 's:${RECIPE_SYSROOT}:$$[QT_SYSROOT]:' \
-e 's:${TARGET_PREFIX}:$$[QT_HOST_BINS]/${TARGET_SYS}/${TARGET_PREFIX}:'
diff --git a/classes/qt6-qmake.bbclass b/classes/qt6-qmake.bbclass
index 6952850..ba65fdc 100644
--- a/classes/qt6-qmake.bbclass
+++ b/classes/qt6-qmake.bbclass
@@ -71,6 +71,8 @@ export OE_QMAKE_LINK = "${CXX}"
export OE_QMAKE_LDFLAGS = "${LDFLAGS}"
export OE_QMAKE_AR = "${AR}"
export OE_QMAKE_STRIP = "echo"
+export OE_QMAKE_OBJCOPY = "${OBJCOPY}"
+export OE_QMAKE_NM = "${NM}"
# qmake reads if from shell environment
export OE_QMAKE_QTCONF_PATH = "${WORKDIR}/qt.conf"
diff --git a/recipes-qt/qt6/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt6/qtbase/0001-Add-linux-oe-g-platform.patch
index fd2b32e..e130311 100644
--- a/recipes-qt/qt6/qtbase/0001-Add-linux-oe-g-platform.patch
+++ b/recipes-qt/qt6/qtbase/0001-Add-linux-oe-g-platform.patch
@@ -1,4 +1,4 @@
-From 93f04fa9b0895a2e965992c1438c5110fdf269ec Mon Sep 17 00:00:00 2001
+From 9fa27feda95c0cf6a459c916337ab65e8cb220b4 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH] Add linux-oe-g++ platform
@@ -15,16 +15,16 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt.prf | 6 ++---
mkspecs/features/qt_functions.prf | 2 +-
- mkspecs/linux-oe-g++/qmake.conf | 37 ++++++++++++++++++++++++++++
+ mkspecs/linux-oe-g++/qmake.conf | 38 ++++++++++++++++++++++++++++
mkspecs/linux-oe-g++/qplatformdefs.h | 1 +
mkspecs/oe-device-extra.pri | 0
- 5 files changed, 42 insertions(+), 4 deletions(-)
+ 5 files changed, 43 insertions(+), 4 deletions(-)
create mode 100644 mkspecs/linux-oe-g++/qmake.conf
create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
create mode 100644 mkspecs/oe-device-extra.pri
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
-index 532a241fc0..1d1d7d35e3 100644
+index 55a51293ac..7b7a8758eb 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -150,7 +150,7 @@ import_plugins:qtConfig(static) {
@@ -36,7 +36,7 @@ index 532a241fc0..1d1d7d35e3 100644
LIBS += $$plug_path/$$plug_type/$$plug_name
} else {
LIBS += -l$${plug}$$qtPlatformTargetSuffix()
-@@ -279,8 +279,8 @@ for(ever) {
+@@ -283,8 +283,8 @@ for(ever) {
# static builds: link qml import plugins into the target.
contains(all_qt_module_deps, qml): \
qtConfig(static):import_plugins:!host_build:!no_import_scan {
@@ -62,10 +62,10 @@ index 7777e615bd..8d792fa70a 100644
cmd = perl -w $$system_path($${cmd}.pl)
diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
new file mode 100644
-index 0000000000..8f41c1fa0a
+index 0000000000..c2b7b20fdc
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
-@@ -0,0 +1,37 @@
+@@ -0,0 +1,38 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
@@ -76,9 +76,10 @@ index 0000000000..8f41c1fa0a
+
+include(../common/linux.conf)
+
-+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
+QMAKE_AR = $$(OE_QMAKE_AR) cqs
+QMAKE_STRIP = $$(OE_QMAKE_STRIP)
++QMAKE_OBJCOPY = $$(OE_QMAKE_OBJCOPY)
++QMAKE_NM = $${OE_QMAKE_NM} -P
+
+include(../common/gcc-base-unix.conf)
+