* Major changes in Autoconf 2.59 -*- outline -*-
Released 2003-11-04, by Akim Demaille
** ac_abs_builddir etc.
Absolute paths were actually relative in 2.58.
* Major changes in Autoconf 2.58
Released 2003-11-04, by Akim Demaille
** core.*
core.* files are no longer removed, as they may be valid user files.
** autoreconf and auxiliary directory
Autoreconf creates the auxiliary directory if needed. This is
especially useful for initial "bootstrapping" of fresh CVS checkouts.
** AC_CONFIG_MACRO_DIR
Use this macro to declare the directory for local m4 macros for aclocal.
** AC_LIBOBJS
No longer includes twice the same file in LIBOBJS if invoked
multiple times.
** AC_CONFIG_COMMANDS
The directory for its first argument is automatically created. For
instance, with
AC_CONFIG_COMMANDS([src/modules.hh], [...])
$top_builddir/src/ is created if needed.
** Autotest and local.at
The optional file local.at is always included in Autotest test suites.
** Warnings
The warnings are always issued, including with cached runs.
This became a significant problem since aclocal and automake can
run autoconf behind the scene.
** autoheader warnings
The warnings of autoheader can be turned off, using --warning.
For instance, -Wno-obsolete disables the complaints about acconfig.h
and other deprecated constructs.
** New macros
AC_C_RESTRICT, AC_INCLUDES_DEFAULT, AC_LANG_ASSERT, AC_LANG_WERROR,
AS_SET_CATFILE.
** AC_DECL_SYS_SIGLIST
Works again.
** AC_FUNC_MKTIME
Now checks that mktime is the inverse of localtime.
** Improve DJGPP portability
The Autoconf tools and configure behave better under DJGPP.
** Present But Cannot Be Compiled
New FAQ section dedicated to the mystic
configure: WARNING: pi.h: present but cannot be compiled
configure: WARNING: pi.h: check for missing prerequisite headers?
configure: WARNING: pi.h: proceeding with the preprocessor's result
messages.
** Concurrent executions of autom4te
autom4te now locks its internal files, which enables concurrent
executions of autom4te, likely to happen if automake, autoconf,
autoheader etc. are run simultaneously.
** Libtool
Use of Libtool 1.5 and higher is encouraged. Compatibility with
Libtool pre-1.4 is not checked.
** Autotest
Testsuites no longer rerun failed tests in verbose mode; instead,
failures are logged while the test is run.
In addition, expected failures can be marked as such.
* Major changes in Autoconf 2.56 -*- outline -*-
Released November 15th, 2002.
One packaging problem fixed (config/install-sh was not executable).
* Major changes in Autoconf 2.55
Released November 14th, 2002.
Release tips:
Have your configure.ac checked by autoscan ("autoscan").
Try the warning options ("autoreconf -fv -Wall").
** Documentation
- AC_CHECK_HEADER, AC_CHECK_HEADERS
More information on proper use.
- Writing Test Programs
This sections explains how to write good test sources to use with
AC_COMPILE_IFELSE etc. It documents AC_LANG_PROGRAMS and so forth.
- AC_FOO_IFELSE vs. AC_TRY_FOO
Explains why Autoconf moves from AC_TRY_COMPILE etc. to
AC_COMPILE_IFELSE and AC_LANG_PROGRAM etc.
** autoreconf
- Is more robust to different Gettext installations.
- Produces messages (when --verbose) to be understood by Emacs'
compile mode.
- Supports -W/--warnings.
- -m/--make
Once the GNU Build System reinstalled, run `./config.status
--recheck && ./config.status && make' if possible.
** autom4te
- Supports --cache, and --no-cache.
- ~/.autom4te.cfg makes it possible to disable the caching mechanism
(autom4te.cache). See `Customizing autom4te' in the documentation.
** config.status
Supports --quiet.
** Obsolete options
Support for the obsoleted options -m, --macrodir, -l, --localdir is
dropped in favor of the safer --include/--prepend-include scheme.
** Macros
- New macros
AC_COMPILER_IFELSE, AC_FUNC_MBRTOWC, AC_HEADER_STDBOOL,
AC_LANG_CONFTEST, AC_LANG_SOURCE, AC_LANG_PROGRAM, AC_LANG_CALL,
AC_LANG_FUNC_TRY_LINK, AC_MSG_FAILURE, AC_PREPROC_IFELSE.
- Obsoleted
Obsoleted macros are kept for Autoconf backward compatibility, but
should be avoided in configure.ac. Running autoupdate is advised.
AC_DECL_SYS_SIGLIST.
- AC_DEFINE/AC_DEFINE_UNQUOTED
We have to stop using the old compatibility scheme --that tried to
avoid useless backslashes-- because Libtool 1.4.3 contains a
AC_DEFINE([error_t], [int],
[Define to a type to use for \`error_t' if it is not
otherwise available.])
We have to quote the single quotes and backslashes with \. The old
compatibility scheme saw that ` was backslashed, and therefore did
not quote the single quote... Failure. Hence, Autoconf 2.54 is not
compatible with Libtool. Autoconf 2.55 is, but in some cases might
produce more \ than wanted.
Please, note that in the future the same problem will happen with
AC_MSG_*: use `autoreconf -f -Wall'.
** Bug Fixes
- Portability of the Autoconf package to Solaris.
- Spurious warnings caused by config.status.
This bug is benign, but painful: on some systems (typically
FreeBSD), warnings such as:
config.status: creating Makefile
mv: Makefile: set owner/group (was: 1357/0): Operation not permitted
could be issued. This is fixed.
- Parallel Builds
Simultaneous executions of config.status are possible again.
- Precious variables accumulation
config.status could stack several copies of the precious variables
assignments.
** Plans for 2.57
- ./configure <host>
The compatibility hooks with the old scheme will be completely
removed. Please, advice/use `--build', `--host', and `--target'
only.
- AC_CHECK_HEADER, AC_CHECK_HEADERS
The tests will be stricter, please make sure your invocations are
valid.
- shell functions
Shell functions will gradually be introduced, probably starting with
Autotest. If you know machines which are in use that you suspect
*not* to support shell functions, please run the test suite of
Autoconf 2.55 on it, and report the results to
bug-autoconf@gnu.org.
- AC_MSG_*
Special characters in AC_MSG_* need not be quoted. Currently,
Autoconf has heuristics to decide when a string is escaped, or has
to be escaped. This scheme is fragile, and will be removed; the
only risk is uglified messages. Please, run `autoreconf -f -Wall'
to find occurrences that will be affected.
Summary of changes:
- removal of USE_GTEXINFO
- addition of mk/texinfo.mk
- inclusion of this file in package Makefiles requiring it
- `install-info' substituted by `${INSTALL_INFO}' in PLISTs
- tuning of mk/bsd.pkg.mk:
removal of USE_GTEXINFO
INSTALL_INFO added to PLIST_SUBST
`${INSTALL_INFO}' replace `install-info' in target rules
print-PLIST target now generate `${INSTALL_INFO}' instead of `install-info'
- a couple of new patch files added for a handful of packages
- setting of the TEXINFO_OVERRIDE "switch" in packages Makefiles requiring it
- devel/cssc marked requiring texinfo 4.0
- a couple of packages Makefiles were tuned with respect of INFO_FILES and
makeinfo command usage
See -newly added by this commit- section 10.24 of Packages.txt for
further information.
- Quadrigraphs
This feature was present in autoconf 2.50 but was not documented.
For example, `@<:@' is translated to `[' just before output. This
is useful when writing strings that contain unbalanced quotes, or
other hard-to-quote constructs.
- m4_pattern_forbid, m4_pattern_allow
- Using autoscan to maintain a configure.ac.
- Fixed Fortran name-mangling and link tests on a number of systems,
e.g. NetBSD; see AC_F77_DUMMY_MAIN, below.
- cross-compilation
$build defaults to `config.guess`, $host to $build, and then $target
to $host.
Cross-compilation is a global status of the package, it no longer
depends upon the current language.
Cross compilation is enabled iff the user specified `--host'.
`configure' now fails if it can't run the executables it compiles,
unless cross-compilation is enabled.
- Cache file
The cache file is disabled by default. The new options
`--config-cache', `-C' set the cache to `config.cache'.
... and many others, esp. bugfixes. Check the docs!
To cite announce on freshmeat for Changes:
Various bugfixes and enhancements collected during the past two years
since the last release. Way too many to mention them all here. The
ChangeLog is included in the package.
- New, optional Makefile variable HOMEPAGE, specifies a URL for
the home page of the software if it has one.
- The value of HOMEPAGE is used to add a link from the
README.html files.
- pkglint updated to know about it. The "correct" location for
HOMEPAGE in the Makefile is after MAINTAINER, in that same
section.