Mail Archives: cygwin-developers/2001/05/21/10:29:39
FYI.
-------- Original Message --------
Subject: RFC: Autoconf 2.50 is released
Date: 21 May 2001 15:33:25 +0200
From: Akim Demaille <akim AT epita DOT fr>
To: Autoconf List <autoconf AT gnu DOT org>, Automake List
<automake AT gnu DOT org>,Libtool List <libtool AT gnu DOT org>,GNU Announcements List
<info-gnu AT gnu DOT org>, bug-gnu-utils AT gnu DOT org
The Autoconf team is extremely proud (and quite relieved) to announce
the release of Autoconf 2.50. As can be guessed from the NEWS excerpt
below, profound changes have been made in order to provide a more
coherent interface and more user-friendly macros.
Autoconf can be downloaded from
ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.50.tar.gz
b3d78c5aefd53ed69d93182239af65e3 autoconf-2.50.tar.gz
ae8d8bd7718fa6fd6e4b77cb8cb4332ef50dfaa8 autoconf-2.50.tar.gz
Happy configuring!
Akim, Alexandre, Jim, Pavel, Paul, and Tom.
* Major changes in Autoconf 2.50
** Lots of bug fixes
There have been far too many to enumerate them here. Check out
ChangeLog if you really want to know more.
** Improved documentation
In particular, portability issues are better covered.
** Use of Automake
All the standard GNU Makefile targets are supported. The layout has
changed: m4/ holds the m4 extensions Autoconf needs for its
configuration, doc/ contains the documentation, and tests/ contains
the test suite.
** Man pages are provided
For autoconf, autoreconf, autoupdate, autoheader, autoscan, ifnames,
config.guess, config.sub.
** autoconf
- --trace
Provides a safe and powerful means to trace the macro uses. This
provide the parsing layer for tools which need to `study'
configure.in.
- --warnings
Specify what category of warnings should be enabled.
- When recursing into subdirectories, try for configure.gnu before
configure to adapt for packages not using autoconf on case-insensitive
filesystems.
- Diagnostics
More errors are now caught (circular AC_REQUIRE dependencies,
AC_DEFINE in the action part of an AC_CACHE_CHECK, too many pops
etc.). In addition, their location and call stack are given.
** autoupdate
autoupdate is much more powerful, and is able to provide the glue code
which might be needed to move from an old macro to its newer
equivalent.
You are strongly encouraged to use it to modernize both your
`configure.in' and your .m4 extension files.
** autoheader
The internal machinery of autoheader has completely changed. As a
result, using `acconfig.h' should be considered to be obsoleted, and
you are encouraged to get rid of it using the AH macros.
** autoreconf
Extensive overhaul.
** Fortran 77 compilers
Globally, the support for Fortran 77 is considerably improved.
Support for automatically determining a Fortran 77 compiler's
name-mangling scheme. New CPP macros F77_FUNC and F77_FUNC_ are
provided to wrap C/C++ identifiers, thus making it easier and more
transparent for C/C++ to call Fortran 77 routines, and Fortran 77 to
call C/C++ routines. See the Texinfo documentation for details.
** Test suite
The test suite no longer uses DejaGNU. It should be easy to submit
test cases in this new framework.
** configure
- --help, --help=long, -hl
no longer dumps useless items.
- --help=short, -hs
lists only specific options.
- --help=recursive, -hr
displays the help of all the embedded packages.
- Remembers environment variables when reconfiguring.
The previous scheme to set envvar before running configure was
ENV=VAL ./configure
what prevented configure from remembering the environment in which
it was run, therefore --recheck was run in an inconsistent
environment. Now, one should run
./configure ENV=VAR
and then --recheck will work properly. Variables declared with
AC_ARG_VAR are also preserved.
- 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'.
** config.status
- faster
Much faster on most architectures.
- concurrent executions
It is safe to use `make -j' with config.status.
- human interface improved
It is possible to invoke
./config.status foobar
instead of the former form (still valid)
CONFIG_COMMANDS= CONFIG_HEADERS= CONFIG_LINKS= \
CONFIG_FILES=foobar:foo.in:bar.in \
./config.status
The same holds for configuration headers and links.
You can instantiate unknown files and headers:
./config.status --header foo.h:foo.h.in --file bar:baz
- has a useful --help
- accepts special file name "-" for stdin/stdout
** Identity Macros
- AC_COPYRIGHT
Specify additional copyright information.
- AC_INIT
Now expects the identity of the package as argument.
** General changes.
- Uniform quotation
Most macros, if not all, now strictly follow the `one quotation
level' rule. This results in a more predictable expansion.
- AC_REQUIRE
A sly bug in the AC_REQUIRE machinery, which could produce incorrect
configure scripts, was fixed by Axel Thimm.
** Setup Macros
- AC_ARG_VAR
Document and ask for the registration of an envvar.
- AC_CONFIG_SRCDIR
Specifies the file which `configure' should look for when trying to
find the source tree (used to be handled by AC_INIT).
- AC_CONFIG_COMMANDS
To add new actions to config.status. Should be used instead of
AC_OUTPUT_COMMANDS.
- AC_CONFIG_LINKS
Replaces AC_LINK_FILES.
- AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS, AC_CONFIG_SUBDIRS,
AC_CONFIG_LINKS, and AC_CONFIG_FILES
They now obey sh: you should no longer use shell variables as
argument. Instead of
test "$package_foo_enabled" = yes && $my_subdirs="$my_subdirs
foo"
AC_CONFIG_SUBDIRS($my_subdirs)
write
if test "$package_foo_enabled" = yes; then
AC_CONFIG_SUBDIRS(foo)
fi
- AC_HELP_STRING
To format an Autoconf macro's help string so that it looks pretty
when the user executes `configure --help'.
** Generic Test Macros
- AC_CHECK families
The interface of the AC_CHECK families of macros (decl, header,
type, member, func) is now uniform. They support the same set of
default includes.
- AC_CHECK_DECL, AC_CHECK_DECLS
To check whether a symbol is declared.
- AC_CHECK_SIZEOF, AC_C_CHAR_UNSIGNED.
No longer need a cross-compilation default.
- AC_CHECK_TYPE
The test it performs is much more robust than previously, and makes
it possible to test builtin types in addition to typedefs.
It is now schizophrenic:
- AC_CHECK_TYPE(TYPE, REPLACEMENT)
remains for backward compatibility, but its use is discouraged.
- AC_CHECK_TYPE(TYPE, IF-FOUND, IF-NOT-FOUND, INCLUDES)
behaves exactly like the other AC_CHECK macros.
- AC_CHECK_TYPES
Checks whether given types are supported by the system.
- AC_CHECK_MEMBER, AC_CHECK_MEMBERS
Check for given members in aggregates (e.g., pw_gecos in struct
passwd).
- AC_PROG_CC_STDC
Checks if the compiler supports ISO C, included when needs special
options.
- AC_PROG_CPP
Checking whether the preprocessor indicates missing includes by the
error code. stderr is checked by AC_TRY_CPP only as a fallback.
- AC_LANG
Takes a language as argument and replaces AC_LANG_C,
AC_LANG_CPLUSPLUS and AC_LANG_FORTRAN77.
- AC_LANG_PUSH, AC_LANG_POP
Are preferred to AC_LANG_SAVE, AC_LANG_RESTORE.
** Specific Macros
- AC_FUNC_CHOWN, AC_FUNC_MALLOC, AC_FUNC_STRERROR_R,
AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_STAT, AC_FUNC_LSTAT,
AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD,
AC_FUNC_FSEEKO.
New.
- AC_FUNC_GETGROUPS
Sets GETGROUPS_LIBS.
- AC_FUNC_GETLOADAVG
Defines `HAVE_STRUCT_NLIST_N_UN_N_NAME' instead of `NLIST_NAME_UNION'.
- AC_PROG_LEX
Now integrates `AC_DECL_YYTEXT' which is obsoleted.
- AC_SYS_LARGEFILE
Arrange for large-file support.
- AC_EXEEXT, AC_OBJEXT
You are no longer expected to use them: their computation is
performed by default.
** C++ compatibility
Every macro has been revisited in order to support at best CC=c++.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
- Raw text -