[oe] [meta-oe][PATCH] tk: make multilib build compatible and fix library install

Nick D'Ademo nickdademo at gmail.com
Wed Nov 27 10:29:42 UTC 2013


Pass libdir to EXTRA_OECONF so that recipe generates the correct library folder in a multilib build.

Install shared library symbolic link to image.

Signed-off-by: Nick D'Ademo <nickdademo at gmail.com>
---
 meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb |   17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
index b76f58f..e999522 100644
--- a/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
+++ b/meta-oe/recipes-devtools/tcltk/tk_8.6.0.bb
@@ -24,18 +24,31 @@ EXTRA_OECONF = "\
     --enable-threads \
     --with-x \
     --with-tcl=${STAGING_BINDIR_CROSS} \
+    --libdir=${libdir} \
 "
 
 do_install_append() {
-    mv libtk8.6.so libtk8.6.so.0
+    ln -sf libtk8.6.so ${D}${libdir}/libtk8.6.so.0
     oe_libinstall -so libtk8.6 ${D}${libdir}
     ln -sf wish8.6 ${D}${bindir}/wish
+	
+    # Even after passing libdir=${libdir} at config, some incorrect dirs are still generated for the multilib build
+    if [ "$libdir" != "/usr/lib" ]; then
+        # Move files to correct library directory
+        mv ${D}/usr/lib/tk8.6/* ${D}/${libdir}/tk8.6/
+        # Remove unneeded/incorrect dir ('usr/lib/')
+        rm -rf ${D}/usr/lib
+    fi
 }
 
 PACKAGES =+ "${PN}-lib"
 
-FILES_${PN}-lib = "${libdir}/libtk8.6.so.*"
+FILES_${PN}-lib = "${libdir}/libtk8.6.so*"
 FILES_${PN} += "${libdir}/tk*"
 
+# isn't getting picked up by shlibs code
+RDEPENDS_${PN} += "tk-lib"
+RDEPENDS_${PN}_class-native = ""
+
 BINCONFIG_GLOB = "*Config.sh"
 BBCLASSEXTEND = "native"
-- 
1.7.9.5




More information about the Openembedded-devel mailing list