* 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.
If perl is not installed, there will be no autoscan script, so
construct the packing list at installation time, when the contents are
known.
Also remove an erroneous check for a texinfo dir file.
Use uname -s to work out the Operating System.
FreeBSD has install-info and /usr/share/info/dir by default.
NetBSD doesn't, so, for now, don't try to do this on NetBSD.