Just checking the major and minor version of xorg-macros is not enough granularity. Awk is used to split out the first three sections of the version number. If the field is not available, 0 is substituted.
Signed-off-by: Dan Nicholson <[email protected]> --- I only tested this with gawk, but I believe this is portable awk syntax. xorg-macros.m4.in | 31 ++++++++++++++++++++++--------- 1 files changed, 22 insertions(+), 9 deletions(-) diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in index 56ec104..02292c2 100644 --- a/xorg-macros.m4.in +++ b/xorg-macros.m4.in @@ -43,18 +43,31 @@ dnl of the copyright holder. # See the "minimum version" comment for each macro you use to see what # version you require. AC_DEFUN([XORG_MACROS_VERSION],[ - [XORG_MACROS_needed_version=$1 - XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'` - XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] - AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}]) - [xorg_macros_versi...@version@ - XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'` - XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`] + AC_REQUIRE([AC_PROG_AWK]) + XORG_MACROS_needed_version="$1" + XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | \ + $AWK -F . '{if ($[]1) print $[]1; else print 0}'` + XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | \ + $AWK -F . '{if ($[]2) print $[]2; else print 0}'` + XORG_MACROS_needed_patch=`echo $XORG_MACROS_needed_version | \ + $AWK -F . '{if ($[]3) print $[]3; else print 0}'` + AC_MSG_CHECKING([if xorg-macros used to generate configure is at least $XORG_MACROS_needed_version]) + xorg_macros_versi...@version@ + XORG_MACROS_major=`echo $XORG_MACROS_version | \ + $AWK -F . '{if ($[]1) print $[]1; else print 0}'` + XORG_MACROS_minor=`echo $XORG_MACROS_version | \ + $AWK -F . '{if ($[]2) print $[]2; else print 0}'` + XORG_MACROS_patch=`echo $XORG_MACROS_version | \ + $AWK -F . '{if ($[]3) print $[]3; else print 0}'` if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then + AC_MSG_RESULT([no, $XORG_MACROS_version]) AC_MSG_ERROR([configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x]) fi - if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then - AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer]) + if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor || \ + { test $XORG_MACROS_minor -eq $XORG_MACROS_needed_minor && \ + test $XORG_MACROS_patch -lt $XORG_MACROS_needed_patch; }; then + AC_MSG_RESULT([no, $XORG_MACROS_version]) + AC_MSG_ERROR([configure built with too old of a version of xorg-macros.m4]) fi AC_MSG_RESULT([yes, $XORG_MACROS_version]) ]) # XORG_MACROS_VERSION -- 1.5.6.6 _______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
