From: Peter Rosin Date: Mon, 24 Oct 2011 07:04:24 +0000 (+0200) Subject: Merge branch 'maint' into msvc X-Git-Tag: ng-0.5a~101^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91ab753b7b654934aaa34006067a92993bb53c09;p=thirdparty%2Fautomake.git Merge branch 'maint' into msvc * tests/subpkg-yacc.test: Adjust to new portability requirements due to the new AM_PROG_AR macro. --- 91ab753b7b654934aaa34006067a92993bb53c09 diff --cc ChangeLog index 2acaec8ff,0836c77df..003b69a17 --- a/ChangeLog +++ b/ChangeLog @@@ -1,78 -1,489 +1,571 @@@ ++2011-10-24 Peter Rosin ++ ++ Merge branch 'maint' into msvc ++ ++ * tests/subpkg-yacc.test: Adjust to new portability requirements due ++ to the new AM_PROG_AR macro. ++ + 2011-10-19 Stefano Lattarini + + dejagnu: allow the package developer to extend site.exp + Fixes automake bug#7873. + * lib/am/dejagnu.am (site.exp): Depend from the files listed in + $(EXTRA_DEJAGNU_SITE_CONFIG), if any. Append their contents to + the generated site.exp (still preserving user edits). + * doc/automake.texi (Dejagnu Tests): Update. + * tests/dejagnu-siteexp-append.test: New test. + * tests/dejagnu-siteexp-extend.test: Likewise. + * tests/dejagnu-siteexp-useredit.test: Likewise. + * tests/Makefile.am (TESTS): Update. + * NEWS: Update. + Suggestion by Rainer Orth. + + 2011-10-19 Stefano Lattarini + + dejagnu: ensure 'srcdir' is defined as a relative directory + This change fixes automake bug#7833. + * lib/am/dejagnu.am (check-DEJAGNU): Prefer using plain $(srcdir) + over calculating and using the absolute path of $(srcdir). + * tests/dejagnu-relative-srcdir.test: New test. + * tests/dejagnu-absolute-builddir.test: Likewise. + * tests/Makefile.am (TESTS): Update. + Report by Ian Lance Taylor. Suggestions by Ralf Wildenhues. + + 2010-12-13 Ralf Wildenhues + + Fix testsuite failure of check12.test without DejaGNU. + * tests/check12.test: Require runtest. + + 2010-12-10 Stefano Lattarini + + Extend and improve tests on DejaGnu support. + * tests/dejagnu.test: Do not create useless dummy test script. + Add trailing `:' command. In heading comments, add reference + to ... + * tests/check12.test: ... this new "semantic" test, covering + concurrent use of dejagnu tests, simple tests and `check-local' + target. + * tests/dejagnu2.test: Make test more reliable, by avoid weak + grepping of make output. Prefer `cat' over `echo' to append + to configure.in. Quote literal dots in grep regexps. Prefer + `grep -c ...' over `grep ... | wc -l'. Make grepping of + automake stderr slightly stricter. Add trailing `:' command. + * tests/dejagnu3.test: Prefer `cat' over `echo' to append to + configure.in. Check stderr of expected-to-fail "make" call. + Remove extra blank lines from Makefile.am. + * tests/dejagnu4.test: Prefer `cat' over `echo' to append to + configure.in. Prefer `mv -f' over plain `mv' when the target + file already exists. Avoid extra mkdir calls by creating more + directories at once. Better use of blank lines. Check that + the `*.log' and `*.sum' files are created by runtest also when + "make check" fails. + * tests/dejagnu7.test: Prefer `cat' over `echo' to append to + configure.in. Better use of blank lines. Add a trailing `:' + command. + * tests/dejagnu6.test: Likewise, and give the dejagnu test a + more descriptive name. + * tests/dejagnu5.test: Likewise. Also, simply define package + name to `$me' rather than using a non-obvious sed script to + extract it from `AC_INIT', and write the Makefile.am with only + one command. + * tests/Makefile.am (TESTS): Updated. + + 2011-10-21 Peter Rosin + + * THANKS: Fix whitespace issue. + + 2011-10-18 Stefano Lattarini + + tests: fix spurious failure with FreeBSD make and Yacc in VPATH + * tests/subpkg.test: Some cosmetic adjustments. Move the tests + checking that $(YLWRAP) is defined and installed properly when + ylwrap is in a default auxdir found in a parent package ... + * tests/subpkg-yacc.test: ... into this new test, which carefully + avoids to trigger the known bug#7884 (combo FreeBSD make plus Yacc + plus VPATH build). + * tests/Makefile.am (TESTS): Update. + + 2011-10-18 Stefano Lattarini + + tests: avoid spurious failure in 'parallel-tests3.test' + This fixes automake bug#8788. + * tests/parallel-tests3.test: To ensure that the serial run of + the dummy testsuite is still ongoing when the parallel run has + terminated, use `kill -0', not a bare `kill'. This will prevent + a testsuite crash on NetBSD 5.1, and a testsuite hang on FreeBSD + 8.2. Also, since we are at it, try harder to avoid possible + hangs of the script in other unusual situations. + + 2011-10-20 Stefano Lattarini + + tests: fix spurious failures with "chatty" make implementations + * tests/distcheck-missing-m4.test: On failure, some make + implementations (such as Solaris make) print the whole failed + recipe on standard output. This was causing a spurious failure + in the checks grepping the output from make. Work around this. + * tests/distcheck-outdated-m4.test: Likewise. + + 2011-10-20 Stefano Lattarini + + tests: fix spurious failure on fast machines + * tests/aclocal-path-precedence.test: Also remove the `configure' + script between different test runs, to ensure it is always remade + by autoconf. Add proper explicative comments. + + 2011-10-20 Stefano Lattarini + + tests: avoid spurious failure of 'uninstall-fail.test' on Solaris + * tests/uninstall-fail.test: All the Solaris 10 shells (/bin/sh, + /bin/ksh, and /usr/xpg4/bin/sh), upon failing to chdir to a + directory with the `cd' builtin, print a message like: + "sh: /root: permission denied" + which doesn't report the `cd' builtin anywhere. Relax the grepping + of the error message accordingly. + + 2011-10-19 Stefano Lattarini + + tests: avoid spurious failure of 'uninstall-fail.test' on Cygwin + * tests/uninstall-fail.test: Be sure to really skip this test + on systems that allows files to be removed from unwritable + directories. Motivated by a spurious failure on Cygwin 1.5. + + 2011-10-17 Stefano Lattarini + + tests: fix spurious failure with autoconf 2.62 + * tests/aclocal-path-precedence.test: Rewrite configure.in, + rather than appending to it, to avoid spurious failures (at + least with autoconf 2.62) due to repeated calls to AC_INIT. + Also, add package name and version arguments to AC_INIT, to + avoid spurious errors from automake. + + 2011-10-16 Stefano Lattarini + + docs: avoid using colon character inside arguments of @pxref + Fixes automake bug#9753 + * doc/automake.texi (VPATH Builds): Avoid using colon character + `:' inside arguments of @pxref, as this can cause problems in + the generated `.info' files, and such an usage will be explicitly + forbidden by future texinfo documentation. + * THANKS: Update. + Reported by Дилян Палаузов. + + 2011-10-07 Stefano Lattarini + + parallel-tests: warn on conditional TEST_EXTENSIONS definition + Before this change, automake would have still bailed out, but + with a confusing error message (about an invalid redefinition + of TEST_EXTENSIONS). + * automake.in (handle_tests): Warn explicitly if TEST_EXTENSIONS + has conditional contents. + * tests/test-extensions-con.test: New test. + * tests/Makefile.am (TESTS): Add it. + * NEWS: Update. + + 2011-10-06 Stefano Lattarini + + parallel-tests: don't allow @substitutions@ in TEST_EXTENSIONS + Even after the last commit `v1.11-476-g90bea64', the checks + performed by automake on entries in $(TEST_EXTENSIONS) tried to + allow for @substitited@ stuff. This however ends up allowing + quite brittle setups, which, most importantly, are of no real + practical usefulness anyway. So it's better to just disallow + @substitutions@ in TEST_EXTENSIONS altogether, offering a clear + error message, instead of risking weird bugs and unexpected + behaviors in the generated Makefile.in. + * automake.in ($TEST_EXTENSION_PATTERN): Turned from a regular + expression ... + (is_valid_test_extension): ... into this subroutine. Don't allow + generic @substitutions@ anymore (possibly making an exception for + `@EXEEXT@' under the proper circumstances). + * tests/test-extensions.test: Adjust and extend. + + 2011-10-06 Stefano Lattarini + + tests: fix spurious failure in 'insthook.test' + * tests/insthook.test (Makefile.am): Add a proper `uninstall-hook' + target to remove the symlink created by the `install-exec-hook' + target; this prevents "make distcheck" from failing spuriously. + Since we are at it, delete an extra blank line, and add a trailing + `:' command. + + 2011-10-06 Stefano Lattarini + + maintcheck: fix spurious failure + * lib/am/distdir.am: Use `$(infodir)', not `${infodir}', to avoid + complaints from the `sc_no_brace_variable_expansions' maintainer + check. + + 2011-10-06 Stefano Lattarini + + fix: make a test script executable + * tests/nobase-nodist.test: Make executable. + + 2011-10-06 Stefano Lattarini + + coverage: expose automake bug#9651 + * tests/dist-auxfile.test: New test, xfailing. + * tests/dist-auxfile-2.test: Likewise. + * tests/Makefile.am (TESTS, XFAIL_TESTS): Add them. + + 2011-10-01 Stefano Lattarini + + parallel-tests: automake error our on invalid TEST_EXTENSIONS + This change fixes automake bug#9400. + * automake.in (handle_tests): Bail out if a suffix specified in + TEST_EXTENSIONS would produce an invalid `xxx_LOG_COMPILER' + variable or an invalid suffix rule. Before this change, automake + would have issued a confusing error messages (about invalid or + non-POSIX variables being defined), and in some situations would + have even produced a broken `Makefile.in' file. + ($TEST_EXTENSION_PATTERN): New helper variable. + * doc/automake.texi (Simple Tests using parallel-tests): Document + the limitations on TEST_EXTENSIONS explicitly. + * NEWS: Update. + * tests/test-extensions.test: New test. + * tests/Makefile.am (TESTS): Update. + + 2011-09-28 Stefano Lattarini + + docs: don't suggest installing `.m4' files in hard-coded location + This change fixes automake bug#7988. + * doc/automake.texi (aclocal Options): State that the use of + the `--print-ac-dir' option to determine the directory where + third-party packages can install their `.m4' files is discouraged + now. + (Extending aclocal): Suggest telling the user about ACLOCAL_PATH. + * THANKS: Update. + Report by Peter Johansson. + + 2011-09-26 Stefano Lattarini + + distuninstallcheck: fail also when only one file is left installed + This change fixes automake bug#9579. + * lib/am/distdir.am (distuninstallcheck): Be stricter in ignoring + a potential `dir' file created by install-info and left installed. + Also, be more careful about "this can't happen" kind of errors. + (am__distuninstallcheck_listfiles): New internal helper macro. + * tests/distcheck-pr9579.test: New test. + * tests/distcheck-override-infodir.test: Likewise. + * tests/Makefile.am (TESTS): Add them. + * NEWS, THANKS: Update. + Report by Nick Bowler. + + 2011-09-28 Stefano Lattarini + + maintcheck: fix usage of `cd' instead of `$(am__cd)' + * lib/am/inst-vars.am (am__uninstall_files_from_dir): Use + `$(am__cd)', not plain `cd'. + + 2011-09-24 Stefano Lattarini + + uninstall: "make uninstall" before "make install" works + This change fixes automake bug#9578. + * lib/am/inst-vars.am (am__uninstall_files_from_dir): New internal + macro, that defines a shell code fragment to uninstall files from + a given directory. + * lib/am/data.am (uninstall-%DIR%%PRIMARY%): Use it, to reduce code + duplication and improve consistency and correctness. + * lib/am/libs.am (uninstall-%DIR%LIBRARIES): Likewise. + * lib/am/lisp.am (uninstall-%DIR%LISP): Likewise. + * lib/am/mans.am (uninstall-man%SECTION%): Likewise. + * lib/am/python.am (uninstall-%DIR%LIBRARIES): Likewise. + * lib/am/scripts.am (uninstall-%DIR%SCRIPTS): Likewise. + * tests/uninstall-pr9578.test: New test. + * tests/uninstall-fail.test: New test. + * tests/Makefile.am (TESTS): Add them. + * NEWS, THANKS: Update. + Report by Nick Bowler. + + 2011-09-22 Stefano Lattarini + + tests: fix tests on aclocal search path precedences + * tests/aclocal-path-precedence.test: Call `$ACLOCAL' with the + proper overridden system acdir. + + 2011-09-20 Stefano Lattarini + + * NEWS: Fix typo. + + 2011-09-20 Stefano Lattarini + + docs: document planned precedence changes in aclocal search path + * doc/automake.texi (Macro Search Path): Explicitly state that the + lookup order for extra directories of `.m4' files will be changed + in the next major release. + * NEWS: Likewise. + + 2011-09-19 Paolo Bonzini + Stefano Lattarini + + aclocal: handle ACLOCAL_PATH environment variable + * aclocal.in (parse_ACLOCAL_PATH): New function, parse ACLOCAL_PATH + as a colon-separated list of directories to be included in the + search path. + * doc/automake.texi (Macro Search Path): Document new behavior and + the precedence rules for various elements of the search path. + * tests/aclocal-path.test: New test. + * tests/aclocal-path-install.test: Likewise. + * tests/aclocal-path-install-serial.test: Likewise. + * tests/aclocal-path-precedence.test: Likewise. + * tests/aclocal-path-nonexistent.test: Likewise. + * tests/Makefile.am (TESTS): Add them. + * NEWS: Update. + * tests/distcheck-missing-m4.test: Extend by also checking + interactions with ACLOCAL_PATH. + * tests/distcheck-outdated-m4.test: Likewise, and fix a couple + of botched comments since we are at it. + + 2011-09-19 Stefano Lattarini + + tests: fix spurious failure in 'primary-prefix-valid-couples.test' + * tests/primary-prefix-valid-couples.test: After commit + v1.11-464-gc9dfc36, `java_JAVA' is not a valid prefix/primary + combination by default anymore: one has to explicitly define + $(javadir) to make it so. So just drop `java_JAVA' from our + Makefile.am Also, since we are at it, ... + (configure.in): ... remove AM_PROG_GCJ from here, as it's not + really required. + + 2011-09-19 Stefano Lattarini + + docs: deprecate JAVA primary + * doc/automake.texi (Java): Deprecate the JAVA primary, stating + that it will become obsolete in automake 1.12 and probably removed + altogether in automake 1.13. Reflect this in the section title, + by appending the string "(deprecated feature)". + (@menu, @detailmenu): Update. + (Java Support with gcj): The cross-referenced support for bytecode + compilation with the JAVA primary is rudimentary and deprecated. + State that explicitly. + + 2011-09-19 Stefano Lattarini + + docs: clearer distinction between `.java' with javac and with gcj + * doc/automake.texi (Java support): Rename this node ... + (Java support with gcj): ... to this, and change its title from + "Compiling Java sources" to "Compiling Java sources using gcj". + (@detailmenu, @menu, @cindex): Update and make more precise. + (Java): Change the title of this node from simply "Java" to + "Java bytecode compilation". + (@detailmenu, @menu, @cindex): Update and make more precise. + + 2011-09-18 Stefano Lattarini + + java: complain if java_JAVA is used but $(javadir) is undefined + Fixes automake bug#8461. + * automake.in (handle_java): Remove inappropriate "java" argument + from the calls to `&am_install_var' and `&am_primary_prefixes'. + * tests/instdir-java.test (Makefile.am): Define `$(javadir)'. + * tests/javadir-undefined.test: New test. + * tests/Makefile.am (TESTS): Add it. + * NEWS: Update. + + 2011-09-12 Stefano Lattarini + + cosmetics: fix various typos and grammaros + * NEWS: Fix typos. + * tests/py-compile-basic.test: Likewise. + * tests/py-compile-basedir.test: Fix botched wording in comments. + * tests/py-compile-option-terminate.test: Fix typo and incomplete + comment. + Suggestions by Peter Rosin. + + 2011-09-18 Stefano Lattarini + + coverage: test interactions of `nobase_' and `nodist_' + * tests/nobase-nodist.test: New test. + * tests/Makefile.am (TESTS): Add it. + + 2011-09-18 Stefano Lattarini + + java: fix various blunders in test 'java-mix.test' + * tests/java-mix.test: Add missing call to `set -e'. Fix inverted + semantics (`.java' files are expected *not* to be distributed by + default, not the other way round). Fix various typos in the name + of the `.java' files. Correct other minor blunders. Improve some + comments. + + 2011-04-23 Stefano Lattarini + + java: allow both JAVA and nobase_JAVA in the same Makefile.am + * automake.in (handle_java): Also strip `nobase_' from the given + prefix, when needed. + * tests/java-clean.test: Update and extend. + * tests/java-compile-install.test: Likewise. + * tests/java-no-duplicate.test: Likewise. + * tests/java-sources.test: Likewise. + * tests/java-noinst.test: Likewise. + * tests/java-mix-dist-nodist.test: Renamed to ... + * tests/java-mix.test: ... this, and extended. + * tests/java-nobase.test: New test, still xfailing due to + unrelated issues. + * tests/Makefile.am (TESTS, XFAIL_TESTS): Update. + + 2011-04-18 Stefano Lattarini + + java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am + Fixes automake bug#8434. + * automake.in (handle_java): Strip `dist_' and `nodist_' from + the given prefix. Define a new internal Makefile variable + `am__java_sources'. Related adjustments. + * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the + first time this am file is processed. + (class%DIR%.stamp): Stamp file renamed ... + (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_' + prefixes are stripped from the name of the stampfile. Adjust + declaration of dependencies by using the new automake-generated + internal variable `$(am__java_sources)'. In the rule, use `$@' + as the name of the target, rather than hard-coding it. + * tests/java.test: Update and extend. + * tests/java-no-duplicate.test: New test. + * tests/java-mix-dist-nodist.test: Likewise. + * tests/java-compile-and-install.test: Likewise. + * tests/java-clean.test: Likewise. + * tests/java-sources.test: Likewise. + * tests/Makefile.am (TESTS): Update. + + 2011-09-11 Stefano Lattarini + + tests: fix spurious failure on fast machines + * tests/aclocal-acdir.test: Avoid spurious failures due to caching + issues, by cleaning the autom4te cache between all the aclocal + invocations, and by always calling autoconf with the `--force' + flag. + + 2011-09-09 Stefano Lattarini + + aclocal: better URL reference in error message + * aclocal.in (scan_file): In the error message about underquoted + definitions, reference the automake page at `www.gnu.org', not + at `sources.redhat.com'. + + 2011-09-09 Stefano Lattarini + + coverage: distcheck-hook to catch missing/outdated *.m4 files + Related to automake bug#9037. + * tests/distcheck-missing-m4.test: New test. + * tests/distcheck-outdated-m4.test: Likewise. + * tests/distcheck-hook-m4.am: New data file, used by the new + tests. + * tests/Makefile.am (distcheck-m4-missing.log, + distcheck-m4-outdated.log): Depend on it. + (EXTRA_DIST): Distribute it. + (TESTS): Add the new tests. + + 2011-09-06 Stefano Lattarini + + aclocal: more granularity in acdir overriding + Before this change, using the `--acdir' option caused aclocal to + redefine both the directory of automake-provided m4 macros and the + directory of third-party system-wide m4 macros. With this change, + we deprecate the `--acdir' aclocal option, and introduce two new + options `--automake-acdir' and `--system-acdir', to allow for more + granularity. + * aclocal.in (@automake_includes, @system_includes, + @user_includes): Fix and extend comments. + (usage): Update. + (handle_acdir_option): New function. + (parse_arguments): Recognize new options `--system-acdir' and + `automake-acdir', and handle `--acdir' using the new function + above. Simplify logic by assuming that the directory of + third-party system-wide m4 files always exists. + * tests/aclocal.in: Update to use the new options, instead of + the deprecated. `--acdir'. + * m4/dirlist: Move ... + * m4/acdir/dirlist: ... here. + * m4/Makefile.am (EXTRA_DIST): Update. + (m4datadir): Rename ... + (automake_acdir): ... to this. Accordingly, ... + (dist_m4data_DATA): ... rename this ... + (dist_automake_ac_DATA): ... to this. + (system_acdir): New, directory. + (dist_system_ac_DATA): New, defined to an empty value; this will + ensure that the $(system_acdir) directory will be created by + "make install". + * tests/aclocal.test: Remove check about the `--print-ac-dir' + option of aclocal, it has been moved into ... + * tests/aclocal-print-acdir.test: ... this new test, and quite + extended. + * tests/aclocal-acdir.test: New test. + * tests/Makefile.am (TESTS): Add the new tests. + * NEWS, bootstrap: Update. + * doc/automake.texi (aclocal Options, Macro Search Path): Update. + +2011-10-21 Peter Rosin + + warnings: new 'extra-portability' category, for AM_PROG_AR + * lib/Automake/ChannelDefs.pm: Register new extra-portability + warning channel. + (switch_warning): Turn off extra-portability if portability is + turned off, and turn on portability if extra-portability is + turned on. + (set_strictness): Silence extra-portability for --gnits, --gnu + and --foreign. + * tests/extra-portability2.test: New test, checking that the + extra-portability channel is silenced by --gnits, --gnu and + --foreign. + * doc/automake.texi (Invoking Automake): Document the new warning + category and its interaction with the portability category. + * tests/extra-portability.test: New test, checking the interaction + between the portability and extra-portability warning categories. + * automake.in (handle_libraries, handle_ltlibraries): Move the + AM_PROG_AR warnings to the new extra-portability channel. + * tests/ar2.test: Adjust to the new warning channel. + * tests/pr300-lib.test: Likewise. + * tests/pr300-ltlib.test: Likewise. + * tests/pr307.test: Likewise. + * tests/pr401.test: Likewise. + * tests/pr401b.test: Likewise. + * tests/pr401c.test: Likewise. + * tests/pr72.test: Likewise. + * NEWS: Likewise. + * tests/Makefile.am (TESTS): Update. + +2011-10-21 Peter Rosin + Ralf Wildenhues + Stefano Lattarini + + Add new 'AM_PROG_AR' macro, triggering the 'ar-lib' script. + * m4/ar-lib.m4: New macro AM_PROG_AR, which locates an + archiver and triggers the auxiliary 'ar-lib' script if needed. + * m4/Makefile.am (dist_m4data_DATA): Update. + * automake.in ($seen_ar): New variable. + (scan_autoconf_traces): Set it. + (handle_libraries, handle_ltlibraries): Require AM_PROG_AR for + portability. + * doc/automake.texi (Public Macros): Mention the new + 'AM_PROG_AR' macro. + (Subpackages): Add AM_PROG_AR to the example. + (A Library): Adjust recommendations for AR given the new + AM_PROG_AR macro. + * All relevant tests: Adjust to new portability requirements due + to the new AM_PROG_AR macro. + * tests/ar-lib2.test: New test, checking that AM_PROG_AR triggers + install of ar-lib. + * tests/ar-lib3.test: New test, checking that lib_LIBRARIES + requires AM_PROG_AR. + * tests/ar-lib4.test: New test, checking that lib_LTLIBRARIES + requires AM_PROG_AR. + * tests/ar-lib5a.test: New test, checking that AM_PROG_AR triggers + use of ar-lib when the archiver is Microsoft lib. + * tests/ar-lib5b.test: New test, checking that AM_PROG_AR triggers + use of ar-lib when the archiver is a faked lib. + * tests/ar-lib6a.test: New test, checking the ordering of + AM_PROG_AR and LT_INIT. + * tests/ar-lib6b.test: New test, checking the ordering of + AM_PROG_AR and AC_PROG_LIBTOOL. + * tests/ar-lib7.test: New test, checking that automake warns + if ar-lib is missing. + * tests/ar3.test: New test, checking that AR and ARFLAGS may + be overridden by the user even if AM_PROG_AR is used. + * tests/ar4.test: New test, checking that AM_PROG_AR bails out + if it cannot determine the archiver interface. + * tests/ar5.test: New test, checking that AM_PROG_AR runs its + optional argument if it cannot determine the archiver interface. + * tests/defs.in: New required entry 'lib'. + * tests/Makefile.am (TESTS): Update. + * NEWS: Update. + 2011-09-05 Peter Rosin * tests/amhello-binpkg.test: Add missing $EXEEXT usage. diff --cc NEWS index d38338acd,92c773519..0c84006a4 --- a/NEWS +++ b/NEWS @@@ -10,9 -27,11 +27,14 @@@ New in 1.11.0a - The `lzma' compression scheme and associated automake option `dist-lzma' is obsoleted by `xz' and `dist-xz' due to upstream changes. + - The `compile' script now converts some options for MSVC for a better + user experience. Similarly, the new `ar-lib' script wraps Microsoft lib. + + - The py-compile script now accepts empty arguments passed to the options + `--destdir' and `--basedir', and complains about unrecognized options. + Moreover, a non-option argument or a special `--' argument terminates + the list of options. + - A developer that needs to pass specific flags to configure at "make distcheck" time can now, and indeed he's advised to, do so by defining the developer-reserved makefile variable AM_DISTCHECK_CONFIGURE_FLAGS, @@@ -21,11 -40,10 +43,15 @@@ user; still, the old Makefile.am files that used to define it should still continue to work as before. + - New macro AM_PROG_AR that looks for an archiver and wraps it in the new + 'ar-lib' auxiliary script if the found archiver is Microsoft lib. This + new macro is required for LIBRARIES and LTLIBRARIES when automake is + run with -Wextra-portability (or -Wall) and -Werror. + + - When using DejaGnu-based testsuites, the user can extend the `site.exp' + file generated by automake-provided rules by defining the special make + variable `$(EXTRA_DEJAGNU_SITE_CONFIG)'. + Bugs fixed in 1.11.0a: * Bugs introduced by 1.11: diff --cc m4/Makefile.am index c801894f9,143df71f0..eebf04e27 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@@ -18,11 -18,11 +18,12 @@@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . - m4datadir = $(datadir)/aclocal-$(APIVERSION) + automake_acdir = $(datadir)/aclocal-$(APIVERSION) + system_acdir = $(datadir)/aclocal - dist_m4data_DATA = \ + dist_automake_ac_DATA = \ $(top_srcdir)/m4/amversion.m4 \ +ar-lib.m4 \ as.m4 \ auxdir.m4 \ ccstdc.m4 \ diff --cc m4/Makefile.in index 16388ee14,2792188f3..ba2611a45 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@@ -185,10 -192,10 +192,11 @@@ target_alias = @target_alias top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ - m4datadir = $(datadir)/aclocal-$(APIVERSION) - dist_m4data_DATA = \ + automake_acdir = $(datadir)/aclocal-$(APIVERSION) + system_acdir = $(datadir)/aclocal + dist_automake_ac_DATA = \ $(top_srcdir)/m4/amversion.m4 \ +ar-lib.m4 \ as.m4 \ auxdir.m4 \ ccstdc.m4 \ diff --cc tests/primary-prefix-valid-couples.test index 17f450a8d,36ff5d888..13520f2ae --- a/tests/primary-prefix-valid-couples.test +++ b/tests/primary-prefix-valid-couples.test @@@ -23,10 -23,8 +23,9 @@@ set - cat >> configure.in <<'END' AC_PROG_CC +AM_PROG_AR AC_PROG_RANLIB AC_PROG_LIBTOOL - AM_PROG_GCJ AM_PATH_PYTHON AM_PATH_LISPDIR END diff --cc tests/subpkg-yacc.test index 000000000,ee8af66f3..011d5c247 mode 000000,100755..100755 --- a/tests/subpkg-yacc.test +++ b/tests/subpkg-yacc.test @@@ -1,0 -1,150 +1,151 @@@ + #! /bin/sh + # Copyright (C) 2002, 2003, 2004, 2006, 2011 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 . + + # Check that ylwrap is installed properly, and $(YLWRAP) us defined + # properly, when a subpackage is involved. + + required='cc yacc' + . ./defs || Exit 1 + + set -e + + cat >>configure.in <<'END' + AC_PROG_CC + AC_CONFIG_SUBDIRS([lib]) + AC_OUTPUT + END + + cat >Makefile.am <<'EOF' + SUBDIRS = lib + bin_PROGRAMS = MU + MU_LDADD = lib/liblib.a + # It's ok to override distdir. + distdir = subpack-1 + # Remove a file created by rules in subdir lib. + CLEANFILES = lib-dist-hook-has-run + EOF + + cat >MU.c <<'EOF' + int lib (void); + int main (void) + { + return lib (); + } + EOF + + mkdir lib + mkdir lib/src + + cat >lib/configure.ac <<'EOF' + AC_INIT([lib], [2.3]) + AM_INIT_AUTOMAKE + AC_PROG_RANLIB + AC_PROG_YACC + dnl This comes after YACC and RANLIB checks, deliberately. + AC_PROG_CC ++AM_PROG_AR + AC_CONFIG_HEADERS([config.h:config.hin]) + AC_CONFIG_FILES([Makefile]) + AC_OUTPUT + EOF + + cat >lib/Makefile.am <<'EOF' + noinst_LIBRARIES = liblib.a + liblib_a_SOURCES = src/x.c foo.y + EXTRA_liblib_a_SOURCES = bar.y + + dist-hook: + test -d $(top_distdir) + test -d $(distdir) + find $(top_distdir) $(distdir) ;: For debugging. + test -f $(top_distdir)/MU.c + test ! -f $(distdir)/MU.c + for suf in y c; do \ + for name in foo bar; do \ + test -f $(distdir)/$$name.$$suf || exit 1; \ + test ! -f $(top_distdir)/$$name.$$suf || exit 1; \ + done; \ + done + test -f $(distdir)/foo.y + test ! -f $(top_distdir)/foo.y + test -f $(distdir)/src/x.c + test ! -f $(top_distdir)/src/x.c + test -f $(YLWRAP) + : > $(top_builddir)/../lib-dist-hook-has-run + EOF + + cat > lib/foo.y << 'END' + %{ + int yylex (void) { return 0; } + void yyerror (char *s) {} + %} + %% + foobar : 'f' 'o' 'o' 'b' 'a' 'r' {}; + END + + cp lib/foo.y lib/bar.y + + cat >lib/src/x.c <<'EOF' + #include + int lib (void) + { + return 0; + } + EOF + + $ACLOCAL + $AUTOCONF + $AUTOMAKE -Wno-override + + cd lib + $ACLOCAL + $AUTOCONF + $AUTOHEADER + $AUTOMAKE -Wno-override --add-missing + cd .. + + # Some checks here are slightly more tricky than we'd like, but we cannot + # simply use "make distcheck", to avoid triggering a spurious failure due + # to issues with FreeBSD make and VPATH builds (see automake bug#7884). + + ./configure + $MAKE + $MAKE dist + test -f lib-dist-hook-has-run + test -f subpack-1.tar.gz + test ! -d subpack-1 # Make sure "dist" cleans up after itself. + + mkdir workdir + cd workdir + gzip -c -d ../subpack-1.tar.gz | tar xf - + test -d subpack-1 + mkdir build + cd build + ../subpack-1/configure + $MAKE + $MAKE dist + test -f lib-dist-hook-has-run + test -f subpack-1.tar.gz + test ! -d subpack-1 # Make sure "dist" cleans up after itself. + + # Don't trust non-GNU makes to do distcheck with a Yacc-using + # package (see bug referenced above). + if using_gmake; then + $MAKE distcheck || Exit 1 + fi + + : diff --cc tests/subpkg.test index cb85bd46a,f197ad45e..cfa5acb46 --- a/tests/subpkg.test +++ b/tests/subpkg.test @@@ -68,9 -66,7 +66,8 @@@ mkdir lib/sr cat >lib/configure.ac <<'EOF' AC_INIT([lib], [2.3]) AM_INIT_AUTOMAKE +AM_PROG_AR AC_PROG_RANLIB - AC_PROG_YACC AC_CONFIG_HEADERS([config.h:config.hin]) AC_CONFIG_FILES([Makefile]) FOO