]> git.ipfire.org Git - thirdparty/bash.git/blobdiff - INSTALL
Bash-4.3 patch 23
[thirdparty/bash.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 74d284b7da807dbb5537a0ba416b44b00235d033..ebe7ea1cc6472bec46d1b2fc81db9b49ed85d016 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -47,18 +47,10 @@ 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
+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
@@ -118,7 +110,9 @@ 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'.
+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
@@ -130,12 +124,12 @@ 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
+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.
 
@@ -197,34 +191,36 @@ the Bash `configure' recognizes.
      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
@@ -237,6 +233,13 @@ the Bash `configure' recognizes.
 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.
@@ -249,103 +252,156 @@ 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.
+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'.
@@ -355,7 +411,7 @@ does not provide the necessary support.
      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