diff options
Diffstat (limited to 'meta/classes/scons.bbclass')
-rw-r--r-- | meta/classes/scons.bbclass | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/meta/classes/scons.bbclass b/meta/classes/scons.bbclass index b8de822ff7..80f8382107 100644 --- a/meta/classes/scons.bbclass +++ b/meta/classes/scons.bbclass @@ -1,15 +1,28 @@ -DEPENDS += "python-scons-native" +inherit python3native + +DEPENDS += "python3-scons-native" EXTRA_OESCONS ?= "" +do_configure() { + if [ -n "${CONFIGURESTAMPFILE}" -a "${S}" = "${B}" ]; then + if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then + ${STAGING_BINDIR_NATIVE}/scons --directory=${S} --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 --directory=${S} ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ + die "scons build execution failed." } scons_do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install ${EXTRA_OESCONS}|| \ - die "scons install execution failed." + ${STAGING_BINDIR_NATIVE}/scons --directory=${S} install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ + die "scons install execution failed." } EXPORT_FUNCTIONS do_compile do_install |