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)
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 that VPATH builds and "make distcheck" works with packages
18 # using yacc and the automake 'subdir-objects' option.
19 # Exposes automake bug#8485.
24 # This test is bounded to fail for any implementation that
25 # triggers automake bug#7884.
26 useless_vpath_rebuild
&& skip_
"would trip on automake bug#7884"
28 cat >> configure.ac
<< 'END'
36 cat > sub
/parse.y
<< 'END'
38 int yylex
() { return 0; }
39 void yyerror
(char
*s
) { return; }
50 cat > Makefile.am
<<'END'
51 AUTOMAKE_OPTIONS = subdir-objects
52 noinst_PROGRAMS = foo bar
53 foo_SOURCES = sub/parse.y
54 bar_SOURCES = $(foo_SOURCES)
66 # Yacc-derived C source and header files must be built and distributed.
70 test -f sub
/bar-parse.c
71 test ! -e sub
/bar-parse.h
73 test -f $distdir/sub
/parse.c
74 test -f $distdir/sub
/parse.h
75 test -f $distdir/sub
/bar-parse.c
76 test ! -e $distdir/sub
/bar-parse.h
78 # But they shouldn't be rebuilt in VPATH builds.
84 # Try to enable dependency tracking even with slow dependency
85 # extractors, to improve coverage.
86 ..
/configure
--enable-dependency-tracking YACC
=false
88 ls -l sub
/*.
[ch
] && exit 1
90 env DISTCHECK_CONFIGURE_FLAGS
='YACC=false' $MAKE distcheck