[SCM] GNU Autoconf source repository branch, master, updated. v2.64-53-g6e705c0
"Ralf Wildenhues" <[email protected]>
| Newsgroups | gmane.comp.sysutils.autoconf.cvs |
|---|---|
| Message-ID | <[email protected]> |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=6e705c04786b1a929569995e569b1404c2a74156
The branch, master has been updated
via 6e705c04786b1a929569995e569b1404c2a74156 (commit)
via cb3638e5aaae3295a7478653ae5d6b0c281fb6db (commit)
via 57174765e6c568b00adfc9289249ae7f37477942 (commit)
via 3ab3c9b3570d0507ae0aaa590713cc088182c5c7 (commit)
via 19e33ef7cf0f26519009c4e430d663214dc143e7 (commit)
from 44483f024289095945e7430d020121704bc8fb46 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6e705c04786b1a929569995e569b1404c2a74156
Author: Ralf Wildenhues <[email protected]>
Date: Fri Sep 18 07:20:58 2009 +0200
Use consistent notation for cache variables.
* doc/autoconf.texi (Generic Programs): Remove `$' before
variable name.
Signed-off-by: Ralf Wildenhues <[email protected]>
commit cb3638e5aaae3295a7478653ae5d6b0c281fb6db
Author: Ralf Wildenhues <[email protected]>
Date: Fri Sep 18 07:19:59 2009 +0200
Documentation of specific and general cache variables.
* doc/autoconf.texi (Default Includes, Alternative Programs)
(Particular Programs, Generic Programs, Files, Libraries)
(Function Portability, Particular Functions, Generic Functions)
(Particular Headers, Generic Headers, Declarations)
(Generic Declarations, Particular Structures, Particular Types)
(Specific Compiler Characteristics)
(Generic Compiler Characteristics, C Compiler, System Services):
Document lots of cache variables.
* NEWS: Update.
Suggested by Bruno Haible.
Signed-off-by: Ralf Wildenhues <[email protected]>
commit 57174765e6c568b00adfc9289249ae7f37477942
Author: Ralf Wildenhues <[email protected]>
Date: Fri Sep 18 07:16:04 2009 +0200
New cache variable index in the manual.
* doc/autoconf.texi: Define new index `CA' for cache variables.
(caindex): New macro.
(Cache Variable Index): New appendix node.
(Top, Indices): Adjust menus.
(Cache Variable Names, Site Defaults): Adjust text.
* doc/Makefile.am (CLEANFILES): Add files generated for CA index.
Signed-off-by: Ralf Wildenhues <[email protected]>
commit 3ab3c9b3570d0507ae0aaa590713cc088182c5c7
Author: Ralf Wildenhues <[email protected]>
Date: Fri Sep 18 07:15:18 2009 +0200
New FAQ node: Debugging.
* doc/autoconf.texi (Debugging): New node.
(Top, FAQ): Adjust menus.
Report by Bruno Haible.
Signed-off-by: Ralf Wildenhues <[email protected]>
commit 19e33ef7cf0f26519009c4e430d663214dc143e7
Author: Ralf Wildenhues <[email protected]>
Date: Fri Sep 18 07:15:00 2009 +0200
Document AM_MAKEFLAGS workaround to the macro override problem.
* doc/autoconf.texi (Macros and Submakes): Automake makefiles
provide AM_MAKEFLAGS to help with overriding macros in submake
invocations.
Prompted by bug report from Bruno Haible.
Signed-off-by: Ralf Wildenhues <[email protected]>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 37 ++++
NEWS | 2 +
doc/Makefile.am | 1 +
doc/autoconf.texi | 474 +++++++++++++++++++++++++++++++++++++++++++++++++++--
4 files changed, 498 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 50f6fb7..9900331 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2009-09-18 Ralf Wildenhues <[email protected]>
+
+ Use consistent notation for cache variables.
+ * doc/autoconf.texi (Generic Programs): Remove `$' before
+ variable name.
+
+ Documentation of specific and general cache variables.
+ * doc/autoconf.texi (Default Includes, Alternative Programs)
+ (Particular Programs, Generic Programs, Files, Libraries)
+ (Function Portability, Particular Functions, Generic Functions)
+ (Particular Headers, Generic Headers, Declarations)
+ (Generic Declarations, Particular Structures, Particular Types)
+ (Specific Compiler Characteristics)
+ (Generic Compiler Characteristics, C Compiler, System Services):
+ Document lots of cache variables.
+ * NEWS: Update.
+ Suggested by Bruno Haible.
+
+ New cache variable index in the manual.
+ * doc/autoconf.texi: Define new index `CA' for cache variables.
+ (caindex): New macro.
+ (Cache Variable Index): New appendix node.
+ (Top, Indices): Adjust menus.
+ (Cache Variable Names, Site Defaults): Adjust text.
+ * doc/Makefile.am (CLEANFILES): Add files generated for CA index.
+
+ New FAQ node: Debugging.
+ * doc/autoconf.texi (Debugging): New node.
+ (Top, FAQ): Adjust menus.
+ Report by Bruno Haible.
+
+ Document AM_MAKEFLAGS workaround to the macro override problem.
+ * doc/autoconf.texi (Macros and Submakes): Automake makefiles
+ provide AM_MAKEFLAGS to help with overriding macros in submake
+ invocations.
+ Prompted by bug report from Bruno Haible.
+
2009-09-15 Peter Breitenlohner <[email protected]>
Implement and document Objective C++ support.
diff --git a/NEWS b/NEWS
index 7720ddc..f738426 100644
--- a/NEWS
+++ b/NEWS
@@ -32,6 +32,8 @@ GNU Autoconf NEWS - User visible changes.
** config.status now provides a --config option to produce the configuration.
+** Many cache variables used by Autoconf's macros are now documented.
+
* Major changes in Autoconf 2.64 (2009-07-26) [stable]
Released by Eric Blake, based on git versions 2.63b.*.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 1e4e53e..fd1ab33 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -30,4 +30,5 @@ EXTRA_DIST = gendocs_template
# not know.
CLEANFILES = autoconf.ACs autoconf.cvs autoconf.MSs autoconf.prs \
autoconf.ATs autoconf.evs autoconf.fns autoconf.ovs \
+ autoconf.ca autoconf.CA autoconf.cas autoconf.CAs \
autoconf.tmp
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index f090024..53fab23 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -52,6 +52,8 @@
@defcodeindex ov
@c Define a CPP variable index.
@defcodeindex cv
+@c Define a cache variable index.
+@defcodeindex CA
@c Define an Autoconf macro index that @defmac doesn't write to.
@defcodeindex AC
@c Define an Autotest macro index that @defmac doesn't write to.
@@ -154,6 +156,20 @@
@end ifclear
+@c @caindex{VARIABLE}
+@c ------------------
+@c Registering an ac_cv_\VARIABLE\ cache variable.
+@ifset shortindexflag
+@macro caindex{macro}
+@CAindex \macro\
+@end macro
+@end ifset
+@ifclear shortindexflag
+@macro caindex{macro}
+@CAindex ac_cv_\macro\
+@end macro
+@end ifclear
+
@c Define an index for functions: `alloca' etc. Used for the
@c portability sections and so on. We can't use `fn' (aka `fnindex),
@c since `@defmac' goes into it => we'd get all the macros too.
@@ -622,6 +638,7 @@ Frequent Autoconf Questions, with answers
* Autom4te Cache:: What is it? Can I remove it?
* Present But Cannot Be Compiled:: Compiler and Preprocessor Disagree
* Expanded Before Required:: Expanded Before Required
+* Debugging:: Debugging @command{configure} scripts
History of Autoconf
@@ -636,6 +653,7 @@ Indices
* Environment Variable Index:: Index of environment variables used
* Output Variable Index:: Index of variables set in output files
* Preprocessor Symbol Index:: Index of C preprocessor symbols defined
+* Cache Variable Index:: Index of documented cache variables
* Autoconf Macro Index:: Index of Autoconf macros
* M4 Macro Index:: Index of M4, M4sugar, and M4sh macros
* Autotest Macro Index:: Index of Autotest macros
@@ -3851,36 +3869,44 @@ in some cases whether they support certain features.
@defmac AC_PROG_AWK
@acindex{PROG_AWK}
@ovindex AWK
+@caindex prog_AWK
Check for @code{gawk}, @code{mawk}, @code{nawk}, and @code{awk}, in that
order, and set output variable @code{AWK} to the first one that is found.
It tries @code{gawk} first because that is reported to be the
-best implementation.
+best implementation. The result is cached in the @code{ac_cv_prog_AWK}
+variable.
@end defmac
@defmac AC_PROG_GREP
@acindex{PROG_GREP}
@ovindex GREP
+@caindex prog_GREP
Look for the best available @code{grep} or @code{ggrep} that accepts the
longest input lines possible, and that supports multiple @option{-e} options.
Set the output variable @code{GREP} to whatever is chosen.
@xref{grep, , Limitations of Usual Tools}, for more information about
-portability problems with the @command{grep} command family.
+portability problems with the @command{grep} command family. The result
+is cached in the @code{ac_cv_path_GREP} variable.
@end defmac
@defmac AC_PROG_EGREP
@acindex{PROG_EGREP}
@ovindex EGREP
+@caindex prog_EGREP
Check whether @code{$GREP -E} works, or else look for the best available
@code{egrep} or @code{gegrep} that accepts the longest input lines possible.
-Set the output variable @code{EGREP} to whatever is chosen.
+Set the output variable @code{EGREP} to whatever is chosen. The result
+is cached in the @code{ac_cv_path_EGREP} variable.
@end defmac
@defmac AC_PROG_FGREP
@acindex{PROG_FGREP}
@ovindex FGREP
+@caindex prog_FGREP
Check whether @code{$GREP -F} works, or else look for the best available
@code{fgrep} or @code{gfgrep} that accepts the longest input lines possible.
-Set the output variable @code{FGREP} to whatever is chosen.
+Set the output variable @code{FGREP} to whatever is chosen. The result
+is cached in the @code{ac_cv_path_FGREP} variable.
@end defmac
@defmac AC_PROG_INSTALL
@@ -3889,6 +3915,7 @@ Set the output variable @code{FGREP} to whatever is chosen.
@ovindex INSTALL_PROGRAM
@ovindex INSTALL_DATA
@ovindex INSTALL_SCRIPT
+@caindex path_install
Set output variable @code{INSTALL} to the name of a @acronym{BSD}-compatible
@command{install} program, if one is found in the current @env{PATH}.
Otherwise, set @code{INSTALL} to @samp{@var{dir}/install-sh -c},
@@ -3921,11 +3948,15 @@ If you need to use your own installation program because it has features
not found in standard @command{install} programs, there is no reason to use
@code{AC_PROG_INSTALL}; just put the file name of your program into your
@file{Makefile.in} files.
+
+The result of the test is cached in the @code{ac_cv_path_install} variable,
+if an @command{install} program other than the in-tree script is found.
@end defmac
@defmac AC_PROG_MKDIR_P
@acindex{PROG_MKDIR_P}
@ovindex MKDIR_P
+@caindex path_mkdir
Set output variable @code{MKDIR_P} to a program that ensures that for
each argument, a directory named by this argument exists, creating it
and its parent directories if needed, and without race conditions when
@@ -3956,6 +3987,9 @@ vulnerability, whereas @code{AC_PROG_MKDIR_P} does.
@samp{@@MKDIR_P@@} is special, as its value may vary for different
configuration files.
+
+The result of the test is cached in the @code{ac_cv_path_mkdir} variable,
+if a @command{mkdir} program other than an in-tree script is found.
@end defmac
@anchor{AC_PROG_LEX}
@@ -3965,6 +3999,7 @@ configuration files.
@ovindex LEXLIB
@cvindex YYTEXT_POINTER
@ovindex LEX_OUTPUT_ROOT
+@caindex prog_LEX
If @code{flex} is found, set output variable @code{LEX} to @samp{flex}
and @code{LEXLIB} to @option{-lfl}, if that library is in a standard
place. Otherwise set @code{LEX} to @samp{lex} and @code{LEXLIB} to
@@ -4014,6 +4049,8 @@ of Automake will fix this issue; meanwhile, just ignore this message.
As part of running the test, this macro may delete any file in the
configuration directory named @file{lex.yy.c} or @file{lexyy.c}.
+
+The result of this test is cached in the @code{ac_cv_prog_LEX} variable.
@end defmac
@anchor{AC_PROG_LN_S}
@@ -4046,6 +4083,8 @@ Instead, do:
@defmac AC_PROG_RANLIB
@acindex{PROG_RANLIB}
@ovindex RANLIB
+@c @caindex prog_RANLIB
+@c @caindex prog_ac_ct_RANLIB
Set output variable @code{RANLIB} to @samp{ranlib} if @code{ranlib}
is found, and otherwise to @samp{:} (do nothing).
@end defmac
@@ -4053,10 +4092,13 @@ is found, and otherwise to @samp{:} (do nothing).
@defmac AC_PROG_SED
@acindex{PROG_SED}
@ovindex SED
+@caindex prog_SED
Set output variable @code{SED} to a Sed implementation that conforms to
Posix and does not have arbitrary length limits. Report an error if no
acceptable Sed is found. @xref{sed, , Limitations of Usual Tools}, for more
information about portability problems with Sed.
+
+The result of this test is cached in the @code{ac_cv_prog_SED} variable.
@end defmac
@defmac AC_PROG_YACC
@@ -4064,9 +4106,11 @@ information about portability problems with Sed.
@evindex YACC
@evindex YFLAGS
@ovindex YACC
+@caindex prog_YACC
If @code{bison} is found, set output variable @code{YACC} to @samp{bison
-y}. Otherwise, if @code{byacc} is found, set @code{YACC} to
@samp{byacc}. Otherwise set @code{YACC} to @samp{yacc}.
+The result of this test is cached in the @code{ac_cv_prog_YACC} variable.
@end defmac
@node Generic Programs
@@ -4095,6 +4139,7 @@ You are strongly encouraged to declare the @var{variable} passed to
@var{value-if-found}, @ovar{value-if-not-found}, @dvar{path, $PATH}, @
@ovar{reject})
@acindex{CHECK_PROG}
+@caindex prog_@var{variable}
Check whether program @var{prog-to-check-for} exists in @var{path}. If
it is found, set @var{variable} to @var{value-if-found}, otherwise to
@var{value-if-not-found}, if given. Always pass over @var{reject} (an
@@ -4102,20 +4147,23 @@ absolute file name) even if it is the first found in the search path; in
that case, set @var{variable} using the absolute file name of the
@var{prog-to-check-for} found that is not @var{reject}. If
@var{variable} was already set, do nothing. Calls @code{AC_SUBST} for
-@var{variable}.
+@var{variable}. The result of this test is cached in the
+@code{ac_cv_prog_@var{variable}} variable.
@end defmac
@anchor{AC_CHECK_PROGS}
@defmac AC_CHECK_PROGS (@var{variable}, @var{progs-to-check-for}, @
@ovar{value-if-not-found}, @dvar{path, $PATH})
@acindex{CHECK_PROGS}
+@caindex prog_@var{variable}
Check for each program in the blank-separated list
@var{progs-to-check-for} existing in the @var{path}. If one is found, set
@var{variable} to the name of that program. Otherwise, continue
checking the next program in the list. If none of the programs in the
list are found, set @var{variable} to @var{value-if-not-found}; if
@var{value-if-not-found} is not specified, the value of @var{variable}
-is not changed. Calls @code{AC_SUBST} for @var{variable}.
+is not changed. Calls @code{AC_SUBST} for @var{variable}. The result of
+this test is cached in the @code{ac_cv_prog_@var{variable}} variable.
@end defmac
@defmac AC_CHECK_TARGET_TOOL (@var{variable}, @var{prog-to-check-for}, @
@@ -4139,6 +4187,8 @@ uses to produce objects, archives or executables}.
@defmac AC_CHECK_TOOL (@var{variable}, @var{prog-to-check-for}, @
@ovar{value-if-not-found}, @dvar{path, $PATH})
@acindex{CHECK_TOOL}
+@c @caindex prog_@var{VARIABLE}
+@c @caindex prog_ac_ct_@var{VARIABLE}
Like @code{AC_CHECK_PROG}, but first looks for @var{prog-to-check-for}
with a prefix of the host type as specified by @option{--host}, followed by a
dash. For example, if the user runs
@@ -4193,14 +4243,17 @@ For more information, see @ref{Specifying Target Triplets}.
@defmac AC_PATH_PROG (@var{variable}, @var{prog-to-check-for}, @
@ovar{value-if-not-found}, @dvar{path, $PATH})
@acindex{PATH_PROG}
+@caindex path_@var{variable}
Like @code{AC_CHECK_PROG}, but set @var{variable} to the absolute
-name of @var{prog-to-check-for} if found.
+name of @var{prog-to-check-for} if found. A positive result of this
+test is cached in the @code{ac_cv_path_@var{variable}} variable.
@end defmac
@anchor{AC_PATH_PROGS}
@defmac AC_PATH_PROGS (@var{variable}, @var{progs-to-check-for}, @
@ovar{value-if-not-found}, @dvar{path, $PATH})
@acindex{PATH_PROGS}
+@caindex path_@var{variable}
Like @code{AC_CHECK_PROGS}, but if any of @var{progs-to-check-for}
are found, set @var{variable} to the absolute name of the program
found.
@@ -4210,14 +4263,15 @@ found.
@var{progs-to-check-for}, @var{feature-test}, @
@ovar{action-if-not-found}, @dvar{path, $PATH})
@acindex{PATH_PROGS_FEATURE_CHECK}
+@caindex path_@var{variable}
This macro was introduced in Autoconf 2.62. If @var{variable} is not
-empty, then set the cache variable @code{$ac_cv_path_@var{variable}} to
+empty, then set the cache variable @code{ac_cv_path_@var{variable}} to
its value. Otherwise, check for each program in the blank-separated
list @var{progs-to-check-for} existing in @var{path}. For each program
-found, execute @var{feature-test} with @code{$ac_path_@var{variable}}
+found, execute @var{feature-test} with @code{ac_path_@var{variable}}
set to the absolute name of the candidate program. If no invocation of
@var{feature-test} sets the shell variable
-@code{$ac_cv_path_@var{variable}}, then @var{action-if-not-found} is
+@code{ac_cv_path_@var{variable}}, then @var{action-if-not-found} is
executed. @var{feature-test} will be run even when
@code{ac_cv_path_@var{variable}} is set, to provide the ability to
choose a better candidate found later in @var{path}; to accept the
@@ -4280,17 +4334,23 @@ of the host machine, and therefore, they die when cross-compiling.
@defmac AC_CHECK_FILE (@var{file}, @ovar{action-if-found}, @
@ovar{action-if-not-found})
@acindex{CHECK_FILE}
+@caindex file_@var{file}
Check whether file @var{file} exists on the native system. If it is
found, execute @var{action-if-found}, otherwise do
-@var{action-if-not-found}, if given.
+@var{action-if-not-found}, if given. The result of this test is cached
+in the @code{ac_cv_file_@var{file}} variable, with characters not
+suitable for a variable name mapped to underscores.
@end defmac
@defmac AC_CHECK_FILES (@var{files}, @ovar{action-if-found}, @
@ovar{action-if-not-found})
@acindex{CHECK_FILES}
+@caindex file_@var{file}
Executes @code{AC_CHECK_FILE} once for each file listed in @var{files}.
Additionally, defines @samp{HAVE_@var{file}} (@pxref{Standard Symbols})
-for each file found.
+for each file found. The results of each test are cached in the
+@code{ac_cv_file_@var{file}} variable, with characters not suitable for
+a variable name mapped to underscores.
@end defmac
@@ -4305,6 +4365,7 @@ library archive files.
@defmac AC_CHECK_LIB (@var{library}, @var{function}, @
@ovar{action-if-found}, @ovar{action-if-not-found}, @ovar{other-libraries})
@acindex{CHECK_LIB}
+@caindex lib_@var{library}_@var{function}
Test whether the library @var{library} is available by trying to link
a test program that calls function @var{function} with the library.
@var{function} should be a function provided by the library.
@@ -4340,12 +4401,16 @@ like @code{nsl} on other hosts. On some hosts the special libraries
contain variant implementations that you may not want to use. These
days it is normally better to use @code{AC_SEARCH_LIBS([gethostbyname],
[nsl])} instead of @code{AC_CHECK_LIB([nsl], [gethostbyname])}.
+
+The result of this test is cached in the
+@code{ac_cv_lib_@var{library}_@var{function}} variable.
@end defmac
@anchor{AC_SEARCH_LIBS}
@defmac AC_SEARCH_LIBS (@var{function}, @var{search-libs}, @
@ovar{action-if-found}, @ovar{action-if-not-found}, @ovar{other-libraries})
@acindex{SEARCH_LIBS}
+@caindex search_@var{function}
Search for a library defining @var{function} if it's not already
available. This equates to calling
@samp{AC_LINK_IFELSE([AC_LANG_CALL([], [@var{function}])])} first with
@@ -4361,6 +4426,11 @@ as the @var{other-libraries} argument, separated by spaces:
e.g., @option{-lXt -lX11}. Otherwise, this macro fails to detect
that @var{function} is present, because linking the test program
always fails with unresolved symbols.
+
+The result of this test is cached in the
+@code{ac_cv_search_@var{function}} variable as @samp{no}, if no library
+containing @var{function} was found, otherwise as the
+@option{-l@var{library}} option that needs to be added to @code{LIBS}.
@end defmac
@@ -4660,6 +4730,7 @@ in some cases how they respond when given certain arguments.
@c @fuindex alloca
@prindex @code{alloca}
@hdrindex{alloca.h}
+@c @caindex working_alloca_h
Check how to get @code{alloca}. Tries to get a builtin version by
checking for @file{alloca.h} or the predefined C preprocessor macros
@code{__GNUC__} and @code{_AIX}. If this macro finds @file{alloca.h},
@@ -4713,9 +4784,11 @@ void *alloca (size_t);
@cvindex HAVE_CHOWN
@c @fuindex chown
@prindex @code{chown}
+@caindex func_chown_works
If the @code{chown} function is available and works (in particular, it
should accept @option{-1} for @code{uid} and @code{gid}), define
-@code{HAVE_CHOWN}.
+@code{HAVE_CHOWN}. The result of this macro is cached in the
+@code{ac_cv_func_chown_works} variable.
@end defmac
@anchor{AC_FUNC_CLOSEDIR_VOID}
@@ -4724,6 +4797,7 @@ should accept @option{-1} for @code{uid} and @code{gid}), define
@cvindex CLOSEDIR_VOID
@c @fuindex closedir
@prindex @code{closedir}
+@caindex func_closedir_void
If the @code{closedir} function does not return a meaningful value,
define @code{CLOSEDIR_VOID}. Otherwise, callers ought to check its
return value for an error indicator.
@@ -4732,6 +4806,9 @@ Currently this test is implemented by running a test program. When
cross compiling the pessimistic assumption that @code{closedir} does not
return a meaningful value is made.
+The result of this macro is cached in the @code{ac_cv_func_closedir_void}
+variable.
+
This macro is obsolescent, as @code{closedir} returns a meaningful value
on current systems. New programs need not use this macro.
@end defmac
@@ -4740,14 +4817,19 @@ on current systems. New programs need not use this macro.
@acindex{FUNC_ERROR_AT_LINE}
@c @fuindex error_at_line
@prindex @code{error_at_line}
+@caindex lib_error_at_line
If the @code{error_at_line} function is not found, require an
@code{AC_LIBOBJ} replacement of @samp{error}.
+
+The result of this macro is cached in the @code{ac_cv_lib_error_at_line}
+variable.
@end defmac
@defmac AC_FUNC_FNMATCH
@acindex{FUNC_FNMATCH}
@c @fuindex fnmatch
@prindex @code{fnmatch}
+@caindex func_fnmatch_works
If the @code{fnmatch} function conforms to Posix, define
@code{HAVE_FNMATCH}. Detect common implementation bugs, for example,
the bugs in Solaris 2.4.
@@ -4757,6 +4839,9 @@ Unlike the other specific
broken/missing @code{fnmatch}. This is for historical reasons.
See @code{AC_REPLACE_FNMATCH} below.
+The result of this macro is cached in the @code{ac_cv_func_fnmatch_works}
+variable.
+
This macro is obsolescent. New programs should use Gnulib's
@code{fnmatch-posix} module. @xref{Gnulib}.
@end defmac
@@ -4765,11 +4850,15 @@ This macro is obsolescent. New programs should use Gnulib's
@acindex{FUNC_FNMATCH_GNU}
@c @fuindex fnmatch
@prindex @code{fnmatch}
+@caindex func_fnmatch_gnu
Behave like @code{AC_REPLACE_FNMATCH} (@emph{replace}) but also test
whether @code{fnmatch} supports @acronym{GNU} extensions. Detect common
implementation bugs, for example, the bugs in the @acronym{GNU} C
Library 2.1.
+The result of this macro is cached in the @code{ac_cv_func_fnmatch_gnu}
+variable.
+
This macro is obsolescent. New programs should use Gnulib's
@code{fnmatch-gnu} module. @xref{Gnulib}.
@end defmac
@@ -4786,6 +4875,8 @@ This macro is obsolescent. New programs should use Gnulib's
@c @fuindex vfork
@prindex @code{vfork}
@hdrindex{vfork.h}
+@c @caindex func_fork
+@c @caindex func_fork_works
This macro checks for the @code{fork} and @code{vfork} functions. If a
working @code{fork} is found, define @code{HAVE_WORKING_FORK}. This macro
checks whether @code{fork} is just a stub by trying to run it.
@@ -4820,6 +4911,7 @@ yourself in new code:
@prindex @code{fseeko}
@c @fuindex ftello
@prindex @code{ftello}
+@c @caindex sys_largefile_source
If the @code{fseeko} function is available, define @code{HAVE_FSEEKO}.
Define @code{_LARGEFILE_SOURCE} if necessary to make the prototype
visible on some systems (e.g., glibc 2.2). Otherwise linkage problems
@@ -4834,6 +4926,7 @@ largefile-sensitive systems where @code{off_t} does not default to a
@ovindex GETGROUPS_LIBS
@c @fuindex getgroups
@prindex @code{getgroups}
+@caindex func_getgroups_works
If the @code{getgroups} function is available and works (unlike on
Ultrix 4.3, where @samp{getgroups (0, 0)} always fails), define
@code{HAVE_GETGROUPS}. Set @code{GETGROUPS_LIBS} to any libraries
@@ -4907,10 +5000,14 @@ use Gnulib's @code{getloadavg} module. @xref{Gnulib}.
@cvindex HAVE_GETMNTENT
@c @fuindex getmntent
@prindex @code{getmntent}
+@caindex func_getmntent
Check for @code{getmntent} in the standard C library, and then in the
@file{sun}, @file{seq}, and @file{gen} libraries, for @sc{unicos},
@sc{irix} 4, @sc{ptx}, and UnixWare, respectively. Then, if
@code{getmntent} is available, define @code{HAVE_GETMNTENT}.
+
+The result of this macro is cached in the @code{ac_cv_func_getmntent}
+variable.
@end defmac
@defmac AC_FUNC_GETPGRP
@@ -4920,6 +5017,7 @@ Check for @code{getmntent} in the standard C library, and then in the
@c @fuindex getpgrp
@prindex @code{getpgid}
@prindex @code{getpgrp}
+@caindex func_getpgrp_void
Define @code{GETPGRP_VOID} if it is an error to pass 0 to
@code{getpgrp}; this is the Posix behavior. On older @acronym{BSD}
systems, you must pass 0 to @code{getpgrp}, as it takes an argument and
@@ -4937,6 +5035,9 @@ This macro does not check whether
@code{getpgrp} exists at all; if you need to work in that situation,
first call @code{AC_CHECK_FUNC} for @code{getpgrp}.
+The result of this macro is cached in the @code{ac_cv_func_getpgrp_void}
+variable.
+
This macro is obsolescent, as current systems have a @code{getpgrp}
whose signature conforms to Posix. New programs need not use this macro.
@end defmac
@@ -4946,6 +5047,7 @@ whose signature conforms to Posix. New programs need not use this macro.
@cvindex LSTAT_FOLLOWS_SLASHED_SYMLINK
@c @fuindex lstat
@prindex @code{lstat}
+@caindex func_lstat_dereferences_slashed_symlink
If @file{link} is a symbolic link, then @code{lstat} should treat
@file{link/} the same as @file{link/.}. However, many older
@code{lstat} implementations incorrectly ignore trailing slashes.
@@ -4957,6 +5059,9 @@ trailing slashes, then other symbolic-link-aware functions like
If @code{lstat} behaves properly, define
@code{LSTAT_FOLLOWS_SLASHED_SYMLINK}, otherwise require an
@code{AC_LIBOBJ} replacement of @code{lstat}.
+
+The result of this macro is cached in the
+@code{ac_cv_func_lstat_dereferences_slashed_symlink} variable.
@end defmac
@defmac AC_FUNC_MALLOC
@@ -4965,6 +5070,7 @@ If @code{lstat} behaves properly, define
@cvindex malloc
@c @fuindex malloc
@prindex @code{malloc}
+@caindex func_malloc_0_nonnull
If the @code{malloc} function is compatible with the @acronym{GNU} C
library @code{malloc} (i.e., @samp{malloc (0)} returns a valid
pointer), define @code{HAVE_MALLOC} to 1. Otherwise define
@@ -4994,6 +5100,9 @@ rpl_malloc (size_t n)
return malloc (n);
}
@end verbatim
+
+The result of this macro is cached in the
+@code{ac_cv_func_malloc_0_nonnull} variable.
@end defmac
@defmac AC_FUNC_MEMCMP
@@ -5001,12 +5110,16 @@ rpl_malloc (size_t n)
@ovindex LIBOBJS
@c @fuindex memcmp
@prindex @code{memcmp}
+@caindex func_memcmp_working
If the @code{memcmp} function is not available, or does not work on
8-bit data (like the one on SunOS 4.1.3), or fails when comparing 16
bytes or more and with at least one buffer not starting on a 4-byte
boundary (such as the one on NeXT x86 OpenStep), require an
@code{AC_LIBOBJ} replacement for @samp{memcmp}.
+The result of this macro is cached in the
+@code{ac_cv_func_memcmp_working} variable.
+
This macro is obsolescent, as current systems have a working
@code{memcmp}. New programs need not use this macro.
@end defmac
@@ -5016,8 +5129,12 @@ This macro is obsolescent, as current systems have a working
@cvindex HAVE_MBRTOWC
@c @fuindex mbrtowc
@prindex @code{mbrtowc}
+@caindex func_mbrtowc
Define @code{HAVE_MBRTOWC} to 1 if the function @code{mbrtowc} and the
type @code{mbstate_t} are properly declared.
+
+The result of this macro is cached in the @code{ac_cv_func_mbrtowc}
+variable.
@end defmac
@defmac AC_FUNC_MKTIME
@@ -5025,11 +5142,15 @@ type @code{mbstate_t} are properly declared.
@ovindex LIBOBJS
@c @fuindex mktime
@prindex @code{mktime}
+@caindex func_working_mktime
If the @code{mktime} function is not available, or does not work
correctly, require an @code{AC_LIBOBJ} replacement for @samp{mktime}.
For the purposes of this test, @code{mktime} should conform to the
Posix standard and should be the inverse of
@code{localtime}.
+
+The result of this macro is cached in the
+@code{ac_cv_func_working_mktime} variable.
@end defmac
@anchor{AC_FUNC_MMAP}
@@ -5038,17 +5159,25 @@ Posix standard and should be the inverse of
@cvindex HAVE_MMAP
@c @fuindex mmap
@prindex @code{mmap}
+@caindex func_mmap_fixed_mapped
If the @code{mmap} function exists and works correctly, define
@code{HAVE_MMAP}. This checks only private fixed mapping of already-mapped
memory.
+
+The result of this macro is cached in the
+@code{ac_cv_func_mmap_fixed_mapped} variable.
@end defmac
@defmac AC_FUNC_OBSTACK
@acindex{FUNC_OBSTACK}
@cvindex HAVE_OBSTACK
@cindex obstack
+@caindex func_obstack
If the obstacks are found, define @code{HAVE_OBSTACK}, else require an
@code{AC_LIBOBJ} replacement for @samp{obstack}.
+
+The result of this macro is cached in the @code{ac_cv_func_obstack}
+variable.
@end defmac
@defmac AC_FUNC_REALLOC
@@ -5057,6 +5186,7 @@ If the obstacks are found, define @code{HAVE_OBSTACK}, else require an
@cvindex realloc
@c @fuindex realloc
@prindex @code{realloc}
+@caindex func_realloc_0_nonnull
If the @code{realloc} function is compatible with the @acronym{GNU} C
library @code{realloc} (i.e., @samp{realloc (NULL, 0)} returns a
valid pointer), define @code{HAVE_REALLOC} to 1. Otherwise define
@@ -5064,6 +5194,9 @@ valid pointer), define @code{HAVE_REALLOC} to 1. Otherwise define
@samp{realloc}, and define @code{realloc} to @code{rpl_realloc} so that
the native @code{realloc} is not used in the main project. See
@code{AC_FUNC_MALLOC} for details.
+
+The result of this macro is cached in the
+@code{ac_cv_func_realloc_0_nonnull} variable.
@end defmac
@defmac AC_FUNC_SELECT_ARGTYPES
@@ -5073,6 +5206,7 @@ the native @code{realloc} is not used in the main project. See
@cvindex SELECT_TYPE_ARG5
@c @fuindex select
@prindex @code{select}
+@c @caindex func_select_args
Determines the correct type to be passed for each of the
@code{select} function's arguments, and defines those types
in @code{SELECT_TYPE_ARG1}, @code{SELECT_TYPE_ARG234}, and
@@ -5089,12 +5223,16 @@ signature conforms to Posix. New programs need not use this macro.
@cvindex SETPGRP_VOID
@c @fuindex setpgrp
@prindex @code{setpgrp}
+@caindex func_setpgrp_void
If @code{setpgrp} takes no argument (the Posix version), define
@code{SETPGRP_VOID}. Otherwise, it is the @acronym{BSD} version, which takes
two process IDs as arguments. This macro does not check whether
@code{setpgrp} exists at all; if you need to work in that situation,
first call @code{AC_CHECK_FUNC} for @code{setpgrp}.
+The result of this macro is cached in the @code{ac_cv_func_setpgrp_void}
+variable.
+
This macro is obsolescent, as current systems have a @code{setpgrp}
whose signature conforms to Posix. New programs need not use this macro.
@end defmac
@@ -5109,6 +5247,8 @@ whose signature conforms to Posix. New programs need not use this macro.
@prindex @code{stat}
@c @fuindex lstat
@prindex @code{lstat}
+@caindex func_stat_empty_string_bug
+@caindex func_lstat_empty_string_bug
Determine whether @code{stat} or @code{lstat} have the bug that it
succeeds when given the zero-length file name as argument. The @code{stat}
and @code{lstat} from SunOS 4.1.4 and the Hurd (as of 1998-11-01) do
@@ -5118,6 +5258,10 @@ If it does, then define @code{HAVE_STAT_EMPTY_STRING_BUG} (or
@code{HAVE_LSTAT_EMPTY_STRING_BUG}) and ask for an @code{AC_LIBOBJ}
replacement of it.
+The results of these macros are cached in the
+@code{ac_cv_func_stat_empty_string_bug} and the
+@code{ac_cv_func_stat_empty_string_bug} variables, respectively.
+
These macros are obsolescent, as no current systems have the bug.
New programs need not use these macros.
@end defmac
@@ -5128,10 +5272,14 @@ New programs need not use these macros.
@cvindex HAVE_STRCOLL
@c @fuindex strcoll
@prindex @code{strcoll}
+@caindex func_strcoll_works
If the @code{strcoll} function exists and works correctly, define
@code{HAVE_STRCOLL}. This does a bit more than
@samp{AC_CHECK_FUNCS(strcoll)}, because some systems have incorrect
definitions of @code{strcoll} that should not be used.
+
+The result of this macro is cached in the @code{ac_cv_func_strcoll_works}
+variable.
@end defmac
@defmac AC_FUNC_STRERROR_R
@@ -5140,6 +5288,7 @@ definitions of @code{strcoll} that should not be used.
@cvindex HAVE_DECL_STRERROR_R
@cvindex STRERROR_R_CHAR_P
@c @fuindex strerror_r
+@caindex func_strerror_r_char_p
@prindex @code{strerror_r}
If @code{strerror_r} is available, define @code{HAVE_STRERROR_R}, and if
it is declared, define @code{HAVE_DECL_STRERROR_R}. If it returns a
@@ -5149,6 +5298,9 @@ Posix requires @code{strerror_r} to return @code{int}, but
many systems (including, for example, version 2.2.4 of the @acronym{GNU} C
Library) return a @code{char *} value that is not necessarily equal to
the buffer argument.
+
+The result of this macro is cached in the
+@code{ac_cv_func_strerror_r_char_p} variable.
@end defmac
@anchor{AC_FUNC_STRFTIME}
@@ -5169,18 +5321,26 @@ library for @code{strftime}. New programs need not use this macro.
@ovindex POW_LIB
@c @fuindex strtod
@prindex @code{strtod}
+@caindex func_strtod
+@caindex func_pow
If the @code{strtod} function does not exist or doesn't work correctly,
ask for an @code{AC_LIBOBJ} replacement of @samp{strtod}. In this case,
because @file{strtod.c} is likely to need @samp{pow}, set the output
variable @code{POW_LIB} to the extra library needed.
+
+This macro caches its result in the @code{ac_cv_func_strtod} variable
+and depends upon the result in the @code{ac_cv_func_pow} variable.
@end defmac
@defmac AC_FUNC_STRTOLD
@acindex{FUNC_STRTOLD}
@cvindex HAVE_STRTOLD
@prindex @code{strtold}
+@caindex func_strtold
If the @code{strtold} function exists and conforms to C99, define
@code{HAVE_STRTOLD}.
+
+This macro caches its result in the @code{ac_cv_func_strtold} variable.
@end defmac
@defmac AC_FUNC_STRNLEN
@@ -5188,8 +5348,12 @@ If the @code{strtold} function exists and conforms to C99, define
@cvindex HAVE_STRNLEN
@c @fuindex strnlen
@prindex @code{strnlen}
+@caindex func_strnlen_working
If the @code{strnlen} function is not available, or is buggy (like the one
from @acronym{AIX} 4.3), require an @code{AC_LIBOBJ} replacement for it.
+
+This macro caches its result in the @code{ac_cv_func_strnlen_working}
+variable.
@end defmac
@anchor{AC_FUNC_UTIME_NULL}
@@ -5198,9 +5362,13 @@ from @acronym{AIX} 4.3), require an @code{AC_LIBOBJ} replacement for it.
@cvindex HAVE_UTIME_NULL
@c @fuindex utime
@prindex @code{utime}
+@caindex func_utime_null
If @samp{utime (@var{file}, NULL)} sets @var{file}'s timestamp to
the present, define @code{HAVE_UTIME_NULL}.
+This macro caches its result in the @code{ac_cv_func_utime_null}
+variable.
+
This macro is obsolescent, as all current systems have a @code{utime}
that behaves this way. New programs need not use this macro.
@end defmac
@@ -5228,6 +5396,7 @@ New programs need not use this macro.
@c @fuindex fnmatch
@prindex @code{fnmatch}
@hdrindex{fnmatch.h}
+@caindex func_fnmatch_works
If the @code{fnmatch} function does not conform to Posix (see
@code{AC_FUNC_FNMATCH}), ask for its @code{AC_LIBOBJ} replacement.
@@ -5238,6 +5407,9 @@ this source code is compiled as an @code{AC_LIBOBJ} replacement, and the
@file{fnmatch_.h} file is linked to @file{fnmatch.h} so that it can be
included in place of the system @code{<fnmatch.h>}.
+This macro caches its result in the @code{ac_cv_func_fnmatch_works}
+variable.
+
This macro is obsolescent, as it assumes the use of particular source
files. New programs should use Gnulib's @code{fnmatch-posix} module,
which provides this macro along with the source files. @xref{Gnulib}.
@@ -5259,6 +5431,7 @@ it (@pxref{Writing Tests}).
@defmac AC_CHECK_FUNC (@var{function}, @ovar{action-if-found}, @
@ovar{action-if-not-found})
@acindex{CHECK_FUNC}
+@caindex func_@var{function}
If C function @var{function} is available, run shell commands
@var{action-if-found}, otherwise @var{action-if-not-found}. If you just
want to define a symbol if the function is available, consider using
@@ -5266,6 +5439,9 @@ want to define a symbol if the function is available, consider using
linkage even when @code{AC_LANG(C++)} has been called, since C is more
standardized than C++. (@pxref{Language Choice}, for more information
about selecting the language for checks.)
+
+This macro caches its result in the @code{ac_cv_func_@var{function}}
+variable.
@end defmac
@anchor{AC_CHECK_FUNCS}
@@ -5280,6 +5456,8 @@ execute when one of the functions is found. You can give it a value of
@samp{break} to break out of the loop on the first match. If
@var{action-if-not-found} is given, it is executed when one of the
functions is not found.
+
+Results are cached for each @var{function} as in @code{AC_CHECK_FUNC}.
@end defmac
@defmac AC_CHECK_FUNCS_ONCE (@var{function}@dots{})
@@ -5657,6 +5835,7 @@ New programs need not use this macro.
@cvindex HAVE__BOOL
@hdrindex{stdbool.h}
@hdrindex{system.h}
+@caindex header_stdbool_h
If @file{stdbool.h} exists and conforms to C99, define
@code{HAVE_STDBOOL_H} to 1; if the type @code{_Bool} is defined, define
@code{HAVE__BOOL} to 1. To fulfill the C99 requirements, your
@@ -5684,6 +5863,8 @@ Alternatively you can use the @samp{stdbool} package of Gnulib
(@pxref{Gnulib}); it packages the above code into a replacement header
and contains a few other bells and whistles.
+This macro caches its result in the @code{ac_cv_header_stdbool_h}
+variable.
@end defmac
@anchor{AC_HEADER_STDC}
@@ -5695,6 +5876,7 @@ and contains a few other bells and whistles.
@hdrindex{string.h}
@hdrindex{float.h}
@hdrindex{ctype.h}
+@caindex header_stdc
Define @code{STDC_HEADERS} if the system has C header files
conforming to @acronym{ANSI} C89 (@acronym{ISO} C90).
Specifically, this macro checks for @file{stdlib.h}, @file{stdarg.h},
@@ -5710,6 +5892,8 @@ If you use this macro, your code can refer to @code{STDC_HEADERS} to
determine whether the system has conforming header files (and probably C
library functions).
+This macro caches its results in the @code{ac_cv_header_stdc} variable.
+
This macro is obsolescent, as current systems have conforming header
files. New programs need not use this macro.
@@ -5778,6 +5962,7 @@ for example, put it in @file{memchr.c} and use
@acindex{HEADER_SYS_WAIT}
@cvindex HAVE_SYS_WAIT_H
@hdrindex{sys/wait.h}
+@caindex header_sys_wait_h
If @file{sys/wait.h} exists and is compatible with Posix, define
@code{HAVE_SYS_WAIT_H}. Incompatibility can occur if @file{sys/wait.h}
does not exist, or if it uses the old @acronym{BSD} @code{union wait} instead
@@ -5802,6 +5987,9 @@ example:
@end example
@noindent
+This macro caches its result in the @code{ac_cv_header_sys_wait_h}
+variable.
+
This macro is obsolescent, as current systems are compatible with Posix.
New programs need not use this macro.
@end defmac
@@ -5834,6 +6022,7 @@ The way to check whether the system supports Posix is:
@cvindex TIME_WITH_SYS_TIME
@hdrindex{time.h}
@hdrindex{sys/time.h}
+@caindex header_time
If a program may include both @file{time.h} and @file{sys/time.h},
define @code{TIME_WITH_SYS_TIME}. On some ancient systems,
@file{sys/time.h} included @file{time.h}, but @file{time.h} was not
@@ -5860,6 +6049,8 @@ example, @code{struct timeval} as well as
@end example
@noindent
+This macro caches its result in the @code{ac_cv_header_time} variable.
+
This macro is obsolescent, as current systems can include both files
when they exist. New programs need not use this macro.
@end defmac
@@ -5902,6 +6093,7 @@ test for it (@pxref{Writing Tests}).
@defmac AC_CHECK_HEADER (@var{header-file}, @ovar{action-if-found}, @
@ovar{action-if-not-found}, @ovar{includes})
@acindex{CHECK_HEADER}
+@caindex header_@var{header-file}
If the system header file @var{header-file} is compilable, execute shell
commands @var{action-if-found}, otherwise execute
@var{action-if-not-found}. If you just want to define a symbol if the
@@ -5928,6 +6120,10 @@ of the file in the preprocessor search path; this should only be used as
a last resort (it is safer to determine the actual prerequisites and
perform a compiler check, or else use @code{AC_PREPROC_IFELSE} to make
it obvious that only a preprocessor check is desired).
+
+This macro caches its result in the @code{ac_cv_header_@var{header-file}}
+variable, with characters not suitable for a variable name mapped to
+underscores.
@end defmac
@anchor{AC_CHECK_HEADERS}
@@ -5936,6 +6132,7 @@ it obvious that only a preprocessor check is desired).
@ovar{includes})
@acindex{CHECK_HEADERS}
@cvindex HAVE_@var{header}
+@caindex header_@var{header-file}
For each given system header file @var{header-file} in the
blank-separated argument list that exists, define
@code{HAVE_@var{header-file}} (in all capitals). If @var{action-if-found}
@@ -5947,6 +6144,10 @@ is executed when one of the header files is not found.
@var{includes} is interpreted as in @code{AC_CHECK_HEADER}, in order to
choose the set of preprocessor directives supplied before the header
under test.
+
+This macro caches its result in the @code{ac_cv_header_@var{header-file}}
+variable, with characters not suitable for a variable name mapped to
+underscores.
@end defmac
Previous versions of Autoconf merely checked whether the header was
@@ -6020,6 +6221,7 @@ test macros.
@defmac AC_CHECK_DECL (@var{symbol}, @ovar{action-if-found}, @
@ovar{action-if-not-found}, @dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_DECL}
+@caindex have_decl_@var{symbol}
If @var{symbol} (a function, variable, or constant) is not declared in
@var{includes} and a declaration is needed, run the shell commands
@var{action-if-not-found}, otherwise @var{action-if-found}.
@@ -6031,6 +6233,10 @@ This macro actually tests whether @var{symbol} is defined as a macro or
can be used as an r-value, not whether it is really declared, because it
is much safer to avoid
introducing extra declarations when they are not needed.
+
+This macro caches its result in the @code{ac_cv_have_decl_@var{symbol}}
+variable, with characters not suitable for a variable name mapped to
+underscores.
@end defmac
@anchor{AC_CHECK_DECLS}
@@ -6038,6 +6244,7 @@ introducing extra declarations when they are not needed.
@ovar{action-if-not-found}, @dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_DECLS}
@cvindex HAVE_DECL_@var{symbol}
+@caindex have_decl_@var{symbol}
For each of the @var{symbols} (@emph{comma}-separated list), define
@code{HAVE_DECL_@var{symbol}} (in all capitals) to @samp{1} if
@var{symbol} is declared, otherwise to @samp{0}. If
@@ -6084,6 +6291,10 @@ void *malloc (size_t *s);
You fall into the second category only in extreme situations: either
your files may be used without being configured, or they are used during
the configuration. In most cases the traditional approach is enough.
+
+This macro caches its results in @code{ac_cv_have_decl_@var{symbol}}
+variables, with characters not suitable for a variable name mapped to
+underscores.
@end defmac
@defmac AC_CHECK_DECLS_ONCE (@var{symbols})
@@ -6122,6 +6333,8 @@ The following macros check for certain structures or structure members.
@defmac AC_STRUCT_DIRENT_D_INO
@acindex{STRUCT_DIRENT_D_INO}
@cvindex HAVE_STRUCT_DIRENT_D_INO
+@c @caindex header_dirent_dirent_h
+@c @caindex member_struct_dirent_d_ino
Perform all the actions of @code{AC_HEADER_DIRENT} (@pxref{Particular
Headers}). Then, if @code{struct dirent} contains a @code{d_ino}
member, define @code{HAVE_STRUCT_DIRENT_D_INO}.
@@ -6138,6 +6351,8 @@ entry that is a mount point.
@defmac AC_STRUCT_DIRENT_D_TYPE
@acindex{STRUCT_DIRENT_D_TYPE}
@cvindex HAVE_STRUCT_DIRENT_D_TYPE
+@c @caindex header_dirent_dirent_h
+@c @caindex member_struct_dirent_d_type
Perform all the actions of @code{AC_HEADER_DIRENT} (@pxref{Particular
Headers}). Then, if @code{struct dirent} contains a @code{d_type}
member, define @code{HAVE_STRUCT_DIRENT_D_TYPE}.
@@ -6149,11 +6364,15 @@ member, define @code{HAVE_STRUCT_DIRENT_D_TYPE}.
@cvindex HAVE_STRUCT_STAT_ST_BLOCKS
@cvindex HAVE_ST_BLOCKS
@ovindex LIBOBJS
+@caindex member_struct_stat_st_blocks
If @code{struct stat} contains an @code{st_blocks} member, define
@code{HAVE_STRUCT_STAT_ST_BLOCKS}. Otherwise, require an
@code{AC_LIBOBJ} replacement of @samp{fileblocks}. The former name,
@code{HAVE_ST_BLOCKS} is to be avoided, as its support will cease in the
future.
+
+This macro caches its result in the @code{ac_cv_member_struct_stat_st_blocks}
+variable.
@end defmac
@defmac AC_STRUCT_TM
@@ -6176,6 +6395,8 @@ current systems. New programs need not use this macro.
@cvindex HAVE_STRUCT_TM_TM_ZONE
@cvindex HAVE_TM_ZONE
@cvindex HAVE_TZNAME
+@c @caindex member_struct_tm_tm_zone
+@c @caindex struct_tm
Figure out how to get the current timezone. If @code{struct tm} has a
@code{tm_zone} member, define @code{HAVE_STRUCT_TM_TM_ZONE} (and the
obsoleted @code{HAVE_TM_ZONE}). Otherwise, if the external array
@@ -6193,6 +6414,7 @@ These macros are used to find structure members not covered by the
@ovar{action-if-found}, @ovar{action-if-not-found}, @
@dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_MEMBER}
+@caindex member_@var{aggregate}_@var{member}
Check whether @var{member} is a member of the aggregate @var{aggregate}.
If no @var{includes} are specified, the default includes are used
(@pxref{Default Includes}).
@@ -6208,6 +6430,10 @@ You can use this macro for submembers:
@example
AC_CHECK_MEMBER(struct top.middle.bot)
@end example
+
+This macro caches its result in the
+@code{av_cv_member_@var{aggregate}_@var{member}} variable, with
+characters not suitable for a variable name mapped to underscores.
@end defmac
@anchor{AC_CHECK_MEMBERS}
@@ -6268,14 +6494,19 @@ C99-or-better environment. @xref{Gnulib}.
@defmac AC_TYPE_GETGROUPS
@acindex{TYPE_GETGROUPS}
@cvindex GETGROUPS_T
+@caindex type_getgroups
Define @code{GETGROUPS_T} to be whichever of @code{gid_t} or @code{int}
is the base type of the array argument to @code{getgroups}.
+
+This macro caches the base type in the @code{ac_cv_type_getgroups}
+variable.
@end defmac
@defmac AC_TYPE_INT8_T
@acindex{TYPE_INT8_T}
@cvindex HAVE_INT8_T
@cvindex int8_t
+@caindex c_int8_t
If @file{stdint.h} or @file{inttypes.h} does not define the type
@code{int8_t}, define @code{int8_t} to a signed
integer type that is exactly 8 bits wide and that uses two's complement
@@ -6293,12 +6524,15 @@ use the results of this macro in C89-or-later code as follows:
@emph{complicated alternative using >8-bit 'signed char'}
#endif
@end example
+
+This macro caches the type in the @code{ac_cv_c_int8_t} variable.
@end defmac
@defmac AC_TYPE_INT16_T
@acindex{TYPE_INT16_T}
@cvindex HAVE_INT16_T
@cvindex int16_t
+@caindex c_int16_t
This is like @code{AC_TYPE_INT8_T}, except for 16-bit integers.
@end defmac
@@ -6306,6 +6540,7 @@ This is like @code{AC_TYPE_INT8_T}, except for 16-bit integers.
@acindex{TYPE_INT32_T}
@cvindex HAVE_INT32_T
@cvindex int32_t
+@caindex c_int32_t
This is like @code{AC_TYPE_INT8_T}, except for 32-bit integers.
@end defmac
@@ -6313,6 +6548,7 @@ This is like @code{AC_TYPE_INT8_T}, except for 32-bit integers.
@acindex{TYPE_INT64_T}
@cvindex HAVE_INT64_T
@cvindex int64_t
+@caindex c_int64_t
This is like @code{AC_TYPE_INT8_T}, except for 64-bit integers.
@end defmac
@@ -6320,6 +6556,7 @@ This is like @code{AC_TYPE_INT8_T}, except for 64-bit integers.
@acindex{TYPE_INTMAX_T}
@cvindex HAVE_INTMAX_T
@cvindex intmax_t
+@c @caindex type_intmax_t
If @file{stdint.h} or @file{inttypes.h} defines the type @code{intmax_t},
define @code{HAVE_INTMAX_T}. Otherwise, define @code{intmax_t} to the
widest signed integer type.
@@ -6329,6 +6566,7 @@ widest signed integer type.
@acindex{TYPE_INTPTR_T}
@cvindex HAVE_INTPTR_T
@cvindex intptr_t
+@c @caindex type_intptr_t
If @file{stdint.h} or @file{inttypes.h} defines the type @code{intptr_t},
define @code{HAVE_INTPTR_T}. Otherwise, define @code{intptr_t} to a
signed integer type wide enough to hold a pointer, if such a type
@@ -6338,10 +6576,14 @@ exists.
@defmac AC_TYPE_LONG_DOUBLE
@acindex{TYPE_LONG_DOUBLE}
@cvindex HAVE_LONG_DOUBLE
+@caindex type_long_double
If the C compiler supports a working @code{long double} type, define
@code{HAVE_LONG_DOUBLE}. The @code{long double} type might have the
same range and precision as @code{double}.
+This macro caches its result in the @code{ac_cv_type_long_double}
+variable.
+
This macro is obsolescent, as current C compilers support @code{long
double}. New programs need not use this macro.
@end defmac
@@ -6349,67 +6591,94 @@ double}. New programs need not use this macro.
@defmac AC_TYPE_LONG_DOUBLE_WIDER
@acindex{TYPE_LONG_DOUBLE_WIDER}
@cvindex HAVE_LONG_DOUBLE_WIDER
+@caindex type_long_double_wider
If the C compiler supports a working @code{long double} type with more
range or precision than the @code{double} type, define
@code{HAVE_LONG_DOUBLE_WIDER}.
+
+This macro caches its result in the @code{ac_cv_type_long_double_wider}
+variable.
@end defmac
@defmac AC_TYPE_LONG_LONG_INT
@acindex{TYPE_LONG_LONG_INT}
@cvindex HAVE_LONG_LONG_INT
+@caindex type_long_long_int
If the C compiler supports a working @code{long long int} type, define
@code{HAVE_LONG_LONG_INT}. However, this test does not test
@code{long long int} values in preprocessor @code{#if} expressions,
because too many compilers mishandle such expressions.
@xref{Preprocessor Arithmetic}.
+
+This macro caches its result in the @code{ac_cv_type_long_long_int}
+variable.
@end defmac
@defmac AC_TYPE_MBSTATE_T
@acindex{TYPE_MBSTATE_T}
@cvindex mbstate_t
@hdrindex{wchar.h}
+@caindex type_mbstate_t
Define @code{HAVE_MBSTATE_T} if @code{<wchar.h>} declares the
@code{mbstate_t} type. Also, define @code{mbstate_t} to be a type if
@code{<wchar.h>} does not declare it.
+
+This macro caches its result in the @code{ac_cv_type_mbstate_t}
+variable.
@end defmac
@anchor{AC_TYPE_MODE_T}
@defmac AC_TYPE_MODE_T
@acindex{TYPE_MODE_T}
@cvindex mode_t
+@caindex type_mode_t
Define @code{mode_t} to a suitable type, if standard headers do not
define it.
+
+This macro caches its result in the @code{ac_cv_type_mode_t} variable.
@end defmac
@anchor{AC_TYPE_OFF_T}
@defmac AC_TYPE_OFF_T
@acindex{TYPE_OFF_T}
@cvindex off_t
+@caindex type_off_t
Define @code{off_t} to a suitable type, if standard headers do not
define it.
+
+This macro caches its result in the @code{ac_cv_type_off_t} variable.
@end defmac
@anchor{AC_TYPE_PID_T}
@defmac AC_TYPE_PID_T
@acindex{TYPE_PID_T}
@cvindex pid_t
+@caindex type_pid_t
Define @code{pid_t} to a suitable type, if standard headers do not
define it.
+
+This macro caches its result in the @code{ac_cv_type_pid_t} variable.
@end defmac
@anchor{AC_TYPE_SIZE_T}
@defmac AC_TYPE_SIZE_T
@acindex{TYPE_SIZE_T}
@cvindex size_t
+@caindex type_size_t
Define @code{size_t} to a suitable type, if standard headers do not
define it.
+
+This macro caches its result in the @code{ac_cv_type_size_t} variable.
@end defmac
@defmac AC_TYPE_SSIZE_T
@acindex{TYPE_SSIZE_T}
@cvindex ssize_t
+@caindex type_ssize_t
Define @code{ssize_t} to a suitable type, if standard headers do not
define it.
+
+This macro caches its result in the @code{ac_cv_type_ssize_t} variable.
@end defmac
@anchor{AC_TYPE_UID_T}
@@ -6417,14 +6686,18 @@ define it.
@acindex{TYPE_UID_T}
@cvindex uid_t
@cvindex gid_t
+@caindex type_uid_t
Define @code{uid_t} and @code{gid_t} to suitable types, if standard
headers do not define them.
+
+This macro caches its result in the @code{ac_cv_type_uid_t} variable.
@end defmac
@defmac AC_TYPE_UINT8_T
@acindex{TYPE_UINT8_T}
@cvindex HAVE_UINT8_T
@cvindex uint8_t
+@caindex c_uint8_t
If @file{stdint.h} or @file{inttypes.h} does not define the type
@code{uint8_t}, define @code{uint8_t} to an
unsigned integer type that is exactly 8 bits wide, if such a type
@@ -6436,6 +6709,7 @@ This is like @code{AC_TYPE_INT8_T}, except for unsigned integers.
@acindex{TYPE_UINT16_T}
@cvindex HAVE_UINT16_T
@cvindex uint16_t
+@caindex c_uint16_t
This is like @code{AC_TYPE_UINT8_T}, except for 16-bit integers.
@end defmac
@@ -6443,6 +6717,7 @@ This is like @code{AC_TYPE_UINT8_T}, except for 16-bit integers.
@acindex{TYPE_UINT32_T}
@cvindex HAVE_UINT32_T
@cvindex uint32_t
+@caindex c_uint32_t
This is like @code{AC_TYPE_UINT8_T}, except for 32-bit integers.
@end defmac
@@ -6450,6 +6725,7 @@ This is like @code{AC_TYPE_UINT8_T}, except for 32-bit integers.
@acindex{TYPE_UINT64_T}
@cvindex HAVE_UINT64_T
@cvindex uint64_t
+@caindex c_uint64_t
This is like @code{AC_TYPE_UINT8_T}, except for 64-bit integers.
@end defmac
@@ -6457,6 +6733,7 @@ This is like @code{AC_TYPE_UINT8_T}, except for 64-bit integers.
@acindex{TYPE_UINTMAX_T}
@cvindex HAVE_UINTMAX_T
@cvindex uintmax_t
+@c @caindex type_uintmax_t
If @file{stdint.h} or @file{inttypes.h} defines the type @code{uintmax_t},
define @code{HAVE_UINTMAX_T}. Otherwise, define @code{uintmax_t} to the
widest unsigned integer type.
@@ -6466,6 +6743,7 @@ widest unsigned integer type.
@acindex{TYPE_UINTPTR_T}
@cvindex HAVE_UINTPTR_T
@cvindex uintptr_t
+@c @caindex type_uintptr_t
If @file{stdint.h} or @file{inttypes.h} defines the type @code{uintptr_t},
define @code{HAVE_UINTPTR_T}. Otherwise, define @code{uintptr_t} to an
unsigned integer type wide enough to hold a pointer, if such a type
@@ -6475,11 +6753,15 @@ exists.
@defmac AC_TYPE_UNSIGNED_LONG_LONG_INT
@acindex{TYPE_UNSIGNED_LONG_LONG_INT}
@cvindex HAVE_UNSIGNED_LONG_LONG_INT
+@caindex type_unsigned_long_long_int
If the C compiler supports a working @code{unsigned long long int} type,
define @code{HAVE_UNSIGNED_LONG_LONG_INT}. However, this test does not test
@code{unsigned long long int} values in preprocessor @code{#if} expressions,
because too many compilers mishandle such expressions.
@xref{Preprocessor Arithmetic}.
+
+This macro caches its result in the @code{ac_cv_type_unsigned_long_long_int}
+variable.
@end defmac
@node Generic Types
@@ -6491,6 +6773,7 @@ test macros.
@defmac AC_CHECK_TYPE (@var{type}, @ovar{action-if-found}, @
@ovar{action-if-not-found}, @dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_TYPE}
+@caindex type_@var{type}
Check whether @var{type} is defined. It may be a compiler builtin type
or defined by the @var{includes}. @var{includes} is a series of include
directives, defaulting to @code{AC_INCLUDES_DEFAULT} (@pxref{Default
@@ -6501,6 +6784,10 @@ In C, @var{type} must be a type-name, so that the expression @samp{sizeof
same test is applied when compiling for C++, which means that in C++
@var{type} should be a type-id and should not be an anonymous
@samp{struct} or @samp{union}.
+
+This macro caches its result in the @code{ac_cv_type_@var{type}}
+variable, with @samp{*} mapped to @samp{p} and other characters not
+suitable for a variable name mapped to underscores.
@end defmac
@@ -6600,6 +6887,7 @@ Autoconf works around this problem by casting @code{sizeof (int)} to
@dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_SIZEOF}
@cvindex SIZEOF_@var{type-or-expr}
+@caindex sizeof_@var{type-or-expr}
Define @code{SIZEOF_@var{type-or-expr}} (@pxref{Standard Symbols}) to be
the size in bytes of @var{type-or-expr}, which may be either a type or
an expression returning a value that has a size. If the expression
@@ -6619,16 +6907,25 @@ AC_CHECK_SIZEOF([int *])
@noindent
defines @code{SIZEOF_INT_P} to be 8 on DEC Alpha AXP systems.
+
+This macro caches its result in the @code{ac_cv_sizeof_@var{type-or-expr}}
+variable, with @samp{*} mapped to @samp{p} and other characters not
+suitable for a variable name mapped to underscores.
@end defmac
@defmac AC_CHECK_ALIGNOF (@var{type}, @dvar{includes, AC_INCLUDES_DEFAULT})
@acindex{CHECK_ALIGNOF}
@cvindex ALIGNOF_@var{type}
+@caindex alignof_@var{type-or-expr}
Define @code{ALIGNOF_@var{type}} (@pxref{Standard Symbols}) to be the
alignment in bytes of @var{type}. @samp{@var{type} y;} must be valid as
a structure member declaration. If @samp{type} is unknown, the result
is 0. If no @var{includes} are specified, the default includes are used
(@pxref{Default Includes}).
+
+This macro caches its result in the @code{ac_cv_alignof_@var{type-or-expr}}
+variable, with @samp{*} mapped to @samp{p} and other characters not
+suitable for a variable name mapped to underscores.
@end defmac
@defmac AC_COMPUTE_INT (@var{var}, @var{expression}, @
@@ -6776,6 +7073,7 @@ makes this invalid. That is why Autoconf stopped issuing
@evindex CFLAGS
@ovindex CC
@ovindex CFLAGS
+@caindex prog_cc_c89
Determine a C compiler to use. If @code{CC} is not already set in the
environment, check for @code{gcc} and @code{cc}, then for other C
compilers. Set output variable @code{CC} to the name of the compiler
@@ -6823,12 +7121,16 @@ this macro from within another macro rather than at the top level
@defmac AC_PROG_CC_C_O
@acindex{PROG_CC_C_O}
@cvindex NO_MINUS_C_MINUS_O
+@caindex prog_cc_@var{compiler}_c_o
If the C compiler does not accept the @option{-c} and @option{-o} options
simultaneously, define @code{NO_MINUS_C_MINUS_O}. This macro actually
tests both the compiler found by @code{AC_PROG_CC}, and, if different,
the first @code{cc} in the path. The test fails if one fails. This
macro was created for @acronym{GNU} Make to choose the default C compilation
rule.
+
+For the compiler @var{compiler}, this macro caches its result in the
+@code{ac_cv_prog_cc_@var{compiler}_c_o} variable.
@end defmac
@@ -6866,6 +7168,7 @@ features. To check for characteristics not listed here, use
@defmac AC_PROG_CC_STDC
@acindex{PROG_CC_STDC}
+@caindex prog_cc_stdc
If the C compiler cannot compile @acronym{ISO} Standard C (currently
C99), try to add an option to output variable @code{CC} to make it work.
If the compiler does not support C99, fall back to supporting
@@ -6878,6 +7181,7 @@ set to accept Standard C; if not, the shell variable
@defmac AC_PROG_CC_C89
@acindex{PROG_CC_C89}
+@caindex prog_cc_c89
If the C compiler is not in @acronym{ANSI} C89 (@acronym{ISO} C90) mode by
default, try to add an option to output variable @code{CC} to make it
so. This macro tries various options that select @acronym{ANSI} C89 on
@@ -6894,6 +7198,7 @@ This macro is called automatically by @code{AC_PROG_CC}.
@defmac AC_PROG_CC_C99
@acindex{PROG_CC_C99}
+@caindex prog_cc_c99
If the C compiler is not in C99 mode by default, try to add an
option to output variable @code{CC} to make it so. This macro tries
various options that select C99 on some system or another, preferring
@@ -6963,6 +7268,7 @@ binary files.
@defmac AC_C_CONST
@acindex{C_CONST}
@cvindex const
+@caindex c_const
If the C compiler does not fully support the @code{const} keyword,
define @code{const} to be empty. Some C compilers that do
not define @code{__STDC__} do support @code{const}; some compilers that
@@ -6989,6 +7295,8 @@ C++ compiler to compile C code is not recommended or supported, and
installers who run into trouble in this area should get a C compiler
like @acronym{GCC} to compile their C code.
+This macro caches its result in the @code{ac_cv_c_const} variable.
+
This macro is obsolescent, as current C compilers support @code{const}.
New programs need not use this macro.
@end defmac
@@ -6996,6 +7304,7 @@ New programs need not use this macro.
@defmac AC_C_RESTRICT
@acindex{C_RESTRICT}
@cvindex restrict
+@caindex c_restrict
If the C compiler recognizes a variant spelling for the @code{restrict}
keyword (@code{__restrict}, @code{__restrict__}, or @code{_Restrict}),
then define @code{restrict} to that; this is more likely to do the right
@@ -7010,6 +7319,9 @@ or configuration header defines it away.
Although support in C++ for the @code{restrict} keyword is not
required, several C++ compilers do accept the keyword.
This macro works for them, too.
+
+This macro caches @samp{no} in the @code{ac_cv_c_restrict} variable
+if @code{restrict} is not supported, and a supported spelling otherwise.
@end defmac
@defmac AC_C_VOLATILE
@@ -7836,6 +8148,7 @@ If the system supports file names longer than 14 characters, define
@acindex{SYS_POSIX_TERMIOS}
@cindex Posix termios headers
@cindex termios Posix headers
+@caindex sys_posix_termios
Check to see if the Posix termios headers and functions are available on the
system. If so, set the shell variable @code{ac_cv_sys_posix_termios} to
@samp{yes}. If not, set the variable to @samp{no}.
@@ -9291,6 +9604,9 @@ be omitted if it does not apply.
The values assigned to cache variables may not contain newlines.
Usually, their values are Boolean (@samp{yes} or @samp{no}) or the
names of files or functions; so this is not an important restriction.
+@ref{Cache Variable Index} for an index of cache variables with
+documented semantics.
+
@node Cache Files
@subsection Cache Files
@@ -18172,6 +18488,10 @@ two:
You need to foresee all macros that a user might want to override if
you do that.
+Makefiles generated by @command{automake} expand @code{$(AM_MAKEFLAGS)}
+on the command line of submakes, which can be used for propagated overrides
+(@pxref{Subdirectories, , Automake, automake, @acronym{GNU} Automake}).
+
@node The Make Macro MAKEFLAGS
@section The Make Macro MAKEFLAGS
@cindex @code{MAKEFLAGS} and @command{make}
@@ -20446,9 +20766,12 @@ useful if you are cross-compiling, where it is impossible to check features
that require running a test program. You could ``prime the cache'' by
setting those values correctly for that system in
@file{@var{prefix}/etc/config.site}. To find out the names of the cache
-variables you need to set, look for shell variables with @samp{_cv_} in
-their names in the affected @command{configure} scripts, or in the Autoconf
-M4 source code for those macros.
+variables you need to set, see the documentation of the respective
+Autoconf macro. If the variables or their semantics are undocumented,
+you may need to look for shell variables with @samp{_cv_} in their names
+in the affected @command{configure} scripts, or in the Autoconf M4
+source code for those macros; but in that case, their name or semantics
+may change in a future Autoconf version.
The cache file is careful to not override any variables set in the site
files. Similarly, you should not override command-line options in the
@@ -23388,6 +23711,7 @@ are addressed.
* Autom4te Cache:: What is it? Can I remove it?
* Present But Cannot Be Compiled:: Compiler and Preprocessor Disagree
* Expanded Before Required:: Expanded Before Required
+* Debugging:: Debugging @command{configure} scripts
@end menu
@node Distributing
@@ -23913,6 +24237,110 @@ BAR
@end example
+@node Debugging
+@section Debugging @command{configure} scripts
+
+While in general, @command{configure} scripts generated by Autoconf
+strive to be fairly portable to various systems, compilers, shells, and
+other tools, it may still be necessary to debug a failing test, broken
+script or makefile, or fix or override an incomplete, faulty, or erroneous
+test, especially during macro development. Failures can occur at all levels,
+in M4 syntax or semantics, shell script issues, or due to bugs in the
+test or the tools invoked by @command{configure}. Together with the
+rather arcane error message that @command{m4} and @command{make} may
+produce when their input contains syntax errors, this can make debugging
+rather painful.
+
+Nevertheless, here is a list of hints and strategies that may help:
+
+@itemize
+@item
+When @command{autoconf} fails, common causes for error include:
+
+@itemize
+@item
+mismatched or unbalanced parentheses or braces (@pxref{Balancing
+Parentheses}),
+
+@item under- or overquoted macro arguments (@pxref{Autoconf
+Language}, @pxref{Quoting and Parameters}, @pxref{Quotation and Nested
+Macros}),
+
+@item spaces between macro name and opening parenthesis (@pxref{Autoconf
+Language}).
+@end itemize
+
+Typically, it helps to go back to the last working version of the input
+and compare the differences for each of these errors. Another
+possibility is to sprinkle pairs of @code{m4_traceon} and
+@code{m4_traceoff} judiciously in the code, either without a parameter
+or listing some macro names and watch @command{m4} expand its input
+verbosely (@pxref{Debugging via autom4te}).
+
+@item
+Debugging @command{configure} script execution may be done by sprinkling
+pairs of @code{set -x} and @code{set +x} into the shell script before
+and after the region that contains a bug. Running the whole script with
+@samp{@var{shell} ./configure -vx 2>&1 | tee @var{log-file}} with a decent
+@var{shell} may work, but produces lots of output. Here, it can help to
+search for markers like @samp{checking for} a particular test in the
+@var{log-file}.
+
+@item
+When @command{configure} tests produce invalid results for your system,
+it may be necessary to override them:
+
+@itemize
+@item
+For programs, tools or libraries variables, preprocessor, compiler, or
+linker flags, it is often sufficient to override them at @command{make}
+run time with some care (@pxref{Macros and Submakes}). Since this
+normally won't cause @command{configure} to be run again with these
+changed settings, it may fail if the changed variable would have caused
+different test results from @command{configure}, so this may work only
+for simple differences.
+
+@item
+Most tests which produce their result in a substituted variable allow to
+override the test by setting the variable on the @command{configure}
+command line (@pxref{Compilers and Options}, @pxref{Defining Variables},
+@pxref{Particular Systems}).
+
+@item
+Many tests store their result in a cache variable (@pxref{Caching
+Results}). This lets you override them either on the
+@command{configure} command line as above, or through a primed cache or
+site file (@pxref{Cache Files}, @pxref{Site Defaults}). The name of a
+cache variable is documented with a test macro or may be inferred from
+@ref{Cache Variable Names}; the precise semantics of undocumented
+variables are often internal details, subject to change.
+@end itemize
+@end itemize
+
+Conversely, as macro author, you can make it easier for users of your
+macro:
+
+@itemize
+@item
+by minimizing dependencies between tests and between test results as far
+as possible,
+
+@item
+by using @command{make} variables to factorize and allow
+override of settings at @command{make} run time,
+
+@item
+by honoring the @acronym{GNU} Coding Standards and not overriding flags
+reserved for the user except temporarily during @command{configure}
+tests,
+
+@item
+by not requiring users of your macro to use the cache variables.
+Instead, expose the result of the test via @var{run-if-true} and
+@var{run-if-false} parameters.
+@end itemize
+
+
@c ===================================================== History of Autoconf.
@node History
@@ -24135,6 +24563,7 @@ have free time again. I think. Yeah, right.)
* Environment Variable Index:: Index of environment variables used
* Output Variable Index:: Index of variables set in output files
* Preprocessor Symbol Index:: Index of C preprocessor symbols defined
+* Cache Variable Index:: Index of documented cache variables
* Autoconf Macro Index:: Index of Autoconf macros
* M4 Macro Index:: Index of M4, M4sugar, and M4sh macros
* Autotest Macro Index:: Index of Autotest macros
@@ -24169,6 +24598,19 @@ use these names in @code{#if} or @code{#ifdef} directives.
@printindex cv
+@node Cache Variable Index
+@appendixsec Cache Variable Index
+
+This is an alphabetical list of documented cache variables used
+by macros defined in Autoconf. Autoconf macro may use additional cache
+variables internally.
+@ifset shortindexflag
+To make the list easier to use, the variables are listed without their
+preceding @samp{ac_cv_}.
+@end ifset
+
+@printindex CA
+
@node Autoconf Macro Index
@appendixsec Autoconf Macro Index
hooks/post-receive
--
GNU Autoconf source repository