summaryrefslogtreecommitdiff
path: root/poky/meta/classes/scons.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/classes/scons.bbclass')
-rw-r--r--poky/meta/classes/scons.bbclass19
1 files changed, 14 insertions, 5 deletions
diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass
index b9ae19d58..9ee7d1587 100644
--- a/poky/meta/classes/scons.bbclass
+++ b/poky/meta/classes/scons.bbclass
@@ -2,16 +2,25 @@ DEPENDS += "python-scons-native"
EXTRA_OESCONS ?= ""
-do_configure[noexec] = "1"
+do_configure() {
+ if [ -n "${CONFIGURESTAMPFILE}" ]; then
+ if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then
+ ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS}
+ fi
+
+ mkdir -p `dirname ${CONFIGURESTAMPFILE}`
+ echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
+ fi
+}
scons_do_compile() {
- ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
- die "scons build execution failed."
+ ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \
+ die "scons build execution failed."
}
scons_do_install() {
- ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
- die "scons install execution failed."
+ ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \
+ die "scons install execution failed."
}
EXPORT_FUNCTIONS do_compile do_install