bash: Optional Features

1 
1 10.8 Optional Features
1 ======================
1 
1 The Bash 'configure' has a number of '--enable-FEATURE' options, where
1 FEATURE indicates an optional part of Bash.  There are also several
1 '--with-PACKAGE' options, where PACKAGE is something like 'bash-malloc'
1 or 'purify'.  To turn off the default use of a package, use
1 '--without-PACKAGE'.  To configure Bash without a feature that is
1 enabled by default, use '--disable-FEATURE'.
1 
1    Here is a complete list of the '--enable-' and '--with-' options that
1 the Bash 'configure' recognizes.
1 
1 '--with-afs'
1      Define if you are using the Andrew File System from Transarc.
1 
1 '--with-bash-malloc'
1      Use the Bash version of 'malloc' in the directory 'lib/malloc'.
1      This is not the same 'malloc' that appears in GNU libc, but an
1      older version originally derived from the 4.2 BSD 'malloc'.  This
1      'malloc' is very fast, but wastes some space on each allocation.
1      This option is enabled by default.  The 'NOTES' file contains a
1      list of systems for which this should be turned off, and
1      'configure' disables this option automatically for a number of
1      systems.
1 
1 '--with-curses'
1      Use the curses library instead of the termcap library.  This should
1      be supplied if your system has an inadequate or incomplete termcap
1      database.
1 
1 '--with-gnu-malloc'
1      A synonym for '--with-bash-malloc'.
1 
1 '--with-installed-readline[=PREFIX]'
1      Define this to make Bash link with a locally-installed version of
1      Readline rather than the version in 'lib/readline'.  This works
1      only with Readline 5.0 and later versions.  If PREFIX is 'yes' or
1      not supplied, 'configure' uses the values of the make variables
1      'includedir' and 'libdir', which are subdirectories of 'prefix' by
1      default, to find the installed version of Readline if it is not in
1      the standard system include and library directories.  If PREFIX is
1      'no', Bash links with the version in 'lib/readline'.  If PREFIX is
1      set to any other value, 'configure' treats it as a directory
1      pathname and looks for the installed version of Readline in
1      subdirectories of that directory (include files in PREFIX/'include'
1      and the library in PREFIX/'lib').
1 
1 '--with-purify'
1      Define this to use the Purify memory allocation checker from
1      Rational Software.
1 
1 '--enable-minimal-config'
1      This produces a shell with minimal features, close to the
1      historical Bourne shell.
1 
1    There are several '--enable-' options that alter how Bash is compiled
1 and linked, rather than changing run-time features.
1 
1 '--enable-largefile'
1      Enable support for large files
1      (http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
1      the operating system requires special compiler options to build
1      programs which can access large files.  This is enabled by default,
1      if the operating system provides large file support.
1 
1 '--enable-profiling'
1      This builds a Bash binary that produces profiling information to be
1      processed by 'gprof' each time it is executed.
1 
1 '--enable-static-link'
1      This causes Bash to be linked statically, if 'gcc' is being used.
1      This could be used to build a version to use as root's shell.
1 
1    The 'minimal-config' option can be used to disable all of the
1 following options, but it is processed first, so individual options may
1 be enabled using 'enable-FEATURE'.
1 
1    All of the following options except for 'disabled-builtins',
1 'direxpand-default', and 'xpg-echo-default' are enabled by default,
1 unless the operating system does not provide the necessary support.
1 
1 '--enable-alias'
1      Allow alias expansion and include the 'alias' and 'unalias'
1      builtins (⇒Aliases).
1 
1 '--enable-arith-for-command'
1      Include support for the alternate form of the 'for' command that
11      behaves like the C language 'for' statement (⇒Looping
      Constructs).
1 
1 '--enable-array-variables'
11      Include support for one-dimensional array shell variables (⇒
      Arrays).
1 
1 '--enable-bang-history'
11      Include support for 'csh'-like history substitution (⇒History
      Interaction).
1 
1 '--enable-brace-expansion'
1      Include 'csh'-like brace expansion ( 'b{a,b}c' ==> 'bac bbc' ).
1      See ⇒Brace Expansion, for a complete description.
1 
1 '--enable-casemod-attributes'
1      Include support for case-modifying attributes in the 'declare'
1      builtin and assignment statements.  Variables with the UPPERCASE
1      attribute, for example, will have their values converted to
1      uppercase upon assignment.
1 
1 '--enable-casemod-expansion'
1      Include support for case-modifying word expansions.
1 
1 '--enable-command-timing'
1      Include support for recognizing 'time' as a reserved word and for
1      displaying timing statistics for the pipeline following 'time'
1      (⇒Pipelines).  This allows pipelines as well as shell
1      builtins and functions to be timed.
1 
1 '--enable-cond-command'
11      Include support for the '[[' conditional command.  (⇒
      Conditional Constructs).
1 
1 '--enable-cond-regexp'
1      Include support for matching POSIX regular expressions using the
11      '=~' binary operator in the '[[' conditional command.  (⇒
      Conditional Constructs).
1 
1 '--enable-coprocesses'
1      Include support for coprocesses and the 'coproc' reserved word
1      (⇒Pipelines).
1 
1 '--enable-debugger'
1      Include support for the bash debugger (distributed separately).
1 
1 '--enable-direxpand-default'
1      Cause the 'direxpand' shell option (⇒The Shopt Builtin) to
1      be enabled by default when the shell starts.  It is normally
1      disabled by default.
1 
1 '--enable-directory-stack'
1      Include support for a 'csh'-like directory stack and the 'pushd',
1      'popd', and 'dirs' builtins (⇒The Directory Stack).
1 
1 '--enable-disabled-builtins'
1      Allow builtin commands to be invoked via 'builtin xxx' even after
11      'xxx' has been disabled using 'enable -n xxx'.  See ⇒Bash
      Builtins, for details of the 'builtin' and 'enable' builtin
1      commands.
1 
1 '--enable-dparen-arithmetic'
11      Include support for the '((...))' command (⇒Conditional
      Constructs).
1 
1 '--enable-extended-glob'
1      Include support for the extended pattern matching features
1      described above under ⇒Pattern Matching.
1 
1 '--enable-extended-glob-default'
1      Set the default value of the EXTGLOB shell option described above
1      under ⇒The Shopt Builtin to be enabled.
1 
1 '--enable-function-import'
1      Include support for importing function definitions exported by
1      another instance of the shell from the environment.  This option is
1      enabled by default.
1 
1 '--enable-glob-asciirange-default'
1      Set the default value of the GLOBASCIIRANGES shell option described
1      above under ⇒The Shopt Builtin to be enabled.  This controls
1      the behavior of character ranges when used in pattern matching
1      bracket expressions.
1 
1 '--enable-help-builtin'
1      Include the 'help' builtin, which displays help on shell builtins
1      and variables (⇒Bash Builtins).
1 
1 '--enable-history'
1      Include command history and the 'fc' and 'history' builtin commands
1      (⇒Bash History Facilities).
1 
1 '--enable-job-control'
1      This enables the job control features (⇒Job Control), if the
1      operating system supports them.
1 
1 '--enable-multibyte'
1      This enables support for multibyte characters if the operating
1      system provides the necessary support.
1 
1 '--enable-net-redirections'
1      This enables the special handling of filenames of the form
1      '/dev/tcp/HOST/PORT' and '/dev/udp/HOST/PORT' when used in
1      redirections (⇒Redirections).
1 
1 '--enable-process-substitution'
1      This enables process substitution (⇒Process Substitution) if
1      the operating system provides the necessary support.
1 
1 '--enable-progcomp'
11      Enable the programmable completion facilities (⇒Programmable
      Completion).  If Readline is not enabled, this option has no
1      effect.
1 
1 '--enable-prompt-string-decoding'
1      Turn on the interpretation of a number of backslash-escaped
1      characters in the '$PS1', '$PS2', '$PS3', and '$PS4' prompt
1      strings.  See ⇒Controlling the Prompt, for a complete list
1      of prompt string escape sequences.
1 
1 '--enable-readline'
1      Include support for command-line editing and history with the Bash
1      version of the Readline library (⇒Command Line Editing).
1 
1 '--enable-restricted'
1      Include support for a "restricted shell".  If this is enabled,
11      Bash, when called as 'rbash', enters a restricted mode.  See ⇒
      The Restricted Shell, for a description of restricted mode.
1 
1 '--enable-select'
1      Include the 'select' compound command, which allows the generation
1      of simple menus (⇒Conditional Constructs).
1 
1 '--enable-separate-helpfiles'
1      Use external files for the documentation displayed by the 'help'
1      builtin instead of storing the text internally.
1 
1 '--enable-single-help-strings'
1      Store the text displayed by the 'help' builtin as a single string
1      for each help topic.  This aids in translating the text to
1      different languages.  You may need to disable this if your compiler
1      cannot handle very long string literals.
1 
1 '--enable-strict-posix-default'
1      Make Bash POSIX-conformant by default (⇒Bash POSIX Mode).
1 
1 '--enable-usg-echo-default'
1      A synonym for '--enable-xpg-echo-default'.
1 
1 '--enable-xpg-echo-default'
1      Make the 'echo' builtin expand backslash-escaped characters by
1      default, without requiring the '-e' option.  This sets the default
1      value of the 'xpg_echo' shell option to 'on', which makes the Bash
1      'echo' behave more like the version specified in the Single Unix
1      Specification, version 3.  ⇒Bash Builtins, for a description
1      of the escape sequences that 'echo' recognizes.
1 
1    The file 'config-top.h' contains C Preprocessor '#define' statements
1 for options which are not settable from 'configure'.  Some of these are
1 not meant to be changed; beware of the consequences if you do.  Read the
1 comments associated with each definition for more information about its
1 effect.
1