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-malloc
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
--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-config
There are several --enable- options that alter how Bash is compiled and linked, rather than changing run-time features.
--enable-largefile
--enable-profiling
gprof
each time it is executed.
--enable-static-link
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’.
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-alias
alias
and unalias
builtins (see Aliases).
--enable-arith-for-command
for
command
that behaves like the C language for
statement
(see Looping Constructs).
--enable-array-variables
--enable-bang-history
csh
-like history substitution
(see History Interaction).
--enable-brace-expansion
csh
-like brace expansion
( b{a,b}c
==> bac bbc
).
See Brace Expansion, for a complete description.
--enable-casemod-attributes
declare
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-timing
time
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-coprocesses
coproc
reserved word
(see Pipelines).
--enable-debugger
--enable-directory-stack
csh
-like directory stack and the
pushd
, popd
, and dirs
builtins
(see The Directory Stack).
--enable-disabled-builtins
xxx
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-builtin
help
builtin, which displays help on shell builtins and
variables (see Bash Builtins).
--enable-history
fc
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-restricted
rbash
, enters a restricted mode. See
The Restricted Shell, for a description of restricted mode.
--enable-select
select
builtin, which allows the generation of simple
menus (see Conditional Constructs).
--enable-separate-helpfiles
help
builtin
instead of storing the text internally.
--enable-single-help-strings
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
--enable-usg-echo-default
--enable-xpg-echo-default
.
--enable-xpg-echo-default
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.
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.