mirror of
git://git.sv.gnu.org/autoconf
synced 2024-11-27 01:49:56 +08:00
273 lines
12 KiB
Plaintext
273 lines
12 KiB
Plaintext
Major changes in release 2.1:
|
||
|
||
* Fix C++ problems.
|
||
* More explanations in the manual.
|
||
* Fix a spurious failure in the testsuite.
|
||
* Clarify some warning messages.
|
||
* autoreconf by default only rebuilds configure and config.h.in files
|
||
that are older than any of their particular input files; there is a
|
||
--force option to use after installing a new version of Autoconf.
|
||
|
||
Thanks to everybody who's submitted changes and additions to Autoconf!
|
||
I've incorporated many of them, and am still considering others for
|
||
future releases -- but I didn't want to postpone this release indefinitely.
|
||
|
||
Caution: don't indiscriminantly rebuild configure scripts with
|
||
Autoconf version 2. Some configure.in files need minor adjustments to
|
||
work with it; the documentation has a chapter on upgrading. A few
|
||
configure.in files, including those for GNU Emacs and the GNU C
|
||
Library, need major changes because they relied on undocumented
|
||
internals of version 1. Future releases of those packages will have
|
||
updated configure.in files.
|
||
|
||
It's best to use GNU m4 1.3 (or later) with Autoconf version 2.
|
||
Autoconf now makes heavy use of m4 diversions, which were implemented
|
||
inefficiently in GNU m4 releases before 1.3.
|
||
|
||
Major changes in release 2.0:
|
||
|
||
** New copyright terms:
|
||
* There are no restrictions on distribution or use of configure scripts.
|
||
|
||
** Documentation:
|
||
* Autoconf manual is reorganized to make information easier to find
|
||
and has several new indexes.
|
||
* INSTALL is reorganized and clearer and is now made from Texinfo source.
|
||
|
||
** New utilities:
|
||
* autoscan to generate a preliminary configure.in for a package by
|
||
scanning its source code for commonly used nonportable functions,
|
||
programs, and header files.
|
||
* ifnames to list the symbols used in #if and #ifdef directives in a
|
||
source tree.
|
||
* autoupdate to update a configure.in to use the version 2 macro names.
|
||
* autoreconf to recursively remake configure and configuration header
|
||
files in a source tree.
|
||
|
||
** Changed utilities:
|
||
* autoheader can take pieces of acconfig.h to replace config.h.{top,bot}.
|
||
* autoconf and autoheader can look for package-local definition files
|
||
in an alternate directory.
|
||
|
||
** New macros:
|
||
* AC_CACHE_VAL to share results of tests between configure runs.
|
||
* AC_DEFUN to define macros, automatically AC_PROVIDE them, and ensure
|
||
that macros invoked with AC_REQUIRE don't interrupt other macros.
|
||
* AC_CONFIG_AUX_DIR, AC_CANONICAL_SYSTEM, AC_CANONICAL_HOST, AC_LINK_FILES to
|
||
support deciding unguessable features based on the host and target types.
|
||
* AC_CONFIG_SUBDIRS to recursively configure a source tree.
|
||
* AC_ARG_PROGRAM to use the options --program-prefix,
|
||
--program-suffix, and --program-transform-name to change the names
|
||
of programs being installed.
|
||
* AC_PREFIX_DEFAULT to change the default installation prefix.
|
||
* AC_TRY_COMPILE to compile a test program without linking it.
|
||
* AC_CHECK_TYPE to check whether sys/types.h or stdlib.h defines a given type.
|
||
* AC_CHECK_LIB to check for a particular function and library.
|
||
* AC_MSG_CHECKING and AC_MSG_RESULT to print test results, on a single line,
|
||
whether or not the test succeeds. They obsolete AC_CHECKING and AC_VERBOSE.
|
||
* AC_SUBST_FILE to insert one file into another.
|
||
* AC_FUNC_MEMCMP to check whether memcmp is 8-bit clean.
|
||
* AC_FUNC_STRFTIME to find strftime even if it's in -lintl.
|
||
* AC_FUNC_GETMNTENT to find getmntent even if it's in -lsun or -lseq.
|
||
* AC_HEADER_SYS_WAIT to check whether sys/wait.h is POSIX.1 compatible.
|
||
|
||
** Changed macros:
|
||
* Many macros renamed systematically, but old names are accepted for
|
||
backward compatibility.
|
||
* AC_OUTPUT adds the "automatically generated" comment to
|
||
non-Makefiles where it finds @configure_input@ in an input file, to
|
||
support files with various comment syntaxes.
|
||
* AC_OUTPUT does not replace "prefix" and "exec_prefix" in generated
|
||
files when they are not enclosed in @ signs.
|
||
* AC_OUTPUT allows the optional environment variable CONFIG_STATUS to
|
||
override the file name "config.status".
|
||
* AC_OUTPUT takes an optional argument for passing variables from
|
||
configure to config.status.
|
||
* AC_OUTPUT and AC_CONFIG_HEADER allow you to override the input-file names.
|
||
* AC_OUTPUT automatically substitutes the values of CFLAGS, CXXFLAGS,
|
||
CPPFLAGS, and LDFLAGS from the environment.
|
||
* AC_PROG_CC and AC_PROG_CXX now set CFLAGS and CXXFLAGS, respectively.
|
||
* AC_PROG_INSTALL looks for install-sh or install.sh in the directory
|
||
specified by AC_CONFIG_AUXDIR, or srcdir or srcdir/.. or
|
||
srcdir/../.. by default.
|
||
* AC_DEFINE, AC_DEFINE_UNQUOTED, and AC_SUBST are more robust and smaller.
|
||
* AC_DEFINE no longer prints anything, because of the new result reporting
|
||
mechanism (AC_MSG_CHECKING and AC_MSG_RESULT).
|
||
* AC_VERBOSE pays attention to --quiet/--silent, not --verbose.
|
||
* AC_ARG_ENABLE and AC_ARG_WITH support whitespace in the arguments to
|
||
--enable- and --with- options.
|
||
* AC_CHECK_FUNCS and AC_CHECK_HEADERS take optional shell commands to
|
||
execute on success or failure.
|
||
* Checking for C functions in C++ works.
|
||
|
||
** Removed macros:
|
||
* AC_REMOTE_TAPE and AC_RSH removed; too specific to tar and cpio, and
|
||
better maintained with them.
|
||
* AC_ARG_ARRAY removed because no one was likely using it.
|
||
* AC_HAVE_POUNDBANG replaced with AC_SYS_INTERPRETER, which doesn't
|
||
take arguments, for consistency with all of the other specific checks.
|
||
|
||
** New files:
|
||
* Comes with config.sub and config.guess, and uses them optionally.
|
||
* Uses config.cache to cache test results. An alternate cache file
|
||
can be selected with the --cache-file=FILE option.
|
||
* Uses optional shell scripts $prefix/share/config.site and
|
||
$prefix/etc/config.site to perform site or system specific initializations.
|
||
* configure saves compiler output to ./config.log for debugging.
|
||
* New files autoconf.m4 and autoheader.m4 load the other Autoconf macros.
|
||
* acsite.m4 is the new name for the system-wide aclocal.m4.
|
||
* Has a DejaGnu test suite.
|
||
|
||
Major changes in release 1.11:
|
||
|
||
* AC_PROG_INSTALL calls install.sh with the -c option.
|
||
* AC_SET_MAKE cleans up after itself.
|
||
* AC_OUTPUT sets prefix and exec_prefix if they weren't set already.
|
||
* AC_OUTPUT prevents shells from looking in PATH for config.status.
|
||
|
||
Plus a few other bug fixes.
|
||
|
||
Major changes in release 1.10:
|
||
|
||
* autoheader uses config.h.bot if present, analogous to config.h.top.
|
||
* AC_PROG_INSTALL looks for install.sh in srcdir or srcdir/.. and
|
||
never uses cp.
|
||
* AC_PROG_CXX looks for cxx as a C++ compiler.
|
||
|
||
Plus several bugs fixed.
|
||
|
||
Major changes in release 1.9:
|
||
|
||
* AC_YYTEXT_POINTER replaces AC_DECLARE_YYTEXT.
|
||
* AC_SIZEOF_TYPE generates the cpp symbol name automatically,
|
||
and autoheader generates entries for those names automatically.
|
||
* AC_FIND_X gets the result from xmkmf correctly.
|
||
* AC_FIND_X assumes no X if --without-x was given.
|
||
* AC_FIND_XTRA adds libraries to the variable X_EXTRA_LIBS.
|
||
* AC_PROG_INSTALL finds OSF/1 installbsd.
|
||
|
||
Major changes in release 1.8:
|
||
|
||
** New macros:
|
||
* New macros AC_LANG_C, AC_LANG_CPLUSPLUS, AC_LANG_SAVE, AC_LANG_RESTORE,
|
||
AC_PROG_CXX, AC_PROG_CXXCPP, AC_REQUIRE_CPP
|
||
for checking both C++ and C features in one configure script.
|
||
* New macros AC_CHECKING, AC_VERBOSE, AC_WARN, AC_ERROR for printing messages.
|
||
* New macros AC_FIND_XTRA, AC_MMAP, AC_SIZEOF_TYPE, AC_PREREQ,
|
||
AC_SET_MAKE, AC_ENABLE.
|
||
|
||
** Changed macros:
|
||
* AC_FIND_X looks for X in more places.
|
||
* AC_PROG_INSTALL defaults to install.sh instead of cp, if it's in srcdir.
|
||
install.sh is distributed with Autoconf.
|
||
* AC_DECLARE_YYTEXT has been removed because it can't work, pending
|
||
a rewrite of quoting in AC_DEFINE.
|
||
* AC_OUTPUT adds its comments in C format when substituting in C files.
|
||
* AC_COMPILE_CHECK protects its ECHO-TEXT argument with double quotes.
|
||
|
||
** New or changed command line options:
|
||
* configure accepts --enable-FEATURE[=ARG] and --disable-FEATURE options.
|
||
* configure accepts --without-PACKAGE, which sets withval=no.
|
||
* configure accepts --x-includes=DIR and --x-libraries=DIR.
|
||
* Giving --with-PACKAGE no argument sets withval=yes instead of withval=1.
|
||
* configure accepts --help, --version, --silent/--quiet, --no-create options.
|
||
* configure accepts and ignores most other Cygnus configure options, and
|
||
warns about unknown options.
|
||
* config.status accepts --help, --version options.
|
||
|
||
** Paths and other changes:
|
||
* Relative srcdir values are not made absolute.
|
||
* The values of @prefix@ and @exec_prefix@ and @top_srcdir@ get substituted.
|
||
* Autoconf library files are installed in ${datadir}/autoconf, not ${datadir}.
|
||
* autoheader optionally copies config.h.top to the beginning of config.h.in.
|
||
* The example Makefile dependencies for configure et al. work better.
|
||
* Namespace cleanup: all shell variables used internally by Autoconf
|
||
have names beginning with `ac_'.
|
||
|
||
More big improvements are in process for future releases, but have not
|
||
yet been (variously) finished, integrated, tested, or documented enough
|
||
to release yet.
|
||
|
||
Major changes in release 1.7:
|
||
|
||
* New macro AC_OBSOLETE.
|
||
* Bugs in Makefile.in fixed.
|
||
* AC_LONG_FILE_NAMES improved.
|
||
|
||
Major changes in release 1.6:
|
||
|
||
* New macro AC_LONG_64_BITS.
|
||
* Multiple .h files can be created.
|
||
* AC_FIND_X looks for X files directly if it doesn't find xmkmf.
|
||
* AC_ALLOCA defines C_ALLOCA if using alloca.c.
|
||
* --with-NAME can take a value, e.g., --with-targets=sun4,hp300bsd.
|
||
* Unused --no-create option to configure removed.
|
||
* autoheader doesn't change the timestamp of its output file if
|
||
the file didn't change.
|
||
* All macros that look for libraries now use AC_HAVE_LIBRARY.
|
||
* config.status checks three optional environment variables to
|
||
modify its behavior.
|
||
* The usual bug fixes.
|
||
|
||
Major changes in release 1.5:
|
||
|
||
* New macros AC_FIND_X, AC_OFF_T, AC_STAT_MACROS_BROKEN, AC_REVISION.
|
||
* autoconf and autoheader scripts have GNU standards conforming
|
||
--version and --help options (they print their message and exit).
|
||
* Many bug fixes.
|
||
|
||
Major changes in release 1.4:
|
||
|
||
* New macros AC_HAVE_POUNDBANG, AC_TIME_WITH_SYS_TIME, AC_LONG_DOUBLE,
|
||
AC_GETGROUPS_T, AC_DEFINE_UNQUOTED.
|
||
* autoconf and autoheader use the M4 environment variable to determine the
|
||
path of the m4 program to use.
|
||
* The --macrodir option to autoconf and autoheader specifies the directory
|
||
in which acspecific.m4, acgeneral.m4, etc. reside if not the default.
|
||
* autoconf and autoheader can take `-' as their file names, which means to
|
||
read stdin as input.
|
||
* Resulting configure scripts can take a --verbose option which causes them
|
||
to print the results of their tests.
|
||
* AC_DEFINE quotes its second argument in such a way that spaces, magic
|
||
shell characters, etc. will be preserved during various stages of
|
||
expansion done by the shell. If you don't want this, use
|
||
AC_DEFINE_UNQUOTED instead.
|
||
* Much textual processing done with external calls to tr and sed have been
|
||
internalized with builtin m4 `patsubst' and `translit' calls.
|
||
* AC_OUTPUT doesn't hardwire the filenames it outputs. Instead, you can
|
||
set the shell variables `gen_files' and `gen_config' to the list of
|
||
filenames to output.
|
||
* AC_DECLARE_YYTEXT does an AC_SUBST of `LEX_OUTPUT_ROOT', which may be
|
||
"lex.yy" or "lexyy", depending on the system.
|
||
* AC_PROGRAMS_CHECK takes an optional third arg. If given, it is used as
|
||
the default value.
|
||
* If AC_ALLOCA chooses alloca.c, it also defines STACK_DIRECTION.
|
||
* AC_CONST works much more reliably on more systems.
|
||
* Many bug fixes.
|
||
|
||
Major changes in release 1.3:
|
||
|
||
configure no longer requires awk for packages that use a config.h.
|
||
Support handling --with-PACKAGE options.
|
||
New `autoheader' script to create `config.h.in' from `configure.in'.
|
||
Ignore troublesome -lucb and -lPW when searching for alloca.
|
||
Rename --exec_prefix to --exec-prefix for GNU standards conformance.
|
||
Improve detection of STDC library.
|
||
Add AC_HAVE_LIBRARY to check for non-default libraries.
|
||
Function checking should work with future GNU libc releases.
|
||
|
||
Major changes in release 1.2:
|
||
|
||
The --srcdir option is now usually unnecessary.
|
||
Add a file containing sample comments describing CPP macros.
|
||
A comment in config.status tells which host it was configured on.
|
||
Substituted variable values can now contain commas.
|
||
Fix bugs in various feature checks.
|
||
|
||
Major changes in release 1.1:
|
||
|
||
Added AC_STRCOLL macro.
|
||
Made AC_GETLOADAVG check for more things.
|
||
AC_OUTPUT argument is now optional.
|
||
Various bug fixes.
|