maint: Update HACKING
[automake.git] / t / yflags-d-false-positives.sh
blobf3d172fd09b4e3d640a6ead0f9b5a53af0dc9b7c
1 #! /bin/sh
2 # Copyright (C) 2011-2017 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
17 # Check for false positives in automake recognition of '-d' in YFLAGS.
19 . test-init.sh
21 cat >> configure.ac <<'END'
22 AC_PROG_CC
23 AC_PROG_YACC
24 END
26 $ACLOCAL
28 cat > Makefile.am <<'END'
29 bin_PROGRAMS = zardoz foobar
30 zardoz_SOURCES = zardoz.y
31 foobar_SOURCES = foobar.y
32 # All the "almost -d" substrings ("- d", "-dd", etc.) are meant.
33 AM_YFLAGS = -xd --d - d --output=d
34 foobar_YFLAGS = - d $(foovar)-d -dd
35 END
37 $AUTOMAKE -a
38 $EGREP '(foobar|zardoz)\.h.*:' Makefile.in && exit 1
39 $EGREP '(foobar|zardoz)\.h' Makefile.in | $FGREP -v '$(YLWRAP) ' && exit 1