1*92b42cb3SPatrick Williams#
2*92b42cb3SPatrick Williams# Copyright OpenEmbedded Contributors
3*92b42cb3SPatrick Williams#
4*92b42cb3SPatrick Williams# SPDX-License-Identifier: MIT
5*92b42cb3SPatrick Williams#
6*92b42cb3SPatrick Williams
7eb8dc403SDave Cobbleypython siteconfig_do_siteconfig () {
8eb8dc403SDave Cobbley    shared_state = sstate_state_fromvars(d)
9eb8dc403SDave Cobbley    if shared_state['task'] != 'populate_sysroot':
10eb8dc403SDave Cobbley        return
11eb8dc403SDave Cobbley    if not os.path.isdir(os.path.join(d.getVar('FILE_DIRNAME'), 'site_config')):
12eb8dc403SDave Cobbley        bb.debug(1, "No site_config directory, skipping do_siteconfig")
13eb8dc403SDave Cobbley        return
14eb8dc403SDave Cobbley    sstate_install(shared_state, d)
15eb8dc403SDave Cobbley    bb.build.exec_func('do_siteconfig_gencache', d)
16eb8dc403SDave Cobbley    sstate_clean(shared_state, d)
17eb8dc403SDave Cobbley}
18eb8dc403SDave Cobbley
19eb8dc403SDave CobbleyEXTRASITECONFIG ?= ""
20eb8dc403SDave Cobbley
21eb8dc403SDave Cobbleysiteconfig_do_siteconfig_gencache () {
22eb8dc403SDave Cobbley	mkdir -p ${WORKDIR}/site_config_${MACHINE}
23eb8dc403SDave Cobbley	gen-site-config ${FILE_DIRNAME}/site_config \
24eb8dc403SDave Cobbley		>${WORKDIR}/site_config_${MACHINE}/configure.ac
25eb8dc403SDave Cobbley	cd ${WORKDIR}/site_config_${MACHINE}
26eb8dc403SDave Cobbley	autoconf
27eb8dc403SDave Cobbley	rm -f ${BPN}_cache
28eb8dc403SDave Cobbley	CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${BPN}_cache
29eb8dc403SDave Cobbley	sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
30eb8dc403SDave Cobbley		-e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
31eb8dc403SDave Cobbley		< ${BPN}_cache > ${BPN}_config
32eb8dc403SDave Cobbley	mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
33eb8dc403SDave Cobbley	cp ${BPN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
34eb8dc403SDave Cobbley
35eb8dc403SDave Cobbley}
36eb8dc403SDave Cobbley
37eb8dc403SDave Cobbleydo_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig "
38eb8dc403SDave Cobbley
39eb8dc403SDave CobbleyEXPORT_FUNCTIONS do_siteconfig do_siteconfig_gencache
40