diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/classes/siteconfig.bbclass')
-rw-r--r-- | import-layers/yocto-poky/meta/classes/siteconfig.bbclass | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/classes/siteconfig.bbclass b/import-layers/yocto-poky/meta/classes/siteconfig.bbclass new file mode 100644 index 0000000000..45dce489de --- /dev/null +++ b/import-layers/yocto-poky/meta/classes/siteconfig.bbclass @@ -0,0 +1,33 @@ +python siteconfig_do_siteconfig () { + shared_state = sstate_state_fromvars(d) + if shared_state['task'] != 'populate_sysroot': + return + if not os.path.isdir(os.path.join(d.getVar('FILE_DIRNAME', True), 'site_config')): + bb.debug(1, "No site_config directory, skipping do_siteconfig") + return + bb.build.exec_func('do_siteconfig_gencache', d) + sstate_clean(shared_state, d) + sstate_install(shared_state, d) +} + +EXTRASITECONFIG ?= "" + +siteconfig_do_siteconfig_gencache () { + mkdir -p ${WORKDIR}/site_config_${MACHINE} + gen-site-config ${FILE_DIRNAME}/site_config \ + >${WORKDIR}/site_config_${MACHINE}/configure.ac + cd ${WORKDIR}/site_config_${MACHINE} + autoconf + rm -f ${BPN}_cache + CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${BPN}_cache + sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \ + -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \ + < ${BPN}_cache > ${BPN}_config + mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d + cp ${BPN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d + +} + +do_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig " + +EXPORT_FUNCTIONS do_siteconfig do_siteconfig_gencache |