* doc/automake.texi (Public macros) <AM_WITH_DMALLOC>: Reword to
[automake.git] / tests / ansi5.test
blob0f45d242b47761f2a0599e3380e9ed7042267cb8
1 #! /bin/sh
2 # Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
4 # This file is part of GNU Automake.
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.
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.
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.
21 # Test for ansi2knr in another directory.
23 required=gcc
24 . ./defs || exit 1
26 cat > configure.in << 'END'
27 AC_INIT(one/joe.c)
28 AM_INIT_AUTOMAKE(liver, 0.23)
29 AC_PROG_CC
30 AM_C_PROTOTYPES
31 AC_OUTPUT(Makefile one/Makefile two/Makefile)
32 END
34 cat > Makefile.am << 'END'
35 SUBDIRS = one two
36 END
38 mkdir one two
40 cat > one/Makefile.am << 'END'
41 AUTOMAKE_OPTIONS = ansi2knr
42 bin_PROGRAMS = joe
43 END
45 cat > two/Makefile.am << 'END'
46 AUTOMAKE_OPTIONS = ../one/ansi2knr
47 bin_PROGRAMS = maude
48 END
50 cat > one/joe.c << 'END'
51 #include <stdio.h>
52 int
53 main (int argc, char *argv[])
55 printf ("joe\n");
56 return 0;
58 END
60 cat > two/maude.c << 'END'
61 #include <stdio.h>
62 int
63 main (int argc, char *argv[])
65 printf ("maude\n");
66 return 0;
68 END
70 set -e
72 $ACLOCAL
73 $AUTOCONF
74 $AUTOMAKE -a
75 # Ignore user CFLAGS.
76 CFLAGS=
77 export CFLAGS
78 CC=gcc ./configure
80 # This is ugly! If we set U at make time then the "wrong" file gets
81 # included.
82 find . -name '*.Po' -print \
83 | while read file; do
84 base="`echo $file | sed -e 's/\.Po//'`"
85 mv $file ${base}_.Po
86 done
88 # So is this! If we set ANSI2KNR on the make command line then the
89 # wrong value is passed to two's Makefile.
90 mv one/Makefile one/Makefile.old
91 sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile
93 U=_ $MAKE -e
94 ./one/joe
95 ./two/maude