xref: /OK3568_Linux_fs/yocto/poky/meta/classes/siteconfig.bbclass (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyunpython siteconfig_do_siteconfig () {
2*4882a593Smuzhiyun    shared_state = sstate_state_fromvars(d)
3*4882a593Smuzhiyun    if shared_state['task'] != 'populate_sysroot':
4*4882a593Smuzhiyun        return
5*4882a593Smuzhiyun    if not os.path.isdir(os.path.join(d.getVar('FILE_DIRNAME'), 'site_config')):
6*4882a593Smuzhiyun        bb.debug(1, "No site_config directory, skipping do_siteconfig")
7*4882a593Smuzhiyun        return
8*4882a593Smuzhiyun    sstate_install(shared_state, d)
9*4882a593Smuzhiyun    bb.build.exec_func('do_siteconfig_gencache', d)
10*4882a593Smuzhiyun    sstate_clean(shared_state, d)
11*4882a593Smuzhiyun}
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunEXTRASITECONFIG ?= ""
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunsiteconfig_do_siteconfig_gencache () {
16*4882a593Smuzhiyun	mkdir -p ${WORKDIR}/site_config_${MACHINE}
17*4882a593Smuzhiyun	gen-site-config ${FILE_DIRNAME}/site_config \
18*4882a593Smuzhiyun		>${WORKDIR}/site_config_${MACHINE}/configure.ac
19*4882a593Smuzhiyun	cd ${WORKDIR}/site_config_${MACHINE}
20*4882a593Smuzhiyun	autoconf
21*4882a593Smuzhiyun	rm -f ${BPN}_cache
22*4882a593Smuzhiyun	CONFIG_SITE="" ${EXTRASITECONFIG} ./configure ${CONFIGUREOPTS} --cache-file ${BPN}_cache
23*4882a593Smuzhiyun	sed -n -e "/ac_cv_c_bigendian/p" -e "/ac_cv_sizeof_/p" \
24*4882a593Smuzhiyun		-e "/ac_cv_type_/p" -e "/ac_cv_header_/p" -e "/ac_cv_func_/p" \
25*4882a593Smuzhiyun		< ${BPN}_cache > ${BPN}_config
26*4882a593Smuzhiyun	mkdir -p ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
27*4882a593Smuzhiyun	cp ${BPN}_config ${SYSROOT_DESTDIR}${datadir}/${TARGET_SYS}_config_site.d
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun}
30*4882a593Smuzhiyun
31*4882a593Smuzhiyundo_populate_sysroot[sstate-interceptfuncs] += "do_siteconfig "
32*4882a593Smuzhiyun
33*4882a593SmuzhiyunEXPORT_FUNCTIONS do_siteconfig do_siteconfig_gencache
34