pkgconfig.bbclass: sed out references to staging as well
[vuplus_openembedded] / classes / pkgconfig.bbclass
1 inherit base
2
3 DEPENDS_prepend = "pkgconfig-native "
4
5 # The namespaces can clash here hence the two step replace
6 def get_pkgconfig_mangle(d):
7         import bb.data
8         s = "-e ''"
9         if not bb.data.inherits_class('native', d):
10                 s += " -e 's:=${libdir}:=OELIBDIR:;'"
11                 s += " -e 's:=${includedir}:=OEINCDIR:;'"
12                 s += " -e 's:=${datadir}:=OEDATADIR:'"
13                 s += " -e 's:=${prefix}:=OEPREFIX:'"
14                 s += " -e 's:=${exec_prefix}:=OEEXECPREFIX:'"
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_DIR_HOST}${layout_prefix}:'"
19                 s += " -e 's:OEEXECPREFIX:${STAGING_DIR_HOST}${layout_exec_prefix}:'"
20                 s += " -e 's:-L${WORKDIR}\S*: :g'"
21                 s += " -e 's:-I${WORKDIR}\S*: :g'"
22
23         return s
24
25 do_install_append () {
26         for pc in `find ${D} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
27                 sed -i ${@get_pkgconfig_mangle(d)} -e 's:${D}::g' -e 's:${STAGING_LIBDIR}:${libdir}:g' -e 's:${STAGING_INCDIR}:${includedir}:g'  ${pc}
28         done
29 }
30
31 do_stage_append () {
32         for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do
33                 pcname=`basename $pc`
34                 install -d ${PKG_CONFIG_DIR}
35                 cat $pc | sed ${@get_pkgconfig_mangle(d)} -e 's:${D}${libdir}\S*:${STAGING_LIBDIR}:g' -e 's:${D}${prefix}/include\S*:${STAGING_INCDIR}:g' > ${PKG_CONFIG_DIR}/$pcname
36         done
37 }