summaryrefslogtreecommitdiffstats
path: root/meta/classes/siteconfig.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/siteconfig.bbclass')
-rw-r--r--meta/classes/siteconfig.bbclass31
1 files changed, 31 insertions, 0 deletions
diff --git a/meta/classes/siteconfig.bbclass b/meta/classes/siteconfig.bbclass
new file mode 100644
index 0000000000..5311653bb5
--- /dev/null
+++ b/meta/classes/siteconfig.bbclass
@@ -0,0 +1,31 @@
1siteconfig_do_siteconfig() {
2 if [ ! -d ${FILE_DIRNAME}/site_config ]; then
3 exit 0
4 fi
5 mkdir ${WORKDIR}/site_config
6 gen-site-config ${FILE_DIRNAME}/site_config \
7 >${WORKDIR}/site_config/configure.ac
8 cd ${WORKDIR}/site_config
9 autoconf
10 CONFIG_SITE="" ./configure ${CONFIGUREOPTS} --cache-file ${PN}_cache
11 sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
12 -e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
13 < ${PN}_cache > ${PN}_config
14 mkdir -p ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d
15 cp ${PN}_config ${SYSROOT_DESTDIR}${STAGING_DATADIR}/${TARGET_SYS}_config_site.d
16}
17
18# Ugly integration with sstate_task_postfunc for now. The normal package
19# sysroot components must be installed in order to generate the cache, but
20# the site cache must be generated before the staging archive is generated.
21python sstate_task_postfunc () {
22 shared_state = sstate_state_fromvars(d)
23 sstate_install(shared_state, d)
24 if shared_state['name'] == 'populate-sysroot':
25 bb.build.exec_func('do_siteconfig', d)
26 sstate_clean(shared_state, d)
27 sstate_install(shared_state, d)
28 sstate_package(shared_state, d)
29}
30
31EXPORT_FUNCTIONS do_siteconfig