summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/scons.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes-recipe/scons.bbclass')
-rw-r--r--meta/classes-recipe/scons.bbclass34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/classes-recipe/scons.bbclass b/meta/classes-recipe/scons.bbclass
new file mode 100644
index 0000000000..5f0d4a910b
--- /dev/null
+++ b/meta/classes-recipe/scons.bbclass
@@ -0,0 +1,34 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6
7inherit python3native
8
9DEPENDS += "python3-scons-native"
10
11EXTRA_OESCONS ?= ""
12
13do_configure() {
14 if [ -n "${CONFIGURESTAMPFILE}" -a "${S}" = "${B}" ]; then
15 if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
16 ${STAGING_BINDIR_NATIVE}/scons --directory=${S} --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
17 fi
18
19 mkdir -p `dirname ${CONFIGURESTAMPFILE}`
20 echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
21 fi
22}
23
24scons_do_compile() {
25 ${STAGING_BINDIR_NATIVE}/scons --directory=${S} ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
26 die "scons build execution failed."
27}
28
29scons_do_install() {
30 ${STAGING_BINDIR_NATIVE}/scons --directory=${S} install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
31 die "scons install execution failed."
32}
33
34EXPORT_FUNCTIONS do_compile do_install