cf: Restore AC_KRB_PROG_YACC to life
Using `AC_PROG_YACC` means accepting that `bison` gets invoked in yacc compatibility mode (i.e., with the `-y` command-line option). In recent versions Bison has started to warn about use of Bison extensions when in yacc compatibility mode -- even for things yacc itself accepts but which it doesn't document. I've confirmed that `bison -d` and `byacc -d` both work for the ASN.1 compiler.
This commit is contained in:
@@ -1,12 +1,18 @@
|
|||||||
dnl $Id$
|
dnl $Id$
|
||||||
dnl
|
dnl
|
||||||
dnl
|
dnl
|
||||||
dnl We prefer byacc or yacc because they do not use `alloca'
|
dnl OLD: We prefer byacc or yacc because they do not use `alloca'
|
||||||
|
dnl
|
||||||
|
dnl CURRENT: We don't mind `alloca', but we do mind `bison -y' because
|
||||||
|
dnl newer versions of `bison', with `-y' complain about %expect and
|
||||||
|
dnl anything that yacc didn't document. Because `bison' typically
|
||||||
|
dnl also installs a `yacc' link that acts like `bison y', we put
|
||||||
|
dnl `yacc' last in this list.
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
AC_DEFUN([AC_KRB_PROG_YACC],
|
AC_DEFUN([AC_KRB_PROG_YACC],
|
||||||
[AC_CHECK_PROGS(YACC, byacc yacc 'bison -y')
|
[AC_CHECK_PROGS(YACC, 'bison -d' 'byacc -d' yacc)
|
||||||
if test "$YACC" = ""; then
|
if test "$YACC" = ""; then
|
||||||
AC_MSG_WARN([yacc not found - some stuff will not build])
|
AC_MSG_WARN([byacc and bison not found - some stuff will not build])
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
@@ -59,8 +59,8 @@ if ! test -f "$srcdir/lib/asn1/der-protos.h" ||
|
|||||||
AC_KRB_PERL_MOD(JSON)
|
AC_KRB_PERL_MOD(JSON)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl AC_KRB_PROG_YACC
|
AC_KRB_PROG_YACC
|
||||||
AC_PROG_YACC
|
dnl AC_PROG_YACC
|
||||||
AM_PROG_LEX
|
AM_PROG_LEX
|
||||||
AS_IF([$LEX --nounput -V > /dev/null 2>&1 && test $? -eq 0],
|
AS_IF([$LEX --nounput -V > /dev/null 2>&1 && test $? -eq 0],
|
||||||
[AC_SUBST([FLEXNOUNPUTARGS], ["--nounput"])],
|
[AC_SUBST([FLEXNOUNPUTARGS], ["--nounput"])],
|
||||||
|
Reference in New Issue
Block a user