* COPYING, lib/COPYING: Update to GPLv3. All uses changed.
[platform/upstream/automake.git] / tests / lex3.test
1 #! /bin/sh
2 # Copyright (C) 1999, 2001, 2002, 2003, 2004  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 3, 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., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
20
21 # Test associated with PR 19.
22 # From Matthew D. Langston.
23
24 required='gcc gzip flex GNUmake'
25 . ./defs || exit 1
26
27 # Ignore user CFLAGS.
28 CFLAGS=
29 export CFLAGS
30
31 cat > configure.in << 'END'
32 AC_INIT
33 dnl Prevent automake from looking in .. and ../..
34 AC_CONFIG_AUX_DIR(.)
35 AM_INIT_AUTOMAKE(am_lex_bug, 0.1.1)
36
37 dnl Checks for programs.
38 AC_PROG_CC
39 AM_PROG_LEX
40 AC_PROG_YACC
41 AC_OUTPUT(Makefile)
42 END
43
44 cat > Makefile.am << 'END'
45 AUTOMAKE_OPTIONS  = foreign
46 LDADD             = @LEXLIB@
47
48 noinst_PROGRAMS   = foo
49 foo_SOURCES       = foo.l
50 END
51
52 cat > foo.l << 'END'
53 %%
54 "END"   return EOF;
55 .
56 %%
57 int
58 main ()
59 {
60   while (yylex () != EOF)
61     ;
62
63   return 0;
64 }
65 END
66
67 set -e
68
69 $ACLOCAL
70 $AUTOCONF
71 $AUTOMAKE -a
72 ./configure
73 $MAKE
74 echo 'This is the END' | ./foo
75 $MAKE distcheck
76
77 # foo.c must be shipped.
78 gunzip am_lex_bug-0.1.1.tar.gz
79 tar tf am_lex_bug-0.1.1.tar | $FGREP foo.c
80
81 # While we are at it, make sure that foo.c is erased by
82 # maintainer-clean, and not by distclean.
83 test -f foo.c
84 $MAKE distclean
85 test -f foo.c
86 ./configure
87 $MAKE maintainer-clean
88 test ! -f foo.c