Skip to contentSkip to conversation

nativesdk-qtbase Enable objcopy for qmake

PATCH In review Stefan Sonski 2 participants 2 messages Mar 27, 2018 – Jun 21, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 nativesdk-qtbase Enable objcopy for qmake

Enable objcopy for qmake to support separate_debug_info flag for cross-compiled applications in nativesdk-qtbase.

---
 classes/qmake5_base.bbclass                        |  2 ++
 recipes-qt/qt5/nativesdk-qtbase_git.bb             |  2 ++
 .../0013-Add-objcopy-to-linux-oe-gplatform.patch   | 32 ++++++++++++++++++++++
 3 files changed, 36 insertions(+)
 create mode 100644 recipes-qt/qt5/qtbase/0013-Add-objcopy-to-linux-oe-gplatform.patch
classes/qmake5_base.bbclass +2 -0
index 8f1d143..bfde1d2 100644
@@ -28,6 +28,7 @@ EXTRA_OEMAKE = " \
     OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
     OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
     OE_QMAKE_AR='${OE_QMAKE_AR}' \
+    OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \
     OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
     OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
 "
@@ -41,6 +42,7 @@ export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
 export OE_QMAKE_LINK = "${CXX}"
 export OE_QMAKE_LDFLAGS = "${LDFLAGS}"
 export OE_QMAKE_AR = "${AR}"
+export OE_QMAKE_OBJCOPY = "${OBJCOPY}"
 export OE_QMAKE_STRIP = "echo"
 
 # qmake reads if from shell environment
recipes-qt/qt5/nativesdk-qtbase_git.bb +2 -0
index efcb82c..f4d80e9 100644
@@ -40,6 +40,7 @@ SRC_URI += "\
     file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
     file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
     file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
+    file://0013-Add-objcopy-to-linux-oe-gplatform.patch \
 "
 
 # common for qtbase-native and nativesdk-qtbase
@@ -192,6 +193,7 @@ fakeroot do_generate_qt_environment_file() {
     echo 'export OE_QMAKE_CXX=$CXX' >> $script
     echo 'export OE_QMAKE_LINK=$CXX' >> $script
     echo 'export OE_QMAKE_AR=$AR' >> $script
+    echo 'export OE_QMAKE_OBJCOPY=$OBJCOPY' >> $script
     echo 'export OE_QMAKE_STRIP=$STRIP' >> $script
     echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script
     echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script
recipes-qt/qt5/qtbase/0013-Add-objcopy-to-linux-oe-gplatform.patch new file +32 -0
new file mode 100644
index 0000000..fcbce51
@@ -0,0 +1,32 @@
+From 487c7a7704106eda0cfea9d9652cb42b9889b5e2 Mon Sep 17 00:00:00 2001
+From: Stefan Sonski <[email protected]>
+Date: Tue, 27 Mar 2018 19:38:13 +0200
+Subject: [PATCH] Add objcopy to linux oe gplatform
+
+---
+ mkspecs/linux-oe-g++/qmake.conf | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
+index 30d31ed16d..740f3bab9d 100644
+--- a/mkspecs/linux-oe-g++/qmake.conf
++++ b/mkspecs/linux-oe-g++/qmake.conf
+@@ -10,6 +10,7 @@ include(../common/linux.conf)
+ 
+ # QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
+ QMAKE_AR              = $$(OE_QMAKE_AR) cqs
++QMAKE_OBJCOPY         = $$(OE_QMAKE_OBJCOPY)
+ QMAKE_STRIP           = $$(OE_QMAKE_STRIP)
+ 
+ include(../common/gcc-base-unix.conf)
+@@ -36,7 +37,5 @@ QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
+ # for the SDK
+ isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
+ 
+-include(../oe-device-extra.pri)
+-
+ load(device_config)
+ load(qt_config)
+-- 
+2.16.2
+
Signature · 1 line
2.16.2
#1 lore raw
Quoted 36 lines · Stefan Sonski

Enable objcopy for qmake to support separate_debug_info flag for cross-compiled applications in nativesdk-qtbase.

---
 classes/qmake5_base.bbclass                        |  2 ++
 recipes-qt/qt5/nativesdk-qtbase_git.bb             |  2 ++
 .../0013-Add-objcopy-to-linux-oe-gplatform.patch   | 32 ++++++++++++++++++++++
 3 files changed, 36 insertions(+)
 create mode 100644 recipes-qt/qt5/qtbase/0013-Add-objcopy-to-linux-oe-gplatform.patch
classes/qmake5_base.bbclass +2 -0
index 8f1d143..bfde1d2 100644
@@ -28,6 +28,7 @@ EXTRA_OEMAKE = " \
     OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
     OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
     OE_QMAKE_AR='${OE_QMAKE_AR}' \
+    OE_QMAKE_OBJCOPY='${OE_QMAKE_OBJCOPY}' \
     OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
     OE_QMAKE_INCDIR_QT='${STAGING_DIR_TARGET}/${OE_QMAKE_PATH_HEADERS}' \
 "
@@ -41,6 +42,7 @@ export OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
 export OE_QMAKE_LINK = "${CXX}"
 export OE_QMAKE_LDFLAGS = "${LDFLAGS}"
 export OE_QMAKE_AR = "${AR}"
+export OE_QMAKE_OBJCOPY = "${OBJCOPY}"
 export OE_QMAKE_STRIP = "echo"
 
 # qmake reads if from shell environment
recipes-qt/qt5/nativesdk-qtbase_git.bb +0 -0
index efcb82c..f4d80e9 100644

recipes-qt/qt5/nativesdk-qtbase_git.bb SRC_URI += "\ · line 43

Quoted 4 lines
recipes-qt/qt5/nativesdk-qtbase_git.bb +1 -0
@@ -40,6 +40,7 @@ SRC_URI += "\
     file://0010-linux-clang-Invert-conditional-for-defining-QT_SOCKL.patch \
     file://0011-tst_qlocale-Enable-QT_USE_FENV-only-on-glibc.patch \
     file://0012-mkspecs-common-gcc-base.conf-Use-I-instead-of-isyste.patch \
+    file://0013-Add-objcopy-to-linux-oe-gplatform.patch \

You're adding the patch in section which says:

# common for qtbase-native, qtbase-nativesdk and qtbase
but you're adding it only in nativesdk-qtbase
Quoted 57 lines
recipes-qt/qt5/nativesdk-qtbase_git.bb +1 -0
 "
 
 # common for qtbase-native and nativesdk-qtbase
@@ -192,6 +193,7 @@ fakeroot do_generate_qt_environment_file() {
     echo 'export OE_QMAKE_CXX=$CXX' >> $script
     echo 'export OE_QMAKE_LINK=$CXX' >> $script
     echo 'export OE_QMAKE_AR=$AR' >> $script
+    echo 'export OE_QMAKE_OBJCOPY=$OBJCOPY' >> $script
     echo 'export OE_QMAKE_STRIP=$STRIP' >> $script
     echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script
     echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script
recipes-qt/qt5/qtbase/0013-Add-objcopy-to-linux-oe-gplatform.patch new file +32 -0
new file mode 100644
index 0000000..fcbce51
@@ -0,0 +1,32 @@
+From 487c7a7704106eda0cfea9d9652cb42b9889b5e2 Mon Sep 17 00:00:00 2001
+From: Stefan Sonski <[email protected]>
+Date: Tue, 27 Mar 2018 19:38:13 +0200
+Subject: [PATCH] Add objcopy to linux oe gplatform
+
+---
+ mkspecs/linux-oe-g++/qmake.conf | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
+index 30d31ed16d..740f3bab9d 100644
+--- a/mkspecs/linux-oe-g++/qmake.conf
++++ b/mkspecs/linux-oe-g++/qmake.conf
+@@ -10,6 +10,7 @@ include(../common/linux.conf)
+ 
+ # QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
+ QMAKE_AR              = $$(OE_QMAKE_AR) cqs
++QMAKE_OBJCOPY         = $$(OE_QMAKE_OBJCOPY)
+ QMAKE_STRIP           = $$(OE_QMAKE_STRIP)
+ 
+ include(../common/gcc-base-unix.conf)
+@@ -36,7 +37,5 @@ QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
+ # for the SDK
+ isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
+ 
+-include(../oe-device-extra.pri)
+-
+ load(device_config)
+ load(qt_config)
+-- 
+2.16.2
+
Signature · 7 lines
2.16.2

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]