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
+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.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.
+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
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'.
+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
==========================
There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host Bash will run
+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., `sparc-sun-sunos4.1.2').
+`CPU-COMPANY-SYSTEM' (e.g., `i386-unknown-freebsd4.2').
See the file `support/config.sub' for the possible values of each field.
Define if you are using the Andrew File System from Transarc.
`--with-bash-malloc'
- Use the Bash 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.
+ 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 certain circumstances.
-
`--with-gnu-malloc'
A synonym for `--with-bash-malloc'.
-`--with-installed-readline'
+`--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 4.1 and later versions.
+ 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
There are several `--enable-' options that alter how Bash is compiled
and linked, rather than changing run-time features.
+`--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.
options, but it is processed first, so individual options may be
enabled using `enable-FEATURE'.
-All of the following options except for `disabled-builtins' 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',
+`directpand-default', and `xpg-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::.).
+ 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::.).
+ Constructs::).
`--enable-array-variables'
Include support for one-dimensional array shell variables (*note
- Arrays::.).
+ Arrays::).
`--enable-bang-history'
Include support for `csh'-like history substitution (*note History
- Interaction::.).
+ Interaction::).
`--enable-brace-expansion'
Include `csh'-like brace expansion ( `b{a,b}c' ==> `bac bbc' ).
- See *Note Brace Expansion::, for a complete description.
+ 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
+ (*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::.).
+ 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::.).
+ `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
+ `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::.).
+ Constructs::).
`--enable-extended-glob'
Include support for the extended pattern matching features
- described above under *Note Pattern Matching::.
+ 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-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::.).
+ and variables (*note Bash Builtins::).
`--enable-history'
Include command history and the `fc' and `history' builtin
- commands (*note Bash History Facilities::.).
+ commands (*note Bash History Facilities::).
`--enable-job-control'
- This enables the job control features (*note Job Control::.), if
+ 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::.).
+ redirections (*note Redirections::).
`--enable-process-substitution'
- This enables process substitution (*note Process Substitution::.)
- if the operating system provides the necessary support.
-
-`--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.
+ 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
+ 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 Controlling the Prompt::, for a complete list
+ of prompt string escape sequences.
+
`--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'
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::.).
+ 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'.
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 2. *Note Bash Builtins::, for a
+ 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