* 952e5e2b7a5c1deefc939594d40b81a71fb16a54 appends / in sed call,
  but it breaks ie =/usr replacement ie in libmikmod
* using at least / in SLASH_PREFIX/SLASH_EXEC_PREFIX is needed ie for micro
  distribution where prefix/exec_prefix are empty (/usr collapsed to /)
* prefix and exec_prefix are expanded only in shell environment (after
  get_binconfig_mangle is returned so to check if it's empty we have to
  pass them expanded as params)
* don't push this patch it fixes libmikmod with !micro, but in micro
  it's still broken, because libmikmod-config has empty 'prefix=' which
  is the case when we normaly don't want to add OEPREFIX (whole point of
  this patch), but in this case it's needed (let's just fix libmikmod.in)
* thanks to GNUtoo!
---
 classes/binconfig.bbclass |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass
index b3b2236..e462083 100644
--- a/classes/binconfig.bbclass
+++ b/classes/binconfig.bbclass
@@ -1,15 +1,21 @@
 FILES_${PN}-dev += "${bindir}/*-config"
 
 # The namespaces can clash here hence the two step replace
-def get_binconfig_mangle(d):
+def get_binconfig_mangle(d, env_prefix, env_exec_prefix):
+       SLASH_PREFIX = env_prefix
+       if SLASH_PREFIX is "":
+               SLASH_PREFIX = "/"
+       SLASH_EXEC_PREFIX = env_exec_prefix
+       if SLASH_EXEC_PREFIX is "":
+               SLASH_EXEC_PREFIX = "/"
        s = "-e ''"
        if not bb.data.inherits_class('native', d):
                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:=%s%s:=\\1OEPREFIX:'" % (optional_quote, 
SLASH_PREFIX)
+               s += " -e 's:=%s%s:=\\1OEEXECPREFIX:'" % (optional_quote, 
SLASH_EXEC_PREFIX)
                s += " -e 's:-L${libdir}:-LOELIBDIR:;'"
                s += " -e 's:-I${includedir}:-IOEINCDIR:;'"
                s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
@@ -52,7 +58,7 @@ binconfig_sysroot_preprocess () {
        for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
                configname=`basename $config`
                install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
-               cat $config | sed $...@get_binconfig_mangle(d)} > 
${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname
+               cat $config | sed $...@get_binconfig_mangle(d, "${prefix}", 
"${exec_prefix}")} > ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname
                chmod u+x ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname
        done
 }
-- 
1.7.3.2


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

Reply via email to