diff options
-rw-r--r-- | lib/Automake/Rule.pm | 4 | ||||
-rw-r--r-- | lib/am/distdir.am | 2 | ||||
-rwxr-xr-x | lib/config.guess | 6 | ||||
-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 |
8 files changed, 183 insertions, 3 deletions
diff --git a/lib/Automake/Rule.pm b/lib/Automake/Rule.pm index ac4b71afd..7fe647492 100644 --- a/lib/Automake/Rule.pm +++ b/lib/Automake/Rule.pm @@ -631,7 +631,7 @@ sub _maybe_warn_about_duplicated_target ($$$$$$) ## from rules that only add dependencies. E.g., ## .PHONY: foo ## .PHONY: bar - ## is legitimate. (This is phony.test.) + ## is legitimate. This is checked in the 'phony.sh' test. # msg ('syntax', $where, # "redefinition of '$target'$condmsg ...", partial => 1); @@ -734,7 +734,7 @@ sub _conditionals_for_rule ($$$$) # condition. So for now we do our best *here*. If 'foo:' # was already defined in condition COND1 and we want to define # it in condition TRUE, then define it only in condition !COND1. - # (See cond14.test and cond15.test for some test cases.) + # (See cond14.sh and cond15.sh for some test cases.) @conds = $rule->not_always_defined_in_cond ($cond)->conds; # No conditions left to define the rule. diff --git a/lib/am/distdir.am b/lib/am/distdir.am index 0e5f6bdb9..f3549876e 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -197,7 +197,7 @@ endif %?TOPDIR_P% ## Test for file existence because sometimes a file gets included in ## DISTFILES twice. For example this happens when a single source ## file is used in building more than one program. -## See also test 'dist-repeated.test'. +## See also test 'dist-repeated.sh'. test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ diff --git a/lib/config.guess b/lib/config.guess index 120cc0d23..516ac6c17 100755 --- a/lib/config.guess +++ b/lib/config.guess @@ -995,6 +995,12 @@ EOF ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; 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 + +: |