On Thursday 29 January 2009 17:28, you wrote:
> > If you agree with me that a simple version comparison with a
> > two digit number, emmiting a warning only is sufficient in this
> > case i can make the patch.
>
> I'm ok with say that we require some verion >= X. Anything < X
> should fail. Anything >= X should be allowed. With X being the
> lowest version that we check for.
Here it is. I added some sed hocus-pocus to normalize the version
numbers before comparisson. It is NOT bullit proof, but it handles
one and/or two digit, possibly mixed, version numbers of two and/or
three levels, possibly preceded by 'v' and augmented by release
denotifiers.
Ruud.
--- bootstrap 2008-09-19 15:43:17.000000000 +0200
+++ bootstrap 2009-01-30 10:01:26.000000000 +0100
@@ -5,37 +5,53 @@
# bootstrap script to build all the *.in files and configure script.
#
-# autoconf-2.59, 2.60, 2.61, or 2.62 is required
+function version()
+{ # Simple version normalizer by Ruud Vlaming ([email protected])
+ echo $1 | sed -e 's/$/ /' -e 's/^/ /' \
+ -e 's/^.*[v ]\([0-9]\)\.\([0-9].*\)$/ 0\1.\2 /' \
+ -e 's/^.*[v ]\([0-9][0-9]*\.[0-9][0-9]*\)[- ].*$/ \1 /' \
+ -e 's/^.*[v ]\([0-9][0-9]*\)\.\([0-9]\)[- ].*$/ \1.0\2/' \
+ -e 's/^.*[v ]\([0-9][0-9]*\.[0-9\.]*\).*$/ \1/' \
+ -e 's/^.*[v ]\([0-9][0-9]*\)\.\([0-9]\)\.\(.*\)$/ \1.0\2\.\3/' \
+ -e 's/^.*[v ]\([0-9][0-9]*\)\.\([0-9]*\)\.\([0-9]\)\.*$/ \1.\2\.0\3/'
+}
+
+# at least autoconf-2.59 is required
: ${AUTOHEADER="autoheader${AC_VER}"}
: ${AUTOCONF="autoconf${AC_VER}"}
-# automake-1.8.x, 1.9.x, or 1.10.x is required
+# at least automake-1.8.x, is required
: ${ACLOCAL="aclocal${AM_VER}"}
: ${AUTOMAKE="automake${AM_VER}"}
# Verify autoconf version
-AUTOCONF_VER=`(${AUTOCONF} --version 2>/dev/null | head -n 1 | \
- cut -d ' ' -f 4) 2>/dev/null`
-if [ "$AUTOCONF_VER" != "2.59" -a "$AUTOCONF_VER" != "2.60" -a "$AUTOCONF_VER" != "2.61" \
- -a "$AUTOCONF_VER" != "2.62" ]
+AUTOCONF_VER=`(${AUTOCONF} --version | head -n 1 2>/dev/null)`
+AUTOCONF_MIN="2.59"
+AUTOCONF_TST=`version "$AUTOCONF_VER"`
+AUTOCONF_CMP=`version "$AUTOCONF_MIN"`
+
+if [ $AUTOCONF_TST \< $AUTOCONF_CMP ]
then
- echo "You need to use autoconf version 2.59, 2.60, 2.61, or 2.62."
- echo "You are using `${AUTOCONF} --version | head -n 1`."
+ echo "You need to use autoconf version >= $AUTOCONF_MIN "
+ echo "You are using $AUTOCONF_VER."
exit 1
fi
# Verify automake version
-AUTOMAKE_VER=`(${AUTOMAKE} --version | head -n 1 | \
- cut -d ' ' -f 4 | cut -d '.' -f -2) 2>/dev/null`
-if [ "$AUTOMAKE_VER" != "1.8" -a "$AUTOMAKE_VER" != "1.9" -a "$AUTOMAKE_VER" != "1.10" ]
+AUTOMAKE_VER=`(${AUTOMAKE} --version | head -n 1 2>/dev/null)`
+AUTOMAKE_MIN="1.8"
+AUTOMAKE_TST=`version "$AUTOMAKE_VER"`
+AUTOMAKE_CMP=`version "$AUTOMAKE_MIN"`
+
+if [ $AUTOMAKE_TST \< $AUTOMAKE_CMP ]
then
- echo "You need to use automake version 1.8, 1.9, or 1.10."
- echo "You are using `${AUTOMAKE} --version | head -n 1`."
- exit 1
+ echo "You need to use automake version >= $AUTOMAKE_MIN "
+ echo "You are using $AUTOMAKE_VER."
+ exit 1
fi
AUTOMAKE="${AUTOMAKE} --foreign --add-missing --copy"
_______________________________________________
AVR-GCC-list mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list