diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2014-12-23 12:11:58 +0100 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2014-12-23 13:15:03 +0100 |
commit | b2f771441af6d3fc26c4e4ab8273573f55d6723c (patch) | |
tree | d706f339b5343ec7bbf4fddb2d78e22a333d4a34 | |
parent | ba4b42faff673e3e5265416dff09e59affc688fb (diff) | |
download | automake-b2f771441af6d3fc26c4e4ab8273573f55d6723c.tar.gz |
tests: expose bug in handling of user-defined makefile fragments generation
If a user defines one single Makefile fragment to be included (via Automake
includes) in his main Makefile.am, and givse a rule to generate that file
from other data, Automake will spuriously complain about with something
like "overrides Automake target '$(srcdir)/foo.am".
* t/am-include-only-one-generated-fragment.sh: Expose the bug (this test
is still XFAILing).
* t/list-of-tests.mk: Add the new test.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r-- | t/am-include-only-one-generated-fragment.sh | 48 | ||||
-rw-r--r-- | t/list-of-tests.mk | 2 |
2 files changed, 50 insertions, 0 deletions
diff --git a/t/am-include-only-one-generated-fragment.sh b/t/am-include-only-one-generated-fragment.sh new file mode 100644 index 000000000..57a8aecbf --- /dev/null +++ b/t/am-include-only-one-generated-fragment.sh @@ -0,0 +1,48 @@ +#! /bin/sh +# Copyright (C) 2014 Free Software Foundation, Inc. +# +# This program 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. +# +# This program 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 this program. If not, see <http://www.gnu.org/licenses/>. + +# Check that inclusion of only one '.am' that can be regenerated via +# a user-defined Makefile rule does not incur in spurious automake +# warnings about "target redefinition". + +. test-init.sh + +cat >> configure.ac <<'END' +AC_CONFIG_FILES([sub/Makefile]) +AC_OUTPUT +END + +cat > Makefile.am <<'END' +include foobar.am +$(srcdir)/foobar.am: $(srcdir)/touch.sh + $(SHELL) $(srcdir)/touch.sh $(srcdir)/foobar.am +EXTRA_DIST = touch.sh +END + +mkdir sub +cat > sub/Makefile.am <<'END' +include $(top_srcdir)/quux.am +$(top_srcdir)/quux.am: $(top_srcdir)/touch.sh + $(SHELL) $(top_srcdir)/touch.sh $@ +END + +: > foobar.am +: > quux.am + +$ACLOCAL +$AUTOMAKE + +: diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 462497ee3..28b512cf6 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -30,6 +30,7 @@ t/pm/Version3.pl XFAIL_TESTS = \ t/all.sh \ +t/am-include-only-one-generated-fragment.sh \ t/cond17.sh \ t/gcj6.sh \ t/override-conditional-2.sh \ @@ -142,6 +143,7 @@ t/amopts-location.sh \ t/amopts-variable-expansion.sh \ t/amsubst.sh \ t/am-default-source-ext.sh \ +t/am-include-only-one-generated-fragment.sh \ t/ansi2knr-no-more.sh \ t/ar-lib.sh \ t/ar-lib2.sh \ |