mirror of
git://git.sv.gnu.org/autoconf
synced 2024-12-03 02:00:36 +08:00
bb714a2c0b
of the GNU Free Documentation License. * doc/autoconf.texi: Switch from old style copyright notice to FDL. Add an appendix "Copying This Manual" for the FDL. * doc/fdl.texi: New file, from <http://www.gnu.org/licenses/fdl.texi>. * doc/Makefile.am (autoconf_TEXINFOS): Add fdl.texi.
704 lines
28 KiB
Plaintext
704 lines
28 KiB
Plaintext
* Major changes in Autoconf 2.52c -*- outline -*-
|
||
** Licensing
|
||
The autoconf manual is now distributed under the terms of the GNU FDL.
|
||
** Requirements
|
||
Perl 5.005 is now required to run Autoconf.
|
||
** autom4te
|
||
New executable, used by the Autoconf suite to cache and speed up
|
||
some processing.
|
||
** autoconf
|
||
- --force, -f
|
||
** autoheader
|
||
- --force, -f
|
||
** Bug fixes
|
||
- The top level $prefix is propagated to the AC_CONFIG_SUBDIRS configures.
|
||
** C Macros
|
||
- AC_C_BIGENDIAN supports the cross-compiling case.
|
||
- AC_C_BIGENDIAN accepts ACTION-IF-TRUE, ACTION-IF-FALSE, and
|
||
ACTION-IF-UNKNOWN arguments. All are facultative, and the default
|
||
for ACTION-IF-TRUE is to define WORDS_BIGENDIAN like AC_C_BIGENDIAN
|
||
always did.
|
||
|
||
* Major changes in Autoconf 2.52
|
||
** Documentation
|
||
- AC_ARG_VAR
|
||
- 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
|
||
- Tips for upgrading from 2.13.
|
||
- Using autoscan to maintain a configure.ac.
|
||
|
||
** Default includes
|
||
- Now include stdint.h.
|
||
- sys/types.h and sys/stat.h are guarded.
|
||
- strings.h is included if available, and not conflicting with string.h.
|
||
|
||
** Bug fixes
|
||
- The test suite is more robust and presents less false failures.
|
||
- Invocation of GNU M4 now robust to POSIXLY_CORRECT.
|
||
- configure accepts --prefix='' again.
|
||
- AC_CHECK_LIB works properly when its first argument is not a
|
||
literal.
|
||
- HAVE_INTTYPES_H is defined only if not conflicting with sys/types.h.
|
||
- build_, host_, and target_alias are AC_SUBST as in 2.13.
|
||
- AC_ARG_VAR properly propagates precious variables inherited from the
|
||
environment to ./config.status.
|
||
- Using --program-suffix/--program-prefix is portable.
|
||
- Failures to detect the default compiler's output extension are less
|
||
likely.
|
||
- `config.status foo' works properly when `foo' depends on variables
|
||
set in an AC_CONFIG_THING INIT-CMD.
|
||
- autoheader is more robust to broken input.
|
||
- Fixed Fortran name-mangling and link tests on a number of systems,
|
||
e.g. NetBSD; see AC_F77_DUMMY_MAIN, below.
|
||
|
||
** Generic macros
|
||
- AC_CHECK_HEADER and AC_CHECK_HEADERS support a fourth argument to
|
||
specify pre-includes. In this case, the headers are compiled with
|
||
cc, not merely preprocessed by cpp. Therefore it is the _usability_
|
||
of a header which is checked for, not just its availability.
|
||
- AC_ARG_VAR refuses to run configure when precious variables have
|
||
changed.
|
||
- Versions of compilers are dumped in the logs.
|
||
- AC_CHECK_TYPE recognizes use of `foo_t' as a replacement type.
|
||
|
||
** Specific Macros
|
||
- AC_PATH_XTRA only adds -ldnet to $LIBS if it's needed to link.
|
||
- AC_FUNC_WAIT3 and AC_SYS_RESTARTABLE_SYSCALLS are obsoleted.
|
||
- AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH, AM_FUNC_MKTIME,
|
||
AM_FUNC_OBSTACK, and AM_FUNC_STRTOD are now activated.
|
||
Be sure to read `Upgrading from Version 2.13' to understand why
|
||
running `autoupdate' is needed.
|
||
- AC_F77_DUMMY_MAIN, AC_F77_MAIN: new macros to detect whether
|
||
a main-like routine is required/possible when linking C/C++ with
|
||
Fortran. Users of e.g. AC_F77_WRAPPERS should be aware of these.
|
||
- AC_FUNC_GETPGRG behaves better when cross-compiling.
|
||
|
||
* 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++.
|
||
|
||
Major changes in Autoconf 2.14:
|
||
There was no release of GNU Autoconf 2.14.
|
||
|
||
Major changes in Autoconf 2.13:
|
||
|
||
* Support for building on Win32 systems where the only available C or
|
||
C++ compiler is the Microsoft Visual C++ command line compiler
|
||
(`cl'). Additional support for building on Win32 systems which are
|
||
using the Cygwin or Mingw32 environments.
|
||
* Support for alternative object file and executable file extensions.
|
||
On Win32, for example, these are .obj and .exe. These are discovered
|
||
using AC_OBJEXT and AC_EXEEXT, which substitute @OBJEXT@ and
|
||
@EXEEXT@ in the output, respectively.
|
||
* New macros: AC_CACHE_LOAD, AC_CACHE_SAVE, AC_FUNC_SELECT_ARGTYPES,
|
||
AC_VALIDATE_CACHED_SYSTEM_TUPLE, AC_SEARCH_LIBS, AC_TRY_LINK_FUNC,
|
||
AC_C_STRINGIZE, AC_CHECK_FILE(S), AC_PROG_F77 (and friends).
|
||
* AC_DEFINE now has an optional third argument for a description to be
|
||
placed in the config header input file (e.g. config.h.in).
|
||
* The C++ code fragment compiled for the C++ compiler test had to be
|
||
improved to include an explicit return type for main(). This was
|
||
causing failures on systems using recent versions of the EGCS C++
|
||
compiler.
|
||
* Fixed an important bug in AC_CHECK_TYPE that would cause a configure
|
||
script to report that `sometype_t' was present when only `type_t'
|
||
was defined.
|
||
* Merge of the FSF version of config.guess and config.sub to modernise
|
||
these scripts. Add support for a few new hosts in config.guess.
|
||
Incorporate latest versions of install-sh, mkinstalldirs and
|
||
texinfo.tex from the FSF.
|
||
* autoreconf is capable of running automake if necessary (and
|
||
applicable).
|
||
* Support for Fortran 77. See the Texinfo documentation for details.
|
||
* Bug fixes and workarounds for quirky bugs in vendor utilities.
|
||
|
||
Major changes in Autoconf 2.12:
|
||
|
||
* AC_OUTPUT and AC_CONFIG_HEADER can create output files by
|
||
concatenating multiple input files separated by colons, like so:
|
||
AC_CONFIG_HEADER(config.h:conf.pre:config.h.in:conf.post)
|
||
AC_OUTPUT(Makefile:Makefile.in:Makefile.rules)
|
||
The arguments may be shell variables, to compute the lists on the fly.
|
||
* AC_LINK_FILES and AC_CONFIG_SUBDIRS may be called multiple times.
|
||
* New macro AC_OUTPUT_COMMANDS adds more commands to run in config.status.
|
||
* Bug fixes.
|
||
|
||
Major changes in Autoconf 2.11:
|
||
|
||
* AC_PROG_CC and AC_PROG_CXX check whether the compiler works.
|
||
They also default CFLAGS/CXXFLAGS to "-g -O2" for gcc, instead of "-g -O".
|
||
* AC_REPLACE_FUNCS defines HAVE_foo if the system has the function `foo'.
|
||
* AC_CONFIG_HEADER expands shell variables in its argument.
|
||
* New macros: AC_FUNC_FNMATCH, AC_FUNC_SETPGRP.
|
||
* The "checking..." messages and the source code for test programs that
|
||
fail are saved in config.log.
|
||
* Another workaround has been added for seds with small command length limits.
|
||
* config.sub and config.guess recognize more system types.
|
||
* Bug fixes.
|
||
|
||
Major changes in Autoconf 2.10:
|
||
|
||
* Bug fixes.
|
||
* The cache variable names used by `AC_CHECK_LIB(LIB, FUNC, ...)' has
|
||
changed: now $ac_cv_lib_LIB_FUNC, previously $ac_cv_lib_LIB.
|
||
|
||
Major changes in Autoconfs 2.6 through 2.9:
|
||
|
||
* Bug fixes.
|
||
|
||
Major changes in Autoconf 2.5:
|
||
|
||
* New configure options --bindir, --libdir, --datadir, etc., with
|
||
corresponding output variables.
|
||
* New macro: AC_CACHE_CHECK, to make using the cache easier.
|
||
* config.log contains the command being run as well as any output from it.
|
||
* AC_CHECK_LIB can check for libraries with "." or "/" or "+" in their name.
|
||
* AC_PROG_INSTALL doesn't cache a path to install-sh, for sharing caches.
|
||
* AC_CHECK_PROG, AC_PATH_PROG, AC_CHECK_PROGS, AC_PATH_PROGS, and
|
||
AC_CHECK_TOOL can search a path other than $PATH.
|
||
* AC_CHECK_SIZEOF takes an optional size to use when cross-compiling.
|
||
|
||
Major changes in Autoconf 2.4:
|
||
|
||
* Fix a few bugs found by Emacs testers.
|
||
|
||
Major changes in Autoconf 2.3:
|
||
|
||
* Fix the cleanup trap in several ways.
|
||
* Handle C compilers that are picky about option placement.
|
||
* ifnames gets the version number from the right directory.
|
||
|
||
Major changes in Autoconf 2.2:
|
||
|
||
* The ifnames utility is much faster but requires a "new awk" interpreter.
|
||
* AC_CHECK_LIB and AC_HAVE_LIBRARY check and add the new
|
||
library before existing libs, not after, in case it uses them.
|
||
* New macros: AC_FUNC_GETPGRP, AC_CHECK_TOOL.
|
||
* Lots of bug fixes.
|
||
* Many additions to the TODO file :-)
|
||
|
||
Major changes in Autoconf 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 indiscriminately 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 Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 1.7:
|
||
|
||
* New macro AC_OBSOLETE.
|
||
* Bugs in Makefile.in fixed.
|
||
* AC_LONG_FILE_NAMES improved.
|
||
|
||
Major changes in Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 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 Autoconf 1.1:
|
||
|
||
Added AC_STRCOLL macro.
|
||
Made AC_GETLOADAVG check for more things.
|
||
AC_OUTPUT argument is now optional.
|
||
Various bug fixes.
|
||
|
||
-----
|
||
|
||
Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free
|
||
Software Foundation, Inc.
|
||
|
||
This file is part of GNU autoconf.
|
||
|
||
GNU autoconf 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.
|
||
|
||
GNU autoconf 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 autoconf; see the file COPYING. If not, write to
|
||
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||
Boston, MA 02111-1307, USA.
|