+2009-04-07 Florian Briegel <briegel@zone42.de> (tiny change)
+ Stepan Kasal <skasal@redhat.com>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Fix renamed objects with subdir-objects and other languages.
+ * automake.in: Fixed bug when building with renamed objects
+ and foreign languages.
+ * tests/suffix13.test: New test.
+ * tests/Makefile.am: Adjust.
+ * THANKS: Update.
+ Reports by Florian Briegel and Stepan Kasal.
+
2009-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Do not remove texinfo outputs upon mostlyclean.
Esben Haabendal Soerensen bart@kom.aau.dk
Ezra Peisach epeisach@MED-XTAL.BU.EDU
Flavien Astraud flav42@yahoo.fr
+Florian Briegel briegel@zone42.de
Francesco Salvestrini salvestrini@gmail.com
François Pinard pinard@iro.umontreal.ca
Fred Fish fnf@ninemoons.com
{
my $obj_sans_ext = substr ($object, 0,
- length ($this_obj_ext));
- my $full_ansi = $full;
+ my $full_ansi;
+ if ($directory ne '')
+ {
+ $full_ansi = $directory . '/' . $base . $extension;
+ }
+ else
+ {
+ $full_ansi = $base . $extension;
+ }
+
if ($lang->ansi && option 'ansi2knr')
{
$full_ansi =~ s/$KNOWN_EXTENSIONS_PATTERN$/\$U$&/;
--- /dev/null
+#! /bin/sh
+# Copyright (C) 2002, 2003, 2006, 2009 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 Automake; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA 02110-1301, USA.
+
+# Tests that Automake understands suffix rules with renamed objects
+# and subdir objects.
+# Reported by Florian Briegel.
+
+. ./defs || exit 1
+
+set -e
+
+cat >>configure.in <<EOF
+AC_PROG_CC
+AM_PROG_CC_C_O
+AC_OUTPUT
+EOF
+
+cat >Makefile.am << 'END'
+AUTOMAKE_OPTIONS = subdir-objects
+SUFFIXES = .baz .c
+.baz.c:
+ case $@ in sub/*) $(MKDIR_P) sub;; *) :;; esac
+ cp $< $@
+
+DISTCLEANFILES = sub/bar.c
+
+bin_PROGRAMS = foo
+foo_SOURCES = foo.c sub/bar.baz
+foo_CFLAGS =
+END
+
+mkdir sub
+cat > sub/bar.baz <<'END'
+extern int foo ();
+int main () { return foo (); }
+END
+cat > foo.c <<'END'
+int foo () { return 0; }
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE -a
+./configure
+$MAKE
+
+$MAKE distcheck
+$MAKE distclean
+
+# Should also work without subdir-objects
+
+sed '/subdir-objects/d' < Makefile.am > t
+mv -f t Makefile.am
+$AUTOMAKE --force
+./configure
+$MAKE
+$MAKE distcheck
+: