summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/pkgconfig.oeclass22
1 files changed, 22 insertions, 0 deletions
diff --git a/classes/pkgconfig.oeclass b/classes/pkgconfig.oeclass
index e69de29bb2..83f3a3d9f2 100644
--- a/classes/pkgconfig.oeclass
+++ b/classes/pkgconfig.oeclass
@@ -0,0 +1,22 @@
+inherit base
+
+DEPENDS_prepend = "pkgconfig-native "
+
+def get_pkgconfig_mangle(d):
+ import oe.data
+ s = "-e ''"
+ if not oe.data.inherits_class('native', d):
+ s += " -e 's:${libdir}:${STAGING_LIBDIR}:;'"
+ s += " -e 's:${includedir}:${STAGING_INCDIR}:;'"
+ s += " -e 's:${datadir}:${STAGING_DATADIR}:'"
+ s += " -e 's:${prefix}:${STAGING_LIBDIR}/..:'"
+ s += " -e 's:${exec_prefix}:${STAGING_LIBDIR}/..:'"
+ return s
+
+do_stage_append () {
+ for pc in `find ${S} -name '*.pc'`; do
+ pcname=`basename $pc`
+ install -d ${PKG_CONFIG_PATH}
+ cat $pc | sed ${@get_pkgconfig_mangle(d)} > ${PKG_CONFIG_PATH}/$pcname
+ done
+}