Merge branch 'maint'
authorStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 6 Mar 2012 21:03:22 +0000 (22:03 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Tue, 6 Mar 2012 21:03:22 +0000 (22:03 +0100)
* maint:
  news: describe recently-fixed bug in vala support
  depcomp: add support for IBM xlc/xlC compilers

1  2 
NEWS
THANKS
lib/depcomp

diff --cc NEWS
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
 -New in 1.11.0a:
 -
  * WARNING: Future backward-incompatibilities!
  
 -  - 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).
 +  - Starting from the next major Automake version (1.13), the parallel
 +    testsuite harness (previously only enabled by the 'parallel-tests'
 +    option) will become the default one; the older serial testsuite
 +    harness will still be available through the use of the 'serial-tests'
 +    option.
 +
 +  - The following long-obsolete m4 macros will be removed in the
 +    next major Automake version (1.13):
 +
 +      AM_PROG_CC_STDC:    superseded by AC_PROG_CC since October 2002
 +      fp_PROG_CC_STDC:    broken alias for AM_PROG_CC_STDC
 +      fp_WITH_DMALLOC:    old alias for AM_WITH_DMALLOC
 +      AM_CONFIG_HEADER:   superseded by AC_CONFIG_HEADERS since July 2002
 +      ud_PATH_LISPDIR:    old alias for AM_PATH_LISPDIR
 +      jm_MAINTAINER_MODE: old alias for AM_MAINTAINER_MODE
 +      ud_GNU_GETTEXT:     old alias for AM_GNU_GETTEXT
 +      gm_PROG_LIBTOOL:    old alias for AC_PROG_LIBTOOL
 +      fp_C_PROTOTYPES:    old alias for AM_C_PROTOTYPES (which was part
 +                          of the now-removed automatic de-ANSI-fication
 +                          support of Automake)
 +
 +  - All the "old alias" macros in 'm4/obsolete.m4' will be removed in
 +    the next major Automake version (1.13).
 +
 +  - Support for the two- and three-arguments invocation forms of the
 +    AM_INIT_AUTOMAKE macro will be deprecated in the next minor version
 +    of Automake (1.12.1) and removed in the next major version (1.13).
 +
 +  - The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
 +    variable, @mkdir_p@ substitution and AM_PROG_MKDIR m4 macro will
 +    all be deprecated in the next minor version of Automake (1.12.1)
 +    and removed in the next major version (1.13).
 +
 +  - The '--acdir' option of aclocal is deprecated, and will probably
 +    be removed in the next major Automake release (1.13).  You should
 +    use the options '--automake-acdir' and '--system-acdir' instead
 +    (which have been introduced in Automake 1.11.2).
  
 -  - 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 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.13).
 +
 +New in 1.11a:
 +
 +* Obsolete features removed:
 +
 +  - Support for automatic de-ANSI-fication has been removed.
 +
 +  - The support for the "obscure" multilib feature has been removed
 +    from Automake core (but remains available in the 'contrib/'
 +    directory of the Automake distribution).
 +
 +  - 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 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 long-deprecated options '--output-dir', '--Werror' and
 +    '--Wno-error' have been removed.
 +
 +  - The chapter on the history of Automake has been moved out of the
 +    reference manual, into a new dedicated Texinfo file.
 +
 +* New targets:
 +
 +  - New 'cscope' target to build a cscope database for the source tree.
 +
 +* Changes to Automake-generated testsuite harnesses:
 +
 +  - The new automake option 'serial-tests' has been introduced.  It can
 +    be used to explicitly instruct automake to use the older serial
 +    testsuite harness.  This is still the default at the moment, but it
 +    might change in future versions.
 +
 +  - 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.
 +
 +* Changes to Yacc and Lex support:
 +
 +  - C source and header files derived from non-distributed Yacc and/or
 +    Lex sources are now removed by a simple "make clean" (while they were
 +    previously removed only by "make maintainer-clean").
 +
 +  - Slightly backward-incompatible change, relevant only for use of Yacc
 +    with C++: the extensions of the header files produced by the Yacc
 +    rules are now modelled after the extension of the corresponding
 +    sources.  For example, yacc files named "foo.y++" and "bar.yy" will
 +    produce header files named "foo.h++" and "bar.hh" respectively, where
 +    they would have previously produced header files named simply "foo.h"
 +    and "bar.h".  This change offers better compatibility with 'bison -o'.
  
 -  - 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).
 +  - Automake now prefers to quote 'like this' or "like this", rather
 +    than `like this', in diagnostic message and generated Makefiles,
 +    to accommodate the new GNU Coding Standards recommendations.
  
 -  - The `--acdir' option of aclocal is deprecated, and will probably be
 -    removed in the next major Automake release (1.12).
 +  - Automake has a new option '--print-libdir' that prints the path of the
 +    directory containing the Automake-provided scripts and data files.
  
 -  - 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).
 +  - The 'dist' and 'dist-all' targets now can run compressors in parallel.
  
 -  - 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).
 +  - Automake can now generate silenced rules for texinfo outputs.
  
 -* Changes to aclocal:
 +  - 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 `--acdir' option is deprecated.  Now you should use the new options
 -    `--automake-acdir' and `--system-acdir' instead.
 +  - Messages of types warning or error from 'automake' and 'aclocal'
 +    are now prefixed with the respective type, and presence of -Werror
 +    is noted.
  
 -  - 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).
 +  - 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.
 +
 +  - 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 warnings in the category 'extra-portability' are now enabled by
 +    '-Wall'.  In previous versions, one has to use '-Wextra-portability'
 +    to enable them.
 +
 +  - The 'ar-lib' script now ignores the "s" (symbol index) and "S" (no
 +    symbol index) modifiers as well as the "s" action, as the symbol index
 +    is created unconditionally by Microsoft lib.  Also, the "q" (quick)
 +    action is now a synonym for "r" (replace).  Also, the script has been
 +    ignoring the "v" (verbose) modifier already since Automake 1.11.3.
 +
 +  - When the 'compile' script is used to wrap MSVC, it now accepts an
 +    optional space between the -I, -L and -l options and their respective
 +    arguments, for better POSIX compliance.
 +
 +Bugs fixed in 1.11a:
 +
 +  - Various minor bugfixes for recent or long-standing bugs.
 +
 +* 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.
 +
 +  - The automake-provided parallel testsuite harness does not fail anymore
 +    with BSD make used in parallel mode when there are test scripts in a
 +    subdirectory, like in:
 +
 +      TESTS = sub/foo.test sub/bar.test
 +
 +* Long-standing bugs:
 +
++  - It is now possible for a foo_SOURCES variable to hold Vala sources
++    together with C header files, as well as with sources and headers for
++    other supported languages (e.g., C++).  Previously, only mixing C and
++    Vala sources was supported.
++
 +  - 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.
 +
 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 +
 +New in 1.11.3:
 +
 +* 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'.
  
  * Miscellaneous changes:
  
diff --cc THANKS
Simple merge
diff --cc lib/depcomp
@@@ -99,14 -94,12 +99,20 @@@ if test "$depmode" = msvcmsys; the
     depmode=msvisualcpp
  fi
  
 +if test "$depmode" = msvc7msys; then
 +   # This is just like msvc7 but w/o cygpath translation.
 +   # Just convert the backslash-escaped backslashes to single forward
 +   # slashes to satisfy depend.m4
 +   cygpath_u='sed s,\\\\,/,g'
 +   depmode=msvc7
 +fi
 +
+ if test "$depmode" = xlc; then
+    # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+    gccflag=-qmakedep=gcc,-MF
+    depmode=gcc
+ fi
  case "$depmode" in
  gcc3)
  ## gcc 3 implements dependency tracking that does exactly what