On Fri, Feb 6, 2009 at 12:28 PM, Dan Nicholson <[email protected]> wrote: > Check the needed macros version with m4 so that the proper version is > determined during autoconf. This prevents a faulty configure from being > generated. > > Signed-off-by: Dan Nicholson <[email protected]> > --- > Alan, what do you think about this instead? By using m4, we can bomb > during autoconf. Further, we can just use m4_version_compare, which > already encapsulates all the logic we'd want for version checking. > > xorg-macros.m4.in | 26 +++++++++++--------------- > 1 files changed, 11 insertions(+), 15 deletions(-) > > diff --git a/xorg-macros.m4.in b/xorg-macros.m4.in > index a16e06f..80216e2 100644 > --- a/xorg-macros.m4.in > +++ b/xorg-macros.m4.in > @@ -42,21 +42,17 @@ 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/\..*$//'`] > - if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then > - 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]) > - fi > - AC_MSG_RESULT([yes, $XORG_MACROS_version]) > +m4_defun([XORG_MACROS_VERSION],[ > +m4_define([vers_have], [...@version@]) > +m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) > +m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) > +m4_if(m4_cmp(maj_have, maj_needed), 0,, > + [m4_fatal([xorg-macros major version ]maj_needed[ is required but > ]vers_have[ found])]) > +m4_if(m4_version_compare(vers_have, [$1]), -1, > + [m4_fatal([xorg-macros version $1 or higher is required but ]vers_have[ > found])]) > +m4_undefine([vers_have]) > +m4_undefine([maj_have]) > +m4_undefine([maj_needed]) > ]) # XORG_MACROS_VERSION > > # XORG_PROG_RAWCPP() > -- > 1.5.6.6
Ping? If no one cares, I'll push it. -- Dan _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
