merge of aa89decda49eb9f74b334f404fd14af6fde11da8
[vuplus_openembedded] / classes / binconfig.bbclass
1 inherit base
2
3 # The namespaces can clash here hence the two step replace
4 def 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
23 def is_native(d):
24         import bb.data
25         return ["","-native"][bb.data.inherits_class('native', d)]
26
27 BINCONFIG_GLOB ?= "*-config"
28
29 do_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 }