diff options
Diffstat (limited to 't/yacc2.sh')
-rwxr-xr-x | t/yacc2.sh | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/t/yacc2.sh b/t/yacc2.sh new file mode 100755 index 000000000..bfab7522d --- /dev/null +++ b/t/yacc2.sh @@ -0,0 +1,72 @@ +#! /bin/sh +# Copyright (C) 1999-2012 Free Software Foundation, Inc. +# +# 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 +# the Free Software Foundation; either version 2, or (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/>. + +# Test to make sure intermediate .h file is not generated nor removed +# if (AM_)?YFLAGS do not contain -d. Requested by Jim Meyering. +# See also the related semantic test 'yacc-d-basic.test'. + +. ./defs || Exit 1 + +cat >> configure.ac << 'END' +AC_PROG_CC +AC_PROG_YACC +END + +# Run it here once and for all, since we are not going to modify +# configure.ac anymore. +$ACLOCAL + +cat > Makefile.am <<'END' +bin_PROGRAMS = zardoz +zardoz_SOURCES = zardoz.y +END + +# Don't redefine several times the same variable. +cp Makefile.am Makefile.src + +$AUTOMAKE -a +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && Exit 1 + +cp Makefile.src Makefile.am +echo 'AM_YFLAGS = -d' >> Makefile.am +$AUTOMAKE +# If zardoz.h is NOT mentioned, fail. +$FGREP 'zardoz.h' Makefile.in + +cp Makefile.src Makefile.am +echo 'AM_YFLAGS = ' >> Makefile.am +$AUTOMAKE +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && Exit 1 + +cp Makefile.src Makefile.am +echo 'YFLAGS = -d' >> Makefile.am +# YFLAGS is a user variable. +AUTOMAKE_fails +grep 'YFLAGS.* user variable' stderr +grep 'AM_YFLAGS.* instead' stderr +$AUTOMAKE -Wno-gnu +# If zardoz.h is NOT mentioned, fail. +$FGREP 'zardoz.h' Makefile.in + +cp Makefile.src Makefile.am +echo 'YFLAGS = ' >> Makefile.am +$AUTOMAKE -Wno-gnu +# If zardoz.h IS mentioned, fail. +$FGREP 'zardoz.h' Makefile.in && Exit 1 + +: |