* COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02,
[platform/upstream/automake.git] / tests / cond36.test
1 #!/bin/sh
2 # Copyright (C) 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 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., 51 Franklin Street, Fifth Floor,
19 # Boston, MA 02110-1301, USA.
20
21 # Check rules output for parser defined conditionally.
22
23 required='flex bison gcc'
24 . ./defs
25
26 set -e
27
28 cat >>configure.in <<'EOF'
29 AM_CONDITIONAL([CASE_A], test -z "$case_B")
30 AC_PROG_CC
31 AM_PROG_LEX
32 AC_PROG_YACC
33 AC_OUTPUT
34 EOF
35
36 cat >>Makefile.am <<'EOF'
37 AM_YFLAGS               =       -d
38
39 BUILT_SOURCES           =       tparse.h
40
41 if CASE_A
42 bin_PROGRAMS            =       ta
43 ta_SOURCES              =       ta.c tparse.h tscan.l tparse.y
44 ta_LDADD                =       $(LEXLIB)
45 else
46 bin_PROGRAMS            =       tb
47 tb_SOURCES              =       tb.c tparse.h tscan.l tparse.y
48 tb_LDADD                =       $(LEXLIB)
49 tparse.h: tparce.c
50         echo whatever
51 endif
52 EOF
53
54 $ACLOCAL
55
56 # Presently Automake doesn't fully support partially overriden rules
57 # and should complain.
58 AUTOMAKE_fails --add-missing
59 grep 'tparse.h.*already defined' stderr
60 $AUTOMAKE -Wno-error
61
62 # Still and all, it should generate two rules.
63 test `grep tparse.h: Makefile.in | wc -l` = 2
64 grep '@CASE_A_TRUE@tparse.h:' Makefile.in
65 grep '@CASE_A_FALSE@tparse.h:' Makefile.in