* Testing Values and Files:: Checking strings and files
* Shell Substitutions:: Test and assign
* Limitations of Usual Tools:: Portable use of portable tools
+* Exiting from Shell Scripts:: How to exit from an autoconf shell script
Results of Tests
Obsolete Constructs
+* Obsolete config.status Use:: Different calling convention
* acconfig.h:: Additional entries in @file{config.h.in}
* Obsolete Macros:: Backward compatibility macros
@end table
-@node Exiting from Shell Scripts, , Limitations of Usual Tools, Portable Shell
+@node Exiting from Shell Scripts, , Limitations of Usual Tools, Portable Shell
@subsection Exiting from Shell Scripts
Shell scripts generated by @command{autoconf} use a trap to clean up
@end example
The supported @var{option}s are:
+
@table @code
@item --help
@itemx -h
Require that @var{file} be instantiated as if
@samp{AC_CONFIG_FILES(@var{file}:@var{template})} was used.
+This option and the following provide one way for separately distributed
+packages to share the values computed by @code{configure}. Doing so can
+be useful if some of the packages need a superset of the features that
+one of them, perhaps a common library, does. These options allow a
+@file{config.status} file to create files other than the ones that its
+@file{configure.in} specifies, so it can be used for a different
+package.
+
@item --header=@var{file}[:@var{template}]
Require that @var{file} be instantiated as if
@samp{AC_CONFIG_HEADERS(@var{file}:@var{template})} was used.
@end group
@end example
-
-@c I don't understand the following sentence. Could someone make it
-@c clearer?
-The following variables provide one way for separately distributed
-packages to share the values computed by @code{configure}. Doing so can
-be useful if some of the packages need a superset of the features that
-one of them, perhaps a common library, does. These variables allow a
-@file{config.status} file to create files other than the ones that its
-@file{configure.in} specifies, so it can be used for a different
-package.
-
-@c Can't we just get rid of the following paragraphs? It's outdated stuff.
-
-@defvar CONFIG_COMMANDS
-@evindex CONFIG_COMMANDS
-The tags of the commands to execute. The default is the arguments given
-to @code{AC_OUTPUT} and @code{AC_CONFIG_COMMANDS} in
-@file{configure.in}.
-@end defvar
-
-@defvar CONFIG_FILES
-@evindex CONFIG_FILES
-The files in which to perform @samp{@@@var{variable}@@} substitutions.
-The default is the arguments given to @code{AC_OUTPUT} and
-@code{AC_CONFIG_FILES} in @file{configure.in}.
-@end defvar
-
-@defvar CONFIG_HEADERS
-@evindex CONFIG_HEADERS
-The files in which to substitute C @code{#define} statements. The
-default is the arguments given to @code{AC_CONFIG_HEADERS}; if that
-macro was not called, @file{config.status} ignores this variable.
-@end defvar
-
-@defvar CONFIG_LINKS
-@evindex CONFIG_LINKS
-The symbolic links to establish. The default is the arguments given to
-@code{AC_CONFIG_LINKS}; if that macro was not called,
-@file{config.status} ignores this variable.
-@end defvar
-
-The example above could also have been written, using this interface:
-
-@example
-@group
-config.h: stamp-h
-stamp-h: config.h.in config.status
- CONFIG_COMMANDS= CONFIG_LINKS= CONFIG_FILES= \
- CONFIG_HEADERS=config.h ./config.status
- echo > stamp-h
-
-Makefile: Makefile.in config.status
- CONFIG_COMMANDS= CONFIG_LINKS= CONFIG_HEADERS= \
- CONFIG_FILES=Makefile ./config.status
-@end group
-@end example
-
-@noindent
-(If @file{configure.in} does not call @code{AC_CONFIG_HEADERS}, there is
-no need to set @code{CONFIG_HEADERS} in the @code{make} rules, equally
-for @code{CONFIG_COMMANDS} etc.)
+The calling convention of @file{config.status} has changed, see
+@ref{Obsolete config.status Use}, for details.
@c ================================================ Questions About Autoconf.
understanding how to move to more modern constructs.
@menu
+* Obsolete config.status Use:: Different calling convention
* acconfig.h:: Additional entries in @file{config.h.in}
* Obsolete Macros:: Backward compatibility macros
@end menu
-@node acconfig.h, Obsolete Macros, Obsolete Constructs, Obsolete Constructs
+@node Obsolete config.status Use, acconfig.h, Obsolete Constructs, Obsolete Constructs
+@section Obsolete @file{config.status} Invocation
+
+@file{config.status} now supports arguments to specify the files to
+instantiate, see @ref{Invoking config.status}, for more details.
+Before, environment variables had to be used.
+
+@defvar CONFIG_COMMANDS
+@evindex CONFIG_COMMANDS
+The tags of the commands to execute. The default is the arguments given
+to @code{AC_OUTPUT} and @code{AC_CONFIG_COMMANDS} in
+@file{configure.in}.
+@end defvar
+
+@defvar CONFIG_FILES
+@evindex CONFIG_FILES
+The files in which to perform @samp{@@@var{variable}@@} substitutions.
+The default is the arguments given to @code{AC_OUTPUT} and
+@code{AC_CONFIG_FILES} in @file{configure.in}.
+@end defvar
+
+@defvar CONFIG_HEADERS
+@evindex CONFIG_HEADERS
+The files in which to substitute C @code{#define} statements. The
+default is the arguments given to @code{AC_CONFIG_HEADERS}; if that
+macro was not called, @file{config.status} ignores this variable.
+@end defvar
+
+@defvar CONFIG_LINKS
+@evindex CONFIG_LINKS
+The symbolic links to establish. The default is the arguments given to
+@code{AC_CONFIG_LINKS}; if that macro was not called,
+@file{config.status} ignores this variable.
+@end defvar
+
+In @ref{Invoking config.status}, using this old interface, the example
+would be:
+
+@example
+@group
+config.h: stamp-h
+stamp-h: config.h.in config.status
+ CONFIG_COMMANDS= CONFIG_LINKS= CONFIG_FILES= \
+ CONFIG_HEADERS=config.h ./config.status
+ echo > stamp-h
+
+Makefile: Makefile.in config.status
+ CONFIG_COMMANDS= CONFIG_LINKS= CONFIG_HEADERS= \
+ CONFIG_FILES=Makefile ./config.status
+@end group
+@end example
+
+@noindent
+(If @file{configure.in} does not call @code{AC_CONFIG_HEADERS}, there is
+no need to set @code{CONFIG_HEADERS} in the @code{make} rules, equally
+for @code{CONFIG_COMMANDS} etc.)
+
+
+@node acconfig.h, Obsolete Macros, Obsolete config.status Use, Obsolete Constructs
@section @file{acconfig.h}
@cindex @file{acconfig.h}