summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhschang <chang@dev3>2013-02-14 08:06:28 (GMT)
committerhschang <chang@dev3>2013-02-14 08:06:50 (GMT)
commitc6e7e889438e2fda92d93b9dea4eea7f332d82a8 (patch)
treed5eac1b9b45f060a8fd416240c0e9fe60c0e348a
parent4db31673406c3a1bfb9be18176ad9212fb10e31e (diff)
fix autotools.bbclass.
-rw-r--r--meta-openvuplus/classes/autotools.bbclass27
1 files changed, 24 insertions, 3 deletions
diff --git a/meta-openvuplus/classes/autotools.bbclass b/meta-openvuplus/classes/autotools.bbclass
index 658ae66..40d43f9 100644
--- a/meta-openvuplus/classes/autotools.bbclass
+++ b/meta-openvuplus/classes/autotools.bbclass
@@ -82,6 +82,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*)
@@ -154,9 +175,9 @@ autotools_do_configure() {
cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
- if [ ! -e ${S}/po/remove-potcdate.sin ]; then
- cp ${STAGING_DATADIR_NATIVE}/gettext/po/remove-potcdate.sin ${S}/po/
- fi
+ fi
+ if [ ! -e ${S}/po/remove-potcdate.sin ]; then
+ cp ${STAGING_DATADIR}/gettext/po/remove-potcdate.sin ${S}/po/
fi
fi
fi