xref: /OK3568_Linux_fs/yocto/poky/meta/classes/scons.bbclass (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1inherit python3native
2
3DEPENDS += "python3-scons-native"
4
5EXTRA_OESCONS ?= ""
6# This value below is derived from $(getconf ARG_MAX)
7SCONS_MAXLINELENGTH ?= "MAXLINELENGTH=2097152"
8EXTRA_OESCONS:append = " ${SCONS_MAXLINELENGTH}"
9do_configure() {
10	if [ -n "${CONFIGURESTAMPFILE}" -a "${S}" = "${B}" ]; then
11		if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
12			${STAGING_BINDIR_NATIVE}/scons --directory=${S} --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
13		fi
14
15		mkdir -p `dirname ${CONFIGURESTAMPFILE}`
16		echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
17	fi
18}
19
20scons_do_compile() {
21	${STAGING_BINDIR_NATIVE}/scons --directory=${S} ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
22	die "scons build execution failed."
23}
24
25scons_do_install() {
26	${STAGING_BINDIR_NATIVE}/scons --directory=${S} install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
27	die "scons install execution failed."
28}
29
30do_configure[vardepsexclude] = "SCONS_MAXLINELENGTH"
31do_compile[vardepsexclude] = "SCONS_MAXLINELENGTH"
32do_install[vardepsexclude] = "SCONS_MAXLINELENGTH"
33
34EXPORT_FUNCTIONS do_compile do_install
35