* tests/Makefile.am (TESTS): Added new file.
* tests/ansi5.test: New file.
+2001-05-17 Tom Tromey <tromey@redhat.com>
+
+ * automake.in (lang_c_finish): Remove _.c file if ansi2knr fails.
+ * tests/Makefile.am (TESTS): Added new file.
+ * tests/ansi5.test: New file.
+
2001-05-17 Alexandre Duret-Lutz <duret_g@epita.fr>
* lib/am/install.am (install-strip): Set INSTALL_PROGRAM_ENV if
. '; then echo $(srcdir)/' . $base . '.c'
. '; else echo ' . $base . '.c; fi` '
. "| sed 's/^# \\([0-9]\\)/#line \\1/' "
- . '| $(ANSI2KNR) > ' . $base . "_.c\n");
+ . '| $(ANSI2KNR) > ' . $base . "_.c"
+ # If ansi2knr fails then we shouldn't
+ # create the _.c file
+ . " || rm ${base}_.c\n");
push (@objects, $base . '_.$(OBJEXT)');
push (@objects, $base . '_.lo')
if $seen_libtool;
-@set UPDATED 14 May 2001
+@set UPDATED 17 May 2001
@set UPDATED-MONTH May 2001
@set EDITION 1.4e
@set VERSION 1.4e
ansi2.test \
ansi3.test \
ansi4.test \
+ansi5.test \
asm.test \
auxdir.test \
backsl.test \
ansi2.test \
ansi3.test \
ansi4.test \
+ansi5.test \
asm.test \
auxdir.test \
backsl.test \
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- INSTALL_PROGRAM_ENV='$(INSTALL_STRIP_PROGRAM_ENV)' install
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
--- /dev/null
+#! /bin/sh
+
+# Test for ansi2knr in another directory.
+
+. $srcdir/defs || exit 1
+
+cat > configure.in << 'END'
+AC_INIT(one/joe.c)
+AM_INIT_AUTOMAKE(liver, 0.23)
+AC_PROG_CC
+AM_C_PROTOTYPES
+AC_OUTPUT(Makefile one/Makefile two/Makefile)
+END
+
+cat > Makefile.am << 'END'
+SUBDIRS = one two
+END
+
+mkdir one two
+
+cat > one/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr
+bin_PROGRAMS = joe
+END
+
+cat > two/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ../one/ansi2knr
+bin_PROGRAMS = maude
+END
+
+cat > one/joe.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+ printf ("joe\n");
+ return 0;
+}
+END
+
+cat > two/maude.c << 'END'
+#include <stdio.h>
+int
+main (int argc, char *argv[])
+{
+ printf ("maude\n");
+ return 0;
+}
+END
+
+$needs_autoconf
+
+(gcc -v) > /dev/null 2>&1 || exit 77
+
+set -e
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+CC=gcc ./configure
+
+# This is ugly! If we set U at make time then the "wrong" file gets
+# included.
+find . -name '*.Po' -print \
+| while read file; do
+ base="`echo $file | sed -e 's/\.Po//'`"
+ mv $file ${base}_.Po
+done
+
+# So is this! If we set ANSI2KNR on the make command line then the
+# wrong value is passed to two's Makefile.
+mv one/Makefile one/Makefile.old
+sed -e 's,ANSI2KNR =,ANSI2KNR = ./ansi2knr,' < one/Makefile.old > one/Makefile
+
+$MAKE U=_
+./one/joe
+./two/maude
-@set UPDATED 14 May 2001
+@set UPDATED 17 May 2001
@set UPDATED-MONTH May 2001
@set EDITION 1.4e
@set VERSION 1.4e