diff options
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/siteconfig.bbclass | 31 | ||||
-rw-r--r-- | meta/classes/siteinfo.bbclass | 7 |
2 files changed, 38 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 @@ | |||
1 | siteconfig_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. | ||
21 | python 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 | |||
31 | EXPORT_FUNCTIONS do_siteconfig | ||
diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index c4206c2d85..130fdc4cfb 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass | |||
@@ -96,6 +96,13 @@ def siteinfo_get_files(d): | |||
96 | if os.path.exists(fname): | 96 | if os.path.exists(fname): |
97 | sitefiles += fname + " " | 97 | sitefiles += fname + " " |
98 | 98 | ||
99 | # Now check for siteconfig cache files | ||
100 | path_siteconfig = os.path.join(bb.data.getVar('STAGING_DATADIR', d, 1), bb.data.getVar('TARGET_SYS', d, 1) + "_config_site.d") | ||
101 | if os.path.isdir(path_siteconfig): | ||
102 | for i in os.listdir(path_siteconfig): | ||
103 | fname = os.path.join(path_siteconfig, i) | ||
104 | sitefiles += fname + " " | ||
105 | |||
99 | bb.debug(1, "SITE files " + sitefiles); | 106 | bb.debug(1, "SITE files " + sitefiles); |
100 | return sitefiles | 107 | return sitefiles |
101 | 108 | ||