diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 11:18:38 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-30 18:44:48 +0200 |
commit | 5b0cc39546e984928814bb947f6cd701aa9d4ced (patch) | |
tree | 4243623c8f5a98c824ba27aac7e9a75081799b09 /t | |
parent | 71cc0e0920d9dd864a3e4eae08ec91af177a8071 (diff) | |
download | automake-5b0cc39546e984928814bb947f6cd701aa9d4ced.tar.gz |
cygnus: remove support for Cygnus-style trees
Support for "Cygnus-style" tree as enabled by the 'cygnus' option
has been deprecated in the documentation and with runtime warning
since Automake 1.12.1. It's now time to remove it.
Closes automake bug#11034.
* lib/Automake/Options.pm (_process_option_list): Issue a proper
error when the 'cygnus' option is seen.
* automake.in: Don't handle the 'cygnus' option anymore.
* docs/automake.texi: Remove references to cygnus option and
Cygnus-style trees.
* lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for
cygnus mode.
* NEWS: Update.
* t/cygnus-no-more.sh: New test.
* t/flavor.sh: Adjust.
* t/cygnus-deprecation.sh: Remove.
* t/cygnus-check-without-all.sh: Likewise.
* t/cygnus-requires-maintainer-mode.sh: Likewise.
* t/cygnus-dependency-tracking.sh: Likewise.
* t/cygnus-imply-foreign.sh: Likewise.
* t/cygnus-no-installinfo.sh: Likewise.
* t/cygnus-no-dist.sh: Likewise.
* t/clean2.sh: Likewise.
* t/txinfo5.sh: Likewise.
* t/txinfo5b.sh: Likewise.
* t/list-of-tests.mk: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/clean2.sh | 68 | ||||
-rwxr-xr-x | t/cygnus-check-without-all.sh | 50 | ||||
-rwxr-xr-x | t/cygnus-dependency-tracking.sh | 74 | ||||
-rwxr-xr-x | t/cygnus-imply-foreign.sh | 60 | ||||
-rwxr-xr-x | t/cygnus-no-dist.sh | 86 | ||||
-rwxr-xr-x | t/cygnus-no-installinfo.sh | 55 | ||||
-rwxr-xr-x | t/cygnus-no-more.sh (renamed from t/cygnus-deprecation.sh) | 30 | ||||
-rwxr-xr-x | t/cygnus-requires-maintainer-mode.sh | 53 | ||||
-rwxr-xr-x | t/flavor.sh | 17 | ||||
-rw-r--r-- | t/list-of-tests.mk | 11 | ||||
-rwxr-xr-x | t/txinfo5.sh | 38 | ||||
-rwxr-xr-x | t/txinfo5b.sh | 42 |
12 files changed, 5 insertions, 579 deletions
diff --git a/t/clean2.sh b/t/clean2.sh deleted file mode 100755 index b5f5df224..000000000 --- a/t/clean2.sh +++ /dev/null @@ -1,68 +0,0 @@ -#! /bin/sh -# Copyright (C) 2004-2012 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/>. - -# Make sure distclean works in cygnus mode. -# Report from Daniel Jacobowitz. - -. ./defs || Exit 1 - -cat >> configure.ac << 'END' -AM_MAINTAINER_MODE -AC_CONFIG_FILES([sub/Makefile]) -AC_OUTPUT -END - -cat > Makefile.am << 'END' -SUBDIRS = sub - -data_DATA = bar - -bar: - touch $@ - -DISTCLEANFILES = bar -END - -mkdir sub - -cat > sub/Makefile.am << 'END' -data_DATA = foo - -foo: - touch $@ - -CLEANFILES = $(data_DATA) -END - -$ACLOCAL -$AUTOCONF -$AUTOMAKE --cygnus -Wno-obsolete - -./configure -$MAKE -ls -l -test -f bar -test -f sub/foo -$MAKE distclean -ls -l -test ! -r bar -test ! -r sub/foo -test ! -r Makefile -test ! -r config.status -test -f Makefile.in -test -f configure - -: diff --git a/t/cygnus-check-without-all.sh b/t/cygnus-check-without-all.sh deleted file mode 100755 index 121c657f7..000000000 --- a/t/cygnus-check-without-all.sh +++ /dev/null @@ -1,50 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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, in cygnus mode, target "check" does not depend target -# "all". - -. ./defs || Exit 1 - -cat >> configure.ac <<'END' -AM_MAINTAINER_MODE -AC_OUTPUT -END - -cat > Makefile.am <<'END' -all-local: - : > all-target-has-failed - exit 1 -check-local: - touch check-target-has-run -END - -$ACLOCAL -$AUTOMAKE --cygnus -Wno-obsolete - -$EGREP '(^| )all.*(:|:.* )check' Makefile.in && Exit 1 - -$AUTOCONF -./configure - -$MAKE check -test -f check-target-has-run -test ! -r all-target-has-failed -# Sanity checks. -$MAKE && Exit 1 -test -f all-target-has-failed - -: diff --git a/t/cygnus-dependency-tracking.sh b/t/cygnus-dependency-tracking.sh deleted file mode 100755 index 6c858c1aa..000000000 --- a/t/cygnus-dependency-tracking.sh +++ /dev/null @@ -1,74 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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 cygnus mode disables automatic dependency tracking. -# And check that this *cannot* be overridden. - -required=cc -. ./defs || Exit 1 - -cat >> configure.ac <<'END' -AM_MAINTAINER_MODE -AC_PROG_CC -AC_OUTPUT -END - -cat > Makefile.am <<'END' -AUTOMAKE_OPTIONS = -Wno-obsolete -bin_PROGRAMS = foo -foo_SOURCES = foo.c -.PHONY: test-nodeps -test-nodeps: - test ! -d .deps - test ! -d _deps - test ! -d '$(DEPDIR)' -END - -cat > foo.c <<'END' -#include "bar.h" -int main () -{ - GIVE_BACK 0; -} -END - -cat > bar.sav <<'END' -#define GIVE_BACK return -END - -cp bar.sav bar.h - -$ACLOCAL -$AUTOMAKE --include-deps --cygnus --include-deps -$AUTOCONF - -# Unknown options should cause just warnings from configure. -./configure --enable-dependency-tracking -$MAKE -$MAKE test-nodeps - -: > bar.h -$MAKE -$MAKE test-nodeps - -# Sanity check. -$MAKE clean -$MAKE >out 2>&1 && { cat out; Exit 1; } -cat out -# Not all compilers mention the undefined symbol in the error message. -grep GIVE_BACK out || grep main out - -: diff --git a/t/cygnus-imply-foreign.sh b/t/cygnus-imply-foreign.sh deleted file mode 100755 index 3dcf6715a..000000000 --- a/t/cygnus-imply-foreign.sh +++ /dev/null @@ -1,60 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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 'cygnus' mode imply 'foreign' mode. - -. ./defs || Exit 1 - -cat >> configure.ac <<'END' -# This is *required* in cygnus mode -AM_MAINTAINER_MODE -END - -$ACLOCAL - -: > Makefile.am - -# We want complete control automake flags, while honouring the -# user overrides for $AUTOMAKE. -AUTOMAKE=$am_original_AUTOMAKE - -# Sanity check: gnu mode must complain about missing files and -# portability problems. -AUTOMAKE_fails -grep 'required file.*README' stderr - -# But cygnus mode should imply foreign mode, so no complaints. -# And cygnus mode should by able to override gnu and gnits modes. -$AUTOMAKE --cygnus -Werror -$AUTOMAKE --gnu --cygnus -Werror -$AUTOMAKE --gnits --cygnus -Werror - -# Try again, this time enabling cygnus mode from Makefile.am. -cp Makefile.am Makefile.sav -echo 'AUTOMAKE_OPTIONS = gnu cygnus' >> Makefile.am -$AUTOMAKE -Werror -mv -f Makefile.sav Makefile.am - -# Try again, this time enabling cygnus mode from configure.ac. -cp configure.ac configure.sav -sed 's/^AM_INIT_AUTOMAKE$/&([gnits cygnus])/' configure.sav >configure.ac -cmp configure.ac configure.sav && fatal_ 'failed to edit configure.ac' - -$ACLOCAL --force -$AUTOMAKE -Werror -mv -f configure.sav configure.ac - -: diff --git a/t/cygnus-no-dist.sh b/t/cygnus-no-dist.sh deleted file mode 100755 index d94a8f51b..000000000 --- a/t/cygnus-no-dist.sh +++ /dev/null @@ -1,86 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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 cygnus mode forbids creation of distribution tarball. - -. ./defs || Exit 1 - -echo AM_MAINTAINER_MODE >> configure.ac -mv -f configure.ac configure.stub - -cat configure.stub - > configure.ac <<'END' -AC_OUTPUT -END - -: > Makefile.am - -$ACLOCAL -$AUTOCONF -$AUTOMAKE --cygnus -Wno-obsolete - -./configure -$MAKE - -for target in dist distdir distcheck dist-all dist-gzip; do - $MAKE -n $target >out 2>&1 && { cat out; Exit 1; } - cat out - grep $target out -done - -# Now check that cygnus mode in a subdirectory disables -# distribution-building in that subdirectory. - -cat > Makefile.am <<'END' -SUBDIRS = sub1 sub2 -END - -mkdir sub1 sub2 -: > sub1/Makefile.am -cat > sub2/Makefile.am <<'END' -# The '-Wall' after 'cygnus' should ensure no warning gets -# unintentionally disabled. We are particularly interested -# in override warnings, for when (below) we add the 'distdir' -# target. -AUTOMAKE_OPTIONS = cygnus -Wall -# This is required because the 'cygnus' option is now deprecated. -AUTOMAKE_OPTIONS += -Wno-obsolete -END - -cat configure.stub - > configure.ac <<'END' -AC_CONFIG_FILES([sub1/Makefile sub2/Makefile]) -AC_OUTPUT -END - -$AUTOCONF -$AUTOMAKE - -./configure -$MAKE -cd sub2 -$MAKE -n distdir >out 2>&1 && { cat out; Exit 1; } -grep distdir out -cd .. - -cat >> sub2/Makefile.am <<'END' -distdir: -END -$AUTOMAKE sub2/Makefile -./config.status sub2/Makefile - -$MAKE distdir -$MAKE dist - -: diff --git a/t/cygnus-no-installinfo.sh b/t/cygnus-no-installinfo.sh deleted file mode 100755 index d46b6b36f..000000000 --- a/t/cygnus-no-installinfo.sh +++ /dev/null @@ -1,55 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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 cygnus mode enables the 'no-installinfo' option. - -required=makeinfo -. ./defs || Exit 1 - -cat >> configure.ac <<'END' -AM_MAINTAINER_MODE -AC_OUTPUT -END - -cat > Makefile.am <<'END' -info_TEXINFOS = foo.texi -END - -cat > foo.texi <<'END' -@setfilename foo.info -END - -$ACLOCAL -# -Wno-override works around a buglet in definition of $(MAKEINFO) -# in cygnus mode; see also xfailing test 'txinfo5.test'. -# -Wno-obsolete accounts for the fact that the cygnus mode is now -# deprecated. -$AUTOMAKE --cygnus -Wno-override -Wno-obsolete -$AUTOCONF - -cwd=`pwd` || Exit 1 -./configure --prefix="$cwd"/_inst -$MAKE -$MAKE install -test ! -d _inst -test ! -r foo.info -test ! -d _inst/share/info -$MAKE install-info -ls -l _inst -test -f foo.info -test -f _inst/share/info/foo.info - -: diff --git a/t/cygnus-deprecation.sh b/t/cygnus-no-more.sh index 779914b9d..4be0561bf 100755 --- a/t/cygnus-deprecation.sh +++ b/t/cygnus-no-more.sh @@ -20,37 +20,18 @@ . ./defs || Exit 1 -warn_rx='support for Cygnus.*trees.*deprecated' - -cat >> configure.ac <<'END' -AC_PROG_CC -AM_MAINTAINER_MODE -END +warn_rx='support for Cygnus.*trees.*removed' $ACLOCAL -$AUTOCONF - -: > Makefile.am -# 'cygnus' option from command line -$AUTOMAKE --cygnus -Wno-obsolete -AUTOMAKE_fails --cygnus -grep "^automake.*: .*$warn_rx" stderr -AUTOMAKE_fails -Wnone -Wobsolete --cygnus -grep "^automake.*: .*$warn_rx" stderr -AUTOMAKE_fails --cygnus -Wnone -Wobsolete -grep "^automake.*: .*$warn_rx" stderr - -rm -rf autom4te*.cache +# Use of 'cygnus' option must raise an unconditional error, not a +# warning. +AUTOMAKE="$am_original_AUTOMAKE -Wnone -Wno-error" # 'cygnus' option in Makefile.am echo "AUTOMAKE_OPTIONS = cygnus" > Makefile.am -cat Makefile.am # For debugging. -$AUTOMAKE -Wno-obsolete AUTOMAKE_fails grep "^Makefile\.am:1:.*$warn_rx" stderr -AUTOMAKE_fails -Wnone -Wobsolete -grep "^Makefile\.am:1:.*$warn_rx" stderr rm -rf autom4te*.cache @@ -59,10 +40,7 @@ rm -rf autom4te*.cache sed "s|^\\(AM_INIT_AUTOMAKE\\).*|\1([cygnus])|" configure.ac > t diff configure.ac t && fatal_ "failed to edit configure.ac" mv -f t configure.ac -$AUTOMAKE -Wno-obsolete AUTOMAKE_fails grep "^configure\.ac:2:.*$warn_rx" stderr -AUTOMAKE_fails -Wnone -Wobsolete -grep "^configure\.ac:2:.*$warn_rx" stderr : diff --git a/t/cygnus-requires-maintainer-mode.sh b/t/cygnus-requires-maintainer-mode.sh deleted file mode 100755 index 546e8983e..000000000 --- a/t/cygnus-requires-maintainer-mode.sh +++ /dev/null @@ -1,53 +0,0 @@ -#! /bin/sh -# Copyright (C) 2010-2012 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, in cygnus mode, maintainer mode is required. - -. ./defs || Exit 1 - -: > Makefile.am - -$ACLOCAL -AUTOMAKE_fails -Wno-obsolete --cygnus -grep '^configure\.ac:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr - -cat >> configure.ac <<'END' -AC_CONFIG_FILES([sub/Makefile]) -END - -cat > Makefile.am <<'END' -SUBDIRS = sub -END - -mkdir sub -cat > sub/Makefile.am <<'END' -AUTOMAKE_OPTIONS = -Wno-obsolete cygnus -END - -rm -rf autom4te.cache -$ACLOCAL -AUTOMAKE_fails -grep '^configure\.ac:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr - -cat >> configure.ac <<'END' -AM_MAINTAINER_MODE -END - -rm -rf autom4te.cache -$ACLOCAL -$AUTOMAKE --cygnus -Wno-obsolete - -: diff --git a/t/flavor.sh b/t/flavor.sh index 6a1fddb3b..8b999cc35 100755 --- a/t/flavor.sh +++ b/t/flavor.sh @@ -57,21 +57,4 @@ for flavor in --gnits --gnu --foreign --ignore-deps; do done -# Cygnus mode is deprecated now, and must be handled separately. -$AUTOMAKE --cygnus -Wno-obsolete -./configure --enable-maintainer-mode -grep " --cygnus" Makefile -$MAKE -# Two code paths in configure.am: -# - either a file in $(am__configure_deps) has been updated ... -$sleep -touch aclocal.m4 -$MAKE -grep " --cygnus" Makefile -# - ... or not; i.e., Makefile.am or an included file has. -$sleep -touch Makefile.am -$MAKE -grep " --cygnus" Makefile - : diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk index 5b6f74603..43d753857 100644 --- a/t/list-of-tests.mk +++ b/t/list-of-tests.mk @@ -213,7 +213,6 @@ t/check-no-test-driver.sh \ t/check-concurrency-bug9245.sh \ t/checkall.sh \ t/clean.sh \ -t/clean2.sh \ t/colneq.sh \ t/colneq2.sh \ t/colneq3.sh \ @@ -330,13 +329,7 @@ t/cxxlibobj.sh \ t/cxxlink.sh \ t/cxxnoc.sh \ t/cxxo.sh \ -t/cygnus-deprecation.sh \ -t/cygnus-check-without-all.sh \ -t/cygnus-dependency-tracking.sh \ -t/cygnus-imply-foreign.sh \ -t/cygnus-no-dist.sh \ -t/cygnus-no-installinfo.sh \ -t/cygnus-requires-maintainer-mode.sh \ +t/cygnus-no-more.sh \ t/cygwin32.sh \ t/dash.sh \ t/defun.sh \ @@ -1157,8 +1150,6 @@ t/txinfo.sh \ t/txinfo2.sh \ t/txinfo3.sh \ t/txinfo4.sh \ -t/txinfo5.sh \ -t/txinfo5b.sh \ t/txinfo6.sh \ t/txinfo7.sh \ t/txinfo8.sh \ diff --git a/t/txinfo5.sh b/t/txinfo5.sh deleted file mode 100755 index d51561711..000000000 --- a/t/txinfo5.sh +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh -# Copyright (C) 1998-2012 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/>. - -# Test to make sure that texinfo.tex is not required by --cygnus. -# Also check that TEXINFOS + cygnus work without requiring the -# '-Wno-override' option. -# See also sister test txinfo5b.test. -# Report from Ian Taylor. - -. ./defs || Exit 1 - -cat >> configure.ac << 'END' -AM_MAINTAINER_MODE -END - -cat > Makefile.am << 'END' -info_TEXINFOS = ian.texi -END - -echo '@setfilename ian.info' > ian.texi - -$ACLOCAL -$AUTOMAKE --cygnus -Wno-obsolete - -: diff --git a/t/txinfo5b.sh b/t/txinfo5b.sh deleted file mode 100755 index a99f60758..000000000 --- a/t/txinfo5b.sh +++ /dev/null @@ -1,42 +0,0 @@ -#! /bin/sh -# Copyright (C) 1998-2012 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/>. - -# Test to make sure that texinfo.tex is not required by --cygnus. -# See also sister test txinfo5.test. -# Report from Ian Taylor. - -. ./defs || Exit 1 - -cat >> configure.ac << 'END' -AM_MAINTAINER_MODE -END - -cat > Makefile.am << 'END' -# Disable 'override' warnings to work around an unrelated -# texi+cygnus bug. -# Disable obsolete warnings because the 'cygnus' mode is now deprecated. -AUTOMAKE_OPTIONS = -Wno-override -Wno-obsolete -info_TEXINFOS = ian.texi -END - -echo '@setfilename ian.info' > ian.texi - -$ACLOCAL -$AUTOMAKE --cygnus -$AUTOMAKE -a --cygnus -test ! -f texinfo.tex - -: |