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 ‘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.
--with-afs--with-bash-mallocmalloc 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--with-gnu-malloc--with-bash-malloc.
--with-installed-readline[=PREFIX]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--enable-minimal-configThere are several --enable- options that alter how Bash is compiled and linked, rather than changing run-time features.
--enable-largefile--enable-profilinggprof each time it is executed.
--enable-static-linkgcc 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’.
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.
--enable-aliasalias and unalias
builtins (see Aliases).
--enable-arith-for-commandfor command
that behaves like the C language for statement
(see Looping Constructs).
--enable-array-variables--enable-bang-historycsh-like history substitution
(see History Interaction).
--enable-brace-expansioncsh-like brace expansion
( b{a,b}c ==> bac bbc ).
See Brace Expansion, for a complete description.
--enable-casemod-attributesdeclare builtin
and assignment statements. Variables with the uppercase attribute,
for example, will have their values converted to uppercase upon assignment.
--enable-casemod-expansion--enable-command-timingtime as a reserved word and for
displaying timing statistics for the pipeline following time
(see Pipelines).
This allows pipelines as well as shell builtins and functions to be timed.
--enable-cond-command[[ conditional command.
(see Conditional Constructs).
--enable-cond-regexp[[ conditional command.
(see Conditional Constructs).
--enable-coprocessescoproc reserved word
(see Pipelines).
--enable-debugger--enable-directory-stackcsh-like directory stack and the
pushd, popd, and dirs builtins
(see The Directory Stack).
--enable-disabled-builtinsxxx has been disabled using ‘enable -n xxx’.
See Bash Builtins, for details of the builtin and
enable builtin commands.
--enable-dparen-arithmetic((...)) command
(see Conditional Constructs).
--enable-extended-glob--enable-extended-glob-default--enable-help-builtinhelp builtin, which displays help on shell builtins and
variables (see Bash Builtins).
--enable-historyfc and history
builtin commands (see Bash History Facilities).
--enable-job-control--enable-multibyte--enable-net-redirections/dev/tcp/host/port and
/dev/udp/host/port
when used in redirections (see Redirections).
--enable-process-substitution--enable-progcomp--enable-prompt-string-decoding--enable-readline--enable-restrictedrbash, enters a restricted mode. See
The Restricted Shell, for a description of restricted mode.
--enable-selectselect builtin, which allows the generation of simple
menus (see Conditional Constructs).
--enable-separate-helpfileshelp builtin
instead of storing the text internally.
--enable-single-help-stringshelp 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--enable-usg-echo-default--enable-xpg-echo-default.
--enable-xpg-echo-defaultecho 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.
See 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.