mirror of
https://https.git.savannah.gnu.org/git/automake.git
synced 2026-01-27 18:04:31 +00:00
* configure.ac (AC_INIT): 1.18.1. (APIVERSION remains 1.18.) * m4/amversion.m4: likewise (auto-updated). * HACKING: tweak release info some more. * NEWS: likewise.
3351 lines
137 KiB
Plaintext
3351 lines
137 KiB
Plaintext
For planned incompatibilities in a possible future Automake 2.0 release,
|
|
please see NEWS-future and start following the advice there now.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
New in 1.18.1 (2025-06-25):
|
|
|
|
* Bugs fixed
|
|
|
|
- Undo change to mdate-sh; once again, it does not look at
|
|
SOURCE_DATE_EPOCH. This change was a misunderstanding that causes
|
|
problems, not fixes, for reproducible builds.
|
|
(https://lists.gnu.org/archive/html/automake/2025-06/msg00021.html)
|
|
|
|
- Improve debuggability of installcheck failures. (bug#78850)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
New in 1.18 (2025-05-25):
|
|
|
|
* New features added
|
|
|
|
- Default tar format is now ustar, mainly to support longer filenames;
|
|
the tar-v7 and other explicit options to force a particular tar
|
|
format are unchanged and still override the default. (bug#74847)
|
|
|
|
- The mdate-sh auxiliary script generally used with Texinfo now uses
|
|
SOURCE_DATE_EPOCH, if set, instead of the source file's mtime. (bug#77805)
|
|
|
|
- New option dist-bzip3 for bzip3 compression of distributions. (bug#73795)
|
|
|
|
- New option --stderr-prefix for tap-driver.sh, to prefix each line of
|
|
stderr from a test script with a given string. (bug#72536)
|
|
|
|
- Support for Algol 68 added, based on the GNU Algol 68 compiler. (bug#75807)
|
|
|
|
* Bugs fixed
|
|
|
|
- Do not make Perl warnings fatal, per Perl's recommendation.
|
|
(https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html)
|
|
|
|
- Avoid Perl 5.41.8+ precedence warning for use of !!.
|
|
(https://lists.gnu.org/archive/html/automake/2025-01/msg00000.html)
|
|
|
|
- a Perl path containing whitespace now emits a warning instead of
|
|
an error, so ./configure PERL='/usr/bin/env perl' can work. (bug#74453)
|
|
|
|
- The py-compile script once again does nothing (successfully) if the
|
|
PYTHON environment variable is set to ":", or anything that isn't a
|
|
Python interpreter (according to $PYTHON -V). Exception: if PYTHON
|
|
is set to "false", do nothing but exit unsuccessfully, also to match
|
|
previous behavior. (bug#74434)
|
|
|
|
- The no-dist-built-sources Automake option now operates (hopefully) as
|
|
intended, i.e., omits the dependency on $(BUILT_SOURCES) for the
|
|
distdir target. (bug#69908)
|
|
|
|
- Only warn about install.sh being found, instead of it being a fatal
|
|
error. (bug#19964)
|
|
|
|
- The compile script is more robust to Windows configurations;
|
|
specifically, avoids double-path translation on MSYS. (bug#75939)
|
|
|
|
- The test infrastructure sets the CONFIG_SITE environment variable to
|
|
/dev/null, to avoid the local system's Autoconf site defaults from
|
|
breaking the test environment. (bug#76622)
|
|
|
|
- AM_SILENT_RULES once again always ends with a newline. (bug#72267)
|
|
|
|
- AM_SANITY_CHECK now outputs "no" on failure, so that a complete line
|
|
is written to stdout before the error message is written to stderr.
|
|
(bug#76448)
|
|
|
|
* Miscellaneous changes
|
|
|
|
- Only require the presence of an ABOUT-NLS file at the 'gnits'
|
|
strictness level.
|
|
(https://lists.gnu.org/archive/html/automake/2024-10/msg00006.html)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.17 (2024-07-11):
|
|
|
|
* New features added
|
|
|
|
- AM_PATH_PYTHON will, after checking "python", prefer any Python 3
|
|
version (latest versions checked first) over any Python 2
|
|
version. If a specific version of Python 2 is still needed, the
|
|
$PYTHON variable should be set beforehand.
|
|
|
|
- AM_PATH_PYTHON will also search for Python versions 3.20 through 3.10.
|
|
It previously searched for 3.9 through 3.0. (bug#53530)
|
|
|
|
- RANLIB may be overridden on a per-target basis.
|
|
|
|
- AM_TEXI2FLAGS may be defined to pass extra flags to TEXI2DVI & TEXI2PDF.
|
|
|
|
- New option "posix" to emit the special target .POSIX for make.
|
|
(bug#55025, bug#67891)
|
|
|
|
- Systems with non-POSIX "rm -f" behavior are now supported, and the
|
|
prior intent to drop support for them has been reversed.
|
|
The ACCEPT_INFERIOR_RM_PROGRAM setting no longer exists.
|
|
(bug#10828)
|
|
|
|
- Variables using escaped \# will trigger portability warnings, but be
|
|
retained when appended. GNU Make & BSD Makes are known to support it.
|
|
(bug#7610)
|
|
|
|
- GNU Make's default pattern rules for RCS and SCCS are disabled, for
|
|
speed and debugging. (.SUFFIXES was already cleared.) (bug#64743)
|
|
|
|
- For Texinfo documents, if a .texi.in file exists, but no .texi, the
|
|
.texi.in will be read. Texinfo source files need not be present at
|
|
all, and if present, need not contain @setfilename. Then the file name
|
|
as given in the Makefile.am will be used. If @setfilename is present,
|
|
it should be the basename of the Texinfo file, extended with .info.
|
|
(bug#54063)
|
|
|
|
- aclocal has a new option --aclocal-path to override $ACLOCAL_PATH.
|
|
(https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00029.html)
|
|
|
|
- The missing script also supports autoreconf, autogen, and perl.
|
|
(https://lists.gnu.org/archive/html/automake-patches/2015-08/msg00000.html)
|
|
|
|
- test-suite.log now contains basic system information, and the
|
|
console message about bug reporting on failure has a bit more detail.
|
|
(bug#68746, bug#71421)
|
|
|
|
- When using the (default) "parallel" test driver, you can now omit the
|
|
output of skipped tests from test-suite.log by defining the
|
|
variable IGNORE_SKIPPED_LOGS to a non-empty value. (bug#71422)
|
|
|
|
* Bugs fixed
|
|
|
|
- Generated file timestamp checks handle filesystems with subsecond
|
|
timestamp granularity dynamically, greatly speeding up the sleep
|
|
done by AC_OUTPUT when generating config.status (all packages) and
|
|
Automake's make check.
|
|
|
|
However, this subsecond-mtime support requires an autom4te from
|
|
Autoconf 2.72 or later (or random test failures and other timing
|
|
problems may ensue), as well as a Perl, sleep program, make program,
|
|
and filesystem that all support subsecond resolution; otherwise, we
|
|
fall back to a two-second granularity, not even testing the (common)
|
|
1s case since that would induce a 2s delay for all configure scripts
|
|
in all packages on all systems that don't support subsecond mtimes.
|
|
|
|
When everything is supported, a line "Features: subsecond-mtime" is
|
|
now printed by automake --version and autom4te --version.
|
|
|
|
To override this check and delay, e.g. to use 1 second:
|
|
am_cv_filesystem_timestamp_resolution=1
|
|
export am_cv_filesystem_timestamp_resolution
|
|
|
|
(commit 720a11531,
|
|
https://lists.gnu.org/archive/html/automake-commit/2022-02/msg00009.html
|
|
then bug#60808, bug#64756, bug#67670, bug#68808, bug#71652,
|
|
history reviewed in
|
|
https://lists.gnu.org/archive/html/automake/2024-06/msg00054.html
|
|
and more info in surrounding threads.)
|
|
|
|
- The default value of $ARFLAGS is now "cr" instead of "cru", to better
|
|
support deterministic builds. (bug#20082)
|
|
|
|
- Automake's make dist now uses -9 instead of --best with gzip,
|
|
because Alpine gzip does not support --best. Also, GZIP_ENV is used
|
|
only for compression, not decompression, because of the same system.
|
|
(bug#68151)
|
|
|
|
- Dependency files are now empty, instead of "# dummy", for speed.
|
|
(https://lists.gnu.org/archive/html/automake/2022-05/msg00006.html)
|
|
|
|
- Compiling Python modules with Python 3.5+ uses multiple optimization
|
|
levels. (bug#38043)
|
|
|
|
- If the Python installation "scheme" is set to posix_local (Debian),
|
|
it is reset to either deb_system (if the prefix = /usr), or
|
|
posix_prefix (otherwise). (bug#54412, bug#64837)
|
|
|
|
- As a result of the Python scheme change, the installation directory
|
|
for Python files again defaults to "site-packages" under the usual
|
|
installation prefix, even on systems (generally Debian-based) that
|
|
would normally use the "dist-packages" subdirectory under
|
|
/usr/local.
|
|
|
|
- When compiling Emacs Lisp files, emacs is run with --no-site-file to
|
|
disable user config files that might hang or access the terminal;
|
|
and -Q is not used, since its support and behavior varies. (bug#58102)
|
|
|
|
- Emacs Lisp compilations respect silent make output.
|
|
|
|
- Automake no longer incorrectly warns that the POSIX make variables
|
|
$(*D) and the like are non-POSIX. Unfortunately, the make
|
|
implementations which do not correctly implement all the POSIX
|
|
variables are not detected, but this seems to have little impact
|
|
in practice. (bug#9587)
|
|
|
|
- Pass libtool tags OBJC and OBJCXX for the respective languages.
|
|
(bug#67539)
|
|
|
|
- distcleancheck ignores "silly rename" files (.nfs* .smb* .__afs*)
|
|
that can show up on network file systems.
|
|
(https://lists.gnu.org/archive/html/automake/2022-09/msg00002.html)
|
|
|
|
- Pass any options given to AM_PROG_LEX on to AC_PROG_LEX.
|
|
(bug#65600, bug#65730)
|
|
|
|
- aclocal: recognize ; as path separator on OS/2 and Windows. (bug#71534)
|
|
|
|
- Hash iterations with external effects now consistently sort keys.
|
|
(bug#25629, bug#46744)
|
|
|
|
- tests: avoid some declaration conflicts for lex et al. on SunOS.
|
|
(bug#34151 and others)
|
|
|
|
- tests: declare yyparse before use and use (void) parameter lists
|
|
instead of (), to placate C23. (bug#71425)
|
|
|
|
- Typos in code and other doc fixes. (bug#68003, bug#68004, et al.)
|
|
|
|
* Obsolescence:
|
|
|
|
- py-compile no longer supports Python 0.x or 1.x versions. Python 2.0,
|
|
released in 2000, is currently the minimum required version.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16.5 (2021-10-03):
|
|
|
|
* Bugs fixed
|
|
|
|
- PYTHON_PREFIX and PYTHON_EXEC_PREFIX are now set according to
|
|
Python's sys.* values only if the new configure option
|
|
--with-python-sys-prefix is specified. Otherwise, GNU default values
|
|
are used, as in the past. (The change in 1.16.3 was too incompatible.)
|
|
|
|
- consistently depend on install-libLTLIBRARIES.
|
|
|
|
* Distribution
|
|
|
|
- use const for yyerror declaration in bison/yacc tests.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16.4 (2021-07-26):
|
|
|
|
* New features added
|
|
|
|
- The PYTHON_PREFIX and PYTHON_EXEC_PREFIX variables are now set from
|
|
Python's sys.prefix and sys.exec_prefix; use the new configure options
|
|
--with-python_prefix and --with-python_exec_prefix to specify explicitly.
|
|
|
|
- Common top-level files can be provided as .md; the non-md version is
|
|
used if both are present:
|
|
AUTHORS ChangeLog INSTALL NEWS README README-alpha THANKS
|
|
|
|
- CTAGS, ETAGS, SCOPE variables can be set via configure.
|
|
|
|
- Silent make output for custom link commands.
|
|
|
|
- New option "no-dist-built-sources" skips generating $(BUILT_SOURCES)
|
|
before building the tarball as part of "make dist", that is,
|
|
omits the dependency of $(distdir): $(BUILT_SOURCES).
|
|
|
|
* Bugs fixed
|
|
|
|
- automake output more reproducible.
|
|
|
|
- test-driver less likely to clash with tests writing to the same file.
|
|
|
|
- DejaGnu tests always use the directory name, testsuite/, for
|
|
compatibility with the newer dejagnu-1.6.3 and with prior versions.
|
|
|
|
* Distribution
|
|
|
|
- config.sub and config.guess updates include restoration of `...`
|
|
for maximum portability.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16.3 (2020-11-18):
|
|
|
|
* New features added
|
|
|
|
- In the testsuite summary, the "for $(PACKAGE_STRING)" suffix
|
|
can be overridden with the AM_TESTSUITE_SUMMARY_HEADER variable.
|
|
|
|
* Bugs fixed
|
|
|
|
- Python version number 3.10 no longer considered to be 3.1.
|
|
|
|
- Broken links in manual fixed or removed, and new script
|
|
contrib/checklinkx (a small modification of W3C checklink) added,
|
|
with accompany target checklinkx to recheck urls.
|
|
|
|
- install-exec target depends on $(BUILT_SOURCES).
|
|
|
|
- valac argument matching more precise, to avoid garbage in DIST_COMMON.
|
|
|
|
- Support for Vala in VPATH builds fixed so that both freshly-generated and
|
|
distributed C files work, and operation is more reliable with or without
|
|
an installed valac.
|
|
|
|
- Dejagnu doesn't break on directories containing spaces.
|
|
|
|
* Distribution
|
|
|
|
- new variable AM_DISTCHECK_DVI_TARGET, to allow overriding the
|
|
"make dvi" that is done as part of distcheck.
|
|
|
|
* Miscellaneous changes
|
|
|
|
- install-sh tweaks:
|
|
. new option -p to preserve mtime, i.e., invoke cp -p.
|
|
. new option -S SUFFIX to attempt backup files using SUFFIX.
|
|
. no longer unconditionally uses -f when rm is overridden by RMPROG.
|
|
. does not chown existing directories.
|
|
|
|
- Removed function up_to_date_p in lib/Automake/FileUtils.pm.
|
|
We believe this function is completely unused.
|
|
|
|
- Support for in-tree Vala libraries improved.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16.2 (2020-03-21):
|
|
|
|
* New features added
|
|
|
|
- add zstd support and the automake option, dist-zstd.
|
|
|
|
- support for Python 3: py-compile now supports both Python 3
|
|
and Python 2; tests do not require .pyo files, and uninstall
|
|
deletes __pycache__ correctly (automake bug #32088).
|
|
|
|
* Miscellaneous changes
|
|
|
|
- automake no longer requires a @setfilename in each .texi file
|
|
|
|
* Bugs fixed
|
|
|
|
- When cleaning the compiled python files, '\n' is not used anymore in the
|
|
substitution text of 'sed' transformations. This is done to preserve
|
|
compatibility with the 'sed' implementation provided by macOS which
|
|
considers '\n' as the 'n' character instead of a newline.
|
|
(automake bug#31222)
|
|
|
|
- For make tags, lisp_LISP is followed by the necessary space when
|
|
used with CONFIG_HEADERS.
|
|
(automake bug#38139)
|
|
|
|
- The automake test txinfo-vtexi4.sh no longer fails when localtime
|
|
and UTC cross a day boundary.
|
|
|
|
- Emacsen older than version 25, which require use of
|
|
byte-compile-dest-file, are supported again.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16.1 (2018-03-11):
|
|
|
|
* Bugs fixed:
|
|
|
|
- 'install-sh' now ensures that nobody can cross privilege boundaries by
|
|
pre-creating symlink on the directory inside "/tmp".
|
|
|
|
- 'automake' does not depend on the 'none' subroutine of the List::Util
|
|
module anymore to support older Perl version. (automake bug#30631)
|
|
|
|
- A regression in AM_PYTHON_PATH causing the rejection of non literal
|
|
minimum version parameter hasn't been fixed. (automake bug#30616)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.16 (2018-02-25):
|
|
|
|
* Miscellaneous changes
|
|
|
|
- When subdir-objects is in effect, Automake will now construct
|
|
shorter object file names when no programs and libraries name
|
|
clashes are encountered. This should make the discouraged use of
|
|
'foo_SHORTNAME' unnecessary in many cases.
|
|
|
|
* Bugs fixed:
|
|
|
|
- Automatic dependency tracking has been fixed to work also when the
|
|
'subdir-object' option is used and some 'foo_SOURCES' definition
|
|
contains unexpanded references to make variables, as in, e.g.:
|
|
|
|
a_src = sources/libs/aaa
|
|
b_src = sources/bbb
|
|
foo_SOURCES = $(a_src)/bar.c $(b_src)/baz.c
|
|
|
|
With such a setup, the created makefile fragment containing dependency
|
|
tracking information will be correctly placed under the directories
|
|
named 'sources/libs/aaa/.deps' and 'sources/bbb/.deps', rather than
|
|
mistakenly under directories named (literally!) '$(src_a)/.deps' and
|
|
'$(src_b)/.deps' (this was the first part of automake bug#13928).
|
|
|
|
Notice that in order to fix this bug we had to slightly change the
|
|
semantics of how config.status bootstraps the makefile fragments
|
|
required for the dependency tracking to work: rather than attempting
|
|
to parse the Makefiles via grep and sed trickeries only, we actually
|
|
invoke 'make' on a slightly preprocessed version of those Makefiles,
|
|
using a private target that is only meant to bootstrap the required
|
|
makefile fragments.
|
|
|
|
- The 'subdir-object' option no longer causes object files corresponding
|
|
to source files specified with an explicit '$(srcdir)' component to be
|
|
placed in the source tree rather than in the build tree.
|
|
|
|
For example, if Makefile.am contains:
|
|
|
|
AUTOMAKE_OPTIONS = subdir-objects
|
|
foo_SOURCES = $(srcdir)/foo.c $(srcdir)/s/bar.c $(top_srcdir)/baz.c
|
|
|
|
then "make all" will create 'foo.o' and 's/bar.o' in $(builddir) rather
|
|
than in $(srcdir), and will create 'baz.o' in $(top_builddir) rather
|
|
than in $(top_srcdir).
|
|
|
|
This was the second part of automake bug#13928.
|
|
|
|
- Installed 'aclocal' m4 macros can now accept installation directories
|
|
containing '@' characters (automake bug#20903)
|
|
|
|
- "./configure && make dist" no longer fails when a distributed file depends
|
|
on one from BUILT_SOURCES.
|
|
|
|
- When combining AC_LIBOBJ or AC_FUNC_ALLOCA with the
|
|
"--disable-dependency-tracking" configure option in an out of source
|
|
build, the build sub-directory defined by AC_CONFIG_LIBOBJ_DIR is now
|
|
properly created. (automake bug#27781)
|
|
|
|
- The time printed by 'mdate-sh' is now using the UTC time zone to support
|
|
the reproducible build effort. (automake bug#20314)
|
|
|
|
- The elisp byte-compilation rule now uses byte-compile-dest-file-function,
|
|
rather than byte-compile-dest-file, which was obsoleted in 2009. We expect
|
|
that Emacs-26 will continue to support the old function, but will complain
|
|
loudly, and that Emacs-27 will remove support for it altogether.
|
|
|
|
* New features added
|
|
|
|
- A custom testsuite driver for the Guile Scheme SRFI-64 API has been added
|
|
to the "contrib" section. This allows a more convenient way to test Guile
|
|
code without having to use low primitives such as exit status. See
|
|
SRFI-64 API specification for more details:
|
|
<https://srfi.schemers.org/srfi-64/srfi-64.html>
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.15.1 (2017-06-19):
|
|
|
|
* Bugs fixed:
|
|
|
|
- The code has been adapted to remove a warning present since Perl
|
|
5.22 stating that "Unescaped left brace in regex is deprecated".
|
|
This warning has become an hard error in Perl 5.26 (bug#22372).
|
|
|
|
- The generated Makefiles do not rely on the obsolescent GZIP
|
|
environment variable which was used for passing arguments to
|
|
'gzip'. Compatibility with old versions has been
|
|
preserved. (bug#20132)
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- Support the Windows version of the Intel C Compiler (icl) in the
|
|
'compile' script in the same way the (compatible) Microsoft C
|
|
Compiler is supported.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.15 (2015-01-05):
|
|
|
|
* Improvements and refactorings in the install-sh script:
|
|
|
|
- It has been modernized, and now makes the following assumptions
|
|
*unconditionally*:
|
|
(1) a working 'dirname' program is available;
|
|
(2) the ${var:-value} shell parameters substitution works;
|
|
(3) the "set -f" and "set +f" shell commands work, and, respectively,
|
|
disable and enable shell globbing.
|
|
|
|
- The script implements stricter error checking, and now it complains
|
|
and bails out if any of the following expectations is not met:
|
|
(1) the options -d and -t are never used together;
|
|
(2) the argument passed to option -t is a directory;
|
|
(3) if there are two or more SOURCEFILE arguments, the
|
|
DESTINATION argument must be a directory.
|
|
|
|
* Automake-generated testsuites:
|
|
|
|
- The default test-driver used by the Automake-generated testsuites
|
|
now appends the result and exit status of each "plain" test to the
|
|
associated log file (automake bug#11814).
|
|
|
|
- The perl implementation of the TAP testsuite driver is no longer
|
|
installed in the Automake's scripts directory, and is instead just
|
|
distributed as a "contrib" addition. There should be no reason to
|
|
use this implementation anyway in real packages, since the awk+shell
|
|
implementation of the TAP driver (which is documented in the manual)
|
|
is more portable and has feature parity with the perl implementation.
|
|
|
|
- The rule generating 'test-suite.log' no longer risk incurring in an
|
|
extra useless "make all" recursive invocation in some corner cases
|
|
(automake bug#16302).
|
|
|
|
* Distribution:
|
|
|
|
- Automake bug#18286: "make distcheck" could sometimes fail to detect
|
|
files missing from the distribution tarball, especially in those cases
|
|
where both the generated files and their dependencies are explicitly
|
|
in $(srcdir). An important example of this are *generated* makefile
|
|
fragments included at Automake time in Makefile.am; e.g.:
|
|
|
|
...
|
|
$(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
|
|
cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am
|
|
include $(srcdir)/fragment.am
|
|
...
|
|
|
|
If the user forgot to add data.txt and/or preproc.sh in the distribution
|
|
tarball, "make distcheck" would have erroneously succeeded! This issue
|
|
is now fixed.
|
|
|
|
- As a consequence of the previous change, "make distcheck" will run
|
|
using '$(distdir)/_build/sub' as the build directory, rather than
|
|
simply '$(distdir)/_build' (as it was the case for Automake 1.14 and
|
|
earlier). Consequently, the './configure' and 'make' invocations
|
|
issued by the distcheck recipe now have $(srcdir) equal to '../..',
|
|
rather than to just '..'. Dependent and similar variables (e.g.,
|
|
'$(top_srcdir)') are also changed accordingly.
|
|
|
|
Thus, Makefiles that made assumptions about the exact values of the
|
|
build and source directories used by "make distcheck" will have to
|
|
be adjusted. Notice that making such assumptions was a bad and
|
|
unsupported practice anyway, since the exact locations of those
|
|
directories should be considered implementation details, and we
|
|
reserve the right to change them at any time.
|
|
|
|
* Miscellaneous bugs fixed:
|
|
|
|
- The expansion of AM_INIT_AUTOMAKE ends once again with a trailing
|
|
newline (bug#16841). Regression introduced in Automake 1.14.
|
|
|
|
- We no longer risk to use '$ac_aux_dir' before it's defined (see
|
|
automake bug#15981). Bug introduced in Automake 1.14.
|
|
|
|
- The code used to detect whether the currently used make is GNU make
|
|
or not (relying on the private macro 'am__is_gnu_make') no longer
|
|
risks causing "Arg list too long" for projects using automatic
|
|
dependency tracking and having a ton of source files (bug#18744).
|
|
|
|
- Automake tries to offer a more deterministic output for generated
|
|
Makefiles, in the face of the newly-introduced randomization for
|
|
hash keys order in Perl 5.18.
|
|
|
|
- In older Automake versions, if a user defined one single Makefile
|
|
fragment (say 'foo.am') to be included via Automake includes in
|
|
his main Makefile.am, and defined a custom make rule to generate that
|
|
file from other data, Automake used to spuriously complain with some
|
|
message like "... overrides Automake target '$(srcdir)/foo.am".
|
|
This bug is now fixed.
|
|
|
|
- The user can now extend the special .PRECIOUS target, the same way
|
|
he could already do with the .MAKE .and .PHONY targets.
|
|
|
|
- Some confusing typos have been fixed in the manual and in few warning
|
|
messages (automake bug#16827 and bug#16997).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.14.1 (2013-12-24):
|
|
|
|
* Bugs fixed:
|
|
|
|
- The user is no longer allowed to override the --srcdir nor the --prefix
|
|
configure options used by "make distcheck" (bug#14991).
|
|
|
|
- Fixed a gross inefficiency in the recipes for installing byte-compiled
|
|
python files, that was causing an O(N^2) performance on the number N of
|
|
files, instead of the expected O(N) performance. Note that this bug
|
|
was only relevant when the number of python files was high (which is
|
|
unusual in practice).
|
|
|
|
- Automake try to offer a more deterministic output for warning messages,
|
|
in the face of the newly-introduced randomization for hash keys order
|
|
in Perl 5.18.
|
|
|
|
- The 'test-driver' script now actually error out with a clear error
|
|
message on the most common invalid usages.
|
|
|
|
- Several spurious failures/hangs in the testsuite (bugs #14706, #14707,
|
|
#14760, #14911, #15181, #15237).
|
|
|
|
* Documentation fixes:
|
|
|
|
- Fixed typos in the 'fix-timestamp.sh' example script that made it
|
|
nonsensical.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.14 (2013-06-21):
|
|
|
|
* C compilation, and the AC_PROG_CC and AM_PROG_CC_C_O macros:
|
|
|
|
- The 'compile' script is now unconditionally required for all packages
|
|
that perform C compilation (if you are using the '--add-missing'
|
|
option, automake will fetch that script for you, so you shouldn't
|
|
need any explicit adjustment). This new behavior is needed to avoid
|
|
obscure errors when the 'subdir-objects' option is used, and the
|
|
compiler is an inferior one that doesn't grasp the combined use of
|
|
both the "-c -o" options; see discussion about automake bug#13378 for
|
|
more details:
|
|
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
|
|
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
|
|
|
|
- The next major Automake version (2.0) will unconditionally activate
|
|
the 'subdir-objects' option. In order to smooth out the transition,
|
|
we now give a warning (in the category 'unsupported') whenever a
|
|
source file is present in a subdirectory but the 'subdir-object' is
|
|
not enabled. For example, the following usage will trigger such a
|
|
warning:
|
|
|
|
bin_PROGRAMS = sub/foo
|
|
sub_foo_SOURCES = sub/main.c sub/bar.c
|
|
|
|
- Automake will automatically enhance the autoconf-provided macro
|
|
AC_PROG_CC to force it to check, at configure time, that the
|
|
C compiler supports the combined use of both the '-c' and '-o'
|
|
options. The result of this check is saved in the cache variable
|
|
'am_cv_prog_cc_c_o', and said result can be overridden by
|
|
pre-defining that variable.
|
|
|
|
- The AM_PROG_CC_C_O macro can still be called, albeit that should no
|
|
longer be necessary. This macro is now just a thin wrapper around the
|
|
Automake-enhanced AC_PROG_CC. This means, among the other things,
|
|
that its behavior is changed in three ways:
|
|
|
|
1. It no longer invokes the Autoconf-provided AC_PROG_CC_C_O
|
|
macro behind the scenes.
|
|
|
|
2. It caches the check result in the 'am_cv_prog_cc_c_o' variable,
|
|
and not in a 'ac_cv_prog_cc_*_c_o' variable whose exact name is
|
|
dynamically computed only at configure runtime (really!) from
|
|
the content of the '$CC' variable.
|
|
|
|
3. It no longer automatically AC_DEFINE the C preprocessor
|
|
symbol 'NO_MINUS_C_MINUS_O'.
|
|
|
|
* Texinfo support:
|
|
|
|
- Automake can now be instructed to place '.info' files generated from
|
|
Texinfo input in the builddir rather than in the srcdir; this is done
|
|
specifying the new automake option 'info-in-builddir'. This feature
|
|
was requested by the developers of GCC, GDB, GNU binutils and the GNU
|
|
bfd library. See the extensive discussion about automake bug#11034
|
|
for more details.
|
|
|
|
- For quite a long time, Automake has been implementing an undocumented
|
|
hack which ensured that '.info' files which appeared to be cleaned
|
|
(by being listed in the CLEANFILES or DISTCLEANFILES variables) were
|
|
built in the builddir rather than in the srcdir; this hack was
|
|
introduced to ensure better backward-compatibility with package
|
|
such as Texinfo, which do things like:
|
|
|
|
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
|
|
DISTCLEANFILES = texinfo texinfo-* info*.info*
|
|
# Do not create info files for distribution.
|
|
dist-info:
|
|
@:
|
|
|
|
in order not to distribute generated '.info' files.
|
|
|
|
Now that we have the 'info-in-builddir' option that explicitly causes
|
|
generated '.info' files to be placed in the builddir, this hack should
|
|
be longer necessary, so we deprecate it with runtime warnings.
|
|
It will be removed altogether in Automake 2.0.
|
|
|
|
* Relative directory in Makefile fragments:
|
|
|
|
- The special Automake-time substitutions '%reldir%' and '%canon_reldir%'
|
|
(and their short versions, '%D%' and '%C%' respectively) can now be used
|
|
in an included Makefile fragment. The former is substituted with the
|
|
relative directory of the included fragment (compared to the top-level
|
|
including Makefile), and the latter with the canonicalized version of
|
|
the same relative directory.
|
|
|
|
# in 'Makefile.am':
|
|
bin_PROGRAMS = # will be updated by included Makefile fragments
|
|
include src/Makefile.inc
|
|
|
|
# in 'src/Makefile.inc':
|
|
bin_PROGRAMS += %reldir%/foo
|
|
%canon_reldir%_foo_SOURCES = %reldir%/bar.c
|
|
|
|
This should be especially useful for packages using a non-recursive
|
|
build system.
|
|
|
|
* Deprecated distribution formats:
|
|
|
|
- The 'shar' and 'compress' distribution formats are deprecated, and
|
|
scheduled for removal in Automake 2.0. Accordingly, the use of the
|
|
'dist-shar' and 'dist-tarZ' will cause warnings at automake runtime
|
|
(in the 'obsolete' category), and the recipes of the Automake-generated
|
|
targets 'dist-shar' and 'dist-tarZ' will unconditionally display
|
|
(non-fatal) warnings at make runtime.
|
|
|
|
* New configure runtime warnings about "rm -f" support:
|
|
|
|
- To simplify transition to Automake 2.0, the shell code expanded by
|
|
AM_INIT_AUTOMAKE now checks (at configure runtime) that the default
|
|
'rm' program in PATH doesn't complain when called without any
|
|
non-option argument if the '-f' option is given (so that commands like
|
|
"rm -f" and "rm -rf" act as a no-op, instead of raising usage errors).
|
|
If this is not the case, the configure script is aborted, to call the
|
|
attention of the user on the issue, and invite him to fix his PATH.
|
|
The checked 'rm' behavior is very widespread in the wild, and will be
|
|
required by future POSIX versions:
|
|
|
|
<http://austingroupbugs.net/view.php?id=542>
|
|
|
|
The user can still force the configure process to complete even in the
|
|
presence of a broken 'rm' by defining the ACCEPT_INFERIOR_RM_PROGRAM
|
|
environment variable to "yes". And the generated Makefiles should
|
|
still work correctly even when such broken 'rm' is used. But note
|
|
that this will no longer be the case with Automake 2.0 though, so, if
|
|
you encounter the warning, please report it to us ASAP (and try to fix
|
|
your environment as well).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.13.4 (2018-06-14):
|
|
|
|
* Bugs fixed:
|
|
|
|
- Fix a minor regression introduced in Automake 1.13.3: when two or more
|
|
user-defined suffix rules were present in a single Makefile.am,
|
|
automake would needlessly include definition of some make variables
|
|
related to C compilation in the generated Makefile.in (bug#14560).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.13.3 (2013-06-03):
|
|
|
|
* Documentation fixes:
|
|
|
|
- The documentation no longer mistakenly reports that the obsolete
|
|
'AM_MKDIR_PROG_P' macro and '$(mkdir_p)' make variable are going
|
|
to be removed in Automake 2.0.
|
|
|
|
* Bugs fixed:
|
|
|
|
- Byte-compilation of Emacs lisp files could fail spuriously on
|
|
Solaris, when /bin/ksh or /usr/xpg4/bin/sh were used as shell.
|
|
|
|
- If the same user-defined suffixes were transformed into different
|
|
Automake-known suffixes in different Makefile.am files in the same
|
|
project, automake could get confused and generate inconsistent
|
|
Makefiles (automake bug#14441).
|
|
For example, if 'Makefile.am' contained a ".ext.cc:" suffix rule,
|
|
and 'sub/Makefile.am' contained a ".ext.c:" suffix rule, automake
|
|
would have mistakenly placed into 'Makefile.in' rules to compile
|
|
"*.c" files into object files, and into 'sub/Makefile.in' rules to
|
|
compile "*.cc" files into object files --- rather than the other
|
|
way around. This is now fixed.
|
|
|
|
* Testsuite work:
|
|
|
|
- The test cases no longer have the executable bit set. This should
|
|
make it clear that they are not meant to be run directly; as
|
|
explained in t/README, they can only be run through the custom
|
|
'runtest' script, or by a "make check" invocation.
|
|
|
|
- The testsuite has seen the introduction of a new helper function
|
|
'run_make', and several related changes. These serve a two-fold
|
|
purpose:
|
|
|
|
1. Remove brittleness due to the use of "make -e" in test cases.
|
|
|
|
2. Seamlessly allow the use of parallel make ("make -j...") in the
|
|
test cases, even where redirection of make output is involved
|
|
(see automake bug#11413 for a description of the subtle issues
|
|
in this area).
|
|
|
|
- Several spurious failures have been fixed (they hit especially
|
|
MinGW/MSYS builds). See automake bugs #14493, #14494, #14495,
|
|
#14498, #14499, #14500, #14501, #14517 and #14528.
|
|
|
|
- Some other minor miscellaneous changes and fixlets.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.13.2 (2013-05-15):
|
|
|
|
* Documentation fixes:
|
|
|
|
- The long-deprecated but still supported two-arguments invocation form
|
|
of AM_INIT_AUTOMAKE is documented once again. This seems the sanest
|
|
thing to do, given that support for such usage might need to remain
|
|
in place for an unspecified amount of time in order to cater to people
|
|
who want to define the version number for their package dynamically at
|
|
configure runtime (unfortunately, Autoconf does not yet support this
|
|
scenario, so we cannot delegate the work to it).
|
|
|
|
- The serial testsuite harness is no longer reported as "deprecated",
|
|
but as "discouraged". We have no plan to remove it, nor to make its
|
|
use cause runtime warnings.
|
|
|
|
- The parallel testsuite is no longer reported as "experimental"; it
|
|
is well tested, and should be stable now.
|
|
|
|
- The 'shar' and 'tarZ' distribution formats and the 'dist-shar' and
|
|
'dist-tarZ' options are obsolescent, and their use is deprecated
|
|
in the documentation.
|
|
|
|
- Other minor miscellaneous fixes and improvements; in particular,
|
|
some improvements in cross-references.
|
|
|
|
* Obsolescent features:
|
|
|
|
- Use of suffix-less info files (that can be specified through the
|
|
'@setfilename' macro in Texinfo input files) is discouraged, and
|
|
its use will raise warnings in the 'obsolete' category. Simply
|
|
use the '.info' extension for all your info files, transforming
|
|
usages like:
|
|
|
|
@setfilename myprogram
|
|
|
|
into:
|
|
|
|
@setfilename myprogram.info
|
|
|
|
- Use of Texinfo input files with '.txi' or '.texinfo' extensions
|
|
is discouraged, and its use will raise warnings in the 'obsolete'
|
|
category. You are advised to simply use the '.texi' extension
|
|
instead.
|
|
|
|
* Bugs fixed:
|
|
|
|
- When the 'ustar' option is used, the generated configure script no
|
|
longer risks hanging during the tests for the availability of the
|
|
'pax' utility, even if the user running configure has a UID or GID
|
|
that requires more than 21 bits to be represented.
|
|
See automake bug#8343 and bug#13588.
|
|
|
|
- The obsolete macros AM_CONFIG_HEADER or AM_PROG_CC_STDC work once
|
|
again, as they did in Automake 1.12.x (albeit printing runtime
|
|
warnings in the 'obsolete' category). Removing them has turned
|
|
out to be a very bad idea, because it complicated distro packing
|
|
enormously. Making them issue fatal warnings, as we did in
|
|
Automake 1.13, has turned out to be a similarly very bad idea,
|
|
for exactly the same reason.
|
|
|
|
- aclocal will no longer error out if the first local m4 directory
|
|
(as specified by the '-I' option or the 'AC_CONFIG_MACRO_DIRS' or
|
|
'AC_CONFIG_MACRO_DIR' macros) doesn't exist; it will merely report
|
|
a warning in the 'unsupported' category. This is done to support
|
|
some pre-existing real-world usages. See automake bug#13514.
|
|
|
|
- aclocal will no longer consider directories for extra m4 files more
|
|
than once, even if they are specified multiple times. This ensures
|
|
packages that specify both
|
|
|
|
AC_CONFIG_MACRO_DIR([m4]) in configure.ac
|
|
ACLOCAL_AMFLAGS = -I m4 in Makefile.am
|
|
|
|
will work correctly, even when the 'm4' directory contains no
|
|
package-specific files, but is used only to install third-party
|
|
m4 files (as can happen with e.g., "libtoolize --install").
|
|
See automake bug#13514.
|
|
|
|
- Analysis of make flags in Automake-generated rules has been made more
|
|
robust, and more future-proof. For example, in presence of make that
|
|
(like '-I') take an argument, the characters in said argument will no
|
|
longer be spuriously considered as a set of additional make options.
|
|
In particular, automake-generated rules will no longer spuriously
|
|
believe to be running in dry mode ("make -n") if run with an invocation
|
|
like "make -I noob"; nor will they believe to be running in keep-going
|
|
mode ("make -k") if run with an invocation like "make -I kool"
|
|
(automake bug#12554).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.13.1 (2013-01-01):
|
|
|
|
* Bugs fixed:
|
|
|
|
- Use of the obsolete macros AM_CONFIG_HEADER or AM_PROG_CC_STDC now
|
|
causes a clear and helpful error message, instead of obscure ones
|
|
(issue introduced in Automake 1.13).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.13 (2012-12-28):
|
|
|
|
* Bugs fixed:
|
|
|
|
- ylwrap renames properly header guards in generated header files
|
|
(*.h), instead of leaving Y_TAB_H.
|
|
|
|
- ylwrap now also converts header guards in implementation files
|
|
(*.c). Because ylwrap failed to rename properly #include in the
|
|
implementation files, current versions of Bison (e.g., 2.7)
|
|
duplicate the generated header file in the implementation file.
|
|
The header guard then protects the implementation file from
|
|
duplicate definitions from the header file.
|
|
|
|
* Version requirements:
|
|
|
|
- Autoconf 2.65 or greater is now required.
|
|
|
|
- The rules to build PDF and DVI output from Texinfo input now
|
|
require Texinfo 4.9 or later.
|
|
|
|
* Obsolete features:
|
|
|
|
- Support for the "Cygnus-style" trees (once enabled by the 'cygnus'
|
|
option) has been removed. See discussion about automake bug#11034
|
|
for more background: <https://debbugs.gnu.org/11034>.
|
|
|
|
- The deprecated aclocal option '--acdir' has been removed. You
|
|
should use the options '--automake-acdir' and '--system-acdir'
|
|
instead (which have been introduced in Automake 1.11.2).
|
|
|
|
- The following long-obsolete m4 macros have been removed:
|
|
|
|
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' have been removed.
|
|
|
|
- Use of the long-deprecated two- and three-arguments invocation forms
|
|
of the AM_INIT_AUTOMAKE is no longer documented. It's still supported
|
|
though (albeit with a warning in the 'obsolete' category), to cater
|
|
for people who want to define the version number for their package
|
|
dynamically (e.g., from the current VCS revision). We'll have to
|
|
continue this support until Autoconf itself is fixed to allow better
|
|
support for such dynamic version numbers.
|
|
|
|
* Elisp byte-compilation:
|
|
|
|
- The byte compilation of '.el' files into '.elc' files is now done
|
|
with a suffix rule. This has simplified the compilation process, and
|
|
more importantly made it less brittle. The downside is that emacs is
|
|
now invoked once for each '.el' files, which cause some noticeable
|
|
slowdowns. These should however be mitigated on multicore machines
|
|
(which are becoming the norm today) if concurrent make ("make -j")
|
|
is used.
|
|
|
|
- Elisp files placed in a subdirectory are now byte-compiled to '.elc'
|
|
files in the same subdirectory; for example, byte-compiling of file
|
|
'sub/foo.el' file will result in 'sub/foo.elc' rather than in
|
|
'foo.elc'. This behavior is backward-incompatible with older
|
|
Automake versions, but it is more natural and more sane. See also
|
|
automake bug#7441.
|
|
|
|
- The Emacs invocation performing byte-compilation of '.el' files honors
|
|
the $(AM_ELCFLAGS) and $(ELCFLAGS) variables; as typical, the former
|
|
one is developer-reserved and the latter one user-reserved.
|
|
|
|
- The 'elisp-comp' script, once provided by Automake, has been rendered
|
|
obsoleted by the just-described changes, and thus removed.
|
|
|
|
* Changes to Automake-generated testsuite harnesses:
|
|
|
|
- The parallel testsuite harness (previously only enabled by the
|
|
'parallel-tests' option) is the default one; the older serial
|
|
testsuite harness will still be available through the use of the
|
|
'serial-tests' option (introduced in Automake 1.12).
|
|
|
|
- The 'color-tests' option is now unconditionally activated by default.
|
|
In particular, this means that testsuite output is now colorized by
|
|
default if the attached terminal seems to support ANSI escapes, and
|
|
that the user can force output colorization by setting the variable
|
|
AM_COLOR_TESTS to "always". The 'color-tests' is still recognized
|
|
for backward-compatibility, although it's a handled as a no-op now.
|
|
|
|
* Silent rules support:
|
|
|
|
- Support for silent rules is now always active in Automake-generated
|
|
Makefiles. So, although the verbose output is still the default,
|
|
the user can now always use "./configure --enable-silent-rules" or
|
|
"make V=0" to enable quieter output in the package he's building.
|
|
|
|
- The 'silent-rules' option has now become a no-op, preserved for
|
|
backward-compatibility only. In particular, its use no longer
|
|
disables the warnings in the 'portability-recursive' category.
|
|
|
|
* Texinfo Support:
|
|
|
|
- The rules to build PDF and DVI files from Texinfo input now require
|
|
Texinfo 4.9 or later.
|
|
|
|
- The rules to build PDF and DVI files from Texinfo input now use the
|
|
'--build-dir' option, to keep the auxiliary files used by texi2dvi
|
|
and texi2pdf around without cluttering the build directory, and to
|
|
make it possible to run the "dvi" and "pdf" recipes in parallel.
|
|
|
|
* Automatic remake rules and 'missing' script:
|
|
|
|
- The 'missing' script no longer tries to update the timestamp of
|
|
out-of-date files that require a maintainer-specific tool to be
|
|
remade, in case the user lacks such a tool (or has a too-old version
|
|
of it). It just gives a useful warning, and in some cases also a
|
|
tip about how to obtain such a tool.
|
|
|
|
- The missing script has thus become useless as a (poor) way to work
|
|
around the sketched-timestamps issues that can happen for projects
|
|
that keep generated files committed in their VCS repository. Such
|
|
projects are now encouraged to write a custom "fix-timestamp.sh"
|
|
script to avoid such issues; a simple example is provided in the
|
|
"CVS and generated files" chapter of the automake manual.
|
|
|
|
* Recursive targets:
|
|
|
|
- The user can now define his own recursive targets that recurse
|
|
in the directories specified in $(SUBDIRS). This can be done by
|
|
specifying the name of such targets in invocations of the new
|
|
'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
|
|
|
|
* Tags:
|
|
|
|
- Any failure in the recipe of the "tags", "ctags", "cscope" or
|
|
"cscopelist" targets in a subdirectory is now propagated to the
|
|
top-level make invocation.
|
|
|
|
- Tags are correctly computed also for files in _SOURCES variables that
|
|
only list files with non-standard suffixes (see automake bug#12372).
|
|
|
|
* Improvements to aclocal and related rebuilds rules:
|
|
|
|
- Autoconf-provided macros AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS
|
|
are now traced by aclocal, and can be used to declare the local m4
|
|
include directories. Formerly, one had to specify it with an explicit
|
|
'-I' option to the 'aclocal' invocation.
|
|
|
|
- The special make variable ACLOCAL_AMFLAGS may be deprecated in
|
|
a future Automake major release.
|
|
|
|
* The depcomp script:
|
|
|
|
- Dropped support for libtool 1.4.
|
|
|
|
- Various internal refactorings. They should cause no visible change,
|
|
but the chance for regression is there anyway, so please report any
|
|
unexpected or suspicious behavior.
|
|
|
|
- Support for pre-8.0 versions of the Intel C Compiler has been dropped.
|
|
This should cause no problem, since icc 8.0 has been released in
|
|
December 2003 -- almost nine years ago.
|
|
|
|
- Support for tcc (the Tiny C Compiler) has been improved, and is now
|
|
handled through a dedicated 'tcc' mode.
|
|
|
|
* The ylwrap script:
|
|
|
|
- ylwrap generates header guards with a single '_' for series of non
|
|
alphabetic characters, instead of several. This is what Bison >=
|
|
2.5.1 does.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.12.6 (2012-12-15):
|
|
|
|
* Python-related bugs:
|
|
|
|
- The default installation location for python modules has been improved
|
|
for Python 3 on Debian and Ubuntu systems, changing from:
|
|
|
|
${prefix}/lib/python3/dist-packages
|
|
|
|
to
|
|
|
|
${prefix}/lib/python3.x/site-packages
|
|
|
|
This change should ensure modules installed using the default ${prefix}
|
|
"/usr/local" are found by default by system python 3.x installations.
|
|
See automake bug#10227.
|
|
|
|
- Python byte-compilation supports the new layout mandated by PEP-3147,
|
|
with its __pycache__ directory (automake bug#8847).
|
|
|
|
* Build system issues:
|
|
|
|
- The maintainer rebuild rules for Makefiles and aclocal.m4 in
|
|
Automake's own build system works correctly again (bug introduced
|
|
in Automake 1.12.5).
|
|
|
|
* Testsuite issues:
|
|
|
|
- The Vala-related tests has been changed to adjust to the removal of
|
|
the 'posix' profile in the valac compiler. See automake bug#12934
|
|
a.k.a. bug#12522.
|
|
|
|
- Some spurious testsuite failures related to older tools and systems
|
|
have been fixed.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12.5 (2012-11-17):
|
|
|
|
* Vala support:
|
|
|
|
- The AM_PROG_VALAC macro has been enhanced to takes two further
|
|
optional arguments; it's signature now being
|
|
|
|
AM_PROG_VALAC([MINIMUM-VERSION], [ACTION-IF-FOUND],
|
|
[ACTION-IF-NOT-FOUND])
|
|
|
|
- By default, AM_PROG_VALAC no longer aborts the configure invocation
|
|
if the Vala compiler found is too old, but simply prints a warning
|
|
messages (as it did when the Vala compiler was not found). This
|
|
should avoid unnecessary difficulties for end users that just want
|
|
to compile the unmodified, distributed Vala-generated C sources,
|
|
but happens to have an old Vala compiler in their PATH. This fixes
|
|
automake bug#12688.
|
|
|
|
- If no proper Vala compiler is found at configure runtime, AM_PROG_VALAC
|
|
will set the AC_SUBST'd variable 'VALAC' to 'valac' rather than to ':'.
|
|
This is a better default, because with it a triggered makefile rule
|
|
invoking a Vala compilation will clearly fail with an informative error
|
|
message like "valac: command not found", rather than silently, with
|
|
the error possibly going unnoticed or triggering harder-to-diagnose
|
|
fallout failures in later steps.
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- automake and aclocal no longer honors the 'perllibdir' environment
|
|
variable. That had always been intended only as an hack required in
|
|
the testsuite, not meant for any use beyond that.
|
|
|
|
Bugs fixed in 1.12.5:
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Automake no longer generates spurious remake rules invoking autoheader
|
|
to regenerate the template corresponding to header files specified after
|
|
the first one in AC_CONFIG_HEADERS (automake bug#12495).
|
|
|
|
- When wrapping Microsoft tools, the 'compile' script falls back to
|
|
finding classic 'libname.a' style libraries when 'name.lib' and
|
|
'name.dll.lib' aren't available.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12.4 (2012-09-18):
|
|
|
|
* Warnings and deprecations:
|
|
|
|
- Warnings in the 'obsolete' category are enabled by default both in
|
|
automake and aclocal.
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- Some testsuite weaknesses and spurious failures have been fixed.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12.3:
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- The '.m4' files provided by Automake no longer define serial numbers.
|
|
This should cause no difference in the behavior of aclocal though.
|
|
|
|
- Some testsuite weaknesses and spurious failures have been fixed.
|
|
|
|
- There is initial support for automatic dependency tracking with the
|
|
Portland Group C/C++ compilers, thanks to the new new depmode 'pgcc'.
|
|
|
|
Bugs fixed in 1.12.3:
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Instead of renaming only self-references of files (typically for
|
|
#lines), ylwrap now also renames references to the other generated
|
|
files. This fixes support for GLR and C++ parsers from Bison (PR
|
|
automake/491 and automake bug#7648): 'parser.c' now properly
|
|
#includes 'parser.h' instead of 'y.tab.h'.
|
|
|
|
- Generated files unknown to ylwrap are now preserved. This fixes
|
|
C++ support for Bison (automake bug#7648): location.hh and the
|
|
like are no longer discarded.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12.2 (2012-07-09):
|
|
|
|
* Warnings and deprecations:
|
|
|
|
- Automake now issues a warning (in the 'portability' category) if
|
|
'configure.in' is used instead of 'configure.ac' as the Autoconf
|
|
input file. Such a warning will also be present in the next
|
|
Autoconf version (2.70).
|
|
|
|
* Cleaning rules:
|
|
|
|
- Recursive cleaning rules descends into the $(SUBDIRS) in the natural
|
|
order (as done by the other recursive rules), rather than in the
|
|
inverse order. They used to do that in order to work a round a
|
|
limitation in an older implementation of the automatic dependency
|
|
tracking support, but that limitation had been lifted years ago
|
|
already, when the automatic dependency tracking based on side-effects
|
|
of compilation had been introduced.
|
|
|
|
- Cleaning rules for compiled objects (both "plain" and libtool) work
|
|
better when subdir objects are involved, not triggering a distinct
|
|
'rm' invocation for each such object. They do so by removing *any*
|
|
compiled object file that is in the same directory of a subdir
|
|
object. See automake bug#10697.
|
|
|
|
* Silent rules support:
|
|
|
|
- A new predefined $(AM_V_P) make variable is provided; it expands
|
|
to a shell conditional that can be used in recipes to know whether
|
|
make is being run in silent or verbose mode.
|
|
|
|
Bugs fixed in 1.12.2:
|
|
|
|
* SECURITY VULNERABILITIES!
|
|
|
|
- The 'distcheck' recipe no longer grants temporary world-write
|
|
permissions on the extracted distdir. Even if such rights were
|
|
only granted for a vanishingly small time window, the implied
|
|
race condition proved to be enough to allow a local attacker
|
|
to run arbitrary code with the privileges of the user running
|
|
"make distcheck". This is CVE-2012-3386.
|
|
|
|
* Long-standing bugs:
|
|
|
|
- The "recheck" targets behaves better in the face of build failures
|
|
related to previously failed tests. For example, if a test is a
|
|
compiled program that must be rerun by "make recheck", and its
|
|
compilation fails, it will still be rerun by further "make recheck"
|
|
invocations. See automake bug#11791.
|
|
|
|
* Bugs introduced by 1.12.1:
|
|
|
|
- Automake provides once again the '$(mkdir_p)' make variable and the
|
|
'@mkdir_p@' substitution (both as simple aliases for '$(MKDIR_P)'),
|
|
for better backward-compatibility.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12.1 (2012-06-01):
|
|
|
|
* New supported languages:
|
|
|
|
- Support for Objective C++ has been added; it should work similarly to
|
|
the support for Objective C.
|
|
|
|
* Deprecated obsolescent features:
|
|
|
|
- Use of the long-deprecated two- and three-arguments invocation forms
|
|
of the AM_INIT_AUTOMAKE macro now elicits a warning in the 'obsolete'
|
|
category. Starting from some future major Automake release (likely
|
|
post-1.13), such usages will no longer be allowed.
|
|
|
|
- Support for the "Cygnus-style" trees (enabled by the 'cygnus' option) is
|
|
now deprecated (its use triggers a warning in the 'obsolete' category).
|
|
It will be removed in the next major Automake release (1.13).
|
|
|
|
- The long-obsolete (since 1.10) automake-provided $(mkdir_p) make
|
|
variable, @mkdir_p@ configure-time substitution and AM_PROG_MKDIR
|
|
m4 macro are deprecated, eliciting a warning in the 'obsolete'
|
|
category.
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- The Automake test cases now require a proper POSIX-conforming shell.
|
|
Older non-POSIX Bourne shells (like Solaris 10 /bin/sh) will no longer
|
|
be accepted. In most cases, the user shouldn't have to specify such
|
|
POSIX shell explicitly, since it will be looked up at configure time.
|
|
Still, when this lookup fails, or when the user wants to override its
|
|
conclusion, the variable 'AM_TEST_RUNNER_SHELL' can be used (pointing
|
|
to the shell that will be used to run the Automake test cases).
|
|
|
|
Bugs fixed in 1.12.1:
|
|
|
|
* Bugs introduced by 1.12:
|
|
|
|
- Several weaknesses in Automake's own build system and test suite
|
|
have been fixed.
|
|
|
|
* Bugs introduced by 1.11.3:
|
|
|
|
- When given non-option arguments, aclocal rejects them, instead of
|
|
silently ignoring them.
|
|
|
|
* Long-standing bugs:
|
|
|
|
- When the 'color-tests' option is in use, forcing of colored testsuite
|
|
output through "AM_COLOR_TESTS=always" works even if the terminal is
|
|
a non-ANSI one, i.e., if the TERM environment variable has a value of
|
|
"dumb".
|
|
|
|
- Several inefficiencies and poor performances in the implementation
|
|
of the parallel-tests 'check' and 'recheck' targets have been fixed.
|
|
|
|
- The post-processing of output "#line" directives done the ylwrap
|
|
script is more faithful w.r.t. files in a subdirectory; for example,
|
|
if the processed file is "src/grammar.y", ylwrap will correctly
|
|
produce directives like:
|
|
#line 7 "src/grammar.y"
|
|
rather than like
|
|
#line 7 "grammar.y"
|
|
as it did before.
|
|
|
|
* Bugs with new Perl versions:
|
|
|
|
- Aclocal works correctly with perl 5.16.0 (automake bug#11543).
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.12 (2012-04-25):
|
|
|
|
* Obsolete features removed:
|
|
|
|
- The never documented nor truly used script 'acinstall' has been
|
|
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.
|
|
|
|
- The 'recheck' target (provided by the parallel testsuite harness) now
|
|
depends on the 'all' target. This allows for a better user-experience
|
|
in test-driven development. See automake bug#11252.
|
|
|
|
- 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
|
|
no longer be used 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
|
|
|
|
OTOH, this is no longer a valid usage:
|
|
|
|
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_perl_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 modeled 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'.
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- The AM_PROG_VALAC macro now causes configure to exit with status 77,
|
|
rather than 1, if the vala compiler found is too old.
|
|
|
|
- The build system of Automake itself now avoids the use of make
|
|
recursion as much as possible.
|
|
|
|
- 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.
|
|
|
|
- Automake has a new option '--print-libdir' that prints the path of the
|
|
directory containing the Automake-provided scripts and data files.
|
|
|
|
- The 'dist' and 'dist-all' targets now can run compressors in parallel.
|
|
|
|
- The rules to create pdf, dvi and ps output from Texinfo files now
|
|
works better with modern 'texi2dvi' script, by explicitly passing
|
|
it the '--clean' option to ensure stray auxiliary files are not
|
|
left to clutter the build directory.
|
|
|
|
- Automake can now generate silenced rules for texinfo outputs.
|
|
|
|
- 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.
|
|
|
|
- Messages of types warning or error from 'automake' and 'aclocal'
|
|
are now prefixed with the respective type, and presence of -Werror
|
|
is noted.
|
|
|
|
- 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 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.12:
|
|
|
|
- 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 no longer fails
|
|
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.
|
|
|
|
- Vala-related cleanup rules are now more complete, and work better in
|
|
a VPATH setup.
|
|
|
|
- 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.6 (2012-07-09): (unknown)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.11.5 (2012-04-13):
|
|
|
|
* Bugs introduced by 1.11.3:
|
|
|
|
- Vala files with '.vapi' extension are now recognized and handled
|
|
correctly again. See automake bug#11222.
|
|
|
|
- Vala support work again for projects that contain some program
|
|
built from '.vala' (and possibly '.c') sources and some other
|
|
program built from '.c' sources *only*. See automake bug#11229.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.11.4 (2012-04-02):
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- 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.
|
|
|
|
- There is an initial, experimental support for automatic dependency
|
|
tracking with tcc (the Tiny C Compiler). Its associated depmode is
|
|
currently recognized as "icc" (but this and other details are likely
|
|
to change in future versions).
|
|
|
|
- Automatic dependency tracking now works also with the IBM XL C/C++
|
|
compilers, thanks to the new new depmode 'xlc'.
|
|
|
|
Bugs fixed in 1.11.4:
|
|
|
|
* Bugs introduced by 1.11.2:
|
|
|
|
- A definition of 'noinst_PYTHON' before 'python_PYTHON' (or similar)
|
|
no longer cause spurious failures upon "make install".
|
|
|
|
- The user can now instruct the 'uninstall-info' rule not to update
|
|
the '${infodir}/dir' file by exporting the environment variable
|
|
'AM_UPDATE_INFO_DIR' to the value "no". This is done for consistency
|
|
with how the 'install-info' rule operates since automake 1.11.2.
|
|
|
|
* 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.
|
|
|
|
- If "aclocal --install" is used, and the first directory specified with
|
|
'-I' is non-existent, aclocal will now create it before trying to copy
|
|
files in it.
|
|
|
|
- An empty declaration of a "foo_PRIMARY" no longer cause the generated
|
|
install rules to create an empty $(foodir) directory; for example, if
|
|
Makefile.am contains something like:
|
|
|
|
pkglibexec_SCRIPTS =
|
|
if FALSE
|
|
pkglibexec_SCRIPTS += bar.sh
|
|
endif
|
|
|
|
the $(pkglibexec) directory will not be created upon "make install".
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.11.3 (2012-02-01):
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- Automake's own build system is more silent by default, making use of
|
|
the 'silent-rules' option.
|
|
|
|
- The master copy of the 'gnupload' script is now maintained in gnulib,
|
|
not in automake.
|
|
|
|
- The 'missing' script no longer tries to wrap calls to 'tar'.
|
|
|
|
- "make dist" no longer wraps 'tar' invocations with the 'missing'
|
|
script. Similarly, the obsolescent variable '$(AMTAR)' (which you
|
|
shouldn't be using BTW ;-) no longer invokes the 'missing' script
|
|
to wrap tar, but simply invokes the 'tar' program itself.
|
|
The TAR environment variable overrides.
|
|
|
|
- "make dist" can now create lzip-compressed tarballs.
|
|
|
|
- In the Automake info documentation, the Top node and the nodes about
|
|
the invocation of the automake and aclocal programs have been renamed;
|
|
now, calling "info automake" will open the Top node, while calling
|
|
"info automake-invocation" and "info aclocal-invocation" will access
|
|
the nodes about the invocation of respectively automake and aclocal.
|
|
|
|
- Automake is now distributed as a gzip-compressed and an xz-compressed
|
|
tarball. Previously, bzip2 was used instead of xz.
|
|
|
|
- The last relics of Python 1.5 support have been removed from the
|
|
AM_PATH_PYTHON macro.
|
|
|
|
- For programs and libraries, automake now detects 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.
|
|
|
|
Bugs fixed in 1.11.3:
|
|
|
|
* Bugs introduced by 1.11.2:
|
|
|
|
- Automake now correctly recognizes the prefix/primary combination
|
|
'pkglibexec_SCRIPTS' as valid.
|
|
|
|
- The parallel-tests harness no longer trips on sed implementations
|
|
with stricter limits on the length of input lines (problem seen at
|
|
least on Solaris 8).
|
|
|
|
* Long-standing bugs:
|
|
|
|
- The "deleted header file problem" for *.am files is avoided by stub
|
|
rules. This allows 'make' to trigger a rerun of 'automake' also if
|
|
some previously needed '.am' file has been removed.
|
|
|
|
- The 'silent-rules' option now generates working makefiles even
|
|
for the uncommon 'make' implementations that do not support the
|
|
nested-variables extension to POSIX 2008. For such 'make'
|
|
implementations, whether a build is silent is determined at
|
|
configure time, and cannot be overridden at make time with
|
|
"make V=0" or "make V=1".
|
|
|
|
- Vala support now works better in VPATH setups.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.11.2 (2011-12-22):
|
|
|
|
* Changes to aclocal:
|
|
|
|
- The `--acdir' option is deprecated. Now you should use the new options
|
|
`--automake-acdir' and `--system-acdir' instead.
|
|
|
|
- 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).
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- The Automake support for automatic de-ANSI-fication has been
|
|
deprecated. It will probably be removed in the next major Automake
|
|
release (1.12).
|
|
|
|
- The `lzma' compression scheme and associated automake option `dist-lzma'
|
|
is obsoleted by `xz' and `dist-xz' due to upstream changes.
|
|
|
|
- You may adjust the compression options used in dist-xz and dist-bzip2.
|
|
The default is now merely -e for xz, but still -9 for bzip; you may
|
|
specify a different level via the XZ_OPT and BZIP2 envvars respectively.
|
|
E.g., "make dist-xz XZ_OPT=-7" or "make dist-bzip2 BZIP2=-5"
|
|
|
|
- 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 is advised to, do so by defining
|
|
the developer-reserved makefile variable AM_DISTCHECK_CONFIGURE_FLAGS,
|
|
instead of the old DISTCHECK_CONFIGURE_FLAGS.
|
|
The DISTCHECK_CONFIGURE_FLAGS variable should now be reserved for the
|
|
user; still, the old Makefile.am files that used to define it will
|
|
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 selected archiver is Microsoft lib.
|
|
This new macro is required for LIBRARIES and LTLIBRARIES when automake
|
|
is run with -Wextra-portability 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)'.
|
|
|
|
- The `install-info' rule can now be instructed not to create/update
|
|
the `${infodir}/dir' file, by exporting the new environment variable
|
|
`AM_UPDATE_INFO_DIR' to the value "no".
|
|
|
|
Bugs fixed in 1.11.2:
|
|
|
|
* Bugs introduced by 1.11:
|
|
|
|
- The parallel-tests driver no longer produces erroneous results with
|
|
Tru64/OSF 5.1 sh upon unreadable log files.
|
|
|
|
- The `parallel-tests' test driver does not report spurious successes
|
|
when used with concurrent FreeBSD make (e.g., "make check -j3").
|
|
|
|
- When the parallel-tests driver is in use, automake now explicitly
|
|
rejects invalid entries and conditional contents in TEST_EXTENSIONS,
|
|
instead of issuing confusing and apparently unrelated error messages
|
|
(e.g., "non-POSIX variable name", "bad characters in variable name",
|
|
or "redefinition of TEST_EXTENSIONS), or even, in some situations,
|
|
silently producing broken `Makefile.in' files.
|
|
|
|
- The `silent-rules' option now truly silences all compile rules, even
|
|
when dependency tracking is disabled. Also, when `silent-rules' is
|
|
not used, `make' output no longer contains spurious backslash-only
|
|
lines, thus once again matching what Automake did before 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:
|
|
|
|
- The order of Yacc and Lex flags is fixed to be consistent with other
|
|
languages: $(AM_YFLAGS) comes before $(YFLAGS), and $(AM_LFLAGS) before
|
|
$(LFLAGS), so that the user variables override the developer variables.
|
|
|
|
- "make distcheck" now correctly complains also when "make uninstall"
|
|
leaves one and only one file installed in $(prefix).
|
|
|
|
- A "make uninstall" issued before a "make install", or after a mere
|
|
"make install-data" or a mere "make install-exec" does not spuriously
|
|
fail anymore.
|
|
|
|
- Automake now warns about more primary/directory invalid combinations,
|
|
such as "doc_LIBRARIES" or "pkglib_PROGRAMS".
|
|
|
|
- Rules generated by Automake now try harder to not change any files when
|
|
`make -n' is invoked. Fixes include compilation of Emacs Lisp, Vala, or
|
|
Yacc source files and the rule to update config.h.
|
|
|
|
- Several scripts and the parallel-tests testsuite driver now exit with
|
|
the right exit status upon receiving a signal.
|
|
|
|
- A per-Makefile.am setting of -Werror does not erroneously carry over
|
|
to the handling of other Makefile.am files.
|
|
|
|
- The code for automatic dependency tracking works around a Solaris
|
|
make bug triggered by sources containing repeated slashes when the
|
|
`subdir-objects' option was used.
|
|
|
|
- The makedepend and hp depmodes now work better with VPATH builds.
|
|
|
|
- Java sources specified with check_JAVA are no longer compiled for
|
|
"make all", but only for "make check".
|
|
|
|
- An usage like "java_JAVA = foo.java" will now cause Automake to warn
|
|
and error out if `javadir' is undefined, instead of silently producing
|
|
a broken Makefile.in.
|
|
|
|
- aclocal and automake now honor the configure-time definitions of
|
|
AUTOCONF and AUTOM4TE when they spawn autoconf or autom4te processes.
|
|
|
|
- The `install-info' recipe no longer tries to guess whether the
|
|
`install-info' program is from Debian or from GNU, and adaptively
|
|
change its behavior; this has proven to be frail and easy to
|
|
regress.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.11.1 (2009-12-08):
|
|
|
|
- Lots of minor bugfixes.
|
|
|
|
* Bugs introduced by 1.11:
|
|
|
|
- The `parallel-tests' test driver works around a GNU make 3.80 bug with
|
|
trailing white space in the test list (`TESTS = foo $(EMPTY)').
|
|
|
|
* Long standing bugs:
|
|
|
|
- On Darwin 9, `pythondir' and `pyexecdir' pointed below `/Library/Python'
|
|
even if the `--prefix' argument pointed outside of a system directory.
|
|
AM_PATH_PYTHON has been fixed to ignore the value returned from python's
|
|
`get_python_lib' function if it points outside the configured prefix,
|
|
unless the `--prefix' argument was either `/usr' or below `/System'.
|
|
|
|
- The testsuite does not try to change the mode of `ltmain.sh' files from
|
|
a Libtool installation (symlinked to test directories) any more.
|
|
|
|
- AM_PROG_GCJ uses AC_CHECK_TOOLS to look for `gcj' now, so that prefixed
|
|
tools are preferred in a cross-compile setup.
|
|
|
|
- The distribution is tarred up with mode 755 now by the `dist*' targets.
|
|
This fixes a race condition where untrusted users could modify files
|
|
in the $(PACKAGE)-$(VERSION) distdir before packing if the toplevel
|
|
build directory was world-searchable. This is CVE-2009-4029.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.11 (2009-05-17):
|
|
|
|
* Version requirements:
|
|
|
|
- Autoconf 2.62 or greater is required.
|
|
|
|
* Changes to aclocal:
|
|
|
|
- The autoconf version check implemented by aclocal in aclocal.m4
|
|
(and new in Automake 1.10) is degraded to a warning. This helps
|
|
in the common case where the Autoconf versions used are compatible.
|
|
|
|
* Changes to automake:
|
|
|
|
- The automake program can run multiple threads for creating most
|
|
Makefile.in files concurrently, if at least Perl 5.7.2 is available
|
|
with interpreter-based threads enabled. Set the environment variable
|
|
AUTOMAKE_JOBS to the maximum number of threads to use, in order to
|
|
enable this experimental feature.
|
|
|
|
* Changes to Libtool support:
|
|
|
|
- Libtool generic flags are now passed to the install and uninstall
|
|
modes as well.
|
|
|
|
- distcheck works with Libtool 2.x even when LT_OUTPUT is used, as
|
|
config.lt is removed correctly now.
|
|
|
|
* Languages changes:
|
|
|
|
- subdir-object mode works now with Fortran (F77, FC, preprocessed
|
|
Fortran, and Ratfor).
|
|
|
|
- For files with extension .f90, .f95, .f03, or .f08, the flag
|
|
$(FCFLAGS_f[09]x) computed by AC_FC_SRCEXT is now used in compile rules.
|
|
|
|
- Files with extension .sx are also treated as preprocessed assembler.
|
|
|
|
- The default source file extension (.c) can be overridden with
|
|
AM_DEFAULT_SOURCE_EXT now.
|
|
|
|
- Python 3.0 is supported now, Python releases prior to 2.0 are no
|
|
longer supported.
|
|
|
|
- AM_PATH_PYTHON honors python's idea about the site directory.
|
|
|
|
- There is initial support for the Vala programming language, when using
|
|
Vala 0.7.0 or later.
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- Automake development is done in a git repository on Savannah now, see
|
|
|
|
https://git.sv.gnu.org/gitweb/?p=automake.git
|
|
|
|
A read-only CVS mirror is provided at
|
|
|
|
cvs -d :pserver:anonymous@pserver.git.sv.gnu.org:/automake.git \
|
|
checkout -d automake HEAD
|
|
|
|
- "make dist" can now create xz-compressed tarballs,
|
|
as well as (deprecated?) lzma-compressed tarballs.
|
|
|
|
- `automake --add-missing' will by default install the GPLv3 file as
|
|
COPYING if it is missing. It will also warn that the license file
|
|
should be added to source control. Note that Automake will never
|
|
overwrite an existing COPYING file, even when the `--force-missing'
|
|
option is used.
|
|
|
|
- The manual is now distributed under the terms of the GNU FDL 1.3.
|
|
|
|
- Automake ships and installs man pages for automake and aclocal now.
|
|
|
|
- New shorthand `$(pkglibexecdir)' for `$(libexecdir)/@PACKAGE@'.
|
|
|
|
- install-sh supports -C, which does not update the installed file
|
|
(and its time stamps) if the contents did not change.
|
|
|
|
- The `gnupload' script has been revamped.
|
|
|
|
- The `depcomp' and `compile' scripts now work with MSVC under MSYS.
|
|
|
|
- The targets `install' and `uninstall' are more efficient now, in that
|
|
for example multiple files from one Automake variable such as
|
|
`bin_SCRIPTS' are copied in one `install' (or `libtool --mode=install')
|
|
invocation if they do not have to be renamed.
|
|
|
|
Both install and uninstall may sometimes enter (`cd' into) the target
|
|
installation directory now, when no build-local scripts are used.
|
|
|
|
Both install and uninstall do not fail anymore but do nothing if an
|
|
installation directory variable like `bindir' is set to the empty string.
|
|
|
|
For built-in rules, `make install' now fails reliably if installation
|
|
of a file failed. Conversely, `make uninstall' even succeeds when
|
|
issued multiple times.
|
|
|
|
These changes may need some adjustments from users: For example,
|
|
some `install' programs refuse to install multiple copies of the
|
|
same file in one invocation, so you may need to remove duplicate
|
|
entries from file lists.
|
|
|
|
Also, within one set of files, say, nobase_data_DATA, the order of
|
|
installation may be changed, or even unstable among different hosts,
|
|
due to the use of associative arrays in awk. The increased use of
|
|
awk matches a similar move in Autoconf to provide for better scaling.
|
|
|
|
Further, most undocumented per-rule install command variables such as
|
|
binSCRIPT_INSTALL have been removed because they are not needed any
|
|
more. Packages which use them should be using the appropriate one of
|
|
INSTALL_{DATA,PROGRAM,SCRIPT} or their install_sh_{DATA,PROGRAM,SCRIPT}
|
|
counterpart, depending on the type of files and the need for automatic
|
|
target directory creation.
|
|
|
|
- The "deleted header file problem" for *.m4 files is avoided by
|
|
stub rules. This allows `make' to trigger a rerun of `aclocal'
|
|
also if some previously needed macro file has been removed.
|
|
|
|
- Rebuild rules now also work for a removed `subdir/Makefile.in' in
|
|
an otherwise up to date tree.
|
|
|
|
- The `color-tests' option causes colored test result output on terminals.
|
|
|
|
- The `parallel-tests' option enables a new test driver that allows for
|
|
parallel test execution, inter-test dependencies, lazy test execution
|
|
for unit-testing, re-testing only failed tests, and formatted result output
|
|
as RST (reStructuredText) and HTML. Enabling this option may require some
|
|
changes to your test suite setup; see the manual for details.
|
|
|
|
- The `silent-rules' option enables Linux kernel-style silent build output.
|
|
This option requires the widely supported but non-POSIX `make' feature
|
|
of recursive variable expansion, so do not use it if your package needs
|
|
to build with `make' implementations that do not support it.
|
|
|
|
To enable less verbose build output, the developer has to use the Automake
|
|
option `silent-rules' in `AM_INIT_AUTOMAKE', or call the `AM_SILENT_RULES'
|
|
macro. The user may then set the default verbosity by passing the
|
|
`--enable-silent-rules' option to `configure'. At `make' run time, this
|
|
default may be overridden using `make V=0' for less verbose, and `make V=1'
|
|
for backward-compatible verbose output.
|
|
|
|
- New prefix `notrans_' for manpages which should not be transformed
|
|
by --program-transform.
|
|
|
|
- New macro AM_COND_IF for conditional evaluation and conditional
|
|
config files.
|
|
|
|
- For AC_CONFIG_LINKS, if source and destination are equal, do not
|
|
remove the file in a non-VPATH build. Such setups work with Autoconf
|
|
2.62 or newer.
|
|
|
|
- AM_MAINTAINER_MODE now allows for an optional argument specifying
|
|
the default setting.
|
|
|
|
- AM_SUBST_NOTMAKE may prevent substitution of AC_SUBSTed variables,
|
|
useful especially for multi-line values.
|
|
|
|
- Automake's early configure-time sanity check now diagnoses an
|
|
unsafe absolute source directory name and makes configure fail.
|
|
|
|
- The Automake macros and rules cope better with whitespace in the
|
|
current directory name, as long as the relative path to `configure'
|
|
does not contain whitespace. To this end, the values of `$(MISSING)'
|
|
and `$(install_sh)' may contain suitable quoting, and their expansion
|
|
might need `eval'uation if used outside of a makefile. These
|
|
undocumented variables may be used in several documented macros such
|
|
as $(AUTOCONF) or $(MAKEINFO).
|
|
|
|
Bugs fixed in 1.11:
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Fix aix dependency tracking for libtool objects.
|
|
|
|
- Work around AIX sh quoting issue in AC_PROG_CC_C_O, leading to
|
|
unnecessary use of the `compile' script.
|
|
|
|
- For nobase_*_LTLIBRARIES with nonempty directory components, the
|
|
correct `-rpath' argument is used now.
|
|
|
|
- `config.status --file=Makefile depfiles' now also works with the
|
|
extra quoting used internally by Autoconf 2.62 and newer
|
|
(it used to work only without the `--file=' bit).
|
|
|
|
- The `missing' script works better with versioned tool names.
|
|
|
|
- Semantics for `missing help2man' have been revamped:
|
|
|
|
Previously, if `help2man' was not present, `missing help2man' would have
|
|
the following semantics: if some man page was out of date but present, then
|
|
a warning would be printed, but the exit status was 0. If the man page was
|
|
not present at all, then `missing' would create a replacement man page
|
|
containing an error message, and exit with a status of 2. This does not play
|
|
well with `make': the next run will see this particular man page as being up
|
|
to date, and will only error out on the next generated man page, if any;
|
|
repeat until all pages are done. This was not desirable.
|
|
|
|
These are the new semantics: if some man page is not present, and help2man
|
|
is not either, then `missing' will warn and generate the replacement page
|
|
containing the error message, but exit successfully. However, `make dist'
|
|
will ensure that no such bogus man pages are packaged into a tarball.
|
|
|
|
- Targets provided by automake behave better with `make -n', in that they
|
|
take care not to create files.
|
|
|
|
- `config.status Makefile... depfiles' works fine again in the presence of
|
|
disabled dependency tracking.
|
|
|
|
- The default no-op recursive rules for these targets also work with BSD make
|
|
now: html, install-html, install-dvi, install-pdf, install-pdf, install-info.
|
|
|
|
- `make distcheck' works also when both a directory and some file below it
|
|
have been added to a distribution variable, such as EXTRA_DIST or *_SOURCES.
|
|
|
|
- Texinfo dvi, ps, pdf, and html output files are not removed upon
|
|
`make mostlyclean' any more; only the LaTeX by-products are.
|
|
|
|
- Renamed objects also work with the `subdir-objects' option and
|
|
source file languages which Automake does not know itself.
|
|
|
|
- `automake' now correctly complains about variable assignments which are
|
|
preceded by a comment, extend over multiple lines with backslash-escaped
|
|
newlines, and end in a comment sign. Previous versions would silently
|
|
and wrongly ignore such assignments completely.
|
|
|
|
* Bugs introduced by 1.10:
|
|
|
|
- Fix output of dummy dependency files in presence of post-processed
|
|
Makefile.in's again, but also cope with long lines.
|
|
|
|
- $(EXEEXT) is automatically appended to filenames of XFAIL_TESTS
|
|
that have been declared as programs in the same Makefile.
|
|
This is for consistency with the analogous change to TESTS in 1.10.
|
|
|
|
- Fix order of standard includes to again be `-I. -I$(srcdir)',
|
|
followed by directories containing config headers.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.10 (2006-10-15):
|
|
|
|
* Version requirements:
|
|
|
|
- Autoconf 2.60 or greater is required.
|
|
|
|
- Perl 5.6 or greater is required.
|
|
|
|
* Changes to aclocal:
|
|
|
|
- aclocal now also supports -Wmumble and -Wno-mumble options.
|
|
|
|
- `dirlist' entries (for the aclocal search path) may use shell
|
|
wildcards such as `*', `?', or `[...]'.
|
|
|
|
- aclocal supports an --install option that will cause system-wide
|
|
third-party macros to be installed in the local directory
|
|
specified with the first -I flag. This option also uses #serial
|
|
lines in M4 files to upgrade local macros.
|
|
|
|
The new aclocal options --dry-run and --diff help to review changes
|
|
before they are installed.
|
|
|
|
- aclocal now outputs an autoconf version check in aclocal.m4 in
|
|
projects using automake.
|
|
|
|
For a few years, automake and aclocal have been calling autoconf
|
|
(or its underlying engine autom4te) to accurately retrieve the
|
|
data they need from configure.ac and its siblings. Doing so can
|
|
only work if all autotools use the same version of autoconf. For
|
|
instance a Makefile.in generated by automake for one version of
|
|
autoconf may stop working if configure is regenerated with another
|
|
version of autoconf, and vice versa.
|
|
|
|
This new version check ensures that the whole build system has
|
|
been generated using the same autoconf version.
|
|
|
|
* Support for new Autoconf macros:
|
|
|
|
- The new AC_REQUIRE_AUX_FILE Autoconf macro is supported.
|
|
|
|
- If `subdir-objects' is set, and AC_CONFIG_LIBOBJ_DIR is specified,
|
|
$(LIBOBJS), $(LTLIBOBJS), $(ALLOCA), and $(LTALLOCA) can be used
|
|
in different directories. However, only one instance of such a
|
|
library objects directory is supported.
|
|
|
|
* Change to Libtool support:
|
|
|
|
- Libtool generic flags (those that go before the --mode=MODE option)
|
|
can be specified using AM_LIBTOOLFLAGS and target_LIBTOOLFLAGS.
|
|
|
|
* Yacc and Lex changes:
|
|
|
|
- The rebuild rules for distributed Yacc and Lex output will avoid
|
|
overwriting existing files if AM_MAINTAINER_MODE and maintainer-mode
|
|
is not enabled.
|
|
|
|
- ylwrap is now always used for lex and yacc source files,
|
|
regardless of whether there is more than one source per directory.
|
|
|
|
* Languages changes:
|
|
|
|
- Preprocessed assembler (*.S) compilation now honors CPPFLAGS,
|
|
AM_CPPFLAGS and per-target _CPPFLAGS, and supports dependency
|
|
tracking, unlike non-preprocessed assembler (*.s).
|
|
|
|
- subdir-object mode works now with Assembler. Automake assumes
|
|
that the compiler understands `-c -o'.
|
|
|
|
- Preprocessed assembler (*.S) compilation now also honors
|
|
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES).
|
|
|
|
- Improved support for Objective C:
|
|
- Autoconf's new AC_PROG_OBJC will enable automatic dependency tracking.
|
|
- A new section of the manual documents the support.
|
|
|
|
- New support for Unified Parallel C:
|
|
- AM_PROG_UPC looks for a UPC compiler.
|
|
- A new section of the manual documents the support.
|
|
|
|
- Per-target flags are now correctly handled in link rules.
|
|
|
|
For instance maude_CFLAGS correctly overrides AM_CFLAGS; likewise
|
|
for maude_LDFLAGS and AM_LDFLAGS. Previous versions bogusly
|
|
preferred AM_CFLAGS over maude_CFLAGS while linking, and they
|
|
used both AM_LDFLAGS and maude_LDFLAGS on the same link command.
|
|
|
|
The fix for compiler flags (i.e., using maude_CFLAGS instead of
|
|
AM_CFLAGS) should not hurt any package since that is how _CFLAGS
|
|
is expected to work (and actually works during compilation).
|
|
|
|
However using maude_LDFLAGS "instead of" AM_LDFLAGS rather than
|
|
"in addition to" breaks backward compatibility with older versions.
|
|
If your package used both variables, as in
|
|
|
|
AM_LDFLAGS = common flags
|
|
bin_PROGRAMS = a b c
|
|
a_LDFLAGS = more flags
|
|
...
|
|
|
|
and assumed *_LDFLAGS would sum up, you should rewrite it as
|
|
|
|
AM_LDFLAGS = common flags
|
|
bin_PROGRAMS = a b c
|
|
a_LDFLAGS = $(AM_LDFLAGS) more flags
|
|
...
|
|
|
|
This new behavior of *_LDFLAGS is more coherent with other
|
|
per-target variables, and the way *_LDFLAGS variables were
|
|
considered internally.
|
|
|
|
* New installation targets:
|
|
|
|
- New targets mandated by GNU Coding Standards:
|
|
install-dvi
|
|
install-html
|
|
install-ps
|
|
install-pdf
|
|
By default they will only install Texinfo manuals.
|
|
You can customize them with *-local variants:
|
|
install-dvi-local
|
|
install-html-local
|
|
install-ps-local
|
|
install-pdf-local
|
|
|
|
- The undocumented recursive target `uninstall-info' no longer exists.
|
|
(`uninstall' is in charge of removing all possible documentation
|
|
flavors, including optional formats such as dvi, ps, or info even
|
|
when `no-installinfo' is used.)
|
|
|
|
* Miscellaneous changes:
|
|
|
|
- Automake no longer complains if input files for AC_CONFIG_FILES
|
|
are specified using shell variables.
|
|
|
|
- clean, distribution, or rebuild rules are normally disabled for
|
|
inputs and outputs of AC_CONFIG_FILES, AC_CONFIG_HEADERS, and
|
|
AC_CONFIG_LINK specified using shell variables. However, if these
|
|
variables are used as ${VAR}, and AC_SUBSTed, then Automake will
|
|
be able to output rules anyway.
|
|
(See the Automake documentation for AC_CONFIG_FILES.)
|
|
|
|
- $(EXEEXT) is automatically appended to filenames of TESTS
|
|
that have been declared as programs in the same Makefile.
|
|
This is mostly useful when some check_PROGRAMS are listed in TESTS.
|
|
|
|
- `-Wportability' has finally been turned on by default for `gnu' and
|
|
`gnits' strictness. This means, automake will complain about %-rules
|
|
or $(GNU Make functions) unless you switch to `foreign' strictness or
|
|
use `-Wno-portability'.
|
|
|
|
- Automake now uses AC_PROG_MKDIR_P (new in Autoconf 2.60), and uses
|
|
$(MKDIR_P) instead of $(mkdir_p) to create directories. The
|
|
$(mkdir_p) variable is still defined (to the same value as
|
|
$(MKDIR_P)) but should be considered obsolete. If you are using
|
|
$(mkdir_p) in some of your rules, please plan to update them to
|
|
$(MKDIR_P) at some point.
|
|
|
|
- AM_C_PROTOTYPES and ansi2knr are now documented as being obsolete.
|
|
They still work in this release, but may be withdrawn in a future one.
|
|
|
|
- Inline compilation rules for gcc3-style dependency tracking are
|
|
more readable.
|
|
|
|
- Automake installs a "Hello World!" example package in $(docdir).
|
|
This example is used throughout the new "Autotools Introduction"
|
|
chapter of the manual.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.9 (2004-07-28):
|
|
|
|
* Makefile.in bloat reduction:
|
|
|
|
- Inference rules are used to compile sources in subdirectories when
|
|
the `subdir-objects' option is used and no per-target flags are
|
|
used. This should reduce the size of some projects a lot, because
|
|
Automake used to output an explicit rule for each such object in
|
|
the past.
|
|
|
|
- Automake no longer outputs three rules (.o, .obj, .lo) for each
|
|
object that must be built with explicit rules. It just outputs
|
|
the rules required to build the kind of object considered: either
|
|
the two .o and .obj rules for usual objects, or the .lo rule for
|
|
libtool objects.
|
|
|
|
* Change to Libtool support:
|
|
|
|
- Libtool tags are used with libtool versions that support them.
|
|
(I.e., with Libtool 1.5 or greater.)
|
|
|
|
- Automake is now able to handle setups where a libtool library is
|
|
conditionally installed in different directories, as in
|
|
|
|
if COND
|
|
lib_LTLIBRARIES = liba.la
|
|
else
|
|
pkglib_LTLIBRARIES = liba.la
|
|
endif
|
|
liba_la_SOURCES = ...
|
|
|
|
* Changes to aclocal:
|
|
|
|
- aclocal now ensures that AC_DEFUNs and AU_DEFUNs it discovers are
|
|
really evaluated, before it decides to include them in aclocal.m4.
|
|
This solves nasty problems with conditional redefinitions of
|
|
Autoconf macros in /usr/share/aclocal/*.m4 files causing extraneous
|
|
*.m4 files to be included in any project using these macros.
|
|
(Calls to AC_PROG_EGREP causing libtool.m4 to be included is the
|
|
most famous instance of this bug.)
|
|
|
|
- Do not complain about missing conditionally AC_REQUIREd macros
|
|
that are not actually used. In 1.8.x aclocal would correctly
|
|
determine which of these macros were really needed (and include
|
|
only these in the package); unfortunately it would also require
|
|
all of them to be present in order to run. This created
|
|
situations were aclocal would not work on a tarball distributing
|
|
all the macros it uses. For instance running aclocal on a project
|
|
containing only the subset of the Gettext macros in use by the
|
|
project did not work, because gettext conditionally requires other
|
|
macros.
|
|
|
|
* Portability improvements:
|
|
|
|
- Tar format can be chosen with the new options tar-v7, tar-ustar, and
|
|
tar-pax. The new option filename-length-max=99 helps diagnosing
|
|
filenames that are too long for tar-v7. (PR/414)
|
|
|
|
- Variables augmented with `+=' are now automatically flattened (i.e.,
|
|
trailing backslashes removed) and then wrapped around 80 columns
|
|
(adding trailing backslashes). In previous versions, a long series
|
|
of
|
|
VAR += value1
|
|
VAR += value2
|
|
VAR += value3
|
|
...
|
|
would result in a single-line definition of VAR that could possibly
|
|
exceed the maximum line length of some make implementations.
|
|
|
|
Non-augmented variables are still output as they are defined in
|
|
the Makefile.am.
|
|
|
|
* Miscellaneous:
|
|
|
|
- Support Fortran 90/95 with the new "fc" and "ppfc" languages.
|
|
Works the same as the old Fortran 77 implementation; just replace
|
|
F77 with FC everywhere (exception: FFLAGS becomes FCFLAGS).
|
|
Requires a version of autoconf which provides AC_PROG_FC (>=2.59).
|
|
|
|
- Support for conditional _LISP.
|
|
|
|
- Support for conditional -hook and -local rules (PR/428).
|
|
|
|
- Diagnose AC_CONFIG_AUX_DIR calls following AM_INIT_AUTOMAKE. (PR/49)
|
|
|
|
- Automake will not write any Makefile.ins after the first error it
|
|
encounters. The previous Makefile.ins (if any) will be left in
|
|
place. (Warnings will not prevent output, but remember they can
|
|
be turned into errors with -Werror.)
|
|
|
|
- The restriction that SUBDIRS must contain direct children is gone.
|
|
Do not abuse.
|
|
|
|
- The manual tells more about SUBDIRS vs. DIST_SUBDIRS.
|
|
It also gives an example of nested packages using AC_CONFIG_SUBDIRS.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.8.5 (2004-05-16):
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Define DIST_SUBDIRS even when the `no-dist' or `cygnus' options are used
|
|
so that `make distclean' and `make maintainer-clean' can work.
|
|
|
|
- Define AR and ARFLAGS even when only EXTRA_LIBRARIES are defined.
|
|
|
|
- Fix many rules to please FreeBSD make, which runs commands with `sh -e'.
|
|
|
|
- Polish diagnostic when no input file is found.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.8.4 (2004-04-25):
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Fix AM_PATH_PYTHON to correctly display $PYTHON when it has been
|
|
overridden by the user.
|
|
|
|
- Honor PATH_SEPARATOR in various places of the Automake package, for
|
|
the sake of OS/2.
|
|
|
|
- Adjust dependency tracking mode detection to ICC 8.0's new output.
|
|
(PR/416)
|
|
|
|
- Fix install-sh so it can install the `mv' binary... using `mv'.
|
|
|
|
- Fix tru64 dependency tracking for libtool objects.
|
|
|
|
- Work around Exuberant Ctags when creating a TAGS files in a directory
|
|
without files to scan but with subdirectories to include.
|
|
|
|
* Bugs introduced by 1.8:
|
|
|
|
- Fix an "internal error" when @LIBOBJS@ is used in a variable that is
|
|
not defined in the same conditions as the _LDADD that uses it.
|
|
|
|
- Do not warn when JAVAROOT is overridden, this is legitimate.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.8.3 (2008-03-07):
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Quote filenames in installation rules, in case $DESTDIR, $prefix,
|
|
or any of the other *dir variables contain a space.
|
|
|
|
Please note that Automake does not and cannot support spaces in
|
|
filenames that are involved during the build. This change affects
|
|
only installation paths, so that `make install' does not bomb out
|
|
in packages configured with
|
|
./configure --prefix '/c/Program Files'
|
|
|
|
- Fix the depfiles output so it works with GNU sed (<4.1) even when
|
|
POSIXLY_CORRECT is set.
|
|
|
|
- Do not AC_SUBST(LIBOBJS) in AM_WITH_REGEX. This macro was unusable
|
|
since Autoconf 2.54, which defines LIBOBJS itself.
|
|
|
|
- Fix a potential (but unlikely) race condition in parallel elisp
|
|
builds. (Introduced in 1.7.3.)
|
|
|
|
- Do not assume that users override _DEPENDENCIES in all conditions
|
|
where Automake will try to define them.
|
|
|
|
- Do not use `mkdir -p' in mkinstalldirs, unless this is GNU mkdir.
|
|
Solaris 8's `mkdir -p' is not thread-safe and can break parallel
|
|
builds.
|
|
|
|
This fix also affects the $(mkdir_p) variable defined since
|
|
Automake 1.8. It will be set to `mkdir -p' only if mkdir is GNU
|
|
mkdir, and to `mkinstalldirs' or `install-sh -d' otherwise.
|
|
|
|
- Secure temporary directory creation in `make distcheck'. (PR/413)
|
|
|
|
- Do not generate two build rules for `parser.h' when the
|
|
parser appears in two different conditionals.
|
|
|
|
- Work around a Solaris 8 /bin/sh bug in the test for dependency
|
|
checking. Usually ./configure will not pick this shell; so this
|
|
fix only helps cases where the shell is forced to /bin/sh.
|
|
|
|
* Bugs introduced by 1.8:
|
|
|
|
- In some situations (hand-written `m4_include's), aclocal would
|
|
call the `File::Spec->rel2abs' method, which was only introduced
|
|
in Perl 5.6. This new version reestablish support Perl 5.005.
|
|
|
|
It is likely that the next major Automake releases will require at
|
|
least Perl 5.6. Consider upgrading your development environment
|
|
if you are still using the five-year-old Perl 5.005.
|
|
|
|
- Automake would sometimes fail to define rules for targets listed
|
|
in variables defined in multiple conditions. For instance on
|
|
if C1
|
|
bin_PROGRAMS = a
|
|
else
|
|
bin_PROGRAMS = b
|
|
endif
|
|
it would define only the `a.$(OBJEXT): a.c' rule and omit the
|
|
`b.$(OBJEXT): b.c' rule.
|
|
|
|
* New sections in manual:
|
|
|
|
- Third-Party Makefiles: how to interface third party Makefiles.
|
|
- Upgrading: upgrading packages to newer Automake versions.
|
|
- Multiple Outputs: handling tools that produce many outputs.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bug fixed in 1.8.2 (2008-01-12):
|
|
|
|
* A (well known) portability bug slipped in the changes made to
|
|
install-sh in Automake 1.8.1. The broken install-sh would refuse to
|
|
install anything on Tru64.
|
|
|
|
* Fix install rules for conditionally built python files. (This never
|
|
really worked.)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bug fixed in 1.8.1 (2004-01-11):
|
|
|
|
* Bugs introduced by 1.8:
|
|
|
|
- Fix Config.pm import error with old Perl versions (at least
|
|
5.005_03). One symptom is that aclocal could not find its macro
|
|
directory.
|
|
|
|
- Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
|
|
created by `make install' are always world readable, even if the
|
|
installer happens to have an overly restrictive umask (e.g. 077).
|
|
This was a mistake and has been reverted. There are at least two
|
|
reasons why we must not use `-m 0755':
|
|
- it causes special bits like SGID to be ignored,
|
|
- it may be too restrictive (some setups expect 775 directories).
|
|
|
|
- Fix aclocal to honor definitions located in files which have been
|
|
m4_included manually. aclocal 1.8 had been updated to check
|
|
m4_included files for new requirements, but forgot that these
|
|
m4_included files can also provide new definitions.
|
|
|
|
Note that if you have such a setup, we recommend you get rid of
|
|
it. In the past, there was a reason to m4_include files manually:
|
|
aclocal used to duplicate entire M4 files into aclocal.m4, even
|
|
files that were distributed. Some packages were therefore
|
|
m4_including the distributed file directly, and playing some
|
|
tricks to ensure aclocal would not copy that file to aclocal.m4,
|
|
in order to limit the amount of duplication. Since aclocal 1.8.x
|
|
will precisely output m4_includes for local M4 files, we recommend
|
|
that you clean up your setup, removing all manual m4_includes and
|
|
letting aclocal output them.
|
|
|
|
- Output detailed menus in the Info version if the Automake manual,
|
|
so that Emacs can locate the indexes.
|
|
|
|
- configure.ac and configure were listed twice in DIST_COMMON (an
|
|
internal variable where Automake lists configury files to
|
|
distribute). This was harmless, but unaesthetic.
|
|
|
|
- Use `chmod a-w' instead of `chmod -w' as the latter honors umask.
|
|
This was an issue only in the Automake package itself, not in
|
|
its output.
|
|
|
|
- Automake assumed that all AC_CONFIG_LINKS arguments had the form
|
|
DEST:SRC. This was wrong, as some packages do
|
|
AC_CONFIG_LINKS($computedlinks). This version no longer abort in
|
|
that situation.
|
|
|
|
- Contrary to mkinstalldirs, $(mkdir_p) was expecting exactly one
|
|
argument. This caused two kinds of failures:
|
|
- Rules installing data in a conditionally defined directory
|
|
failed when that directory was undefined. In this case no
|
|
argument was supplied.
|
|
- `make installdirs' failed, because several directories were
|
|
passed to $(mkdir_p). This was an issue only on platform
|
|
were $(mkdir_p) is implemented with `install-sh -d'.
|
|
$(mkdir_p) as been changed to accept 0 or more arguments, as
|
|
mkinstalldirs did.
|
|
|
|
* Long-standing bugs:
|
|
|
|
- Fix an unexpected diagnostic occurring when users attempt
|
|
to override some internal variables that Automake appends to.
|
|
|
|
- aclocal now scans configure.ac for macro definitions (PR/319).
|
|
|
|
- Fix a portability issue with OSF1/Tru64 Make. If a directory
|
|
distributes files which are outside itself (this usually occurs
|
|
when using AC_CONFIG_AUX_DIR([../dir]) to use auxiliary files
|
|
from a parent package), then `make distcheck' fails due to an
|
|
optimization performed by OSF1/Tru64 Make in its VPATH handling.
|
|
(tests/subpkg2.test failure)
|
|
|
|
- Fix another portability issue with Sun and OSF1/Tru64 Make.
|
|
In a VPATH-build configuration, `make install' would install
|
|
nobase_ files to wrong locations.
|
|
|
|
- Fix a Perl `uninitialized value' diagnostic occurring when
|
|
automake complains that a Texinfo file does not have a
|
|
@setfilename statement.
|
|
|
|
- Erase config.status.lineno during `make distclean'. This file
|
|
can be created by config.status. Automake already knew about
|
|
configure.lineno, but forgot config.status.lineno.
|
|
|
|
- Distribute all files, even those which are built and installed
|
|
conditionally. This change affects files listed in conditionally
|
|
defined *_HEADERS and *_PYTHON variable (unless they are nodist_*)
|
|
as well as those listed in conditionally defined dist_*_DATA,
|
|
dist_*_JAVA, dist_*_LISP, and dist_*_SCRIPTS variables.
|
|
|
|
- Fix AM_PATH_LISPDIR to avoid \? in sed regular expressions; it
|
|
doesn't conform to POSIX.
|
|
|
|
- Normalize help strings for configure variables and options added
|
|
by Automake macros.
|
|
|
|
* Anticipation:
|
|
|
|
- Check for python2.4 in AM_PATH_PYTHON.
|
|
|
|
* Spurious failures in test suite:
|
|
|
|
- tests/libtool5.test, tests/ltcond.test, tests/ltcond2.test,
|
|
tests/ltconv.test: fix failures with CVS Libtool.
|
|
- tests/aclocal6.test: fix failure if autom4te.cache is disabled.
|
|
- tests/txinfo24.test, tests/txinfo25.test, tests/txinfo28.test:
|
|
fix failures with old Texinfo versions.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.8 (2003-12-10):
|
|
|
|
* Meta-News
|
|
|
|
- The NEWS file is more verbose.
|
|
|
|
* Requirements
|
|
|
|
- Autoconf 2.58 or greater is required.
|
|
|
|
* New features
|
|
|
|
- Default source file names in the absence of a _SOURCES declaration
|
|
are made by removing any target extension before appending `.c', so
|
|
to make the libtool module `foo.la' from `foo.c', you only need to
|
|
do this:
|
|
|
|
lib_LTLIBRARIES = foo.la
|
|
foo_la_LDFLAGS = -module
|
|
|
|
For backward compatibility, foo_la.c will be used instead of
|
|
foo.c if this file exists or is the explicit target of a rule.
|
|
However -Wobsolete will warn about this deprecated naming.
|
|
|
|
- AR's `cru' flags are now set in a global ARFLAGS variable instead
|
|
of being hard-coded in each $(AR) invocation, so they can be
|
|
substituted from configure.ac. This has been requested by people
|
|
dealing with non-POSIX ar implementations.
|
|
|
|
- New warning option: -Woverride. This will warn about any user
|
|
target or variable definitions which override Automake
|
|
definitions.
|
|
|
|
- Texinfo rules back up and restore info files when makeinfo fails.
|
|
|
|
- Texinfo rules now support the `html' target.
|
|
Running this requires Texinfo 4.0 or greater.
|
|
|
|
`html' is a new recursive target, so if your package mixes
|
|
hand-crafted `Makefile.in's with Automake-generated
|
|
`Makefile.in's, you should adjust the former to support (or
|
|
ignore) this target so that `make html' recurses successfully. If
|
|
you had a custom `html' rule in your `Makefile.am', it's better to
|
|
rename it as `html-local', otherwise your rule will override
|
|
Automake's new rule (you can check that by running `automake
|
|
-Woverride') and that will stop the recursion to subdirectories.
|
|
|
|
Last but not least, this `html' rule is declared PHONY, even when
|
|
overridden. Fortunately, it appears that few packages use a
|
|
non-PHONY `html' rule.
|
|
|
|
- Any file which is m4_included from configure.ac will appear as a
|
|
configure and Makefile.in dependency, and will be automatically
|
|
distributed.
|
|
|
|
- The rules for rebuilding Makefiles and Makefile.ins will now
|
|
rebuild all Makefiles and all Makefile.ins at once when one of
|
|
configure's dependencies has changed. This is considerably faster
|
|
than previous implementations, where config.status and automake
|
|
were run separately in each directory (this still happens when you
|
|
change a Makefile.am locally, without touching configure.ac or
|
|
friends). Doing this also solves a longstanding issue: these
|
|
rebuild rules failed to work when adding new directories to the
|
|
tree, forcing you to run automake manually.
|
|
|
|
- For similar reasons, the rules to rebuild configure,
|
|
config.status, and aclocal.m4 are now defined in all directories.
|
|
Note that if you were using the CONFIG_STATUS_DEPENDENCIES and
|
|
CONFIGURE_DEPENDENCIES (formerly undocumented) variables, you
|
|
should better define them in all directories. This is easily done
|
|
using an AC_SUBST (make sure you prefix these dependencies with
|
|
$(top_srcdir) since this variable will appear at different
|
|
levels of the build tree).
|
|
|
|
- aclocal will now use `m4_include' instead of copying local m4
|
|
files into aclocal.m4. (Local m4 files are those you ship with
|
|
your project, other files will be copied as usual.)
|
|
|
|
Because m4_included files are automatically distributed, it means
|
|
for most projects there is no point in EXTRA_DISTing the list of
|
|
m4 files which are used. (You can probably get rid of
|
|
m4/Makefile.am if you had one.)
|
|
|
|
- aclocal will avoid touching aclocal.m4 when possible, so that
|
|
Autom4te's cache isn't needlessly invalidated. This behavior can
|
|
be switched off with the new `--force' option.
|
|
|
|
- aclocal now uses Autoconf's --trace to detect macros which are
|
|
actually used and will no longer include unused macros simply
|
|
because they where mentioned. This was often the case for macros
|
|
called conditionally.
|
|
|
|
- New options no-dist and no-dist-gzip.
|
|
|
|
- compile, depcomp, elisp-comp, install-sh, mdate-sh, mkinstalldirs,
|
|
py-compile, and ylwrap, now all understand --version and --help.
|
|
|
|
- Automake will now recognize AC_CONFIG_LINKS so far as removing created
|
|
links as part of the distclean target and including source files in
|
|
distributions.
|
|
|
|
- AM_PATH_PYTHON now supports ACTION-IF-FOUND and ACTION-IF-NOT-FOUND
|
|
argument. The latter can be used to override the default behavior
|
|
(which is to abort).
|
|
|
|
- Automake will exit with $? = 63 on version mismatch. (So does
|
|
Autoconf 2.58) missing knows this, and in this case it will
|
|
emulate the tools as if they were absent. Because older versions
|
|
of Automake and Autoconf did not use this exit code, this change
|
|
will only be useful in projects generated with future versions of
|
|
these tools.
|
|
|
|
- When using AC_CONFIG_FILES with multiple input files, Automake
|
|
generates the first ".in" input file for which a ".am" exists.
|
|
(Former versions would try to use only the first input file.)
|
|
|
|
- lisp_DATA is now allowed. If you are using the empty ELCFILES
|
|
idiom to disable byte-compilation of lisp_LISP files, it is
|
|
recommended that you switch to using lisp_DATA. Note that
|
|
this is not strictly equivalent: lisp_DATA will install elisp
|
|
files even if emacs is not installed, while *_LISP do not
|
|
install anything unless emacs is found.
|
|
|
|
- Makefiles will prefer `mkdir -p' over mkinstalldirs if it is
|
|
available. This selection is achieved through the Makefile
|
|
variable $(mkdir_p) that is set by AM_INIT_AUTOMAKE to either
|
|
`mkdir -m 0755 -p --', `$(mkinstalldirs) -m 0755', or
|
|
`$(install_sh) -m 0755 -d'.
|
|
|
|
* Obsolete features
|
|
|
|
- Because `mkdir -p' is available on most platforms, and we can use
|
|
`install-sh -d' when it is not, the use of the mkinstalldirs
|
|
script is being phased out. `automake --add-missing' no longer
|
|
installs it, and if you remove mkinstalldirs from your package,
|
|
automake will define $(mkinstalldirs) as an alias for $(mkdir_p).
|
|
|
|
Gettext 0.12.1 still requires mkinstalldirs. Fortunately
|
|
gettextize and autopoint will install it when needed. Automake
|
|
will continue to define the $(mkinstalldirs) and to distribute
|
|
mkinstalldirs when this script is in the source tree.
|
|
|
|
- AM_PROG_CC_STDC is now empty. The content of this macro was
|
|
merged in AC_PROG_CC. If your code uses $am_cv_prog_cc_stdc, you
|
|
should adjust it to use $ac_cv_prog_cc_stdc instead. (This
|
|
renaming should be safe, even if you have to support several,
|
|
versions of Automake, because AC_PROG_CC defines this variable
|
|
since Autoconf 2.54.)
|
|
|
|
- Some users where using the undocumented ACLOCAL_M4_SOURCES
|
|
variable to override the aclocal.m4 dependencies computed
|
|
(inaccurately) by older versions of Automake. Because Automake
|
|
now tracks configure's m4 dependencies accurately (see m4_include
|
|
above), the use of ACLOCAL_M4_SOURCES should be considered
|
|
obsolete and will be flagged as such when running `automake
|
|
-Wobsolete'.
|
|
|
|
* Bug fixes
|
|
|
|
- Defining programs conditionally using Automake conditionals no
|
|
longer leads to a combinatorial explosion. The following
|
|
construct used to be troublesome when used with dozens of
|
|
conditions.
|
|
|
|
bin_PROGRAMS = a
|
|
if COND1
|
|
bin_PROGRAMS += a1
|
|
endif
|
|
if COND2
|
|
bin_PROGRAMS += a2
|
|
endif
|
|
if COND3
|
|
bin_PROGRAMS += a3
|
|
endif
|
|
...
|
|
|
|
Likewise for _SOURCES, _LDADD, and _LIBADD variables.
|
|
|
|
- Due to implementation constraints, previous versions of Automake
|
|
proscribed multiple conditional definitions of some variables
|
|
like bin_PROGRAMS:
|
|
|
|
if COND1
|
|
bin_PROGRAMS = a1
|
|
endif
|
|
if COND2
|
|
bin_PROGRAMS = a2
|
|
endif
|
|
|
|
All _PROGRAMS, _LDADD, and _LIBADD variables were affected.
|
|
This restriction has been lifted, and these variables now
|
|
support multiple conditional definitions as do other variables.
|
|
|
|
- Cleanup the definitions of $(distdir) and $(top_distdir).
|
|
$(top_distdir) now points to the root of the distribution
|
|
directory created during `make dist', as it did in Automake 1.4,
|
|
not to the root of the build tree as it did in intervening
|
|
versions. Furthermore these two variables are now only defined in
|
|
the top level Makefile, and passed to sub-directories when running
|
|
`make dist'.
|
|
|
|
- The --no-force option now correctly checks the Makefile.in's
|
|
dependencies before deciding not to update it.
|
|
|
|
- Do not assume that make files are called Makefile in cleaning rules.
|
|
|
|
- Update .info files in the source tree, not in the build tree. This
|
|
is what the GNU Coding Standard recommend. Only Automake 1.7.x
|
|
used to update these files in the build tree (previous versions did
|
|
it in the source tree too), and it caused several problems, varying
|
|
from mere annoyance to portability issues.
|
|
|
|
- COPYING, COPYING.LIB, and COPYING.LESSER are no longer overwritten
|
|
when --add-missing and --force-missing are used. For backward
|
|
compatibility --add-missing will continue to install COPYING (in
|
|
`gnu' strictness) when none of these three files exist, but this
|
|
use is deprecated: you should better choose a license yourself and
|
|
install it once for all in your source tree (and in your code
|
|
management system).
|
|
|
|
- Fix ylwrap so that it does not overwrite header files that haven't
|
|
changed, as the inline rule already does.
|
|
|
|
- User-defined rules override automake-defined rules for the same
|
|
targets, even when rules do not have commands. This is not new
|
|
(and was documented), however some of the automake-generated
|
|
rules have escaped this principle in former Automake versions.
|
|
Rules for the following targets are affected by this fix:
|
|
|
|
clean, clean-am, dist-all, distclean, distclean-am, dvi, dvi-am,
|
|
info, info-am, install-data-am, install-exec-am, install-info,
|
|
install-info-am, install-man, installcheck-am, maintainer-clean,
|
|
maintainer-clean-am, mostlyclean, mostlyclean-am, pdf, pdf-am,
|
|
ps, ps-am, uninstall-am, uninstall-info, uninstall-man
|
|
|
|
Practically it means that an attempt to supplement the dependencies
|
|
of some target, as in
|
|
|
|
clean: my-clean-rule
|
|
|
|
will now *silently override* the automake definition of the
|
|
rule for this target. Running `automake -Woverride' will diagnose
|
|
all such overriding definitions.
|
|
|
|
It should be noted that almost all of these targets support a *-local
|
|
variant that is meant to supplement the automake-defined rule
|
|
(See node `Extending' in the manual). The above rule should
|
|
be rewritten as
|
|
|
|
clean-local: my-clean-rule
|
|
|
|
These *-local targets have been documented since at least
|
|
Automake 1.2, so you should not fear the change if you have
|
|
to support multiple automake versions.
|
|
|
|
* Miscellaneous
|
|
|
|
- The Automake manual is now distributed under the terms of the GNU FDL.
|
|
|
|
- Targets dist-gzip, dist-bzip2, dist-tarZ, dist-zip are always defined.
|
|
|
|
- core dumps are no longer removed by the cleaning rules. There are
|
|
at least three reasons for this:
|
|
1. These files should not be created by any build step,
|
|
so their removal do not fit any of the cleaning rules.
|
|
Actually, they may be precious to the developer.
|
|
2. If such file is created during a build, then it's clearly a
|
|
bug Automake should not hide. Not removing the file will
|
|
cause `make distcheck' to complain about its presence.
|
|
3. Operating systems have different naming conventions for
|
|
core dump files. A core file on one system might be a
|
|
completely legitimate data file on another system.
|
|
|
|
- RUNTESTFLAGS, CTAGSFLAGS, ETAGSFLAGS, JAVACFLAGS are no longer
|
|
defined by Automake. This means that any definition in the
|
|
environment will be used, unless overridden in the Makefile.am or
|
|
on the command line. The old behavior, where these variables were
|
|
defined empty in each Makefile, can be obtained by AC_SUBSTing or
|
|
AC_ARG_VARing each variable from configure.ac.
|
|
|
|
- CONFIGURE_DEPENDENCIES and CONFIG_STATUS_DEPENDENCIES are now
|
|
documented. (The is not a new feature, these variables have
|
|
been there since at least Automake 1.4.)
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Bugs fixed in 1.7.9 (2003-11-12):
|
|
* Fix install-strip to work with nobase_ binaries.
|
|
* Fix renaming of #line directives in ylwrap.
|
|
* Rebuild with Autoconf 2.59. (1.7.8 was not installable with pdksh.)
|
|
|
|
Bugs fixed in 1.7.8 (2003-10-06):
|
|
* Remove spurious blank lines in cleaning rules introduced in 1.7.7.
|
|
* Fix detection of Debian's install-info, broken since version 1.5.
|
|
(Debian bug #213524).
|
|
* Honor -module if it appears in AM_LDFLAGS (i.e., relax name checking)
|
|
This was only done for libfoo_LDFLAGS and LDFLAGS in previous versions.
|
|
|
|
Bugs fixed in 1.7.7 (2003-09-07):
|
|
* The implementation of automake's --no-force option is unreliable,
|
|
so this option is ignored in this version. A real fix will appear in
|
|
Automake 1.8. (Debian Bug #206299)
|
|
* AM_PATH_PYTHON: really check the whole list of interpreters if no
|
|
argument is given. (PR/399)
|
|
* Do not warn about leading `_' in variable names, even with -Wportability.
|
|
* Support user redefinitions of TEXINFO_TEX.
|
|
* depcomp: support AIX Compiler version 6.
|
|
* Fix missing rebuilds during `make dist' with BSD make.
|
|
(Could produce tarballs containing out-of-date files.)
|
|
* Resurrect multilib support.
|
|
* Noteworthy manual updates:
|
|
- Extending aclocal: how to write m4 macros that won't trigger warnings
|
|
with Automake 1.8.
|
|
- A Shared Library: Rewrite and split into subsections.
|
|
|
|
Bugs fixed in 1.7.6 (2003-07-10):
|
|
* Fix depcomp's icc mode for ICC 7.1.
|
|
* Diagnose calls to AC_CONFIG_FILES and friends with not enough arguments.
|
|
* Fix maintainer-clean's removal of autom4te.cache in VPATH builds.
|
|
* Fix AM_PATH_LISPDIR to work with POSIXLY_CORRECT=1.
|
|
* Fix the location reported in some diagnostics related to AUTOMAKE_OPTIONS.
|
|
* Remove Latin-1 characters from elisp-comp.
|
|
* Update the manual's @dircategory to match the Free Software Directory.
|
|
|
|
Bugs fixed in 1.7.5 (2003-05-18):
|
|
* Update install-sh's license to remove an advertising clause.
|
|
(Debian bug #191717)
|
|
* Fix a bug introduced in 1.7.4, related to BUILT_SOURCE handling,
|
|
that caused invalid Makefile.ins to be generated.
|
|
* Make sure AM_MAKE_INCLUDE doesn't fail when a `doit' file exists.
|
|
* New FAQ entry: renamed objects.
|
|
|
|
Bugs fixed in 1.7.4 (2003-04-23):
|
|
* Tweak the TAGS rule to support Exuberant Ctags (in addition to
|
|
the Emacs implementation)
|
|
* Fix output of aclocal.m4 dependencies in subdirectories.
|
|
* Use `mv -f' instead of `mv' in fastdep rules.
|
|
* Upgrade mdate-sh to work on OS/2.
|
|
* Don't byte-compile elisp files when ELCFILES is set empty.
|
|
(this documented feature was broken by 1.7.3)
|
|
* Diagnose trailing backslashes on last line of Makefile.am.
|
|
* Diagnose whitespace following trailing backslashes.
|
|
* Multiple tests are now correctly supported in DEJATOOL. (PR/388)
|
|
* Fix rebuilt rules for AC_CONFIG_FILES([Makefile:Makefile.in:Makefile.bot])
|
|
Makefiles. (PR/389)
|
|
* `make install' will build `BUILT_SOURCES' first.
|
|
* Minor documentation fixes.
|
|
|
|
Bugs fixed in 1.7.3 (2003-02-20):
|
|
* Fix stamp files numbering (when using multiple AC_CONFIG_HEADERS).
|
|
* Query distutils for `pythondir' and `pythonexecdir', instead of
|
|
using an hardcoded path. This should allow builds on 64-bit
|
|
distributions that usually use lib64/ instead of lib/.
|
|
* AM_PATH_PYTHON will also search for python2.3.
|
|
* elisp files are now built all at once instead of one by one. Besides
|
|
incurring a speed-up, this is required to support interdependent elisp files.
|
|
* Support for DJGPP:
|
|
- `make distcheck' will now work in `_inst/' and `_build' instead
|
|
of `=inst/' and `=build/'
|
|
- use `_dirstamp' when the file-system doesn't support `.dirstamp'
|
|
- install/uninstall `*.i[0-9][0-9]'-style info files
|
|
- more changes that affect only the Automake package (not its output)
|
|
* Fix some incompatibility with upcoming perl-5.10.
|
|
* Properly quote AC_PACKAGE_TARNAME and AC_PACKAGE_VERSION when defining
|
|
PACKAGE and VERSION.
|
|
* depcomp fixes:
|
|
- dashmstdout and dashXmstdout modes: don't use `-o /dev/null', this
|
|
is troublesome with gcc and Solaris compilers. (PR/385)
|
|
- makedepend mode: work with Libtool. (PR/385 too)
|
|
- support for ICC.
|
|
* better support for unusual gettext setups, such as multiple po/ directories
|
|
(PR/381):
|
|
- Flag missing po/ and intl/ directories as warnings, not errors.
|
|
- Disable these warnings if po/ does not exist.
|
|
* Noteworthy manual updates:
|
|
- New FAQ chapter.
|
|
- Document how AC_CONFIG_AUX_DIR interacts with missing files.
|
|
(Debian Bug #39542)
|
|
- Document `AM_YFLAGS = -d'. (PR/382)
|
|
|
|
Bugs fixed in 1.7.2 (2002-12-05):
|
|
* Fix installation and uninstallation of Info files built in subdirectories.
|
|
* Do not run `./configure --with-included-gettext' during `make distcheck'
|
|
if AM_GNU_GETTEXT([external]) is used.
|
|
* Correctly uninstall renamed man pages.
|
|
* Do not strip escaped newline in variables defined in one condition
|
|
and augmented in another condition.
|
|
* Fix ansi2knr rules for LIBOBJS sources.
|
|
* Clean all known Texinfo index files, not only those which appear to
|
|
be used, because we cannot know which indexes are used in included files.
|
|
(PR/375, Debian Bug #168671)
|
|
* Honor only the first @setfilename seen in a Texinfo file.
|
|
* Treat "required file X not found" diagnostics as errors (exit status 1).
|
|
* Don't complain that a required file is not found when it is a Makefile
|
|
target. (PR/357)
|
|
* Don't use single suffix inference rules when building `.info'-less
|
|
Info files, for the sake of Solaris make.
|
|
* The `check' target now depends on `$(BUILT_SOURCES)'. (PR/359)
|
|
* Recognize multiple inference rules such as `.a.b .c.d:'. (PR/371)
|
|
* Warn about multiple inference rules when -Wportability is used. (PR/372)
|
|
* Fix building of deansified files from subdirectories. (PR/370)
|
|
* Add missing `fi' in the .c->.obj rules.
|
|
* Improve install-sh to work even when names contain spaces or certain
|
|
(but not all) shell metachars.
|
|
* Fix the following spurious failures in the test suite:
|
|
depcomp2.test, gnits2.test, gnits3.test, python3.test, texinfo13.test
|
|
* Noteworthy manual updates:
|
|
- Augment the section about BUILT_SOURCES.
|
|
- Mention that AM_PROG_CC_STDC is a relic that is better avoided today.
|
|
|
|
Bugs fixed in 1.7.1 (2002-10-18):
|
|
* Honor `ansi2knr' for files built in subdirectories, or using per-targets
|
|
flags.
|
|
* Aclocal should now recognize macro names containing parentheses, e.g.
|
|
AC_DEFUN([AC_LANG_PREPROC(Fortran 90)], [...]).
|
|
* Erase *.sum and *.log files created by DejaGnu, during `make distclean'.
|
|
(Debian Bug#153697)
|
|
* Install Python files even if they were built. (PR/369)
|
|
* Have stamp-vti dependent upon configure instead of configure.ac, as the
|
|
version might not be defined in the latter. (PR/358)
|
|
* Reorder arguments passed to a couple of commands, so things works
|
|
when POSIXLY_CORRECT=1.
|
|
* Fix a regex that can cause Perl to segfault on large input.
|
|
(Debian Bug#162583)
|
|
* Fix distribution of packages that have some sources defined conditionally,
|
|
as in the `Conditional compilation using Automake conditionals' example
|
|
of the manual.
|
|
* Fix spurious test suite failures on IRIX.
|
|
* Don't report a required variable as undefined if it has been
|
|
defined conditionally for the "right" conditions.
|
|
* Fix cleaning of the /tmp subdirectory used by `make distcheck', in case
|
|
`make distcheck' fails.
|
|
* Fix distribution of included Makefile fragment, so we don't create
|
|
spurious directories in the distribution. (PR/366)
|
|
* Don't complain that a target lacks `.$(EXEEXT)' when it has it.
|
|
|
|
New in 1.7 (2002-09-25):
|
|
* Autoconf 2.54 is required.
|
|
* `aclocal' and `automake' will no longer warn about obsolete
|
|
configure macros. This is done by `autoconf -Wobsolete'.
|
|
* AM_CONFIG_HEADER, AM_SYS_POSIX_TERMIOS and
|
|
AM_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL are obsolete (although still
|
|
supported). You should use AC_CONFIG_HEADERS, AC_SYS_POSIX_TERMIOS,
|
|
and AC_HEADER_TIOCGWINSZ instead. `autoupdate' can upgrade
|
|
`configure.ac' for you.
|
|
* Support for per-program and per-library `_CPPFLAGS'.
|
|
* New `ctags' target (builds CTAGS files).
|
|
* Support for -Wmumble and -Wno-mumble, where mumble is a warning category
|
|
(see `automake --help' or the manual for a list of them).
|
|
* Honor the WARNINGS environment variable.
|
|
* Omit the call to depcomp when using gcc3: call the compiler directly.
|
|
* A new option, std-options, tests that programs support --help and --version
|
|
when `make installcheck' is run. This is enabled by --gnits.
|
|
* Texinfo rules now support the `ps' and `pdf' targets.
|
|
* Info files are now created in the build directory, not the source directory.
|
|
* info_TEXINFOS supports files in subdirectories (this requires Texinfo 4.1
|
|
or greater).
|
|
* `make distcheck' will enforce DESTDIR support by attempting
|
|
a DESTDIR install.
|
|
* `+=' can be used in conditionals, even if the augmented variable
|
|
was defined for another condition.
|
|
* Makefile fragments (inserted with `include') are always distributed.
|
|
* Use Autoconf's --trace interface to inspect configure.ac and get
|
|
a more accurate view of it.
|
|
* Add support for extending aclocal's default macro search path
|
|
using a `dirlist' file within the aclocal directory.
|
|
* automake --output-dir is deprecated.
|
|
* The part of the distcheck target that checks whether uninstall actually
|
|
removes all installed files has been moved to a separate target,
|
|
distuninstallcheck, so it can be overridden easily.
|
|
* Many bug fixes.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.6.3 (2002-07-28):
|
|
* Support for AM_INIT_GETTEXT([external])
|
|
* Bug fixes, including:
|
|
- Fix Automake's own `make install' so it works even if `ln' doesn't.
|
|
- nobase_ programs and scripts honor --program-transform correctly.
|
|
- Erase configure.lineno during `make distclean'.
|
|
- Erase YACC and LEX outputs during `make maintainer-clean'.
|
|
|
|
New in 1.6.2 (2002-06-14):
|
|
* Many bug fixes, including:
|
|
- Requiring the current version works.
|
|
- Fix "$@" portability issues (for Zsh).
|
|
- Fix output of dummy dependency files in presence of post-processed
|
|
Makefile.in's.
|
|
- Don't compute dependencies in background to avoid races with libtool.
|
|
- Fix handling of _OBJECTS variables for targets sharing source variables.
|
|
- Check dependency mode for Java when AM_PROG_GCJ is used.
|
|
|
|
New in 1.6.1 (2002-04-11):
|
|
* automake --output-dir is deprecated
|
|
* Many bug fixes, including:
|
|
- Don't choke on AM_LDFLAGS definitions.
|
|
- Clean libtool objects from subdirectories.
|
|
- Allow configure variables with reserved suffix and unknown prefix
|
|
(e.g. AC_SUBST(mumble_LDFLAGS) when 'mumble' is not a target).
|
|
- Fix the definition of AUTOMAKE and ACLOCAL in configure.
|
|
|
|
New in 1.6 (2002-03-06):
|
|
* Autoconf 2.52 is required.
|
|
* automake no longer run libtoolize.
|
|
This is the job of autoreconf (from GNU Autoconf).
|
|
* `dist' generates all the archive flavors, as did `dist-all'.
|
|
* `dist-gzip' generates the Gzip tar file only.
|
|
* Combining Automake Makefile conditionals no longer lead to a combinatorial
|
|
explosion. Makefile.in's keep a reasonable size.
|
|
* AM_FUNC_ERROR_AT_LINE, AM_FUNC_STRTOD, AM_FUNC_OBSTACK, AM_PTRDIFF_T
|
|
are no longer shipped, since Autoconf 2.52 provides them (both as AM_
|
|
and AC_).
|
|
* `#line' of Lex and Yacc files are properly set.
|
|
* EXTRA_DIST can contain generated directories.
|
|
* Support for dot-less extensions in suffix rules.
|
|
* The part of the distcheck target that checks whether distclean actually
|
|
cleans all built files has been moved to a separate target, distcleancheck,
|
|
so it can be overridden easily.
|
|
* `make distcheck' will pass additional options defined in
|
|
$(DISTCHECK_CONFIGURE_FLAGS) to configure.
|
|
* Fixed CDPATH portability problems, in particular for MacOS X.
|
|
* Fixed handling of nobase_ targets.
|
|
* Fixed support of implicit rules leading to .lo objects.
|
|
* Fixed late inclusion of --add-missing files (e.g. depcomp) in DIST_COMMON
|
|
* Added uninstall-hook target
|
|
* `AC_INIT AM_INIT_AUTOMAKE(tarname,version)' is an obsolete construct.
|
|
You can now use `AC_INIT(pkgname,version) AM_INIT_AUTOMAKE' instead.
|
|
(Note that "pkgname" is not "tarname", see the manual for details.)
|
|
It is also possible to pass a list of global Automake options as
|
|
first argument to this new form of AM_INIT_AUTOMAKE.
|
|
* Compiler-based assembler is now called `CCAS'; people expected `AS'
|
|
to be a real assembler.
|
|
* AM_INIT_AUTOMAKE will set STRIP itself when it needs it. Adding
|
|
AC_CHECK_TOOL([STRIP], [strip]) manually is no longer required.
|
|
* aclocal and automake are also installed with the version number
|
|
appended, and some of the install directory names have changed.
|
|
This lets you have multiple versions installed simultaneously.
|
|
* Support for parsers and lexers in subdirectories.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.5 (2001-08-23):
|
|
* Support for `configure.ac'.
|
|
* Support for `else COND', `endif COND' and negated conditions `!COND'.
|
|
* `make dist-all' is much faster.
|
|
* Allows '@' AC_SUBSTs in macro names.
|
|
* Faster AM_INIT_AUTOMAKE (requires update of `missing' script)
|
|
* User-side dependency tracking. Developers no longer need GNU make
|
|
* Python support
|
|
* Uses DIST_SUBDIRS in some situations when SUBDIRS is conditional
|
|
* Most files are correctly handled if they appear in subdirs
|
|
For instance, a _DATA file can appear in a subdir
|
|
* GNU tar is no longer required for `make dist'
|
|
* Added support for `dist_' and `nodist_' prefixes
|
|
* Added support for `nobase_' prefix
|
|
* Compiled Java support
|
|
* Support for per-executable and per-library compilation flags
|
|
* Many bug fixes
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 1.4 (1999-01-14):
|
|
* Added support for the Fortran 77 programming language.
|
|
* Re-indexed the Automake Texinfo manual.
|
|
* Added `AM_FOOFLAGS' variable for each compiler invocation;
|
|
e.g. AM_CFLAGS can be used in Makefile.am to set C compiler flags
|
|
* Support for latest autoconf, including support for objext
|
|
* Can now put `.' in SUBDIRS to control build order
|
|
* `include' command and `+=' support for macro assignment
|
|
* Dependency tracking no long susceptible to deleted header file problem
|
|
* Maintainer mode now a conditional. @MAINT@ is now an anachronism.
|
|
* Bug fixes
|
|
|
|
New in 1.3 (1998-04-06):
|
|
* Bug fixes
|
|
* Better Cygwin32 support
|
|
* Support for suffix rules with _SOURCES variables
|
|
* New options `readme-alpha' and `check-news'; Gnits mode sets these
|
|
* @LEXLIB@ no longer required when lex source seen
|
|
Lex support in `missing', and new lex macro. Update your missing script.
|
|
* Built-in support for assembly
|
|
* aclocal gives error if `AM_' macro not found
|
|
* Passed YFLAGS, not YACCFLAGS, to yacc
|
|
* AM_PROG_CC_STDC does not have to come before AC_PROG_CPP
|
|
* Dependencies computed as a side effect of compilation
|
|
* Preliminary support for Java
|
|
* DESTDIR support at "make install" time
|
|
* Improved ansi2knr support; you must use the latest ansi2knr.c (included)
|
|
|
|
New in 1.2 (1997-06-24):
|
|
* Bug fixes
|
|
* Better DejaGnu support
|
|
* Added no-installinfo option
|
|
* Added Emacs Lisp support
|
|
* Added --no-force option
|
|
* Included `aclocal' program
|
|
* Automake will now generate rules to regenerate aclocal.m4, if appropriate
|
|
* Now uses `AM_' macro names everywhere
|
|
* ansi2knr option can have directory prefix (eg `../lib/ansi2knr')
|
|
ansi2knr now works correctly on K&R sources
|
|
* Better C++, yacc, lex support
|
|
* Will compute _DEPENDENCIES variables automatically if not supplied
|
|
* Will interpolate $(...) and ${...} when examining contents of a variable
|
|
* .deps files now in build directory, not source directory; dependency
|
|
handling generally rewritten
|
|
* DATA, MANS and BUILT_SOURCES no longer included in distribution
|
|
* can now put config.h into a subdir
|
|
* Added dist-all target
|
|
* Support for install-info program (see texinfo 3.9)
|
|
* Support for "yacc -d"
|
|
* configure substitutions are automatically discovered and included
|
|
in generated Makefile.in
|
|
* Special --cygnus mode
|
|
* OMIT_DEPENDENCIES can now hold list of dependencies to be omitted
|
|
when making distribution. Some dependencies are auto-ignored.
|
|
* Changed how libraries are specified in _LIBRARIES variable
|
|
* Full libtool support, from Gord Matzigkeit
|
|
* No longer have to explicitly touch stamp-h when using AC_CONFIG_HEADER;
|
|
AM_CONFIG_HEADER handles it automatically
|
|
* Texinfo output files no longer need .info extension
|
|
* Added `missing' support
|
|
* Cygwin32 support
|
|
* Conditionals in Makefile.am, from Ian Taylor
|
|
|
|
New in 1.0 (1996-06-08):
|
|
* Bug fixes
|
|
* distcheck target runs install and installcheck targets
|
|
* Added preliminary support for DejaGnu.
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
New in 0.33:
|
|
* More bug fixes
|
|
* More checking
|
|
* More libtool fixes from Gord Matzigkeit; libtool support is still
|
|
preliminary however
|
|
* Added support for jm_MAINTAINER_MODE
|
|
* dist-zip support
|
|
* New "distcheck" target
|
|
|
|
New in 0.32:
|
|
* Many bug fixes
|
|
* mkinstalldirs and mdate-sh now appear in directory specified by
|
|
AC_CONFIG_AUX_DIR.
|
|
* Removed DIST_SUBDIRS, DIST_OTHER
|
|
* AC_ARG_PROGRAM only required when an actual program exists
|
|
* dist-hook target now run before distribution packaged up; idea from
|
|
Dieter Baron. Other hooks exist, too.
|
|
* Preliminary (unfinished) support for libtool
|
|
* Added short option names.
|
|
* Better "dist" support when gluing together multiple packages
|
|
|
|
New in 0.31:
|
|
* Bug fixes
|
|
* Documentation updates (many from François Pinard)
|
|
* strictness `normal' now renamed to `foreign'
|
|
* Renamed --install-missing to --add-missing
|
|
* Now handles AC_CONFIG_AUX_DIR
|
|
* Now handles TESTS macro
|
|
* DIST_OTHER renamed to EXTRA_DIST
|
|
* DIST_SUBDIRS is deprecated
|
|
* @ALLOCA@ and @LIBOBJS@ now work in _LDADD variables
|
|
* Better error messages in many cases
|
|
* Program names are canonicalized
|
|
* Added "check" prefix; from Gord Matzigkeit
|
|
|
|
New in 0.30:
|
|
* Bug fixes
|
|
* configure.in scanner knows about AC_PATH_XTRA, AC_OUTPUT ":" syntax
|
|
* Beginnings of a test suite
|
|
* Automatically adds -I options for $(srcdir), ".", and path to config.h
|
|
* Doesn't print anything when running
|
|
* Beginnings of MAINT_CHARSET support
|
|
* Can specify version in AUTOMAKE_OPTIONS
|
|
* Most errors recognizable by Emacs' M-x next-error
|
|
* Added --verbose option
|
|
* All "primary" variables now obsolete; use EXTRA_PRIMARY to supply
|
|
configure-generated names
|
|
* Required macros now distributed in aclocal.m4
|
|
* New documentation
|
|
* --strictness=gnu is default
|
|
|
|
New in 0.29:
|
|
* Many bug fixes
|
|
* More sophisticated configure.in scanning; now understands ALLOCA and
|
|
LIBOBJS directly, handles AC_CONFIG_HEADER more precisely, etc.
|
|
* TEXINFOS and MANS now obsolete; use info_TEXINFOS and man_MANS instead.
|
|
* CONFIG_HEADER variable now obsolete
|
|
* Can handle multiple Texinfo sources
|
|
* Allow hierarchies deeper than 2. From Gord Matzigkeit.
|
|
* HEADERS variable no longer needed; now can put .h files directly into
|
|
foo_SOURCES variable.
|
|
* Automake automatically rebuilds files listed in AC_OUTPUT. The
|
|
corresponding ".in" files are included in the distribution.
|
|
|
|
New in 0.28:
|
|
* Added --gnu and --gnits options
|
|
* More standards checking
|
|
* Bug fixes
|
|
* Cleaned up 'dist' targets
|
|
* Added AUTOMAKE_OPTIONS variable and several options
|
|
* Now scans configure.in to get some information (preliminary)
|
|
|
|
New in 0.27:
|
|
* Works with Perl 4 again
|
|
|
|
New in 0.26:
|
|
* Added --install-missing option.
|
|
* Pretty-prints generated macros and rules
|
|
* Comments in Makefile.am are placed more intelligently in Makefile.in
|
|
* Generates .PHONY target
|
|
* Rule or macro in Makefile.am now overrides contents of Automake file
|
|
* Substantial cleanups from François Pinard
|
|
|
|
New in 0.25:
|
|
* Bug fixes.
|
|
* Works with Perl 4 again.
|
|
|
|
New in 0.24:
|
|
* New uniform naming scheme.
|
|
* --strictness option
|
|
* Works with Perl 5
|
|
* '.c' files corresponding to '.y' or '.l' files are automatically
|
|
distributed.
|
|
* Many bug fixes and cleanups
|
|
|
|
New in 0.23:
|
|
* Allow objects to be conditionally included in libraries via lib_LIBADD.
|
|
|
|
New in 0.22:
|
|
* Bug fixes in 'clean' code.
|
|
* Now generates 'installdirs' target.
|
|
* man page installation reworked.
|
|
* 'make dist' no longer re-creates all Makefile.in's.
|
|
|
|
New in 0.21:
|
|
* Reimplemented in Perl
|
|
* Added --amdir option (for debugging)
|
|
* Texinfo support cleaned up.
|
|
* Automatic de-ANSI-fication cleaned up.
|
|
* Cleaned up 'clean' targets.
|
|
|
|
New in 0.20:
|
|
* Automatic dependency tracking
|
|
* More documentation
|
|
* New variables DATA and PACKAGEDATA
|
|
* SCRIPTS installed using $(INSTALL_SCRIPT)
|
|
* No longer uses double-colon rules
|
|
* Bug fixes
|
|
* Changes in advance of internationalization
|
|
|
|
-----
|
|
|
|
Copyright (C) 1995-2025 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 <https://www.gnu.org/licenses/>.
|