diff options
Diffstat (limited to 'meta/classes/autotools.bbclass')
-rw-r--r-- | meta/classes/autotools.bbclass | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meta/classes/autotools.bbclass b/meta/classes/autotools.bbclass index 4c4bf8775d..a5997c55e0 100644 --- a/meta/classes/autotools.bbclass +++ b/meta/classes/autotools.bbclass @@ -89,6 +89,27 @@ oe_runconf () { AUTOTOOLS_AUXDIR ?= "${S}" +CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate" + +autotools_preconfigure() { + if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then + if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then + echo "Previously configured separate build directory detected, cleaning ${B}" + rm -rf ${B} + mkdir ${B} + fi + fi +} + +autotools_postconfigure(){ + if [ -n "${CONFIGURESTAMPFILE}" ]; then + echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE} + fi +} + +do_configure[prefuncs] += "autotools_preconfigure" +do_configure[postfuncs] += "autotools_postconfigure" + autotools_do_configure() { case ${PN} in autoconf*) |