aboutsummaryrefslogtreecommitdiffstats
path: root/classes/binconfig.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2005-02-06 22:30:30 +0000
committerRichard Purdie <rpurdie@rpsys.net>2005-02-06 22:30:30 +0000
commit65f3fc9521119f91bf570481074e2cc4c296ece7 (patch)
tree4bac5f8587f316596f1d02c6d698ae432fe446c9 /classes/binconfig.bbclass
parentfa7039f9d85c9355a5367ec7581b6e60392e8a4f (diff)
downloadopenembedded-65f3fc9521119f91bf570481074e2cc4c296ece7.tar.gz
openembedded-65f3fc9521119f91bf570481074e2cc4c296ece7.tar.bz2
openembedded-65f3fc9521119f91bf570481074e2cc4c296ece7.zip
classes/binconfig.bbclass: Fix namespace clash if you compile in /usr or friends
BKrev: 42069a8624BK350E1xrDCQmGxx2tWA
Diffstat (limited to 'classes/binconfig.bbclass')
-rw-r--r--classes/binconfig.bbclass31
1 files changed, 31 insertions, 0 deletions
diff --git a/classes/binconfig.bbclass b/classes/binconfig.bbclass
index e69de29bb2..7011004026 100644
--- a/classes/binconfig.bbclass
+++ b/classes/binconfig.bbclass
@@ -0,0 +1,31 @@
+inherit base
+
+# The namespaces can clash here hence the two step replace
+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:'"
+ s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
+ s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
+ s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
+ s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
+ return s
+
+def is_native(d):
+ import bb.data
+ return ["","-native"][bb.data.inherits_class('native', d)]
+
+do_stage_append() {
+ for config in `find ${S} -name '*-config'`; do
+ configname=`basename $config`${@is_native(d)}
+ install -d ${STAGING_BINDIR}
+ cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/$configname
+ chmod u+x ${STAGING_BINDIR}/$configname
+ done
+}