diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-06-09 11:37:01 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2013-06-09 11:37:01 +0200 |
commit | 9892eb7823b3fd0e552ab22b63f58d947e9de584 (patch) | |
tree | a89472d4b94f94f1e74c1cba994035cd9350227b /t | |
parent | e9d79f111a43882d299ca9ee8d4783f4bc17b99a (diff) | |
parent | 2d6fec692f032ab60c27f5c22391ae87e49c53c7 (diff) | |
download | automake-9892eb7823b3fd0e552ab22b63f58d947e9de584.tar.gz |
Merge branch 'micro' into maint
* micro:
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
Diffstat (limited to 't')
-rw-r--r-- | t/ax/deltree.pl | 15 | ||||
-rw-r--r-- | t/list-of-tests.mk | 6 | ||||
-rw-r--r-- | t/override-conditional-pr13940.sh | 44 | ||||
-rw-r--r-- | t/subobj-indir-pr13928.sh | 49 | ||||
-rw-r--r-- | t/subobj-vpath-pr13928.sh | 60 |
5 files changed, 174 insertions, 0 deletions
diff --git a/t/ax/deltree.pl b/t/ax/deltree.pl index 70607662f..9b638dd19 100644 --- a/t/ax/deltree.pl +++ b/t/ax/deltree.pl @@ -2,6 +2,21 @@ # deltree: recursively removes file and directory, # trying to handle permissions and other complications. +# Copyright (C) 2013 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/>. + use strict; use warnings FATAL => 'all'; use File::Path qw/rmtree/; diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 5525cfde5..d0c1b6083 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -33,12 +33,15 @@ t/all.sh \ t/cond17.sh \ t/gcj6.sh \ t/override-conditional-2.sh \ +t/override-conditional-pr13940.sh \ t/dist-pr109765.sh \ t/instdir-cond2.sh \ t/java-nobase.sh \ t/objext-pr10128.sh \ t/remake-timing-bug-pr8365.sh \ t/lex-subobj-nodep.sh \ +t/subobj-indir-pr13928.sh \ +t/subobj-vpath-pr13928.sh \ t/remake-am-pr10111.sh \ t/remake-m4-pr10111.sh \ $(perl_fake_XFAIL_TESTS) @@ -747,6 +750,7 @@ t/output13.sh \ t/output-order.sh \ t/override-conditional-1.sh \ t/override-conditional-2.sh \ +t/override-conditional-pr13940.sh \ t/override-html.sh \ t/override-suggest-local.sh \ t/parallel-am.sh \ @@ -1045,6 +1049,8 @@ t/subobj11c.sh \ t/subobjname.sh \ t/subobj-clean-pr10697.sh \ t/subobj-clean-lt-pr10697.sh \ +t/subobj-indir-pr13928.sh \ +t/subobj-vpath-pr13928.sh \ t/subpkg.sh \ t/subpkg2.sh \ t/subpkg3.sh \ diff --git a/t/override-conditional-pr13940.sh b/t/override-conditional-pr13940.sh new file mode 100644 index 000000000..4bc412888 --- /dev/null +++ b/t/override-conditional-pr13940.sh @@ -0,0 +1,44 @@ +#! /bin/sh +# Copyright (C) 2013 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/>. + +# Expose automake bug#1394: automake erroneously think that a .PHONY +# target's rule is overridden only because we declare dependencies +# to such targets twice: one in an Automake conditional, and once +# unconditionally. + +. test-init.sh + +cat >> configure.ac << 'END' +AM_CONDITIONAL([FOO], [true]) +AC_OUTPUT +END + +cat > Makefile.am << 'END' +# The conditional here is important: Automake only appears to warn +# when one of the all-local rules is inside a conditional and the +# other is not. +if FOO +all-local: bar +bar: ; @echo bar +endif +all-local: baz +baz: ; @echo baz +END + +$ACLOCAL +$AUTOMAKE -a + +: diff --git a/t/subobj-indir-pr13928.sh b/t/subobj-indir-pr13928.sh new file mode 100644 index 000000000..11b865c8e --- /dev/null +++ b/t/subobj-indir-pr13928.sh @@ -0,0 +1,49 @@ +#! /bin/sh +# Copyright (C) 2013 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/>. + +# Expose part of Automake bug#13928: config.status generates broken +# makefiles if the subdir-objects option is used and a _SOURCES +# variable lists sources whose directory part is specified as a +# make variable ("foo_SOURCES = $(src)/foo.c"). + +required=cc +. test-init.sh + +cat >> configure.ac << 'END' +AC_PROG_CC +AM_PROG_CC_C_O +AC_OUTPUT +END + +cat > Makefile.am <<'END' +AUTOMAKE_OPTIONS = subdir-objects +src = s +bin_PROGRAMS = foo +foo_SOURCES = $(src)/foo.c +END + +mkdir s +echo 'int main(void) { return 0; }' > s/foo.c + +$ACLOCAL && $AUTOCONF && $AUTOMAKE -a || fatal_ "autotools failed" + +./configure +$MAKE +test -f s/.deps/foo.Po +find . | $FGREP '$(src)' && exit 1 +$MAKE distcheck + +: diff --git a/t/subobj-vpath-pr13928.sh b/t/subobj-vpath-pr13928.sh new file mode 100644 index 000000000..96cb219d8 --- /dev/null +++ b/t/subobj-vpath-pr13928.sh @@ -0,0 +1,60 @@ +#! /bin/sh +# Copyright (C) 2013 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/>. + +# Expose part of automake bug#13928: if the subdir-objects option is +# in use and a source file is listed in a _SOURCES variable with a +# leading $(srcdir) component, Automake will generate a Makefile that +# tries to create the corresponding object file in $(srcdir) as well. + +required=cc +. test-init.sh + +cat >> configure.ac << 'END' +AC_PROG_CC +AM_PROG_CC_C_O +AC_OUTPUT +END + +cat > Makefile.am <<'END' +AUTOMAKE_OPTIONS = subdir-objects +noinst_PROGRAMS = test +test_SOURCES = $(srcdir)/test.c +test-objs: + test ! -f $(srcdir)/test.$(OBJEXT) + test -f test.$(OBJEXT) +END + +$ACLOCAL && $AUTOCONF && $AUTOMAKE -a || fatal_ "autotools failed" + +$EGREP 'test\.|DEPDIR|dirstamp|srcdir' Makefile.in || : # For debugging. +$EGREP '\$.srcdir./test\.[o$]' Makefile.in && exit 1 +$FGREP '$(srcdir)/$(am__dirstamp)' Makefile.in && exit 1 +$FGREP '$(srcdir)/$(DEPDIR)' && exit 1 + +cat > test.c << 'END' +int main (void) +{ + return 0; +} +END + +mkdir build && cd build || fatal "preparation of build directory failed" +../configure || fatal_ "./configure failed" + +$MAKE +$MAKE test-objs + +: |