summaryrefslogtreecommitdiffstats
path: root/meta/classes/binconfig.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/binconfig.bbclass')
-rw-r--r--meta/classes/binconfig.bbclass36
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass
new file mode 100644
index 0000000000..bf15ebcdf9
--- /dev/null
+++ b/meta/classes/binconfig.bbclass
@@ -0,0 +1,36 @@
1inherit base
2
3# The namespaces can clash here hence the two step replace
4def get_binconfig_mangle(d):
5 import bb.data
6 s = "-e ''"
7 if not bb.data.inherits_class('native', d):
8 s += " -e 's:=${libdir}:=OELIBDIR:;'"
9 s += " -e 's:=${includedir}:=OEINCDIR:;'"
10 s += " -e 's:=${datadir}:=OEDATADIR:'"
11 s += " -e 's:=${prefix}:=OEPREFIX:'"
12 s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
13 s += " -e 's:-L${libdir}:-LOELIBDIR:;'"
14 s += " -e 's:-I${includedir}:-IOEINCDIR:;'"
15 s += " -e 's:OELIBDIR:${STAGING_LIBDIR}:;'"
16 s += " -e 's:OEINCDIR:${STAGING_INCDIR}:;'"
17 s += " -e 's:OEDATADIR:${STAGING_DATADIR}:'"
18 s += " -e 's:OEPREFIX:${STAGING_LIBDIR}/..:'"
19 s += " -e 's:OEEXECPREFIX:${STAGING_LIBDIR}/..:'"
20 return s
21
22# Native package configurations go in ${BINDIR}/<name>-config-native to prevent a collision with cross packages
23def is_native(d):
24 import bb.data
25 return ["","-native"][bb.data.inherits_class('native', d)]
26
27BINCONFIG_GLOB ?= "*-config"
28
29do_stage_append() {
30 for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do
31 configname=`basename $config`${@is_native(d)}
32 install -d ${STAGING_BINDIR}
33 cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR}/$configname
34 chmod u+x ${STAGING_BINDIR}/$configname
35 done
36}