Merge branch 'msvc' into maint
[platform/upstream/automake.git] / tests / specflg8.test
1 #! /bin/sh
2 # Copyright (C) 2002, 2004, 2011, 2012 Free Software Foundation, Inc.
3 #
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)
7 # any later version.
8 #
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.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # Like the true/false example from the manual,
18 # with one extra indirection in the sources (PR/315), and
19 # use of _CPPFLAGS (PR/337).
20
21 required=gcc
22 . ./defs || Exit 1
23
24 set -e
25
26 cat >> configure.in << 'END'
27 AC_PROG_CC
28 AM_PROG_CC_C_O
29 AC_OUTPUT
30 END
31
32 # Using a separate variable to hold all the sources for a program is
33 # common when building many flavors of this program, each with
34 # different flags.
35
36 cat > Makefile.am << 'END'
37 TRUESOURCE = true.c
38 bin_PROGRAMS = false true
39 true_SOURCES = $(TRUESOURCE)
40 true_CPPFLAGS = -DEXIT_CODE=0
41 false_SOURCES = $(TRUESOURCE)
42 false_CPPFLAGS = -DEXIT_CODE=1
43 END
44
45 cat > true.c << 'END'
46 int main (void)
47 {
48    return EXIT_CODE;
49 }
50 END
51
52 $ACLOCAL
53 $AUTOCONF
54 $AUTOMAKE -a
55
56 ./configure
57 $MAKE
58
59 ./true
60 ./false && Exit 1
61
62 objext=`sed -n -e 's/^OBJEXT = //p' < Makefile`
63 test -f ./true-true.$objext
64 test -f ./false-true.$objext
65
66 :