diff options
Diffstat (limited to 'poky/meta/classes/scons.bbclass')
-rw-r--r-- | poky/meta/classes/scons.bbclass | 19 |
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 |