0761972289397f207f526f518e826eca90a60c1b
[platform/upstream/automake.git] / tests / specflg8.test
1 #! /bin/sh
2 # Copyright (C) 2002, 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., 59 Temple Place - Suite 330,
19 # Boston, MA 02111-1307, USA.
20
21 # Like the true/false example from the manual,
22 # with one extra indirection in the sources (PR/315), and
23 # use of _CPPFLAGS (PR/337).
24
25 required=gcc
26 . ./defs || exit 1
27
28 set -e
29
30 cat >> configure.in << 'END'
31 AC_PROG_CC
32 AM_PROG_CC_C_O
33 AC_OUTPUT
34 END
35
36 # Using a separate variable to hold all the sources for a program is
37 # common when building many flavors of this program, each with
38 # different flags.
39
40 cat > Makefile.am << 'END'
41 FALSESOURCE = false.c
42 bin_PROGRAMS = false true
43 true_SOURCES = $(FALSESOURCE)
44 true_CPPFLAGS = -DAM_TRUE
45 false_SOURCES = $(FALSESOURCE)
46 false_CPPFLAGS = -DAM_FALSE
47 END
48
49 cat > false.c << 'END'
50 #include <stdio.h>
51 int
52 main (int argc, char *argv[])
53 {
54 #ifdef AM_TRUE
55    puts ("true");
56 #else
57    puts ("false");
58 #endif
59    return 0;
60 }
61 END
62
63 $ACLOCAL
64 $AUTOCONF
65 $AUTOMAKE -a
66
67 ./configure
68 $MAKE
69 ./true | grep true
70 ./false | grep false