-Authors of GNU Automake.
+Authors of GNU Automake-NG.
David Mackenzie
First version of most ".am" files.
-# Maintainer makefile for Automake. Requires GNU make.
+# Maintainer makefile for Automake-NG.
# Copyright (C) 2012 Free Software Foundation, Inc.
#
============================ WARNING! =====================================
-== This is *not* Automake, but rather "Automake-NG": an experimental, ==
-== non-hostile fork of automake; Automake-NG mostly differs from stock ==
-== Automake for the fact that its generated makefiles will only target ==
-== GNU make rather than portable make. ==
+== ==
+== This is *not* mainstream Automake, but rather "Automake-NG": an ==
+== experimental, non-hostile fork of it. Automake-NG mostly differs ==
+== from mainstream Automake for the fact that its generated makefiles ==
+== only targetd GNU make rather than portable make. ==
+== ==
===========================================================================
Reference to the thread kicking off this project:
===========================================================================
-This is Automake, a Makefile generator. It targets GNU make, and aims to
-conform to the GNU Coding Standards for Makefile variables and targets.
+This is Automake-NG, a Makefile generator. It targets GNU make, and aims
+to conform to the GNU Coding Standards for Makefile variables and targets.
See the INSTALL file for detailed information about how to configure
-and install Automake.
+and install Automake-NG.
-Automake is a Perl script. The input files are called Makefile.am.
+Automake-NG is a Perl script. The input files are called Makefile.am.
The output files are called Makefile.in; they are intended for use
-with Autoconf. Automake requires certain things to be done in your
+with Autoconf. Automake-NG requires certain things to be done in your
configure.ac.
-Automake comes with extensive documentation; please refer to it for
+Automake-NG comes with extensive documentation; please refer to it for
more details about its purpose, features, and usage patterns.
This package also includes the "aclocal" program, whose purpose is
It is useful as an extensible, maintainable mechanism for augmenting
autoconf. It is intended that other package authors will write m4
macros which can be automatically used by aclocal. The documentation
-for aclocal is currently found in the Automake manual.
+for aclocal is currently found in the Automake-NG manual.
-Automake has a test suite. Use "make check" to run it. For more
+Automake-NG has a test suite. Use "make check" to run it. For more
information, see the file tests/README.
-Automake has a page on the web. See:
-
- http://www.gnu.org/software/automake/
-
-Automake has also three mailing lists:
-
- * automake@gnu.org
- For general discussions of Automake and its interactions with other
- configuration/portability tools like Autoconf or Libtool.
-
- * bug-automake@gnu.org
- Where to send bug reports and feature requests.
-
- * automake-patches@gnu.org
- Where to send patches, and discuss the automake development process
- and the design of new features.
-
-To obtain more information about these list, or to subscribe to them,
-refer to <http://www.gnu.org/software/automake/#mailinglists>
+Automake-NG still doesn't have a page on the web. But it has one
+mailing list, <automake-ng@gnu.org>, that can be used for general
+discussions and to send bug reports, feature requests, and patches.
+To obtain more information about this list, or to subscribe to it,
+refer to <http://lists.gnu.org/mailman/listinfo/automake-ng/>
New releases are announced to autotools-announce@gnu.org. If you want to
be informed, subscribe to that list by following the instructions at
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ([2.68])
-AC_INIT([GNU Automake], [1.11a], [bug-automake@gnu.org])
+AC_INIT([GNU Automake-NG], [2.0a], [automake-ng@gnu.org])
AC_CONFIG_SRCDIR([automake.in])
AC_CONFIG_AUX_DIR([lib])
dnl We call AC_PROG_CC in an unusual way, and only for use in our
dnl testsuite, so also use `no-dependencies' and `no-define' among
dnl the automake options to avoid bloating and potential problems.
-AM_INIT_AUTOMAKE([1.10a dist-xz filename-length-max=99 color-tests
+AM_INIT_AUTOMAKE([dist-xz filename-length-max=99 color-tests
parallel-tests silent-rules no-define no-dependencies])
# The API version is the base version. We must guarantee
AC_MSG_ERROR(
[perl 5.6 or better is required; perl 5.8.2 or better
is recommended. If you have several perl versions
-installed, select the one Automake should use using
+installed, select the one Automake-NG should use using
./configure PERL=/path/to/perl])
}
dnl We don't want to abort our configuration script if no C compiler is
dnl available, as such a compiler is only required to run part of the
-dnl testsuite, not to build or install Automake. Ditto for C++, Fortran
+dnl testsuite, not to build or install Automake-NG. Ditto for C++, Fortran
dnl and Fortran 77 compilers. Unfortunately, autoconf does not offer an
dnl easy way to obtain this behaviour, so we'll need a few hacks.
AC_OUTPUT
-# Inform the user if this version of automake is a beta release or
-# a development snapshot.
+# Inform the user if this version of Automake-ng is a beta release
+# or a development snapshot.
# According to HACKING, the version of a development snapshot should
# end with an "odd" letter (a, c, ...), the version of a test release
# should end wit an "even" letter (b, d, ...).
test "$am_release_type" = stable || cat <<EOF
-WARNING: You are about to use a $am_release_type of automake.
+WARNING: You are about to use a $am_release_type of Automake-NG.
WARNING: It might easily suffer from new bugs or regressions.
WARNING: You are strongly advised not to use it in production code.
-Please report bugs, problems and feedback to <bug-automake@gnu.org>.
+Please report bugs, problems and feedback to <automake-ng@gnu.org>.
EOF
AS_EXIT([0])
-This is the 'contrib' directory of the GNU Automake distribution.
+This is the 'contrib' directory of the GNU Automake-NG distribution.
-Here you'll find additions to the Automake base distribution, in form of
-makefile fragments, m4 macros, scripts, documentation, et cetera. Such
+Here you'll find additions to the Automake-NG base distribution, in form
+of makefile fragments, m4 macros, scripts, documentation, et cetera. Such
addition that might be useful for a significant percentage of its general
audience, but (for one reason or another) are not deemed appropriate for
-inclusion into the Automake core.
+inclusion into the Automake-NG core.
There are several reasons for which a feature can be kept in contrib:
1. The long-term usefulness of the feature is debatable and uncertain;
- on-field and real-word testing are necessary to prove or disprove
- its usefulness, before the feature can be committed into the Automake
+ on-field and real-word testing are necessary to prove or disprove its
+ usefulness, before the feature can be committed into the Automake-NG
core (as doing so too early would later force us to continue the
support for backward-compatibility, even if the features proves
flawed or fails to attract widespread use).
3. The feature was an historical one, mostly obsoleted but still used
"here and there" in the wild; so we want to to deprecate it and
- remove it from the Automake core, but cannot remove it altogether,
+ remove it from the Automake-NG core, but cannot remove it altogether,
for the sake of those still-existing usage. So it gets moved in
contrib.
## Process this file with automake to create Makefile.in
-## Makefile for Automake.
-
# Copyright (C) 2003-2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
-This is a demonstration package for GNU Automake.
-Type `info Automake' to read the Automake manual.
+This is a demonstration package for GNU Automake-NG.
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# func_error message
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
nl='
'
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
case $1 in
'')
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
# Created: 1993-05-16
# Public domain.
#
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
nl='
'
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
if [ -z "$PYTHON" ]; then
PYTHON=python
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# ---------------------------------- #
# Imports, static data, and setup. #
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
scriptversion=2011-12-27.17; # UTC
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
# Make unconditional expansion of undefined variables an error. This
# helps a lot in preventing typo-related bugs.
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
-# This file is maintained in Automake, please report
+# This file is maintained in Automake-NG, please report
# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
+# <automake-ng@gnu.org>.
case "$1" in
'')
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11a'
+[am__api_version='2.0a'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.11a], [],
+m4_if([$1], [2.0a], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11a])dnl
+[AM_AUTOMAKE_VERSION([2.0a])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-# Do all the work for Automake. -*- Autoconf -*-
+# Do all the work for Automake-NG. -*- Autoconf -*-
# Copyright (C) 1996-2012 Free Software Foundation, Inc.
#
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition. After
-# the next Automake release, Autoconf can make the AC_INIT
+# the next Automake-NG release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-# Some tools Automake needs.
+# Some tools Automake-NG needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
+# tool to use in cross-compilation environments, therefore Automake-NG
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
+# Prevent Automake-NG from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake-NG.
AC_DEFUN([_AM_SUBST_NOTMAKE])
# AM_SUBST_NOTMAKE(VARIABLE)
-# Maintainer checks for Automake. Requires GNU make.
+# Maintainer checks for Automake-NG.
# Copyright (C) 2012 Free Software Foundation, Inc.
#
exit 1; \
fi
-## Allow only few variables to be localized in Automake.
+## Allow only few variables to be localized in automake.
sc_perl_local:
@if egrep -v '^[ \t]*local \$$[_~]( *=|;)' $(srcdir)/automake.in | \
grep '^[ \t]*local [^*]'; then \
- The Automake test suite
+ The Automake-NG test suite
User interface
make -k check TESTS="foo.test bar.test"
To run the tests in cross-compilation mode, you should first configure
- the automake source tree to a cross-compilation setup. For example, to
- run with a Linux-to-MinGW cross compiler, you will need something like
- this:
+ the Automake-NG source tree to a cross-compilation setup. For example,
+ to run with a Linux-to-MinGW cross compiler, you will need something
+ like this:
./configure --host i586-mingw32msvc --build i686-pc-linux-gnu
About the tests
---------------
- There are two kinds of tests in the Automake testsuite (both implemented
- as shell scripts). The scripts with the `.test' suffix are "simple"
- tests, their outcome completely determined by their exit status. Those
- with the `.tap' suffix use the TAP protocol. If you want to run a test
- by hand, you can do so directly if it is a simple test:
+ There are two kinds of tests in the Automake-NG testsuite (both
+ implemented as shell scripts). The scripts with the `.test' suffix
+ are "simple" tests, their outcome completely determined by their exit
+ status. Those with the `.tap' suffix use the TAP protocol. If you
+ want to run a test by hand, you can do so directly if it is a simple
+ test:
./nogzip.test
------------------
Send verbose output, i.e., the contents of test-suite.log, of failing
- tests to <bug-automake@gnu.org>, along with the usual version numbers
- (which Automake, which Autoconf, which operating system, which make
+ tests to <automake-ng@gnu.org>, along with the usual version numbers
+ (which Automake-NG, which Autoconf, which operating system, which make
version, which shell, etc.)
set-up of a test scenario, you can use the `framework_fail_' function
instead.
- For tests that use the `parallel-tests' Automake option, set the shell
- variable `am_parallel_tests' to "yes" before including ./defs. For tests
- that are *not* meant to work with the `parallel-tests' Automake option
- (these should be very very few), set the shell variable `am_parallel_tests'
- to "no" before including ./defs.
+ For tests that use the `parallel-tests' Automake-NG option, set the
+ shell variable `am_parallel_tests' to "yes" before including ./defs.
+ For tests that are *not* meant to work with the `parallel-tests'
+ Automake-NG option (these should be very very few), set the shell
+ variable `am_parallel_tests' to "no" before including ./defs.
- Some tests in the Automake testsuite are auto-generated; those tests
+ Some tests in the Automake-NG testsuite are auto-generated; those tests
might have custom extensions, but their basename (that is, with such
extension stripped) is expected to end with "-w" string, optionally
followed by decimal digits. For example, the name of a valid
Use `$PATH_SEPARATOR', not hard-coded `:', as the separator of
PATH's entries.
- It's more important to make sure that a feature works, than
- make sure that Automake's output looks correct. It might look
- correct and still fail to work. In other words, prefer
- running `make' over grepping `Makefile.in' (or do both).
+ It's more important to make sure that a feature works, than make sure
+ that the output of Automake-NG looks correct. It might look correct
+ and still fail to work. In other words, prefer running `make' over
+ grepping `Makefile.in' (or do both).
If you run $AUTOMAKE or $AUTOCONF several times in the same test
and change `configure.in' by the meantime, do
`echo $filename | ...`.
Make sure your test script can be used to faithfully check an
- installed version of automake (as with "make installcheck"). For
- example, if you need to copy or grep an automake-provided script,
+ installed version of Automake-ng (as with "make installcheck"). For
+ example, if you need to copy or grep an Automake-ng provided script,
do not assume that they can be found in the `$top_srcdir/lib'
directory, but use `$am_scriptdir' instead. The complete list of
such `$am_..dir' variables can be found in tests/defs-static.in.
Before commit: make sure the test is executable, add the tests to
TESTS in Makefile.am, add it to XFAIL_TESTS in addition if needed,
- write a ChangeLog entry, send the diff to <automake-patches@gnu.org>.
+ write a ChangeLog entry, send the diff to <automake-ng@gnu.org>.
Do not
------
- Do not test an Automake error with `$AUTOMAKE && Exit 1', or in three
- years we'll discover that this test failed for some other bogus reason.
- This happened many times. Better use something like
+ Do not test an Automake-NG error with `$AUTOMAKE && Exit 1', or in
+ three years we'll discover that this test failed for some other bogus
+ reason. This happened many times. Better use something like
+
AUTOMAKE_fails
grep 'expected diagnostic' stderr
+
(Note this doesn't prevent the test from failing for another
reason, but at least it makes sure the original error is still
here.)