]> sourceware.org Git - automake.git/commitdiff
* automake.in (lang_c_finish): Remove _.c file if ansi2knr fails.
authorTom Tromey <tromey@redhat.com>
Fri, 18 May 2001 02:19:44 +0000 (02:19 +0000)
committerTom Tromey <tromey@redhat.com>
Fri, 18 May 2001 02:19:44 +0000 (02:19 +0000)
* tests/Makefile.am (TESTS): Added new file.
* tests/ansi5.test: New file.

ChangeLog
automake.in
stamp-vti
tests/Makefile.am
tests/Makefile.in
tests/ansi5.test [new file with mode: 0755]
version.texi

index 977af965981d5af7f74ffa7ce1661dad077d238d..98b37d78fdd17389e60047c272e2ab50f9f3d224 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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
index 87a3a1dd78c17dae0a67ca8072398a1d8842d3f0..6770a926e6692ed18eca5737c5b5d04a2ab4ab17 100755 (executable)
@@ -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;
index 0f1c4f8046358f76a7f19786605a85040585d2a9..24b5928039e12aca1b1019917822dfbc320f59f3 100644 (file)
--- 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
index 3884546f0ff3c3b97b42ec21f54e5b38ddc9adc6..cfed0b3b61df620c409f07715a84b0d56e09ef9e 100644 (file)
@@ -23,6 +23,7 @@ ansi.test \
 ansi2.test \
 ansi3.test \
 ansi4.test \
+ansi5.test \
 asm.test \
 auxdir.test \
 backsl.test \
index 9c1a1e85d2491aaf32f6a0b40362988b50c3fbe1..f11a46f1607e27706449e04bbd3fa1c2329171b9 100644 (file)
@@ -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 (executable)
index 0000000..d9ce17e
--- /dev/null
@@ -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 <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
index 0f1c4f8046358f76a7f19786605a85040585d2a9..24b5928039e12aca1b1019917822dfbc320f59f3 100644 (file)
@@ -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
This page took 0.056863 seconds and 5 git commands to generate.