Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.

If the first m4 in $PATH is wrong, it keeps looking.  Moreover, its
requirements for a correct m4 are stricter.
* m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4.
* configure.ac: Update to use AC_PROG_GNU_M4.
Reported by Eric Blake.
This commit is contained in:
Joel E. Denny
2009-04-04 21:12:23 -04:00
parent f490771b4b
commit 8ba62e3e10
3 changed files with 57 additions and 32 deletions

View File

@@ -1,3 +1,12 @@
2009-04-04 Joel E. Denny <jdenny@ces.clemson.edu>
Replace BISON_PROG_GNU_M4 with Autoconf's AC_PROG_GNU_M4.
If the first m4 in $PATH is wrong, it keeps looking. Moreover, its
requirements for a correct m4 are stricter.
* m4/m4.m4: Replace with Autoconf 2.63's m4/m4.m4.
* configure.ac: Update to use AC_PROG_GNU_M4.
Reported by Eric Blake.
2009-04-03 Joel E. Denny <jdenny@ces.clemson.edu> 2009-04-03 Joel E. Denny <jdenny@ces.clemson.edu>
Help with updating web manual. Help with updating web manual.

View File

@@ -1,7 +1,7 @@
# Configure template for GNU Bison. -*-Autoconf-*- # Configure template for GNU Bison. -*-Autoconf-*-
# #
# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
# Foundation, Inc. # Free Software Foundation, Inc.
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@@ -92,10 +92,7 @@ AC_SUBST([YACC_LIBRARY])
AC_PROG_LEX AC_PROG_LEX
AC_PROG_YACC AC_PROG_YACC
AC_PROG_RANLIB AC_PROG_RANLIB
BISON_PROG_GNU_M4 AC_PROG_GNU_M4
if test x"$ac_cv_prog_gnu_m4" != xyes; then
AC_MSG_ERROR([GNU M4 1.4 is required])
fi
AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.]) AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the GNU M4 executable name.])
AM_MISSING_PROG([HELP2MAN], [help2man]) AM_MISSING_PROG([HELP2MAN], [help2man])
AC_PATH_PROG([XSLTPROC], [xsltproc]) AC_PATH_PROG([XSLTPROC], [xsltproc])

View File

@@ -1,27 +1,46 @@
# Copyright 2000 Free Software Foundation, Inc. # m4.m4 serial 5
# dnl Copyright (C) 2000, 2006, 2007, 2008 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify dnl This file is free software; the Free Software Foundation
# it under the terms of the GNU General Public License as published by dnl gives unlimited permission to copy and/or distribute it,
# the Free Software Foundation, either version 3 of the License, or dnl with or without modifications, as long as this notice is preserved.
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# BISON_PROG_GNU_M4 # AC_PROG_GNU_M4
# ----------------- # --------------
# Check for GNU m4, at least 1.3 (supports frozen files). # Check for GNU M4, at least 1.4.5 (all earlier versions had a bug in
AC_DEFUN([BISON_PROG_GNU_M4], # trace support:
[AC_PATH_PROGS(M4, gm4 gnum4 m4, m4) # http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html)
AC_CACHE_CHECK(whether m4 supports frozen files, ac_cv_prog_gnu_m4, # Also, check whether --error-output (through 1.4.x) or --debugfile (2.0)
[ac_cv_prog_gnu_m4=no # is supported, and AC_SUBST M4_DEBUGFILE accordingly.
if test x"$M4" != x; then AC_DEFUN([AC_PROG_GNU_M4],
case `$M4 --help < /dev/null 2>&1` in [AC_ARG_VAR([M4], [Location of GNU M4 1.4.5 or later. Defaults to the first
*reload-state*) ac_cv_prog_gnu_m4=yes ;; program of `m4', `gm4', or `gnum4' on PATH that meets Autoconf needs.])
esac AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4],
fi])]) [rm -f conftest.m4f
AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4],
[dnl Creative quoting here to avoid raw dnl and ifdef in configure.
# Root out GNU M4 1.4.4, as well as non-GNU m4 that ignore -t, -F.
ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)d'nl
test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
&& test -z "`echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \
&& test -f conftest.m4f \
&& ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
rm -f conftest.m4f],
[AC_MSG_ERROR([no acceptable m4 could be found in \$PATH.
GNU M4 1.4.5 or later is required; 1.4.11 is recommended])])])
M4=$ac_cv_path_M4
AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile],
[case `$M4 --help < /dev/null 2>&1` in
*debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
*) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
esac])
AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile])
])
# Compatibility for bootstrapping with Autoconf 2.61.
dnl FIXME - replace this with AC_PREREQ([2.62]) after the release.
# AC_PATH_PROGS_FEATURE_CHECK was added the same time the slightly broken,
# undocumented _AC_PATH_PROG_FEATURE_CHECK was deleted.
m4_ifndef([AC_PATH_PROGS_FEATURE_CHECK],
[m4_define([AC_PATH_PROGS_FEATURE_CHECK],
[_AC_PATH_PROG_FEATURE_CHECK([$1], [$2], [$3], [$5])
])])