diff options
author | Florian Briegel <briegel@zone42.de> | 2009-04-07 23:16:01 +0200 |
---|---|---|
committer | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | 2009-04-07 23:16:01 +0200 |
commit | dd8b2944b9217841c2c232c3f2794c3f6296e3a2 (patch) | |
tree | 219952a096a5b5a530339ff6bd1a90072cc11230 /tests/suffix13.test | |
parent | aea50a7d8a813dbda53a8fedec284cf7bf4221c2 (diff) | |
download | automake-dd8b2944b9217841c2c232c3f2794c3f6296e3a2.tar.gz |
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.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Diffstat (limited to 'tests/suffix13.test')
-rwxr-xr-x | tests/suffix13.test | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/suffix13.test b/tests/suffix13.test new file mode 100755 index 000000000..dda4cfb1d --- /dev/null +++ b/tests/suffix13.test @@ -0,0 +1,75 @@ +#! /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 +: |