]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - INSTALL
fix for SIGINT in sourced script
[thirdparty/bash.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1211e359f04d04e34f53e78bf93be32fdf336ccb..c60d5917676811aeb2ce260a0fd2318279055ca2 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -3,332 +3,437 @@ Basic Installation
 
 These are installation instructions for Bash.
 
-The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package
-(the top directory, the `builtins' and `doc' directories, and the each
-directory under `lib').  It also creates a `config.h' file containing
-system-dependent definitions.  Finally, it creates a shell script named
-`config.status' that you can run in the future to recreate the current
-configuration, a file `config.cache' that saves the results of its
-tests to speed up reconfiguring, and a file `config.log' containing
-compiler output (useful mainly for debugging `configure').  If at some
-point `config.cache' contains results you don't want to keep, you may
-remove or edit it.
-
-If you need to do unusual things to compile Bash, please try to figure
-out how `configure' could check whether or not to do them, and mail
-diffs or instructions to <bash-maintainers@gnu.org> so they can be
-considered for the next release.
-
-The file `configure.in' is used to create `configure' by a program
-called Autoconf.  You only need `configure.in' if you want to change it
-or regenerate `configure' using a newer version of Autoconf.  If you do
-this, make sure you are using Autoconf version 2.10 or newer.
-
-If you need to change `configure.in' or regenerate `configure', you
-will need to create two files: `_distribution' and `_patchlevel'.
-`_distribution' should contain the major and minor version numbers of
-the Bash distribution, for example `2.01'.  `_patchlevel' should
-contain the patch level of the Bash distribution, `0' for example.  The
-script `support/mkconffiles' has been provided to automate the creation
-of these files.
-
 The simplest way to compile Bash is:
 
-  1. `cd' to the directory containing the source code and type
-     `./configure' to configure Bash for your system.  If you're using
-     `csh' on an old version of System V, you might need to type `sh
-     ./configure' instead to prevent `csh' from trying to execute
-     `configure' itself.
+  1. 'cd' to the directory containing the source code and type
+     './configure' to configure Bash for your system.  If you're using
+     'csh' on an old version of System V, you might need to type 'sh
+     ./configure' instead to prevent 'csh' from trying to execute
+     'configure' itself.
 
-     Running `configure' takes awhile.  While running, it prints some
+     Running 'configure' takes some time.  While running, it prints
      messages telling which features it is checking for.
 
-  2. Type `make' to compile Bash and build the `bashbug' bug reporting
+  2. Type 'make' to compile Bash and build the 'bashbug' bug reporting
      script.
 
-  3. Optionally, type `make tests' to run the Bash test suite.
+  3. Optionally, type 'make tests' to run the Bash test suite.
 
-  4. Type `make install' to install `bash' and `bashbug'.  This will
+  4. Type 'make install' to install 'bash' and 'bashbug'.  This will
      also install the manual pages and Info file.
 
+The 'configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a 'Makefile' in each directory of the package
+(the top directory, the 'builtins', 'doc', and 'support' directories,
+each directory under 'lib', and several others).  It also creates a
+'config.h' file containing system-dependent definitions.  Finally, it
+creates a shell script named 'config.status' that you can run in the
+future to recreate the current configuration, a file 'config.cache' that
+saves the results of its tests to speed up reconfiguring, and a file
+'config.log' containing compiler output (useful mainly for debugging
+'configure').  If at some point 'config.cache' contains results you
+don't want to keep, you may remove or edit it.
+
+To find out more about the options and arguments that the 'configure'
+script understands, type
+
+     bash-2.04$ ./configure --help
+
+at the Bash prompt in your Bash source directory.
+
+If you need to do unusual things to compile Bash, please try to figure
+out how 'configure' could check whether or not to do them, and mail
+diffs or instructions to <bash-maintainers@gnu.org> so they can be
+considered for the next release.
+
+The file 'configure.ac' is used to create 'configure' by a program
+called Autoconf.  You only need 'configure.ac' if you want to change it
+or regenerate 'configure' using a newer version of Autoconf.  If you do
+this, make sure you are using Autoconf version 2.50 or newer.
+
 You can remove the program binaries and object files from the source
-code directory by typing `make clean'.  To also remove the files that
-`configure' created (so you can compile Bash for a different kind of
-computer), type `make distclean'.
+code directory by typing 'make clean'.  To also remove the files that
+'configure' created (so you can compile Bash for a different kind of
+computer), type 'make distclean'.
+
+Next: Compiling For Multiple Architectures,  Prev: Basic Installation,  Up: Installing Bash
 
 Compilers and Options
 =====================
 
-Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
+Some systems require unusual options for compilation or linking that the
+'configure' script does not know about.  You can give 'configure'
 initial values for variables by setting them in the environment.  Using
 a Bourne-compatible shell, you can do that on the command line like
 this:
 
      CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
 
-On systems that have the `env' program, you can do it like this:
+On systems that have the 'env' program, you can do it like this:
 
      env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
 
 The configuration process uses GCC to build Bash if it is available.
 
+Next: Installation Names,  Prev: Compilers and Options,  Up: Installing Bash
+
 Compiling For Multiple Architectures
 ====================================
 
 You can compile Bash for more than one kind of computer at the same
 time, by placing the object files for each architecture in their own
-directory.  To do this, you must use a version of `make' that supports
-the `VPATH' variable, such as GNU `make'.  `cd' to the directory where
-you want the object files and executables to go and run the `configure'
+directory.  To do this, you must use a version of 'make' that supports
+the 'VPATH' variable, such as GNU 'make'.  'cd' to the directory where
+you want the object files and executables to go and run the 'configure'
 script from the source directory.  You may need to supply the
-`--srcdir=PATH' argument to tell `configure' where the source files
-are.  `configure' automatically checks for the source code in the
-directory that `configure' is in and in `..'.
+'--srcdir=PATH' argument to tell 'configure' where the source files are.
+'configure' automatically checks for the source code in the directory
+that 'configure' is in and in '..'.
 
-If you have to use a `make' that does not supports the `VPATH'
-variable, you can compile Bash for one architecture at a time in the
-source code directory.  After you have installed Bash for one
-architecture, use `make distclean' before reconfiguring for another
-architecture.
+If you have to use a 'make' that does not supports the 'VPATH' variable,
+you can compile Bash for one architecture at a time in the source code
+directory.  After you have installed Bash for one architecture, use
+'make distclean' before reconfiguring for another architecture.
 
 Alternatively, if your system supports symbolic links, you can use the
-`support/mkclone' script to create a build tree which has symbolic
-links back to each file in the source directory.  Here's an example
-that creates a build directory in the current directory from a source
-directory `/usr/gnu/src/bash-2.0':
+'support/mkclone' script to create a build tree which has symbolic links
+back to each file in the source directory.  Here's an example that
+creates a build directory in the current directory from a source
+directory '/usr/gnu/src/bash-2.0':
 
      bash /usr/gnu/src/bash-2.0/support/mkclone -s /usr/gnu/src/bash-2.0 .
 
-The `mkclone' script requires Bash, so you must have already built Bash
+The 'mkclone' script requires Bash, so you must have already built Bash
 for at least one architecture before you can create build directories
 for other architectures.
 
+Next: Specifying the System Type,  Prev: Compiling For Multiple Architectures,  Up: Installing Bash
+
 Installation Names
 ==================
 
-By default, `make install' will install into `/usr/local/bin',
-`/usr/local/man', etc.  You can specify an installation prefix other
-than `/usr/local' by giving `configure' the option `--prefix=PATH'.
+By default, 'make install' will install into '/usr/local/bin',
+'/usr/local/man', etc.  You can specify an installation prefix other
+than '/usr/local' by giving 'configure' the option '--prefix=PATH', or
+by specifying a value for the 'DESTDIR' 'make' variable when running
+'make install'.
 
-You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-give `configure' the option `--exec-prefix=PATH', `make install' will
-use `PATH' as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
+You can specify separate installation prefixes for architecture-specific
+files and architecture-independent files.  If you give 'configure' the
+option '--exec-prefix=PATH', 'make install' will use PATH as the prefix
+for installing programs and libraries.  Documentation and other data
+files will still use the regular prefix.
+
+Next: Sharing Defaults,  Prev: Installation Names,  Up: Installing Bash
 
 Specifying the System Type
 ==========================
 
-There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host Bash will run
-on.  Usually `configure' can figure that out, but if it prints a
-message saying it can not guess the host type, give it the
-`--host=TYPE' option.  `TYPE' can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
-`CPU-COMPANY-SYSTEM' (e.g., `sparc-sun-sunos4.1.2').
+There may be some features 'configure' can not figure out automatically,
+but need to determine by the type of host Bash will run on.  Usually
+'configure' can figure that out, but if it prints a message saying it
+can not guess the host type, give it the '--host=TYPE' option.  'TYPE'
+can either be a short name for the system type, such as 'sun4', or a
+canonical name with three fields: 'CPU-COMPANY-SYSTEM' (e.g.,
+'i386-unknown-freebsd4.2').
+
+See the file 'support/config.sub' for the possible values of each field.
 
-See the file `support/config.sub' for the possible values of each field.
+Next: Operation Controls,  Prev: Specifying the System Type,  Up: Installing Bash
 
 Sharing Defaults
 ================
 
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.  `configure'
-looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: the Bash `configure' looks for a site script, but not all
-`configure' scripts do.
+If you want to set default values for 'configure' scripts to share, you
+can create a site shell script called 'config.site' that gives default
+values for variables like 'CC', 'cache_file', and 'prefix'.  'configure'
+looks for 'PREFIX/share/config.site' if it exists, then
+'PREFIX/etc/config.site' if it exists.  Or, you can set the
+'CONFIG_SITE' environment variable to the location of the site script.
+A warning: the Bash 'configure' looks for a site script, but not all
+'configure' scripts do.
+
+Next: Optional Features,  Prev: Sharing Defaults,  Up: Installing Bash
 
 Operation Controls
 ==================
 
-`configure' recognizes the following options to control how it operates.
+'configure' recognizes the following options to control how it operates.
 
-`--cache-file=FILE'
+'--cache-file=FILE'
      Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
+     './config.cache'.  Set FILE to '/dev/null' to disable caching, for
+     debugging 'configure'.
 
-`--help'
-     Print a summary of the options to `configure', and exit.
+'--help'
+     Print a summary of the options to 'configure', and exit.
 
-`--quiet'
-`--silent'
-`-q'
+'--quiet'
+'--silent'
+'-q'
      Do not print messages saying which checks are being made.
 
-`--srcdir=DIR'
+'--srcdir=DIR'
      Look for the Bash source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
+     'configure' can determine that directory automatically.
 
-`--version'
-     Print the version of Autoconf used to generate the `configure'
+'--version'
+     Print the version of Autoconf used to generate the 'configure'
      script, and exit.
 
-`configure' also accepts some other, not widely used, boilerplate
-options.
+'configure' also accepts some other, not widely used, boilerplate
+options.  'configure --help' prints the complete list.
+
+Prev: Operation Controls,  Up: Installing Bash
 
 Optional Features
 =================
 
-The Bash `configure' has a number of `--enable-FEATURE' options, where
+The Bash 'configure' has a number of '--enable-FEATURE' options, where
 FEATURE indicates an optional part of Bash.  There are also several
-`--with-PACKAGE' options, where PACKAGE is something like `gnu-malloc'
-or `purify'.  To turn off the default use of a package, use
-`--without-PACKAGE'.  To configure Bash without a feature that is
-enabled by default, use `--disable-FEATURE'.
+'--with-PACKAGE' options, where PACKAGE is something like 'bash-malloc'
+or 'purify'.  To turn off the default use of a package, use
+'--without-PACKAGE'.  To configure Bash without a feature that is
+enabled by default, use '--disable-FEATURE'.
 
-Here is a complete list of the `--enable-' and `--with-' options that
-the Bash `configure' recognizes.
+Here is a complete list of the '--enable-' and '--with-' options that
+the Bash 'configure' recognizes.
 
-`--with-afs'
+'--with-afs'
      Define if you are using the Andrew File System from Transarc.
 
-`--with-curses'
+'--with-bash-malloc'
+     Use the Bash version of 'malloc' in the directory 'lib/malloc'.
+     This is not the same 'malloc' that appears in GNU libc, but an
+     older version originally derived from the 4.2 BSD 'malloc'.  This
+     'malloc' is very fast, but wastes some space on each allocation.
+     This option is enabled by default.  The 'NOTES' file contains a
+     list of systems for which this should be turned off, and
+     'configure' disables this option automatically for a number of
+     systems.
+
+'--with-curses'
      Use the curses library instead of the termcap library.  This should
      be supplied if your system has an inadequate or incomplete termcap
      database.
 
-`--with-glibc-malloc'
-     Use the GNU libc version of `malloc' in `lib/malloc/gmalloc.c'.
-     This is not the version of `malloc' that appears in glibc version
-     2, but a modified version of the `malloc' from glibc version 1.
-     This is somewhat slower than the default `malloc', but wastes less
-     space on a per-allocation basis, and will return memory to the
-     operating system under some circumstances.
-
-`--with-gnu-malloc'
-     Use the GNU version of `malloc' in `lib/malloc/malloc.c'.  This is
-     not the same `malloc' that appears in GNU libc, but an older
-     version derived from the 4.2 BSD `malloc'.  This `malloc' is very
-     fast, but wastes some space on each allocation.  This option is
-     enabled by default.  The `NOTES' file contains a list of systems
-     for which this should be turned off, and `configure' disables this
-     option automatically for a number of systems.
-
-`--with-installed-readline'
-     Define this to make bash link with a locally-installed version of
-     Readline rather than the version in lib/readline.  This works only
-     with readline 4.0 and later versions.
-
-`--with-purify'
-     Define this to use the Purify memory allocation checker from Pure
-     Software.
-
-`--enable-minimal-config'
+'--with-gnu-malloc'
+     A synonym for '--with-bash-malloc'.
+
+'--with-installed-readline[=PREFIX]'
+     Define this to make Bash link with a locally-installed version of
+     Readline rather than the version in 'lib/readline'.  This works
+     only with Readline 5.0 and later versions.  If PREFIX is 'yes' or
+     not supplied, 'configure' uses the values of the make variables
+     'includedir' and 'libdir', which are subdirectories of 'prefix' by
+     default, to find the installed version of Readline if it is not in
+     the standard system include and library directories.  If PREFIX is
+     'no', Bash links with the version in 'lib/readline'.  If PREFIX is
+     set to any other value, 'configure' treats it as a directory
+     pathname and looks for the installed version of Readline in
+     subdirectories of that directory (include files in PREFIX/'include'
+     and the library in PREFIX/'lib').
+
+'--with-purify'
+     Define this to use the Purify memory allocation checker from
+     Rational Software.
+
+'--enable-minimal-config'
      This produces a shell with minimal features, close to the
      historical Bourne shell.
 
-There are several `--enable-' options that alter how Bash is compiled
+There are several '--enable-' options that alter how Bash is compiled
 and linked, rather than changing run-time features.
 
-`--enable-profiling'
+'--enable-largefile'
+     Enable support for large files
+     (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
+     the operating system requires special compiler options to build
+     programs which can access large files.  This is enabled by default,
+     if the operating system provides large file support.
+
+'--enable-profiling'
      This builds a Bash binary that produces profiling information to be
-     processed by `gprof' each time it is executed.
+     processed by 'gprof' each time it is executed.
 
-`--enable-static-link'
-     This causes Bash to be linked statically, if `gcc' is being used.
+'--enable-static-link'
+     This causes Bash to be linked statically, if 'gcc' is being used.
      This could be used to build a version to use as root's shell.
 
-The `minimal-config' option can be used to disable all of the following
-options, but it is processed first, so individual options may be
-enabled using `enable-FEATURE'.
+The 'minimal-config' option can be used to disable all of the following
+options, but it is processed first, so individual options may be enabled
+using 'enable-FEATURE'.
+
+All of the following options except for 'disabled-builtins',
+'direxpand-default', and 'xpg-echo-default' are enabled by default,
+unless the operating system does not provide the necessary support.
 
-All of the following options except for `disabled-builtins' and
-`usg-echo-default' are enabled by default, unless the operating system
-does not provide the necessary support.
+'--enable-alias'
+     Allow alias expansion and include the 'alias' and 'unalias'
+     builtins (*note Aliases::).
 
-`--enable-alias'
-     Allow alias expansion and include the `alias' and `unalias'
-     builtins (*note Aliases::.).
+'--enable-arith-for-command'
+     Include support for the alternate form of the 'for' command that
+     behaves like the C language 'for' statement (*note Looping
+     Constructs::).
 
-`--enable-array-variables'
+'--enable-array-variables'
      Include support for one-dimensional array shell variables (*note
-     Arrays::.).
-
-`--enable-bang-history'
-     Include support for `csh'-like history substitution (*note History
-     Interaction::.).
-
-`--enable-brace-expansion'
-     Include `csh'-like brace expansion ( `b{a,b}c' ==> `bac bbc' ).
-     See *Note Brace Expansion::, for a complete description.
-
-`--enable-command-timing'
-     Include support for recognizing `time' as a reserved word and for
-     displaying timing statistics for the pipeline following `time'.
-     This allows pipelines as well as shell builtins and functions to
-     be timed.
-
-`--enable-cond-command'
-     Include support for the `[[' conditional command (*note
-     Conditional Constructs::.).
-
-`--enable-directory-stack'
-     Include support for a `csh'-like directory stack and the `pushd',
-     `popd', and `dirs' builtins (*note The Directory Stack::.).
-
-`--enable-disabled-builtins'
-     Allow builtin commands to be invoked via `builtin xxx' even after
-     `xxx' has been disabled using `enable -n xxx'.  See *Note Bash
-     Builtins::, for details of the `builtin' and `enable' builtin
+     Arrays::).
+
+'--enable-bang-history'
+     Include support for 'csh'-like history substitution (*note History
+     Interaction::).
+
+'--enable-brace-expansion'
+     Include 'csh'-like brace expansion ( 'b{a,b}c' ==> 'bac bbc' ).
+     See *note Brace Expansion::, for a complete description.
+
+'--enable-casemod-attributes'
+     Include support for case-modifying attributes in the 'declare'
+     builtin and assignment statements.  Variables with the UPPERCASE
+     attribute, for example, will have their values converted to
+     uppercase upon assignment.
+
+'--enable-casemod-expansion'
+     Include support for case-modifying word expansions.
+
+'--enable-command-timing'
+     Include support for recognizing 'time' as a reserved word and for
+     displaying timing statistics for the pipeline following 'time'
+     (*note Pipelines::).  This allows pipelines as well as shell
+     builtins and functions to be timed.
+
+'--enable-cond-command'
+     Include support for the '[[' conditional command.  (*note
+     Conditional Constructs::).
+
+'--enable-cond-regexp'
+     Include support for matching POSIX regular expressions using the
+     '=~' binary operator in the '[[' conditional command.  (*note
+     Conditional Constructs::).
+
+'--enable-coprocesses'
+     Include support for coprocesses and the 'coproc' reserved word
+     (*note Pipelines::).
+
+'--enable-debugger'
+     Include support for the bash debugger (distributed separately).
+
+'--enable-direxpand-default'
+     Cause the 'direxpand' shell option (*note The Shopt Builtin::) to
+     be enabled by default when the shell starts.  It is normally
+     disabled by default.
+
+'--enable-directory-stack'
+     Include support for a 'csh'-like directory stack and the 'pushd',
+     'popd', and 'dirs' builtins (*note The Directory Stack::).
+
+'--enable-disabled-builtins'
+     Allow builtin commands to be invoked via 'builtin xxx' even after
+     'xxx' has been disabled using 'enable -n xxx'.  See *note Bash
+     Builtins::, for details of the 'builtin' and 'enable' builtin
      commands.
 
-`--enable-dparen-arithmetic'
-     Include support for the `((...))' command (*note Conditional
-     Constructs::.).
+'--enable-dparen-arithmetic'
+     Include support for the '((...))' command (*note Conditional
+     Constructs::).
 
-`--enable-extended-glob'
+'--enable-extended-glob'
      Include support for the extended pattern matching features
-     described above under *Note Pattern Matching::.
-
-`--enable-help-builtin'
-     Include the `help' builtin, which displays help on shell builtins
-     and variables.
-
-`--enable-history'
-     Include command history and the `fc' and `history' builtin
-     commands.
-
-`--enable-job-control'
-     This enables the job control features (*note Job Control::.), if
-     the operating system supports them.
-
-`--enable-process-substitution'
-     This enables process substitution (*note Process Substitution::.)
-     if the operating system provides the necessary support.
-
-`--enable-prompt-string-decoding'
+     described above under *note Pattern Matching::.
+
+'--enable-extended-glob-default'
+     Set the default value of the EXTGLOB shell option described above
+     under *note The Shopt Builtin:: to be enabled.
+
+'--enable-function-import'
+     Include support for importing function definitions exported by
+     another instance of the shell from the environment.  This option is
+     enabled by default.
+
+'--enable-glob-asciirange-default'
+     Set the default value of the GLOBASCIIRANGES shell option described
+     above under *note The Shopt Builtin:: to be enabled.  This controls
+     the behavior of character ranges when used in pattern matching
+     bracket expressions.
+
+'--enable-help-builtin'
+     Include the 'help' builtin, which displays help on shell builtins
+     and variables (*note Bash Builtins::).
+
+'--enable-history'
+     Include command history and the 'fc' and 'history' builtin commands
+     (*note Bash History Facilities::).
+
+'--enable-job-control'
+     This enables the job control features (*note Job Control::), if the
+     operating system supports them.
+
+'--enable-multibyte'
+     This enables support for multibyte characters if the operating
+     system provides the necessary support.
+
+'--enable-net-redirections'
+     This enables the special handling of filenames of the form
+     '/dev/tcp/HOST/PORT' and '/dev/udp/HOST/PORT' when used in
+     redirections (*note Redirections::).
+
+'--enable-process-substitution'
+     This enables process substitution (*note Process Substitution::) if
+     the operating system provides the necessary support.
+
+'--enable-progcomp'
+     Enable the programmable completion facilities (*note Programmable
+     Completion::).  If Readline is not enabled, this option has no
+     effect.
+
+'--enable-prompt-string-decoding'
      Turn on the interpretation of a number of backslash-escaped
-     characters in the `$PS1', `$PS2', `$PS3', and `$PS4' prompt
-     strings.  See *Note Printing a Prompt::, for a complete list of
-     prompt string escape sequences.
+     characters in the '$PS1', '$PS2', '$PS3', and '$PS4' prompt
+     strings.  See *note Controlling the Prompt::, for a complete list
+     of prompt string escape sequences.
 
-`--enable-readline'
+'--enable-readline'
      Include support for command-line editing and history with the Bash
-     version of the Readline library (*note Command Line Editing::.).
+     version of the Readline library (*note Command Line Editing::).
 
-`--enable-restricted'
+'--enable-restricted'
      Include support for a "restricted shell".  If this is enabled,
-     Bash, when called as `rbash', enters a restricted mode.  See *Note
+     Bash, when called as 'rbash', enters a restricted mode.  See *note
      The Restricted Shell::, for a description of restricted mode.
 
-`--enable-select'
-     Include the `select' builtin, which allows the generation of simple
-     menus (*note Conditional Constructs::.).
-
-`--enable-usg-echo-default'
-     Make the `echo' builtin expand backslash-escaped characters by
-     default, without requiring the `-e' option.  This makes the Bash
-     `echo' behave more like the System V version.
-
-The file `config.h.top' contains C Preprocessor `#define' statements
-for options which are not settable from `configure'.  Some of these are
-not meant to be changed; beware of the consequences if you do.  Read
-the comments associated with each definition for more information about
-its effect.
+'--enable-select'
+     Include the 'select' compound command, which allows the generation
+     of simple menus (*note Conditional Constructs::).
+
+'--enable-separate-helpfiles'
+     Use external files for the documentation displayed by the 'help'
+     builtin instead of storing the text internally.
+
+'--enable-single-help-strings'
+     Store the text displayed by the 'help' builtin as a single string
+     for each help topic.  This aids in translating the text to
+     different languages.  You may need to disable this if your compiler
+     cannot handle very long string literals.
+
+'--enable-strict-posix-default'
+     Make Bash POSIX-conformant by default (*note Bash POSIX Mode::).
+
+'--enable-usg-echo-default'
+     A synonym for '--enable-xpg-echo-default'.
+
+'--enable-xpg-echo-default'
+     Make the 'echo' builtin expand backslash-escaped characters by
+     default, without requiring the '-e' option.  This sets the default
+     value of the 'xpg_echo' shell option to 'on', which makes the Bash
+     'echo' behave more like the version specified in the Single Unix
+     Specification, version 3.  *Note Bash Builtins::, for a description
+     of the escape sequences that 'echo' recognizes.
+
+The file 'config-top.h' contains C Preprocessor '#define' statements for
+options which are not settable from 'configure'.  Some of these are not
+meant to be changed; beware of the consequences if you do.  Read the
+comments associated with each definition for more information about its
+effect.