source: trunk/essentials/sys-devel/automake-1.8/tests/yacc4.test

Last change on this file was 3118, checked in by bird, 18 years ago

automake 1.8.5

File size: 1.9 KB
Line 
1#! /bin/sh
2# Copyright (C) 2001, 2002 Free Software Foundation, Inc.
3#
4# This file is part of GNU Automake.
5#
6# GNU Automake is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2, or (at your option)
9# any later version.
10#
11# GNU Automake is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with Automake; see the file COPYING. If not, write to
18# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19# Boston, MA 02111-1307, USA.
20
21# Some simple tests of ylwrap functionality.
22
23required='bison gcc'
24. ./defs || exit 1
25
26cat > configure.in << 'END'
27AC_INIT
28AC_CONFIG_AUX_DIR([.])
29AM_INIT_AUTOMAKE(foo, 0.1)
30PACKAGE=foo
31VERSION=0.1
32AC_PROG_CC
33AC_PROG_YACC
34AC_OUTPUT(Makefile)
35END
36
37cat > Makefile.am << 'END'
38bin_PROGRAMS = foo bar
39foo_SOURCES = parse.y foo.c
40bar_SOURCES = bar.y foo.c
41END
42
43# First parser.
44cat > parse.y << 'END'
45%{
46int yylex () {return 0;}
47void yyerror (char *s) {}
48%}
49%%
50foobar : 'f' 'o' 'o' 'b' 'a' 'r' {};
51END
52
53# Second parser.
54cat > bar.y << 'END'
55%{
56int yylex () {return 0;}
57void yyerror (char *s) {}
58%}
59%%
60fubar : 'f' 'o' 'o' 'b' 'a' 'r' {};
61END
62
63cat > foo.c << 'END'
64int main () { return 0; }
65END
66
67set -e
68
69$ACLOCAL
70$AUTOCONF
71$AUTOMAKE -a
72
73test -f ylwrap
74
75mkdir sub
76cd sub
77
78../configure
79$MAKE
80
81grep '^#.*/sub/\.\./' bar.c && exit 1
82grep '^#.*/sub/\.\./' parse.c && exit 1
83
84# Make distclean must not erase bar.c nor parse.c (by GNU standards) ...
85$MAKE distclean
86test -f bar.c
87test -f parse.c
88# ... but maintainer-clean should.
89../configure
90$MAKE maintainer-clean
91test ! -f bar.c
92test ! -f parse.c
93:
94
95exit 0
Note: See TracBrowser for help on using the repository browser.