* COPYING, lib/COPYING: Update to GPLv3. All uses changed.
[platform/upstream/automake.git] / tests / ansi6.test
1 #! /bin/sh
2 # Copyright (C) 2002, 2006  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 # Check ansi2knr on a source file in subdirectory.
22 # From Kevin Ryde.
23
24 required=gcc
25 . ./defs || exit 1
26
27 cat > configure.in << 'END'
28 AC_INIT(ansi6, 1.0)
29 AM_INIT_AUTOMAKE
30 AC_PROG_CC
31 AC_PROG_CC_STDC
32 AM_C_PROTOTYPES
33 AC_EXEEXT
34 AC_OBJEXT
35 AC_CONFIG_FILES(Makefile)
36 AC_OUTPUT
37 END
38
39 cat > Makefile.am << 'END'
40 AUTOMAKE_OPTIONS = ansi2knr
41 bin_PROGRAMS = hello
42 hello_SOURCES = hello.c sub/dir.c
43 END
44
45 cat > hello.c << 'END'
46 #include <stdio.h>
47
48 extern int foo ();
49
50 int
51 main (int argc, char **argv)
52 {
53    printf ("%d\n", foo ());
54 }
55 END
56
57 mkdir sub
58
59 cat > sub/dir.c << 'END'
60 int
61 foo ()
62 {
63    return 23;
64 }
65 END
66
67 set -e
68
69 $ACLOCAL
70 $AUTOCONF
71 $AUTOMAKE -a
72
73 # Sanity check: make sure it's ok to set ac_cv_prog_cc_stdc as we do.
74 test `grep -c ac_cv_prog_cc_stdc configure` -gt 1
75
76 ./configure ac_cv_prog_cc_stdc=no
77 $MAKE
78
79 test -f hello_.c
80 test -f dir_.c                  # Must be in current directory.
81 test ! -f sub/dir_.c
82 $MAKE distclean
83 test ! -f hello_.c
84 test ! -f dir_.c
85
86 # Also run without forcing ansi2knr, so we make sure the
87 # rules work with ANSI compilers.
88 # Report from Andreas Schwab.
89
90 ./configure
91 $MAKE