]> sourceware.org Git - automake.git/commitdiff
* automake.in (handle_single_transform_list) <full_ansi>: New variable.
authorAlexandre Duret-Lutz <adl@gnu.org>
Tue, 15 Oct 2002 08:38:54 +0000 (08:38 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Tue, 15 Oct 2002 08:38:54 +0000 (08:38 +0000)
Use this to record correct dependencies about deansifiable files which
are using per-program flags or are in a subdirectory.
* tests/ansi9.test: New file.
* tests/Makefile.am (TESTS): Add ansi9.test.
Reported by Paul D. Smith

ChangeLog
automake.in
tests/Makefile.am
tests/Makefile.in
tests/ansi9.test [new file with mode: 0755]

index 82aa56a35bd5a3c239bcd84b6a0d98d53fd4bddb..41bc9f84754d9ad8c9a299c306523da07a033130 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2002-10-15  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * automake.in (handle_single_transform_list) <full_ansi>: New variable.
+       Use this to record correct dependencies about deansifiable files which
+       are using per-program flags or are in a subdirectory.
+       * tests/ansi9.test: New file.
+       * tests/Makefile.am (TESTS): Add ansi9.test.
+       Reported by Paul D. Smith
+
 2002-10-12  Alexandre Duret-Lutz  <adl@gnu.org>
 
        * aclocal.in (ac_defun_rx, ac_require_rx): If the macro name is
index bf757b57ebc611cb1026c7b93eecfcccd0639d9f..21b87ad7d194f7e72f6158008ba6c8e47582567c 100755 (executable)
@@ -2329,6 +2329,7 @@ sub handle_single_transform_list ($$$$@)
         my $directory = $1 || '';
         my $base = $2;
         my $extension = $3;
+       my $full_ansi = $full;  # We'll add `$U' if needed.
 
         # We must generate a rule for the object if it requires its own flags.
         my $renamed = 0;
@@ -2448,7 +2449,12 @@ sub handle_single_transform_list ($$$$@)
             {
                 my $obj_sans_ext = substr ($object, 0,
                                           - length ($this_obj_ext));
-               my $val = ("$full $obj_sans_ext "
+               if ($lang->ansi && defined $options{'ansi2knr'})
+                 {
+                   $full_ansi =~ s/$KNOWN_EXTENSIONS_PATTERN$/\$U$&/;
+                 }
+
+               my $val = ("$full_ansi $obj_sans_ext "
                           # Only use $this_obj_ext in the derived
                           # source case because in the other case we
                           # *don't* want $(OBJEXT) to appear here.
@@ -2545,7 +2551,7 @@ sub handle_single_transform_list ($$$$@)
             # dependency.
             if ($directory ne '' || $renamed)
             {
-                push (@dep_list, $full);
+                push (@dep_list, $full_ansi);
             }
 
             # If resulting object is in subdir, we need to make
index 760eedb46b5ee80c6172641fca21e7d481cc522e..8408d60dacaa4b76153d9bf45b05e6494901679c 100644 (file)
@@ -30,6 +30,7 @@ ansi5.test \
 ansi6.test \
 ansi7.test \
 ansi8.test \
+ansi9.test \
 ar.test \
 asm.test \
 autoheader.test \
index 058c4aaa18c1117b5e9aa07f480bc74789e28b15..12b81bb143e9bc4607e70876010f50234f90f327 100644 (file)
@@ -122,6 +122,7 @@ ansi5.test \
 ansi6.test \
 ansi7.test \
 ansi8.test \
+ansi9.test \
 ar.test \
 asm.test \
 autoheader.test \
diff --git a/tests/ansi9.test b/tests/ansi9.test
new file mode 100755 (executable)
index 0000000..5c3cccd
--- /dev/null
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2002  Free Software Foundation, Inc.
+#
+# This file is part of GNU Automake.
+#
+# GNU Automake is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Automake is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with autoconf; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# Check that subdir sources, and file compiled using per-target flags
+# can still be deansified.
+# Report from Paul D. Smith.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AM_PROG_CC_C_O
+AM_C_PROTOTYPES
+EOF
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = ansi2knr subdir-objects
+noinst_PROGRAMS = loadavg sub/sub
+loadavg_SOURCES = loadavg.c
+loadavg_CFLAGS = -DTEST
+sub_sub_SOURCES = sub/sub.c
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+
+$FGREP 'loadavg-loadavg$U.o: loadavg$U.c' Makefile.in
+$FGREP 'sub/sub$U.o: sub/sub$U.c' Makefile.in
This page took 0.044907 seconds and 5 git commands to generate.