diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/base.bbclass | 5 | ||||
-rw-r--r-- | meta/classes/binconfig.bbclass | 10 | ||||
-rw-r--r-- | meta/classes/pkgconfig_stage.bbclass | 8 |
3 files changed, 16 insertions, 7 deletions
diff --git a/meta/classes/base.bbclass b/meta/classes/base.bbclass index 9e78ce2927..45adeb9e6e 100644 --- a/meta/classes/base.bbclass +++ b/meta/classes/base.bbclass | |||
@@ -996,6 +996,9 @@ do_populate_staging[dirs] = "${STAGING_DIR_TARGET}/${bindir} ${STAGING_DIR_TARGE | |||
996 | # Could be compile but populate_staging and do_install shouldn't run at the same time | 996 | # Could be compile but populate_staging and do_install shouldn't run at the same time |
997 | addtask populate_staging after do_install | 997 | addtask populate_staging after do_install |
998 | 998 | ||
999 | SYSROOT_PREPROCESS_FUNCS ?= "" | ||
1000 | SYSROOT_DESTDIR = "${WORKDIR}/sysroot-destdir/" | ||
1001 | |||
999 | python do_populate_staging () { | 1002 | python do_populate_staging () { |
1000 | # | 1003 | # |
1001 | # Only run do_stage if its not the empty default above | 1004 | # Only run do_stage if its not the empty default above |
@@ -1003,6 +1006,8 @@ python do_populate_staging () { | |||
1003 | stagefunc = bb.data.getVar('do_stage', d, 1).strip() | 1006 | stagefunc = bb.data.getVar('do_stage', d, 1).strip() |
1004 | if stagefunc != "base_do_stage": | 1007 | if stagefunc != "base_do_stage": |
1005 | bb.build.exec_func('do_stage', d) | 1008 | bb.build.exec_func('do_stage', d) |
1009 | for f in (bb.data.getVar('SYSROOT_PREPROCESS_FUNCS', d, True) or '').split(): | ||
1010 | bb.build.exec_func(f, d) | ||
1006 | } | 1011 | } |
1007 | 1012 | ||
1008 | addtask install after do_compile | 1013 | addtask install after do_compile |
diff --git a/meta/classes/binconfig.bbclass b/meta/classes/binconfig.bbclass index 55a0b039f2..31e5cc5172 100644 --- a/meta/classes/binconfig.bbclass +++ b/meta/classes/binconfig.bbclass | |||
@@ -43,11 +43,13 @@ binconfig_package_preprocess () { | |||
43 | done | 43 | done |
44 | } | 44 | } |
45 | 45 | ||
46 | do_stage_append() { | 46 | SYSROOT_PREPROCESS_FUNCS += "binconfig_sysroot_preprocess" |
47 | |||
48 | binconfig_sysroot_preprocess () { | ||
47 | for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do | 49 | for config in `find ${S} -name '${BINCONFIG_GLOB}'`; do |
48 | configname=`basename $config` | 50 | configname=`basename $config` |
49 | install -d ${STAGING_BINDIR_CROSS} | 51 | install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS} |
50 | cat $config | sed ${@get_binconfig_mangle(d)} > ${STAGING_BINDIR_CROSS}/$configname | 52 | cat $config | sed ${@get_binconfig_mangle(d)} > ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname |
51 | chmod u+x ${STAGING_BINDIR_CROSS}/$configname | 53 | chmod u+x ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/$configname |
52 | done | 54 | done |
53 | } | 55 | } |
diff --git a/meta/classes/pkgconfig_stage.bbclass b/meta/classes/pkgconfig_stage.bbclass index fae2ee024e..bd5bd81670 100644 --- a/meta/classes/pkgconfig_stage.bbclass +++ b/meta/classes/pkgconfig_stage.bbclass | |||
@@ -1,7 +1,9 @@ | |||
1 | do_stage_append () { | 1 | SYSROOT_PREPROCESS_FUNCS += "pkgconfig_sysroot_preprocess" |
2 | install -d ${PKG_CONFIG_DIR} | 2 | |
3 | pkgconfig_sysroot_preprocess () { | ||
4 | install -d ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR} | ||
3 | for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do | 5 | for pc in `find ${S} -name '*.pc' -type f | grep -v -- '-uninstalled.pc$'`; do |
4 | pcname=`basename $pc` | 6 | pcname=`basename $pc` |
5 | cat $pc > ${PKG_CONFIG_DIR}/$pcname | 7 | cat $pc > ${SYSROOT_DESTDIR}${PKG_CONFIG_DIR}/$pcname |
6 | done | 8 | done |
7 | } | 9 | } |