]> code.ossystems Code Review - openembedded-core.git/commitdiff
binconfig.bbclass: Sync with OE to benefit from improved .la file handling
authorRichard Purdie <richard@openedhand.com>
Mon, 20 Nov 2006 15:19:01 +0000 (15:19 +0000)
committerRichard Purdie <richard@openedhand.com>
Mon, 20 Nov 2006 15:19:01 +0000 (15:19 +0000)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@884 311d38ba-8fff-0310-9ca6-ca027cbcb966

meta/classes/binconfig.bbclass

index bf15ebcdf98b6354527aacb3bbd00c74f9164e8f..317e080fc55e71729a226911436c9f8bd737eb62 100644 (file)
@@ -5,11 +5,12 @@ def get_binconfig_mangle(d):
        import bb.data
        s = "-e ''"
        if not bb.data.inherits_class('native', d):
-               s += " -e 's:=${libdir}:=OELIBDIR:;'"
-               s += " -e 's:=${includedir}:=OEINCDIR:;'"
-               s += " -e 's:=${datadir}:=OEDATADIR:'"
-               s += " -e 's:=${prefix}:=OEPREFIX:'"
-               s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
+               optional_quote = r"\(\"\?\)"
+               s += " -e 's:=%s${libdir}:=\\1OELIBDIR:;'" % optional_quote
+               s += " -e 's:=%s${includedir}:=\\1OEINCDIR:;'" % optional_quote
+               s += " -e 's:=%s${datadir}:=\\1OEDATADIR:'" % optional_quote
+               s += " -e 's:=%s${prefix}:=\\1OEPREFIX:'" % optional_quote
+               s += " -e 's:=%s${exec_prefix}:=\\1OEEXECPREFIX:'" % optional_quote
                s += " -e 's:-L${libdir}:-LOELIBDIR:;'"
                s += " -e 's:-I${includedir}:-IOEINCDIR:;'"
                s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
@@ -26,6 +27,29 @@ def is_native(d):
 
 BINCONFIG_GLOB ?= "*-config"
 
+do_install_append() {
+
+    #the 'if' protects native packages, since we can't easily check for bb.data.inherits_class('native', d) in shell 
+    if [ -e ${D}${bindir} ] ; then
+        for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
+                cat $config | sed \
+               -e 's:${STAGING_LIBDIR}:${libdir}:g;' \ 
+               -e 's:${STAGING_INCDIR}:${includedir}:g;' \
+               -e 's:${STAGING_DATADIR}:${datadir}:' \
+               -e 's:${STAGING_LIBDIR}/..:${prefix}:' > ${D}${bindir}/`basename $config`
+        done
+    fi 
+
+       for lafile in `find ${D} -name *.la` ; do
+               sed -i \
+                   -e 's:${STAGING_LIBDIR}:${libdir}:g;' \
+                   -e 's:${STAGING_INCDIR}:${includedir}:g;' \
+                   -e 's:${STAGING_DATADIR}:${datadir}:' \
+                   -e 's:${STAGING_LIBDIR}/..:${prefix}:' \
+                   $lafile
+       done        
+}
+
 do_stage_append() {
        for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
                configname=`basename $config`${@is_native(d)}