From: Tom Tromey Date: Fri, 18 May 2001 02:19:44 +0000 (+0000) Subject: * automake.in (lang_c_finish): Remove _.c file if ansi2knr fails. X-Git-Tag: Release-1-4f~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e9620d6c1993428fc6c7ac70f2dec806624c167;p=thirdparty%2Fautomake.git * automake.in (lang_c_finish): Remove _.c file if ansi2knr fails. * tests/Makefile.am (TESTS): Added new file. * tests/ansi5.test: New file. --- diff --git a/ChangeLog b/ChangeLog index 977af9659..98b37d78f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2001-05-17 Tom Tromey + + * 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 * lib/am/install.am (install-strip): Set INSTALL_PROGRAM_ENV if diff --git a/automake.in b/automake.in index 87a3a1dd7..6770a926e 100755 --- a/automake.in +++ b/automake.in @@ -4976,7 +4976,10 @@ sub lang_c_finish . '; 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; diff --git a/stamp-vti b/stamp-vti index 0f1c4f804..24b592803 100644 --- a/stamp-vti +++ b/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 14 May 2001 +@set UPDATED 17 May 2001 @set UPDATED-MONTH May 2001 @set EDITION 1.4e @set VERSION 1.4e diff --git a/tests/Makefile.am b/tests/Makefile.am index 3884546f0..cfed0b3b6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -23,6 +23,7 @@ ansi.test \ ansi2.test \ ansi3.test \ ansi4.test \ +ansi5.test \ asm.test \ auxdir.test \ backsl.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 9c1a1e85d..f11a46f16 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -91,6 +91,7 @@ ansi.test \ ansi2.test \ ansi3.test \ ansi4.test \ +ansi5.test \ asm.test \ auxdir.test \ backsl.test \ @@ -482,7 +483,8 @@ install-am: all-am 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: diff --git a/tests/ansi5.test b/tests/ansi5.test new file mode 100755 index 000000000..d9ce17e5e --- /dev/null +++ b/tests/ansi5.test @@ -0,0 +1,77 @@ +#! /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 +int +main (int argc, char *argv[]) +{ + printf ("joe\n"); + return 0; +} +END + +cat > two/maude.c << 'END' +#include +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 diff --git a/version.texi b/version.texi index 0f1c4f804..24b592803 100644 --- a/version.texi +++ b/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 14 May 2001 +@set UPDATED 17 May 2001 @set UPDATED-MONTH May 2001 @set EDITION 1.4e @set VERSION 1.4e