From: Peter Rosin Date: Tue, 6 Mar 2012 08:31:43 +0000 (+0100) Subject: Merge branch 'msvc' X-Git-Tag: v1.11b~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5f624a6af8abbbd9695bee8d21d0713238ccba03;p=thirdparty%2Fautomake.git Merge branch 'msvc' * msvc: scripts: support -I -L and -l for cl in compile --- 5f624a6af8abbbd9695bee8d21d0713238ccba03 diff --cc NEWS index 2fae024b6,c7d9c94f1..d4de72b4b --- a/NEWS +++ b/NEWS @@@ -1,264 -1,42 +1,268 @@@ -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 _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 '_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: + + - 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 lib/compile index e8a13ea62,862a14e8c..7b4a9a7e1 --- a/lib/compile +++ b/lib/compile @@@ -1,9 -1,10 +1,9 @@@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. - scriptversion=2012-01-04.17; # UTC + scriptversion=2012-03-05.13; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free -# Software Foundation, Inc. +# Copyright (C) 1999-2012 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify