+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
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;
{
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.
# dependency.
if ($directory ne '' || $renamed)
{
- push (@dep_list, $full);
+ push (@dep_list, $full_ansi);
}
# If resulting object is in subdir, we need to make
--- /dev/null
+#! /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