source: trunk/essentials/sys-devel/automake-1.10/tests/ansi7.test

Last change on this file was 3147, checked in by bird, 18 years ago

automake 1.10

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