source: trunk/essentials/sys-devel/automake-1.8/tests/ansi5.test

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

automake 1.8.5

File size: 2.1 KB
Line 
1#! /bin/sh
2# Copyright (C) 2001, 2002, 2003 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# Test for ansi2knr in another directory.
22
23required=gcc
24. ./defs || exit 1
25
26cat > configure.in << 'END'
27AC_INIT(one/joe.c)
28AM_INIT_AUTOMAKE(liver, 0.23)
29AC_PROG_CC
30AM_C_PROTOTYPES
31AC_OUTPUT(Makefile one/Makefile two/Makefile)
32END
33
34cat > Makefile.am << 'END'
35SUBDIRS = one two
36END
37
38mkdir one two
39
40cat > one/Makefile.am << 'END'
41AUTOMAKE_OPTIONS = ansi2knr
42bin_PROGRAMS = joe
43END
44
45cat > two/Makefile.am << 'END'
46AUTOMAKE_OPTIONS = ../one/ansi2knr
47bin_PROGRAMS = maude
48END
49
50cat > one/joe.c << 'END'
51#include <stdio.h>
52int
53main (int argc, char *argv[])
54{
55 printf ("joe\n");
56 return 0;
57}
58END
59
60cat > two/maude.c << 'END'
61#include <stdio.h>
62int
63main (int argc, char *argv[])
64{
65 printf ("maude\n");
66 return 0;
67}
68END
69
70set -e
71
72$ACLOCAL
73$AUTOCONF
74$AUTOMAKE -a
75# Ignore user CFLAGS.
76CFLAGS=
77export CFLAGS
78CC=gcc ./configure
79
80# This is ugly! If we set U at make time then the "wrong" file gets
81# included.
82find . -name '*.Po' -print \
83| while read file; do
84 base="`echo $file | sed -e 's/\.Po//'`"
85 mv $file ${base}_.Po
86done
87
88# So is this! If we set ANSI2KNR on the make command line then the
89# wrong value is passed to two's Makefile.
90mv one/Makefile one/Makefile.old
91sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile
92
93U=_ $MAKE -e
94./one/joe
95./two/maude
Note: See TracBrowser for help on using the repository browser.