@end tex
@setchapternewpage off
+@ifinfo
+@format
+START-INFO-DIR-ENTRY
+* configure: (configure). Cygnus configure.
+END-INFO-DIR-ENTRY
+@end format
+@end ifinfo
+
@ifinfo
This document attempts to describe the Cygnus Support version of
@code{configure}.
@end titlepage
@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* configure: (configure.info). Cygnus configure.
-END-INFO-DIR-ENTRY
-@end format
@node top, What Configure Does, (dir), (dir)
@top top
Makefiles will have their @code{prefix} variables set to this value.
(See @ref{Install Details}.)
+@item -program_prefix=@var{string}
+Configure the source to install certain programs using @var{string} as a
+prefix. This applies to programs which might be used for cross-compilation,
+such as the compiler and the binutils, and also to programs which have the same
+name as a common Unix program, such as make.
+
+This option sets the @code{configure} variable @code{program_prefix}.
+Generated Makefiles will have their @code{program_prefix} variables set to this
+value. (See @ref{Install Details}.)
+
+@item -program_suffix=@var{string}
+Configure the source to install certain programs using @var{string} as a
+suffix. This applies to programs which might be used for cross-compilation.
+
+@item -program_transform_name=@var{sed-pattern}
+Configure the source to install certain programs using the names that result
+from passing the usual name through @code{sed} invoked with @var{sed-pattern}.
+This option may be given multiple times; each @var{sed-pattern} will be applied
+in turn. This applies to programs which might be used for cross-compilation.
+
+This option sets the @code{configure} variable @code{program_transform_name}.
+Generated Makefiles will have their @code{program_transform_name} variables set
+to this value. (See @ref{Install Details}.)
+
@item -recurring
@c Wouldn't it make more sense to call this "-quiet"? (FIXME).
This option is used internally by @code{configure} when recurring on
@defvar{configdirs}
Contains the names of any subdirectories where @code{configure} should
recur. You must usually set this in the per-invocation section of
-@file{configure.in}. If @file{Makefile.in} contains a line starting
-with @code{SUBDIRS =}, then it will be replaced with an assignment to
-@code{SUBDIRS} using the value of @code{configdirs}. This can be used
-to determine which directories to configure and build depending on the
-host and target configurations.
+@file{configure.in}.
+If @file{Makefile.in} contains a line starting with @code{SUBDIRS =},
+then it will be replaced with an assignment to @code{SUBDIRS} using
+the value of @code{configdirs} (if @code{subdirs} is empty). This can
+be used to determine which directories to configure and build depending
+on the host and target configurations.
@c Most other matching makefile/config vars use the same name. Why not
@c this? (FIXME).
+@c Can we get rid of SUBDIRS-substitution? It doesn't work well with subdirs.
+Use @code{configdirs} (instead of the @code{subdirs} variable
+described below) if you want to be able to partition the
+sub-directories, or use independent Makefile fragments.
+Each sub-directory can be independent, and independently re-configured.
+@end defvar
+
+@defvar{subdirs}
+Contains the names of any subdirectories where @code{configure} should
+create a @code{Makefile} (in addition to the current directory),
+@emph{without} recursively running @code{configure}.
+Use @code{subdirs} (instead of the @code{configdirs} variable
+described above) if you want to configure all of the directories
+as a unit. Since there is a single invocation of @code{configure}
+that configures many directories, all the directories can use the
+same Makefile fragments, and the same @code{configure.in}.
@end defvar
@defvar{host}
-Contains the name that the user entered for the host. Since many things
-that the user could enter would map to the same output from
-@code{config.sub}, this variable is innappropriate to use for picking
-available configurations. For that, use @code{host_cpu},
-@code{host_vendor}, and/or @code{host_os}. This variable is useful,
-however, for error messages.
+Contains the full configuration name (generated by the script
+@file{config.sub} from the name that the user entered) for the host.
+This is a three-part name of the form
+
+@example
+@var{cpu}-@var{vendor}-@var{os}
+@end example
+
+@noindent
+There are separate variables @code{host_cpu}, @code{host_vendor}, and
+@code{host_os} that you can use to test each of the three parts; this
+variable is useful, however, for error messages, and for testing
+combinations of the three components.
@end defvar
@defvar{host_cpu}
@end defvar
@defvar{target}
-Contains the name that the user entered for the target. Since
-many things that the user could enter would map to the same canonical
-triple, this variable is innappropriate to use for picking available
-configurations. For that, use @code{target_cpu}, @code{target_vendor},
-and/or @code{target_os}. This variable is useful, however, for error
-messages.
+Contains the full configuration name (generated by the script
+@file{config.sub} from the name that the user entered) for the target.
+This is a three-part name of the form
+
+@example
+@var{cpu}-@var{vendor}-@var{os}
+@end example
+
+@noindent
+There are separate variables @code{target_cpu}, @code{target_vendor}, and
+@code{target_os} that you can use to test each of the three parts; this
+variable is useful, however, for error messages, and for testing
+combinations of the three components.
@end defvar
@defvar{target_cpu}
interface the tool should provide.
@end defvar
-@defvar{nfp}
-Is set to @code{true} if the user invoked configure with the @code{-nfp}
+@defvar{floating_point}
+Is set to @code{no} if the user invoked configure with the @code{-nfp}
command line option, otherwise it is empty. This is a request to target
machines with @emph{no floating point} unit, even if the targets
ordinarily have floating point units available. This option has no