]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
Merge branch 'maint'
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 21 Jan 2012 19:52:43 +0000 (20:52 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sat, 21 Jan 2012 19:52:43 +0000 (20:52 +0100)
* maint:
  fixup: distribute 'contrib/multilib/multi.m4'
  multilib: deprecate, will be moved to contrib
  fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
  cosmetics: fix a botched comment in a maintainer check

1  2 
Makefile.am
NEWS
contrib/Makefile.am
doc/automake.texi
lib/Automake/Variable.pm
m4/multi.m4
tests/multlib.test

diff --cc Makefile.am
Simple merge
diff --cc NEWS
index f2bced61de7c90c64bdb30b255e427aa58648684,3ae66048392cb70d11bd167d8fb74db56565c992..51453570885d7b752a6447ae752beee17622a1a7
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
 -New in 1.11.0a:
 +New in 1.11a:
  
 -* WARNING: Future backward-incompatibilities!
 +* Obsolete features removed:
 +
 +  - Support for automatic de-ANSI-fication has been removed.
 +
 +  - Support for ".log -> .html" conversion and the check-html and
 +    recheck-html targets has been removed from Automake core (but
 +    remains available in the 'contrib/' directory of the Automake
 +    distribution).
  
 -  - The support for ".log -> .html" conversion and the check-html and
 -    recheck-html targets will be removed in the next major Automake
 -    release (1.12).
+   - The support for the "obscure" multilib feature has been deprecated,
+     and will be moved out of the automake core in the next major Automake
+     release (1.12).
 +  - The deprecated `lzma' compression format for distribution archives
 +    has been removed, in favor of `xz' and `lzip'.
 +
 +  - The obsolete AM_WITH_REGEX macro has been removed.
 +
 +  - The deprecated options `--output-dir', `--Werror' and `--Wno-error'
 +    have been removed.
 +
 +* New targets:
 +
 +  - New `cscope' target to build a cscope database for the source tree.
 +
 +* Changes to Automake-generated testsuite harnesses:
 +
 +  - Test scripts that exit with status 99 to signal an "hard error" (e.g.,
 +    and unexpected or internal error, or a failure to set up the test case
 +    scenario) have their outcome reported as an 'ERROR' now.  Previous
 +    versions of automake reported such an outcome as a 'FAIL' (the only
 +    difference with normal failures being that hard errors were counted
 +    as failures even when the test originating them was listed in
 +    XFAIL_TESTS).
 +
 +  - The testsuite summary displayed by the parallel-test harness has a
 +    completely new format, that always list the numbers of passed, failed,
 +    xfailed, xpassed, skipped and errored tests, even when these numbers
 +    are zero (but using smart coloring when the color-tests option is in
 +    effect).
 +
 +  - The default testsuite driver offered by the 'parallel-tests' option is
 +    now implemented (partly at least) with the help of automake-provided
 +    auxiliary scripts (e.g., `test-driver'), instead of relying entirely
 +    on code in the generated Makefile.in.
 +    This has two noteworthy implications.  The first one is that projects
 +    using the `parallel-tests' option should now either run automake with
 +    the `--add-missing' option, or manually copy the `test-driver' script
 +    into their tree.  The second, and more important, implication is that
 +    now, when the `parallel-tests' option is in use, TESTS_ENVIRONMENT can
 +    not be used anymore to define a test runner, and the command specified
 +    in LOG_COMPILER (and <ext>_LOG_COMPILER) must be a *real* executable
 +    program or script.  For example, this is still a valid usage (albeit
 +    a little contorted):
 +
 +      TESTS_ENVIRONMENT = \
 +        if test -n '$(STRICT_TESTS)'; then \
 +          maybe_errexit='-e'; \
 +        else \
 +          maybe_errexit=''; \
 +        fi;
 +      LOG_COMPILER = $(SHELL) $$maybe_errexit
 +
 +    while this is not anymore:
 +
 +      TESTS_ENVIRONMENT = \
 +        $(SHELL) `test -n '$(STRICT_TESTS_CHECKING)' && echo ' -e'`
 +
 +    neither is this:
 +
 +      TESTS_ENVIRONMENT = \
 +        run_with_perl_or_shell () \
 +        { \
 +          if grep -q '^#!.*perl' $$1; then
 +            $(PERL) $$1; \
 +          else \
 +            $(SHELL) $$1; \
 +          fi; \
 +        }
 +      LOG_COMPILER = run_with_per_or_shell
 +
 +  - The package authors can now use customary testsuite drivers within
 +    the framework provided by the 'parallel-tests' testsuite harness.
 +    Consistently with the existing syntax, this can be done by defining
 +    special makefile variables `LOG_DRIVER' and `<ext>_LOG_DRIVER'.
 +
 +  - A new developer-reserved variable `AM_TESTS_FD_REDIRECT' can be used
 +    to redirect/define file descriptors used by the test scripts.
 +
 +  - The parallel-tests harness generates now, in addition the `.log' files
 +    holding the output produced by the test scripts, a new set of `.trs'
 +    files, holding "metadata" derived by the execution of the test scripts;
 +    among such metadata are the outcomes of the test cases run by a script.
 +
 +  - Initial and still experimental support for the TAP test protocol is
 +    now provided.
  
 -  - The `lzma' compression format for distribution archives has been
 -    deprecated in favor of `xz' and `lzip', and will be removed in the
 -    next major Automake release (1.12).
 +* Miscellaneous changes:
  
 -  - The Automake support for automatic de-ANSI-fication will be removed in
 -    the next major Automake release (1.12).
 +  - The `dist' and `dist-all' targets now can run compressors in parallel.
  
 -  - The `--acdir' option of aclocal is deprecated, and will probably be
 -    removed in the next major Automake release (1.12).
 +  - Automake can now generate silenced rules for texinfo outputs.
  
 -  - The exact order in which the directories in the aclocal macro
 -    search path are looked up is probably going to be changed in the
 -    next Automake release (1.12).
 +  - Some auxiliary files that are automatically distributed by Automake
 +    (e.g., `install-sh', or the `depcomp' script for packages compiling
 +    C sources) might now be listed in the DIST_COMMON variable in many
 +    Makefile.in files, rather than in the top-level one.
  
 -  - The obsolescent AM_WITH_REGEX  macro has been deprecated (since the
 -    GNU rx library has been decommissioned), and will be removed in the
 -    next major Automake release (1.12).
 +  - Messages of types warning or error from `automake' and `aclocal'
 +    are now prefixed with the respective type, and presence of -Werror
 +    is noted.
  
 -* Changes to aclocal:
 +  - Automake's early configure-time sanity check now tries to avoid
 +    sleeping for a second, which slowed down cached configure runs
 +    noticeably.  In that case, it will check back at the end of the
 +    configure script to ensure that at least one second has passed, to
 +    avoid time stamp issues with makefile rules rerunning autotools
 +    programs.
  
 -  - The `--acdir' option is deprecated.  Now you should use the new options
 -    `--automake-acdir' and `--system-acdir' instead.
 +  - For programs and libraries, automake now detect EXTRA_foo_DEPENDENCIES
 +    and adds them to the normal list of dependencies, but without
 +    overwriting the foo_DEPENDENCIES variable, which is normally computed
 +    by automake.
  
 -  - The `ACLOCAL_PATH' environment variable is now interpreted as a
 -    colon-separated list of additional directories to search after the
 -    automake internal acdir (by default ${prefix}/share/aclocal-APIVERSION)
 -    and before the system acdir (by default ${prefix}/share/aclocal).
 +  - C source and header files derived from non-distributed Yacc sources
 +    are now removed by "make clean", not only by "make maintainer-clean".
 +
 +  - The warnings in the category `extra-portability' are now enabled by
 +    `-Wall'.  In previous versions, one has to use `-Wextra-portability'
 +    to enable them.
 +
 +Bugs fixed in 1.11a:
 +
 +  - Various minor bugfixes.
 +
 +* Bugs introduced by 1.11:
 +
 +  - The AM_COND_IF macro also works if the shell expression for the
 +    conditional is no longer valid for the condition.
 +
 +* Long-standing bugs:
 +
 +  - Automake's own build system finally have a real "installcheck" target.
 +
 +  - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are
 +    now automatically distributed also if the directory of the auxiliary
 +    files coincides with the top-level directory.
 +
 +  - Automake now detects the presence of the `-d' flag in the various
 +    `*YFLAGS' variables even when their definitions involve indirections
 +    through other variables, such as in:
 +      foo_opts = -d
 +      AM_YFLAGS = $(foo_opts)
 +
 +  - Automake now complains if a `*YFLAGS' variable has any conditional
 +    content, not only a conditional definition.
 +
 +  - Explicit enabling and/or disabling of Automake warning categories
 +    through the `-W...' options now always takes precedence over the
 +    implicit warning level implied by Automake strictness (foreign, gnu
 +    or gnits), regardless of the order in which such strictness and
 +    warning flags appear.  For example, a setting like:
 +      AUTOMAKE_OPTIONS = -Wall --foreign
 +    will cause the warnings in category `portability' to be enabled, even
 +    if those warnings are by default disabled in `foreign' strictness.
 +
 +\f
 +New in 1.11.2a:
 +
 +* WARNING: Future backward-incompatibilities!
 +
 +  - The obsolescent AM_WITH_REGEX  macro has been deprecated, since the
 +    GNU rx library has been decommissioned.
 +
 +  - The `lzma' compression format for distribution archives has been
 +    deprecated in favor of `xz' and `lzip'.
 +
 +  - The `--acdir' option of aclocal is deprecated, and will probably be
 +    removed in the next major Automake release (1.12). [FIXME]
 +
 +  - The exact order in which the directories in the aclocal macro
 +    search path are looked up is probably going to be changed in the
 +    next Automake release (1.12). [FIXME]
  
  * Miscellaneous changes:
  
index 970ef75ac8d5cfb165d40fe9ad88f63a16ab1518,820b54732e8c54944a3172bede6f1c166b671846..ce1d699c6a7caca3722dee050d997b66782d7dd0
@@@ -18,5 -18,5 +18,6 @@@
  # along with this program.  If not, see <http://www.gnu.org/licenses/>.
  
  EXTRA_DIST = \
 +  check-html.am \
+   multilib/multi.m4 \
    README
index 6be7ac31360ad6cac57c3bdb330a4f286a30a79e,fb0e5e715a026b2d61e7fafe022ba3f5d7557d9b..0cdeb7b9dd4ff2bf1bb1dd7110a7cef31e751693
@@@ -313,48 -314,16 +313,48 @@@ What Goes in a Distributio
  
  Support for test suites
  
 -* Simple Tests::                Listing programs and scripts in @code{TESTS}
 -* Simple Tests using parallel-tests::  More powerful test driver
 -* DejaGnu Tests::               Interfacing with the external testing framework
 +* Generalities about Testing::  Generic concepts and terminology about testing
 +* Simple Tests::                Listing test scripts in @code{TESTS}
 +* Custom Test Drivers::         Writing and using custom test drivers
 +* Using the TAP test protocol:: Integrating test scripts that use the TAP protocol
 +* DejaGnu Tests::               Interfacing with the @command{dejagnu} testing framework
  * Install Tests::               Running tests on installed packages
  
 +Simple Tests
 +
 +* Scripts-based Testsuites::    Automake-specific concepts and terminology
 +* Serial Test Harness::         Older (and obsolescent) serial test harness
 +* Parallel Test Harness::       Generic concurrent test harness
 +
 +Using the TAP test protocol
 +
 +* Introduction to TAP::
 +* Use TAP with the Automake test harness::
 +* Incompatibilities with other TAP parsers and drivers::
 +* Links and external resources on TAP::
 +
 +Custom Test Drivers
 +
 +* Overview of Custom Test Drivers Support::
 +* Declaring Custom Test Drivers::
 +* API for Custom Test Drivers::
 +
 +API for Custom Test Drivers
 +
 +* Command-line arguments for test drivers::
 +* Log files generation and test results recording::
 +* Testsuite progress output::
 +
 +Changing Automake's Behavior
 +
 +* Options generalities::        Semantics of Automake option
 +* List of Automake options::    A comprehensive list of Automake options
 +
  Miscellaneous Rules
  
 -* Tags::                        Interfacing to etags and mkid
 +* Tags::                        Interfacing to cscope, etags and mkid
  * Suffixes::                    Handling new file extensions
- * Multilibs::                   Support for multilibs.
+ * Multilibs::                   Support for multilibs (deprecated, soon to be removed).
  
  Conditionals
  
@@@ -2347,13 -2315,12 +2350,16 @@@ This is used to byte-compile Python scr
  @item symlink-tree
  This program duplicates a tree of directories, using symbolic links
  instead of copying files.  Such an operation is performed when building
- multilibs (@pxref{Multilibs}).  This file is maintained in the GCC
- tree at @url{http://gcc.gnu.org/svn.html}.
+ multilibs (@pxref{Multilibs}).  Since the Automake multilib support has
+ been @emph{deprecated} and targeted for removal, this file is going to
+ be @emph{removed from the Automake core} in the next major release.
+ The master copy of this file is maintained in the GCC tree at
+ @url{http://gcc.gnu.org/svn.html}.
  
 +@item test-driver
 +This implements the default test driver offered by the parallel
 +testsuite harness.
 +
  @item texinfo.tex
  Not a program, this file is required for @samp{make dvi}, @samp{make
  ps} and @samp{make pdf} to work when Texinfo sources are in the
@@@ -10330,9 -9580,9 +10342,9 @@@ the @code{AM_INIT_AUTOMAKE} macro in @f
  There are a few rules and variables that didn't fit anywhere else.
  
  @menu
 -* Tags::        Interfacing to etags and mkid
 -* Suffixes::    Handling new file extensions
 +* Tags::                        Interfacing to cscope, etags and mkid
 +* Suffixes::                    Handling new file extensions
- * Multilibs::                   Support for multilibs.
+ * Multilibs::   Support for multilibs (deprecated, soon to be removed).
  @end menu
  
  
Simple merge
diff --cc m4/multi.m4
index bc01dcf7b29cc465129cdefdab680b80d43bc6e9,447591f9e80d6f8a441d5d2bd31418ddc25c1f28..bbb964fac0efaa30e81ecf758026f45710812c65
@@@ -1,6 -1,6 +1,6 @@@
  ##                                                          -*- Autoconf -*-
- # Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2011
 -# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2012
--# Free Software Foundation, Inc.
++# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2011,
++# 2012 Free Software Foundation, Inc.
  #
  # This file is free software; the Free Software Foundation
  # gives unlimited permission to copy and/or distribute it,
  # ---------------------------------------------------
  # Add --enable-multilib to configure.
  AC_DEFUN([AM_ENABLE_MULTILIB],
+ [m4_warn([obsolete], [$0 will be removed from Automake core soon.
+ Files implementing the "multilib" feature are (and will remain) available
+ to the 'contrib/' directory in the Automake distribution.])]dnl
  [# Default to --enable-multilib
 -AC_ARG_ENABLE(multilib,
 -[  --enable-multilib       build many library versions (default)],
 +AC_ARG_ENABLE([multilib],
 +[AS_HELP_STRING(
 +   [--enable-multilib],
 +   [build many library versions (default)])],
  [case "$enableval" in
    yes) multilib=yes ;;
    no)  multilib=no ;;
index abb5a167789c9d2e8f358ae99761363d56274f45,75ef952e3c4c3d6504a46a4ef9162d8a744c2c79..894effb7fad7f1d266d4e8ab12ec6b35375f891a
@@@ -1,6 -1,6 +1,6 @@@
  #! /bin/sh
- # Copyright (C) 2003, 2004, 2007, 2010, 2011 Free Software Foundation,
 -# Copyright (C) 2003, 2004, 2007, 2010, 2012 Free Software Foundation,
--# Inc.
++# Copyright (C) 2003, 2004, 2007, 2010, 2011, 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
  required='gcc GNUmake'
  . ./defs || Exit 1
  
 -set -e
 -
+ # Multilib support has been deprecated in the Automake core.
+ cat >>configure.in <<'END'
+ AM_ENABLE_MULTILIB([Makefile], [.])
+ END
+ $ACLOCAL
+ $AUTOCONF -Wall -Werror 2>stderr && { cat stderr >&2; Exit 1; }
+ cat stderr >&2
+ grep '^configure\.in:4:.*AM_ENABLE_MULTILIB.* removed.* soon' stderr
+ grep '"multilib".*feature' stderr
+ grep 'contrib.* in the Automake distribution' stderr
+ rm -rf autom4te*.cache aclocal.m4 configure
+ # Functional tests now.
  cat >configure.in <<'END'
  AC_INIT([multlib], [1.0])
  AC_CONFIG_SRCDIR(libfoo/foo.c)
@@@ -108,10 -125,11 +125,10 @@@ mkdir libbar/su
  
  : > libbar/bar.c
  
 -cp "$testsrcdir/../lib/config-ml.in" .
 -cp "$testsrcdir/../lib/symlink-tree" .
 +cp "$am_scriptdir"/config-ml.in "$am_scriptdir"/symlink-tree .
  
- $ACLOCAL
- $AUTOCONF
+ $ACLOCAL -Wno-obsolete
+ $AUTOCONF -Werror -Wall -Wno-obsolete
  $AUTOMAKE --add-missing
  cd libfoo
  $ACLOCAL