Skip to contentSkip to conversation

Enable nativesdk-qtbase to keep additional libraries

PATCH Superseded Anders Darander 2 participants 3 messages Oct 16, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

cover Enable nativesdk-qtbase to keep additional libraries

We have a usecase where we need to run a tool to transform a protocol spec. to cpp (kdwsdl2cpp). That tool is built using Qt5, and requires a couple of extra Qt-libraries, among the libQt5Xml.so.*. Today the nativesdk-qtbase recipe just unconditionally removes every library, except for a couple hardcoded ones.

This patch add an extra variable, in which you can specify additional libraries to keep.

The following changes since commit 478fe949a957471a4d20450f6e9375fe1d628591:

qtbase: don't stage the fonts directory (2014-10-08 17:52:08 +0200)

are available in the git repository at:

git://github.com/darander/meta-qt5 nativesdk-qtbase
https://github.com/darander/meta-qt5/tree/nativesdk-qtbase

Anders Darander (1):
nativesdk-qtbase: make it possible to keep additional libraries

 recipes-qt/qt5/nativesdk-qtbase.inc | 11 +++++++++++
 1 file changed, 11 insertions(+)
Signature · 1 line
1.8.4.5
#1 lore raw

PATCH 1/1 nativesdk-qtbase: make it possible to keep additional libraries

In some usecases for the nativesdk, you might need some build tools that are built upon Qt5. This means that we're having a need to keep more of the libraries build by nativsdk-qtbase. This patch adds the infrastructure to support that

---
 recipes-qt/qt5/nativesdk-qtbase.inc | 11 +++++++++++
 1 file changed, 11 insertions(+)
recipes-qt/qt5/nativesdk-qtbase.inc +11 -0
index faecc64..ed98c80 100644
@@ -193,6 +193,16 @@ do_configure() {
     bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
 }
 
+# Set the EXTRA_QTLIB variable to e.g. Xml, in order to net remove libQt5Xml.so.*
+EXTRA_QTLIB ?= ""
+
+python __anonymous () {
+    templibs = ""
+    for e in d.getVar("EXTRA_QTLIB", True).split():
+        templibs = "%s -not -name 'libQt5%s.so*' -and" % (templibs, e)
+    d.setVar("QTLIBSPRESERVE", templibs)
+}
+
 do_install() {
     # Fix install paths for all
     find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
@@ -215,6 +225,7 @@ do_install() {
            ${D}${libdir}/pkgconfig
     find ${D}${libdir} -maxdepth 1 -name 'lib*' -and \
                                    -not -name 'libQt5Core.so*' -and \
+                                   ${QTLIBSPRESERVE} \
                                    -not -name 'libQt5Bootstrap.a' \
                                    -exec rm '{}' ';'
 }
Signature · 1 line
1.8.4.5
#2 lore raw

Re: [meta-qt5][PATCH 1/1] nativesdk-qtbase: make it possible to keep additional libraries

Quoted 14 lines · Anders Darander

In some usecases for the nativesdk, you might need some build tools that are built upon Qt5. This means that we're having a need to keep more of the libraries build by nativsdk-qtbase. This patch adds the infrastructure to support that

---
 recipes-qt/qt5/nativesdk-qtbase.inc | 11 +++++++++++
 1 file changed, 11 insertions(+)
recipes-qt/qt5/nativesdk-qtbase.inc +0 -0
index faecc64..ed98c80 100644

recipes-qt/qt5/nativesdk-qtbase.inc do_configure() { · line 196

Quoted 4 lines
recipes-qt/qt5/nativesdk-qtbase.inc +1 -0
@@ -193,6 +193,16 @@ do_configure() {
     bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
 }
 
+# Set the EXTRA_QTLIB variable to e.g. Xml, in order to net remove libQt5Xml.so.*

... onder to *not* remove ...

Quoted 28 lines
recipes-qt/qt5/nativesdk-qtbase.inc +10 -1
+EXTRA_QTLIB ?= ""
+
+python __anonymous () {
+    templibs = ""
+    for e in d.getVar("EXTRA_QTLIB", True).split():
+        templibs = "%s -not -name 'libQt5%s.so*' -and" % (templibs, e)
+    d.setVar("QTLIBSPRESERVE", templibs)
+}
+
 do_install() {
     # Fix install paths for all
     find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
@@ -215,6 +225,7 @@ do_install() {
            ${D}${libdir}/pkgconfig
     find ${D}${libdir} -maxdepth 1 -name 'lib*' -and \
                                    -not -name 'libQt5Core.so*' -and \
+                                   ${QTLIBSPRESERVE} \
                                    -not -name 'libQt5Bootstrap.a' \
                                    -exec rm '{}' ';'
 }
--

1.8.4.5

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750