Imported from ../bash-2.02.1.tar.gz.
This commit is contained in:
parent
cce855bc5b
commit
bc4cd23ce9
23 changed files with 204 additions and 70 deletions
55
CHANGES
55
CHANGES
|
@ -1,5 +1,56 @@
|
||||||
This document details the changes between this version, bash-2.02-beta2,
|
This document details the changes between this version, bash-2.02.1-release,
|
||||||
and the previous version, bash-2.02-beta1.
|
and the previous version, bash-2.02-release.
|
||||||
|
|
||||||
|
1. Changes to Bash
|
||||||
|
|
||||||
|
a. A bug that caused the bash readline support to not compile unless aliases
|
||||||
|
and csh-style history were configured into the shell was fixed.
|
||||||
|
|
||||||
|
b. Fixed a bug that could cause a core dump when here documents contained
|
||||||
|
more than 1000 characters.
|
||||||
|
|
||||||
|
c. Fixed a bug that caused a CDPATH entry of "" to not be treated the same
|
||||||
|
as the current directory when in POSIX mode.
|
||||||
|
|
||||||
|
d. Fixed an alignment problem with the memory returned by the bash malloc,
|
||||||
|
so returned memory is now 64-bit aligned.
|
||||||
|
|
||||||
|
e. Fixed a bug that caused command substitutions executed within pipelines
|
||||||
|
to put the terminal in the wrong process group.
|
||||||
|
|
||||||
|
f. Fixes to support/config.sub for: alphas, SCO Open Server and Open Desktop,
|
||||||
|
Unixware 2, and Unixware 7.
|
||||||
|
|
||||||
|
g. Fixes to the pattern matching code to make it work correctly for eight-bit
|
||||||
|
characters.
|
||||||
|
|
||||||
|
h. Fixed a problem that occasionally caused the shell to display the wrong
|
||||||
|
value for the new working directory when changing to a directory found
|
||||||
|
in $CDPATH when in physical mode.
|
||||||
|
|
||||||
|
i. Fixed a bug that caused core dumps when using conditional commands in
|
||||||
|
shell functions.
|
||||||
|
|
||||||
|
j. Fixed a bug that caused the printf builtin to loop forever if the format
|
||||||
|
string did not consume any of the arguments.
|
||||||
|
|
||||||
|
k. Fixed a bug in the parameter expansion code that caused "$@" to be
|
||||||
|
incorrectly split if $IFS did not contain a space character.
|
||||||
|
|
||||||
|
l. Fixed a bug that could cause a core dump when completing hostnames if
|
||||||
|
the number of matching hostnames was an exact multiple of 16.
|
||||||
|
|
||||||
|
m. Fixed a bug that caused the shell to fork too early when a command
|
||||||
|
such as `%2 &' was given.
|
||||||
|
|
||||||
|
2. Changes to Readline
|
||||||
|
|
||||||
|
a. Fixed a problem with redisplay that showed up when the prompt string was
|
||||||
|
longer than the screen width and the prompt contained invisible characters.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
This document details the changes between this version, bash-2.02-release,
|
||||||
|
and the previous version, bash-2.02-beta2.
|
||||||
|
|
||||||
1. Changes to Bash
|
1. Changes to Bash
|
||||||
|
|
||||||
|
|
4
INSTALL
4
INSTALL
|
@ -29,8 +29,8 @@ this, make sure you are using Autoconf version 2.10 or newer.
|
||||||
If you need to change `configure.in' or regenerate `configure', you
|
If you need to change `configure.in' or regenerate `configure', you
|
||||||
will need to create two files: `_distribution' and `_patchlevel'.
|
will need to create two files: `_distribution' and `_patchlevel'.
|
||||||
`_distribution' should contain the major and minor version numbers of
|
`_distribution' should contain the major and minor version numbers of
|
||||||
the Bash distribution, for example `2.01'. `_patchlevel' should
|
the Bash distribution, for example `2.02'. `_patchlevel' should
|
||||||
contain the patch level of the Bash distribution, `0' for example. The
|
contain the patch level of the Bash distribution, `1' for example. The
|
||||||
script `support/mkconffiles' has been provided to automate the creation
|
script `support/mkconffiles' has been provided to automate the creation
|
||||||
of these files.
|
of these files.
|
||||||
|
|
||||||
|
|
20
NOTES
20
NOTES
|
@ -3,12 +3,14 @@ Platform-Specific Configuration and Operation Notes
|
||||||
|
|
||||||
1. configure --without-gnu-malloc on:
|
1. configure --without-gnu-malloc on:
|
||||||
|
|
||||||
alpha running OSF/1
|
alpha running OSF/1, Linux, or NetBSD (malloc needs 8-byte alignment;
|
||||||
alpha running Linux
|
bash malloc has 8-byte alignment now, but I have no alphas to test on)
|
||||||
|
|
||||||
next running NeXT/OS
|
next running NeXT/OS
|
||||||
|
|
||||||
all machines running SunOS YP code: SunOS4, SunOS5, HP/UX
|
all machines running SunOS YP code: SunOS4, SunOS5, HP/UX, if you
|
||||||
|
have problems with username completion or tilde expansion for
|
||||||
|
usernames found via YP/NIS
|
||||||
|
|
||||||
linux (optional, but don't do it if you're using Doug Lea's malloc)
|
linux (optional, but don't do it if you're using Doug Lea's malloc)
|
||||||
|
|
||||||
|
@ -19,16 +21,18 @@ Platform-Specific Configuration and Operation Notes
|
||||||
DG/UX
|
DG/UX
|
||||||
Cray
|
Cray
|
||||||
|
|
||||||
NetBSD/sparc (malloc needs 8-byte alignment; GNU malloc has 4-byte)
|
NetBSD/sparc (malloc needs 8-byte alignment; bash malloc has 8-byte
|
||||||
|
alignment now, but I have no NetBSD machines to test on)
|
||||||
|
|
||||||
BSD/OS 2.1 if you want to use loadable builtins
|
BSD/OS 2.1, 3.x if you want to use loadable builtins
|
||||||
|
|
||||||
If you are using GNU libc, especially on a linux system
|
If you are using GNU libc, especially on a linux system
|
||||||
|
|
||||||
(Configuring --without-gnu-malloc will still result in lib/malloc/libmalloc.a
|
(Configuring --without-gnu-malloc will still result in lib/malloc/libmalloc.a
|
||||||
being built and linked against, but there is only a stub file in the archive.)
|
being built and linked against, but there is only a stub file in the archive.)
|
||||||
|
|
||||||
2. configure using shlicc on BSD/OS 2.1 to use loadable builtins
|
2. Configure using shlicc2 on BSD/OS 2.1 and BSD/OS 3.x to use loadable
|
||||||
|
builtins
|
||||||
|
|
||||||
3. Bash cannot be built in a directory separate from the source directory
|
3. Bash cannot be built in a directory separate from the source directory
|
||||||
using configure --srcdir=... unless the version of `make' you're using
|
using configure --srcdir=... unless the version of `make' you're using
|
||||||
|
@ -44,8 +48,8 @@ being built and linked against, but there is only a stub file in the archive.)
|
||||||
fixes the problem.
|
fixes the problem.
|
||||||
|
|
||||||
5. There is a problem with Red Hat Linux's `makewhatis' script.
|
5. There is a problem with Red Hat Linux's `makewhatis' script.
|
||||||
Running `makewhatis' with bash-2.0 results in error messages
|
Running `makewhatis' with bash-2.0 or later versions results
|
||||||
like this:
|
in error messages like this:
|
||||||
|
|
||||||
/usr/sbin/makewhatis: cd: manpath: No such file or directory
|
/usr/sbin/makewhatis: cd: manpath: No such file or directory
|
||||||
/usr/sbin/makewhatis: manpath/whatis: No such file or directory
|
/usr/sbin/makewhatis: manpath/whatis: No such file or directory
|
||||||
|
|
6
README
6
README
|
@ -1,7 +1,7 @@
|
||||||
Introduction
|
Introduction
|
||||||
============
|
============
|
||||||
|
|
||||||
This is GNU Bash, version 2.01. Bash is the GNU Project's Bourne
|
This is GNU Bash, version 2.02.1. Bash is the GNU Project's Bourne
|
||||||
Again SHell, a complete implementation of the POSIX.2 shell spec,
|
Again SHell, a complete implementation of the POSIX.2 shell spec,
|
||||||
but also with interactive command line editing, job control on
|
but also with interactive command line editing, job control on
|
||||||
architectures that support it, csh-like features such as history
|
architectures that support it, csh-like features such as history
|
||||||
|
@ -49,7 +49,7 @@ more ambitious script that attempts to do a more complete job.
|
||||||
Reporting Bugs
|
Reporting Bugs
|
||||||
==============
|
==============
|
||||||
|
|
||||||
Bug reports for bash-2.01 should be sent to:
|
Bug reports for bash-2.02.1 should be sent to:
|
||||||
|
|
||||||
bug-bash@prep.ai.mit.edu
|
bug-bash@prep.ai.mit.edu
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ bashbug directly with `make bashbug'. If you cannot build `bashbug',
|
||||||
please send mail to bug-bash@prep.ai.mit.edu with the following
|
please send mail to bug-bash@prep.ai.mit.edu with the following
|
||||||
information:
|
information:
|
||||||
|
|
||||||
* the version number and release status of Bash (e.g., 2.01-release)
|
* the version number and release status of Bash (e.g., 2.02.1-release)
|
||||||
* the machine and OS that it is running on (look at the file
|
* the machine and OS that it is running on (look at the file
|
||||||
`.made' in the bash build directory)
|
`.made' in the bash build directory)
|
||||||
* a list of the compilation flags or the contents of `config.h', if
|
* a list of the compilation flags or the contents of `config.h', if
|
||||||
|
|
|
@ -213,7 +213,9 @@ initialize_readline ()
|
||||||
|
|
||||||
#ifdef ALIAS
|
#ifdef ALIAS
|
||||||
rl_add_defun ("alias-expand-line", (Function *)alias_expand_line, -1);
|
rl_add_defun ("alias-expand-line", (Function *)alias_expand_line, -1);
|
||||||
|
# ifdef BANG_HISTORY
|
||||||
rl_add_defun ("history-and-alias-expand-line", (Function *)history_and_alias_expand_line, -1);
|
rl_add_defun ("history-and-alias-expand-line", (Function *)history_and_alias_expand_line, -1);
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Backwards compatibility. */
|
/* Backwards compatibility. */
|
||||||
|
@ -538,7 +540,7 @@ hostnames_matching (text)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* OK, it matches. Add it to the list. */
|
/* OK, it matches. Add it to the list. */
|
||||||
if (nmatch >= rsize)
|
if (nmatch >= (rsize - 1))
|
||||||
{
|
{
|
||||||
rsize = (rsize + 16) - (rsize % 16);
|
rsize = (rsize + 16) - (rsize % 16);
|
||||||
result = (char **)xrealloc (result, rsize * sizeof (char *));
|
result = (char **)xrealloc (result, rsize * sizeof (char *));
|
||||||
|
|
|
@ -263,7 +263,7 @@ cd_builtin (list)
|
||||||
directory name is echoed to stdout, whether or not
|
directory name is echoed to stdout, whether or not
|
||||||
the shell is interactive. */
|
the shell is interactive. */
|
||||||
if (opt)
|
if (opt)
|
||||||
printf ("%s\n", the_current_working_directory);
|
printf ("%s\n", no_symlinks ? temp : the_current_working_directory);
|
||||||
|
|
||||||
free (temp);
|
free (temp);
|
||||||
/* Posix.2 says that after using CDPATH, the resultant
|
/* Posix.2 says that after using CDPATH, the resultant
|
||||||
|
@ -276,8 +276,10 @@ cd_builtin (list)
|
||||||
|
|
||||||
/* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
|
/* POSIX.2 says that if `.' does not appear in $CDPATH, we don't
|
||||||
try the current directory, so we just punt now with an error
|
try the current directory, so we just punt now with an error
|
||||||
message if POSIXLY_CORRECT is non-zero. */
|
message if POSIXLY_CORRECT is non-zero. The check for cdpath[0]
|
||||||
if (posixly_correct)
|
is so we don't mistakenly treat a CDPATH value of "" as not
|
||||||
|
specifying the current directory. */
|
||||||
|
if (posixly_correct && cdpath[0])
|
||||||
{
|
{
|
||||||
builtin_error ("%s: %s", dirname, strerror (ENOENT));
|
builtin_error ("%s: %s", dirname, strerror (ENOENT));
|
||||||
return (EXECUTION_FAILURE);
|
return (EXECUTION_FAILURE);
|
||||||
|
|
|
@ -191,6 +191,11 @@ exec_builtin (list)
|
||||||
#endif /* JOB_CONTROL */
|
#endif /* JOB_CONTROL */
|
||||||
|
|
||||||
shell_execve (command, args, env);
|
shell_execve (command, args, env);
|
||||||
|
|
||||||
|
/* We have to set this to NULL because shell_execve has called realloc()
|
||||||
|
to stuff more items at the front of the array, which may have caused
|
||||||
|
the memory to be freed by realloc(). We don't want to free it twice. */
|
||||||
|
args = (char **)NULL;
|
||||||
if (cleanenv == 0)
|
if (cleanenv == 0)
|
||||||
adjust_shell_level (1);
|
adjust_shell_level (1);
|
||||||
|
|
||||||
|
|
|
@ -129,6 +129,10 @@ printf_builtin (list)
|
||||||
|
|
||||||
garglist = list->next;
|
garglist = list->next;
|
||||||
|
|
||||||
|
/* If the format string is empty after preprocessing, return immediately. */
|
||||||
|
if (format == 0 || *format == 0)
|
||||||
|
return (EXECUTION_SUCCESS);
|
||||||
|
|
||||||
/* Basic algorithm is to scan the format string for conversion
|
/* Basic algorithm is to scan the format string for conversion
|
||||||
specifications -- once one is found, find out if the field
|
specifications -- once one is found, find out if the field
|
||||||
width or precision is a '*'; if it is, gather up value. Note,
|
width or precision is a '*'; if it is, gather up value. Note,
|
||||||
|
@ -305,7 +309,7 @@ printf_builtin (list)
|
||||||
fmt[1] = nextch;
|
fmt[1] = nextch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (garglist);
|
while (garglist && garglist != list->next);
|
||||||
|
|
||||||
PRETURN (retval);
|
PRETURN (retval);
|
||||||
}
|
}
|
||||||
|
|
4
configure
vendored
4
configure
vendored
|
@ -725,7 +725,7 @@ alpha-*) opt_gnu_malloc=no ;; # alpha running osf/1 or linux
|
||||||
*-osf1*) opt_gnu_malloc=no ;; # other osf/1 machines
|
*-osf1*) opt_gnu_malloc=no ;; # other osf/1 machines
|
||||||
sparc-svr4*) opt_gnu_malloc=no ;; # sparc SVR4, SVR4.2
|
sparc-svr4*) opt_gnu_malloc=no ;; # sparc SVR4, SVR4.2
|
||||||
sparc-netbsd*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
sparc-netbsd*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
||||||
sgi-irix6*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
#mips-irix6*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
||||||
sparc-linux*) opt_gnu_malloc=no ;; # sparc running linux; requires ELF
|
sparc-linux*) opt_gnu_malloc=no ;; # sparc running linux; requires ELF
|
||||||
#*-freebsd*) opt_gnu_malloc=no ;; # they claim it's better
|
#*-freebsd*) opt_gnu_malloc=no ;; # they claim it's better
|
||||||
*-aix*) opt_gnu_malloc=no ;; # AIX machines
|
*-aix*) opt_gnu_malloc=no ;; # AIX machines
|
||||||
|
@ -1113,7 +1113,7 @@ fi
|
||||||
|
|
||||||
|
|
||||||
BASHVERS=2.02
|
BASHVERS=2.02
|
||||||
BASHPATCH=0
|
BASHPATCH=1
|
||||||
|
|
||||||
echo "Beginning configuration for bash-$BASHVERS for ${host_cpu}-${host_vendor}-${host_os}"
|
echo "Beginning configuration for bash-$BASHVERS for ${host_cpu}-${host_vendor}-${host_os}"
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ alpha-*) opt_gnu_malloc=no ;; # alpha running osf/1 or linux
|
||||||
*-osf1*) opt_gnu_malloc=no ;; # other osf/1 machines
|
*-osf1*) opt_gnu_malloc=no ;; # other osf/1 machines
|
||||||
sparc-svr4*) opt_gnu_malloc=no ;; # sparc SVR4, SVR4.2
|
sparc-svr4*) opt_gnu_malloc=no ;; # sparc SVR4, SVR4.2
|
||||||
sparc-netbsd*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
sparc-netbsd*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
||||||
sgi-irix6*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
#mips-irix6*) opt_gnu_malloc=no ;; # needs 8-byte alignment
|
||||||
sparc-linux*) opt_gnu_malloc=no ;; # sparc running linux; requires ELF
|
sparc-linux*) opt_gnu_malloc=no ;; # sparc running linux; requires ELF
|
||||||
#*-freebsd*) opt_gnu_malloc=no ;; # they claim it's better
|
#*-freebsd*) opt_gnu_malloc=no ;; # they claim it's better
|
||||||
*-aix*) opt_gnu_malloc=no ;; # AIX machines
|
*-aix*) opt_gnu_malloc=no ;; # AIX machines
|
||||||
|
|
|
@ -229,7 +229,8 @@ copy_cond_command (com)
|
||||||
new_cond = (COND_COM *)xmalloc (sizeof (COND_COM));
|
new_cond = (COND_COM *)xmalloc (sizeof (COND_COM));
|
||||||
new_cond->flags = com->flags;
|
new_cond->flags = com->flags;
|
||||||
new_cond->line = com->line;
|
new_cond->line = com->line;
|
||||||
new_cond->op = copy_word (com->op);
|
new_cond->type = com->type;
|
||||||
|
new_cond->op = com->op ? copy_word (com->op) : com->op;
|
||||||
new_cond->left = com->left ? copy_cond_command (com->left) : (COND_COM *)NULL;
|
new_cond->left = com->left ? copy_cond_command (com->left) : (COND_COM *)NULL;
|
||||||
new_cond->right = com->right ? copy_cond_command (com->right) : (COND_COM *)NULL;
|
new_cond->right = com->right ? copy_cond_command (com->right) : (COND_COM *)NULL;
|
||||||
|
|
||||||
|
|
48
doc/FAQ
48
doc/FAQ
|
@ -1,4 +1,4 @@
|
||||||
This is the Bash FAQ, version 2.11, for Bash version 2.02.
|
This is the Bash FAQ, version 2.13, for Bash version 2.02.
|
||||||
|
|
||||||
This document contains a set of frequently-asked questions concerning
|
This document contains a set of frequently-asked questions concerning
|
||||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||||
|
@ -150,9 +150,10 @@ More information appears in the file `INSTALL' in the distribution.
|
||||||
5) Will bash run on operating systems other than Unix?
|
5) Will bash run on operating systems other than Unix?
|
||||||
|
|
||||||
Configuration specifics for Unix-like systems such as QNX and
|
Configuration specifics for Unix-like systems such as QNX and
|
||||||
LynxOS are included in the distribution. Previous versions of
|
LynxOS are included in the distribution. Bash-2.02 should
|
||||||
bash have been ported to Minix, but I don't believe anyone has
|
compile and run on Minix 2.0 (patches were contributed), but I
|
||||||
built bash-2.x on Minix yet.
|
don't believe anyone has built bash-2.x on earlier Minix versions
|
||||||
|
yet.
|
||||||
|
|
||||||
Bash has been ported to versions of Windows implementing the Win32
|
Bash has been ported to versions of Windows implementing the Win32
|
||||||
programming interface. This includes Windows 95 and Windows NT.
|
programming interface. This includes Windows 95 and Windows NT.
|
||||||
|
@ -174,9 +175,9 @@ The Cygnus port works only on Intel machines. There is a port of bash
|
||||||
|
|
||||||
ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz
|
ftp://ftp.gnustep.org//pub/win32/bash-alpha-nt-1.01.tar.gz
|
||||||
|
|
||||||
Softway Systems has ported bash-2.01.1 to their OpenNT system, a
|
Softway Systems has ported bash-2.01.1 to their Interix (nee OpenNT)
|
||||||
Unix subsystem for NT that replaces the Microsoft POSIX subsystem.
|
system, a Unix subsystem for NT that replaces the Microsoft POSIX
|
||||||
Check out http://www.opennt.com for more information.
|
subsystem. Check out http://www.interix.com for more information.
|
||||||
|
|
||||||
D. J. Delorie has ported bash-1.14.7 to run under MS-DOS, as part of
|
D. J. Delorie has ported bash-1.14.7 to run under MS-DOS, as part of
|
||||||
the DJGPP project. For more information on the project, see
|
the DJGPP project. For more information on the project, see
|
||||||
|
@ -403,6 +404,8 @@ Things bash has that sh does not:
|
||||||
the select compound command and reserved word
|
the select compound command and reserved word
|
||||||
new $'...' and $"..." quoting
|
new $'...' and $"..." quoting
|
||||||
the $(...) form of command substitution
|
the $(...) form of command substitution
|
||||||
|
the $(<filename) form of command substitution, equivalent to
|
||||||
|
$(cat filename)
|
||||||
the ${#param} parameter value length operator
|
the ${#param} parameter value length operator
|
||||||
the ${!param} indirect parameter expansion operator
|
the ${!param} indirect parameter expansion operator
|
||||||
the ${param:length[:offset]} parameter substring operator
|
the ${param:length[:offset]} parameter substring operator
|
||||||
|
@ -413,7 +416,7 @@ Things bash has that sh does not:
|
||||||
TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
|
TIMEFORMAT, PPID, PWD, OLDPWD, SHLVL, RANDOM, SECONDS,
|
||||||
LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
|
LINENO, HISTCMD, HOSTTYPE, OSTYPE, MACHTYPE, HOSTNAME,
|
||||||
ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
|
ENV, PS3, PS4, DIRSTACK, PIPESTATUS, HISTSIZE, HISTFILE,
|
||||||
HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE,
|
HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
|
||||||
PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
|
PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
|
||||||
SHELLOPTS, OPTERR, HOSTFILE, TMOUT, histchars, auto_resume
|
SHELLOPTS, OPTERR, HOSTFILE, TMOUT, histchars, auto_resume
|
||||||
DEBUG trap
|
DEBUG trap
|
||||||
|
@ -436,6 +439,7 @@ Things bash has that sh does not:
|
||||||
brace expansion
|
brace expansion
|
||||||
tilde expansion
|
tilde expansion
|
||||||
arithmetic expansion with $((...)) and `let' builtin
|
arithmetic expansion with $((...)) and `let' builtin
|
||||||
|
the `[[...]]' extended conditional command
|
||||||
process substitution
|
process substitution
|
||||||
aliases and alias/unalias builtins
|
aliases and alias/unalias builtins
|
||||||
local variables in functions and `local' builtin
|
local variables in functions and `local' builtin
|
||||||
|
@ -444,9 +448,14 @@ Things bash has that sh does not:
|
||||||
csh-like history expansion
|
csh-like history expansion
|
||||||
other new bash builtins: bind, command, builtin, declare/typeset,
|
other new bash builtins: bind, command, builtin, declare/typeset,
|
||||||
dirs, enable, fc, help, history, logout,
|
dirs, enable, fc, help, history, logout,
|
||||||
popd, pushd, disown, shopt
|
popd, pushd, disown, shopt, printf
|
||||||
exported functions
|
exported functions
|
||||||
filename generation when using output redirection (command >a*)
|
filename generation when using output redirection (command >a*)
|
||||||
|
POSIX.2-style globbing character classes
|
||||||
|
POSIX.2-style globbing equivalence classes
|
||||||
|
POSIX.2-style globbing collating symbols
|
||||||
|
egrep-like extended pattern matching operators
|
||||||
|
case-insensitive pattern matching and globbing
|
||||||
variable assignments preceding commands affect only that command,
|
variable assignments preceding commands affect only that command,
|
||||||
even for builtins and functions
|
even for builtins and functions
|
||||||
posix mode
|
posix mode
|
||||||
|
@ -493,7 +502,7 @@ Things bash has or uses that ksh88 does not:
|
||||||
HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
|
HISTFILESIZE, HISTIGNORE, HISTCONTROL, PROMPT_COMMAND,
|
||||||
IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
|
IGNOREEOF, FIGNORE, INPUTRC, HOSTFILE, DIRSTACK,
|
||||||
PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
|
PIPESTATUS, HOSTNAME, OPTERR, SHELLOPTS, GLOBIGNORE,
|
||||||
histchars, auto_resume
|
GROUPS, histchars, auto_resume
|
||||||
prompt expansion with backslash escapes and command substitution
|
prompt expansion with backslash escapes and command substitution
|
||||||
redirection: &> (stdout and stderr)
|
redirection: &> (stdout and stderr)
|
||||||
more extensive and extensible editing and completion
|
more extensive and extensible editing and completion
|
||||||
|
@ -504,15 +513,18 @@ Things bash has or uses that ksh88 does not:
|
||||||
-o histexpand/-o interactive-comments/-o notify/-o physical/
|
-o histexpand/-o interactive-comments/-o notify/-o physical/
|
||||||
-o posix/-o hashall/-o onecmd/-h/-B/-C/-b/-H/-P, set +o,
|
-o posix/-o hashall/-o onecmd/-h/-B/-C/-b/-H/-P, set +o,
|
||||||
suspend, trap -l, type, typeset -a/-F/-p, ulimit -u,
|
suspend, trap -l, type, typeset -a/-F/-p, ulimit -u,
|
||||||
umask -S, alias -p, shopt, disown
|
umask -S, alias -p, shopt, disown, printf
|
||||||
`!' csh-style history expansion
|
`!' csh-style history expansion
|
||||||
|
POSIX.2-style globbing character classes
|
||||||
|
POSIX.2-style globbing equivalence classes
|
||||||
|
POSIX.2-style globbing collating symbols
|
||||||
|
egrep-like extended pattern matching operators
|
||||||
|
case-insensitive pattern matching and globbing
|
||||||
|
`**' arithmetic operator to do exponentiation
|
||||||
|
|
||||||
Things ksh88 has or uses that bash does not:
|
Things ksh88 has or uses that bash does not:
|
||||||
new version of test: [[...]]
|
|
||||||
tracked aliases
|
tracked aliases
|
||||||
$(<file)
|
|
||||||
variables: ERRNO, FPATH, COLUMNS, LINES, EDITOR, VISUAL
|
variables: ERRNO, FPATH, COLUMNS, LINES, EDITOR, VISUAL
|
||||||
extended pattern matching with egrep-style pattern lists
|
|
||||||
co-processes (|&, >&p, <&p)
|
co-processes (|&, >&p, <&p)
|
||||||
weirdly-scoped functions
|
weirdly-scoped functions
|
||||||
typeset +f to list all function names without definitions
|
typeset +f to list all function names without definitions
|
||||||
|
@ -547,7 +559,7 @@ New things in ksh-93 not in bash-2.02:
|
||||||
variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, HISTEDIT,
|
variables: .sh.edchar, .sh.edmode, .sh.edcol, .sh.edtext, HISTEDIT,
|
||||||
.sh.version, .sh.name, .sh.subscript, .sh.value
|
.sh.version, .sh.name, .sh.subscript, .sh.value
|
||||||
backreferences in pattern matching
|
backreferences in pattern matching
|
||||||
print -f (bash has a loadable version)
|
print -f (bash has a loadable version of print and the printf builtin)
|
||||||
`fc' has been renamed to `hist'
|
`fc' has been renamed to `hist'
|
||||||
read -t/-d
|
read -t/-d
|
||||||
`.' can execute shell functions
|
`.' can execute shell functions
|
||||||
|
@ -712,12 +724,8 @@ Most, however, can be emulated with very little trouble.
|
||||||
|
|
||||||
ksh-88 feature Bash equivalent
|
ksh-88 feature Bash equivalent
|
||||||
-------------- ---------------
|
-------------- ---------------
|
||||||
[[...]] can usually use [...]; minor differences (no
|
|
||||||
pattern matching, for one)
|
|
||||||
compiled-in aliases set up aliases in .bashrc; some ksh aliases are
|
compiled-in aliases set up aliases in .bashrc; some ksh aliases are
|
||||||
bash builtins (hash, history, type)
|
bash builtins (hash, history, type)
|
||||||
$(<file) $(cat file)
|
|
||||||
extended patterns no good substitute
|
|
||||||
coprocesses named pipe pairs (one for read, one for write)
|
coprocesses named pipe pairs (one for read, one for write)
|
||||||
typeset +f declare -F
|
typeset +f declare -F
|
||||||
cd, print, whence function substitutes in examples/functions/kshenv
|
cd, print, whence function substitutes in examples/functions/kshenv
|
||||||
|
@ -1146,7 +1154,7 @@ is 1-56592-147-X. Look for it in fine bookstores near you. This book
|
||||||
covers bash-1.14, but has an appendix describing some of the new features
|
covers bash-1.14, but has an appendix describing some of the new features
|
||||||
in bash-2.0.
|
in bash-2.0.
|
||||||
|
|
||||||
A second edition of this book is available, just published in January, 1998.
|
A second edition of this book is available, published in January, 1998.
|
||||||
The ISBN number is 1-56592-347-2. Look for it in the same fine bookstores
|
The ISBN number is 1-56592-347-2. Look for it in the same fine bookstores
|
||||||
or on the web.
|
or on the web.
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,7 @@ case "$1" in
|
||||||
# Start value only
|
# Start value only
|
||||||
count=${1%-}
|
count=${1%-}
|
||||||
forever=1
|
forever=1
|
||||||
|
end="-1";
|
||||||
;;
|
;;
|
||||||
-[0-9]*-[0-9]*|[0-9]*-[0-9]*)
|
-[0-9]*-[0-9]*|[0-9]*-[0-9]*)
|
||||||
# Start and end value
|
# Start and end value
|
||||||
|
@ -92,6 +93,7 @@ case "$1" in
|
||||||
;;
|
;;
|
||||||
-)
|
-)
|
||||||
forever=1
|
forever=1
|
||||||
|
end="-1";
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "$name: bad count parameter: $1" 1>&2
|
echo "$name: bad count parameter: $1" 1>&2
|
||||||
|
|
|
@ -2276,7 +2276,7 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
|
||||||
{
|
{
|
||||||
WORD_LIST *words, *lastword;
|
WORD_LIST *words, *lastword;
|
||||||
char *command_line, *lastarg, *temp;
|
char *command_line, *lastarg, *temp;
|
||||||
int first_word_quoted, result, builtin_is_special, already_forked;
|
int first_word_quoted, result, builtin_is_special, already_forked, dofork;
|
||||||
pid_t old_last_command_subst_pid;
|
pid_t old_last_command_subst_pid;
|
||||||
Function *builtin;
|
Function *builtin;
|
||||||
SHELL_VAR *func;
|
SHELL_VAR *func;
|
||||||
|
@ -2298,8 +2298,23 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
|
||||||
|
|
||||||
old_last_command_subst_pid = last_command_subst_pid;
|
old_last_command_subst_pid = last_command_subst_pid;
|
||||||
|
|
||||||
already_forked = 0;
|
already_forked = dofork = 0;
|
||||||
if (pipe_in != NO_PIPE || pipe_out != NO_PIPE || async)
|
|
||||||
|
/* If we're in a pipeline or run in the background, set DOFORK so we
|
||||||
|
make the child early, before word expansion. This keeps assignment
|
||||||
|
statements from affecting the parent shell's environment when they
|
||||||
|
should not. */
|
||||||
|
dofork = pipe_in != NO_PIPE || pipe_out != NO_PIPE || async;
|
||||||
|
|
||||||
|
/* Something like `%2 &' should restart job 2 in the background, not cause
|
||||||
|
the shell to fork here. */
|
||||||
|
if (dofork && pipe_in == NO_PIPE && pipe_out == NO_PIPE &&
|
||||||
|
simple_command->words && simple_command->words->word &&
|
||||||
|
simple_command->words->word->word &&
|
||||||
|
(simple_command->words->word->word[0] == '%'))
|
||||||
|
dofork = 0;
|
||||||
|
|
||||||
|
if (dofork)
|
||||||
{
|
{
|
||||||
/* XXX memory leak if expand_words() error causes a jump_to_top_level */
|
/* XXX memory leak if expand_words() error causes a jump_to_top_level */
|
||||||
command_line = savestring (the_printed_command);
|
command_line = savestring (the_printed_command);
|
||||||
|
@ -2312,7 +2327,7 @@ execute_simple_command (simple_command, pipe_in, pipe_out, async, fds_to_close)
|
||||||
do_piping (pipe_in, pipe_out);
|
do_piping (pipe_in, pipe_out);
|
||||||
pipe_in = pipe_out = -1;
|
pipe_in = pipe_out = -1;
|
||||||
|
|
||||||
subshell_environment = SUBSHELL_ASYNC;
|
subshell_environment = async ? SUBSHELL_ASYNC : SUBSHELL_FORK;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
6
jobs.c
6
jobs.c
|
@ -925,9 +925,9 @@ print_pipeline (p, job_index, format, stream)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (WIFSTOPPED (show->status))
|
if (WIFSTOPPED (show->status))
|
||||||
temp = strsignal (WSTOPSIG (show->status));
|
temp = (char *)strsignal (WSTOPSIG (show->status));
|
||||||
else if (WIFSIGNALED (show->status))
|
else if (WIFSIGNALED (show->status))
|
||||||
temp = strsignal (WTERMSIG (show->status));
|
temp = (char *)strsignal (WTERMSIG (show->status));
|
||||||
else if (WIFEXITED (show->status))
|
else if (WIFEXITED (show->status))
|
||||||
{
|
{
|
||||||
temp = retcode_name_buffer;
|
temp = retcode_name_buffer;
|
||||||
|
@ -1191,7 +1191,7 @@ make_child (command, async_p)
|
||||||
if (pipeline_pgrp == mine)
|
if (pipeline_pgrp == mine)
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
if (async_p == 0)
|
if (async_p == 0 && pipeline_pgrp != shell_pgrp)
|
||||||
give_terminal_to (pipeline_pgrp);
|
give_terminal_to (pipeline_pgrp);
|
||||||
|
|
||||||
#if defined (PGRP_PIPE)
|
#if defined (PGRP_PIPE)
|
||||||
|
|
|
@ -37,9 +37,6 @@ static int extmatch ();
|
||||||
|
|
||||||
/* Note that these evaluate C many times. */
|
/* Note that these evaluate C many times. */
|
||||||
|
|
||||||
#define ISUPPER(c) (isascii (c) && isupper (c))
|
|
||||||
#define ISLOWER(c) (isascii (c) && islower (c))
|
|
||||||
|
|
||||||
#ifndef isblank
|
#ifndef isblank
|
||||||
# define isblank(c) ((c) == ' ' || (c) == '\t')
|
# define isblank(c) ((c) == ' ' || (c) == '\t')
|
||||||
#endif
|
#endif
|
||||||
|
@ -52,7 +49,10 @@ static int extmatch ();
|
||||||
# define isxdigit(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
|
# define isxdigit(c) (((c) >= '0' && (c) <= '9') || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
# define FOLD(c) ((flags & FNM_CASEFOLD) && ISUPPER (c) ? tolower (c) : (c))
|
/* The result of FOLD is an `unsigned char' */
|
||||||
|
# define FOLD(c) ((flags & FNM_CASEFOLD) && isupper ((unsigned char)c) \
|
||||||
|
? tolower ((unsigned char)c) \
|
||||||
|
: ((unsigned char)c))
|
||||||
|
|
||||||
#ifndef STREQ
|
#ifndef STREQ
|
||||||
#define STREQ(a, b) ((a)[0] == (b)[0] && strcmp(a, b) == 0)
|
#define STREQ(a, b) ((a)[0] == (b)[0] && strcmp(a, b) == 0)
|
||||||
|
@ -190,7 +190,7 @@ gmatch (string, se, pattern, pe, flags)
|
||||||
return FNM_NOMATCH;
|
return FNM_NOMATCH;
|
||||||
c = FOLD (c);
|
c = FOLD (c);
|
||||||
}
|
}
|
||||||
if (FOLD (sc) != c)
|
if (FOLD (sc) != (unsigned char)c)
|
||||||
return FNM_NOMATCH;
|
return FNM_NOMATCH;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -240,9 +240,9 @@ gmatch (string, se, pattern, pe, flags)
|
||||||
|
|
||||||
/* General case, use recursion. */
|
/* General case, use recursion. */
|
||||||
{
|
{
|
||||||
char c1;
|
unsigned char c1;
|
||||||
|
|
||||||
c1 = ((flags & FNM_NOESCAPE) == 0 && c == '\\') ? *p : c;
|
c1 = (unsigned char)((flags & FNM_NOESCAPE) == 0 && c == '\\') ? *p : c;
|
||||||
c1 = FOLD (c1);
|
c1 = FOLD (c1);
|
||||||
for (--p; n < se; ++n)
|
for (--p; n < se; ++n)
|
||||||
/* Only call fnmatch if the first character indicates a
|
/* Only call fnmatch if the first character indicates a
|
||||||
|
@ -272,7 +272,7 @@ gmatch (string, se, pattern, pe, flags)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (c != FOLD (sc))
|
if ((unsigned char)c != FOLD (sc))
|
||||||
return (FNM_NOMATCH);
|
return (FNM_NOMATCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -378,7 +378,7 @@ brackmatch (p, test, flags)
|
||||||
else if (STREQN (p+1, "graph:]", 7))
|
else if (STREQN (p+1, "graph:]", 7))
|
||||||
{ pc = isgraph (test); p += 8; }
|
{ pc = isgraph (test); p += 8; }
|
||||||
else if (STREQN (p+1, "lower:]", 7))
|
else if (STREQN (p+1, "lower:]", 7))
|
||||||
{ pc = ISLOWER (test); p += 8; }
|
{ pc = islower (test); p += 8; }
|
||||||
else if (STREQN (p+1, "print:]", 7))
|
else if (STREQN (p+1, "print:]", 7))
|
||||||
{ pc = isprint (test); p += 8; }
|
{ pc = isprint (test); p += 8; }
|
||||||
else if (STREQN (p+1, "punct:]", 7))
|
else if (STREQN (p+1, "punct:]", 7))
|
||||||
|
@ -386,7 +386,7 @@ brackmatch (p, test, flags)
|
||||||
else if (STREQN (p+1, "space:]", 7))
|
else if (STREQN (p+1, "space:]", 7))
|
||||||
{ pc = isspace (test); p += 8; }
|
{ pc = isspace (test); p += 8; }
|
||||||
else if (STREQN (p+1, "upper:]", 7))
|
else if (STREQN (p+1, "upper:]", 7))
|
||||||
{ pc = ISUPPER (test); p += 8; }
|
{ pc = isupper (test); p += 8; }
|
||||||
else if (STREQN (p+1, "xdigit:]", 8))
|
else if (STREQN (p+1, "xdigit:]", 8))
|
||||||
{ pc = isxdigit (test); p += 9; }
|
{ pc = isxdigit (test); p += 9; }
|
||||||
else if (STREQN (p+1, "ascii:]", 7))
|
else if (STREQN (p+1, "ascii:]", 7))
|
||||||
|
|
|
@ -184,7 +184,7 @@ struct bucket_stats {
|
||||||
enough room in the block for the new size. Range checking is always
|
enough room in the block for the new size. Range checking is always
|
||||||
done. */
|
done. */
|
||||||
union mhead {
|
union mhead {
|
||||||
union mhead *mh_align;
|
double mh_align;
|
||||||
struct {
|
struct {
|
||||||
char mi_alloc; /* ISALLOC or ISFREE */ /* 1 */
|
char mi_alloc; /* ISALLOC or ISFREE */ /* 1 */
|
||||||
char mi_index; /* index in nextf[] */ /* 1 */
|
char mi_index; /* index in nextf[] */ /* 1 */
|
||||||
|
|
|
@ -423,7 +423,14 @@ rl_redisplay ()
|
||||||
contents of the command line? */
|
contents of the command line? */
|
||||||
while (lpos >= screenwidth)
|
while (lpos >= screenwidth)
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
temp = ((newlines + 1) * screenwidth) - ((newlines == 0) ? wrap_offset : 0);
|
temp = ((newlines + 1) * screenwidth) - ((newlines == 0) ? wrap_offset : 0);
|
||||||
|
#else
|
||||||
|
/* XXX - possible fix from Darin Johnson <darin@acuson.com> for prompt
|
||||||
|
string with invisible characters that is longer than the screen
|
||||||
|
width. */
|
||||||
|
temp = ((newlines + 1) * screenwidth) + ((newlines == 0) ? wrap_offset : 0);
|
||||||
|
#endif
|
||||||
inv_lbreaks[++newlines] = temp;
|
inv_lbreaks[++newlines] = temp;
|
||||||
lpos -= screenwidth;
|
lpos -= screenwidth;
|
||||||
}
|
}
|
||||||
|
|
|
@ -492,7 +492,7 @@ make_here_document (temp)
|
||||||
len = strlen (line);
|
len = strlen (line);
|
||||||
if (len + document_index >= document_size)
|
if (len + document_index >= document_size)
|
||||||
{
|
{
|
||||||
document_size = document_size ? 2 * (document_size + len) : 1000;
|
document_size = document_size ? 2 * (document_size + len) : len + 2;
|
||||||
document = xrealloc (document, document_size);
|
document = xrealloc (document, document_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
2
shell.c
2
shell.c
|
@ -1390,9 +1390,7 @@ shell_initialize ()
|
||||||
char hostname[256];
|
char hostname[256];
|
||||||
|
|
||||||
/* Line buffer output for stderr and stdout. */
|
/* Line buffer output for stderr and stdout. */
|
||||||
#if defined (SunOS5)
|
|
||||||
if (shell_initialized == 0)
|
if (shell_initialized == 0)
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
setlinebuf (stderr);
|
setlinebuf (stderr);
|
||||||
setlinebuf (stdout);
|
setlinebuf (stdout);
|
||||||
|
|
6
subst.c
6
subst.c
|
@ -5033,7 +5033,11 @@ add_string:
|
||||||
{
|
{
|
||||||
if (list->next)
|
if (list->next)
|
||||||
{
|
{
|
||||||
temp = string_list (quote_list (list));
|
/* Testing quoted_dollar_at makes sure that "$@" is
|
||||||
|
split correctly when $IFS does not contain a space. */
|
||||||
|
temp = quoted_dollar_at
|
||||||
|
? string_list_dollar_at (list, Q_DOUBLE_QUOTES)
|
||||||
|
: string_list (quote_list (list));
|
||||||
dispose_words (list);
|
dispose_words (list);
|
||||||
goto add_string;
|
goto add_string;
|
||||||
}
|
}
|
||||||
|
|
5
support/config.guess
vendored
5
support/config.guess
vendored
|
@ -737,6 +737,11 @@ EOF
|
||||||
i?86:DYNIX/ptx:4*:*)
|
i?86:DYNIX/ptx:4*:*)
|
||||||
echo i386-sequent-sysv4
|
echo i386-sequent-sysv4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
|
# added by chet for bash based on usenet posting from <hops@sco.com> and
|
||||||
|
# documentation on SCO's web site -- UnixWare 7 (SVR5)
|
||||||
|
i?86:UnixWare:5*:*)
|
||||||
|
echo ${UNAME_MACHINE}-pc-sysv5uw${UNAME_VERSION}
|
||||||
|
exit 0 ;;
|
||||||
i?86:UNIX_SV:4.2MP:2.*)
|
i?86:UNIX_SV:4.2MP:2.*)
|
||||||
# Unixware is an offshoot of SVR4, but it has its own version
|
# Unixware is an offshoot of SVR4, but it has its own version
|
||||||
# number series starting with 2...
|
# number series starting with 2...
|
||||||
|
|
34
support/config.sub
vendored
34
support/config.sub
vendored
|
@ -102,7 +102,7 @@ case $os in
|
||||||
os=-hiuxwe2
|
os=-hiuxwe2
|
||||||
;;
|
;;
|
||||||
-sco5)
|
-sco5)
|
||||||
os=sco3.2v5
|
os=-sco3.2v5
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco4)
|
-sco4)
|
||||||
|
@ -175,7 +175,8 @@ case $basic_machine in
|
||||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
|
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
|
||||||
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
|
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
|
||||||
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
|
| hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
|
||||||
| alpha-* | we32k-* | cydra-* | ns16k-* \
|
| alpha-* | alphaev5-* | alphaev56-* | alphapca56-* | alphaev6-* \
|
||||||
|
| we32k-* | cydra-* | ns16k-* \
|
||||||
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
|
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
|
||||||
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
|
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
|
||||||
| mips64el-* | mips64orion-* | mips64orionel-* | f301-* \
|
| mips64el-* | mips64orion-* | mips64orionel-* | f301-* \
|
||||||
|
@ -454,6 +455,14 @@ case $basic_machine in
|
||||||
np1)
|
np1)
|
||||||
basic_machine=np1-gould
|
basic_machine=np1-gould
|
||||||
;;
|
;;
|
||||||
|
osr5 | sco5) # SCO Open Server
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-sco3.2v5
|
||||||
|
;;
|
||||||
|
odt | odt3 | odt4) # SCO Open Desktop
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-sco3.2v4
|
||||||
|
;;
|
||||||
pa-hitachi)
|
pa-hitachi)
|
||||||
basic_machine=hppa1.1-hitachi
|
basic_machine=hppa1.1-hitachi
|
||||||
os=-hiuxwe2
|
os=-hiuxwe2
|
||||||
|
@ -584,6 +593,14 @@ case $basic_machine in
|
||||||
basic_machine=a29k-nyu
|
basic_machine=a29k-nyu
|
||||||
os=-sym1
|
os=-sym1
|
||||||
;;
|
;;
|
||||||
|
uw2 | unixware | unixware2)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-sysv4.2uw2.1
|
||||||
|
;;
|
||||||
|
uw7 | unixware7)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-sysv5uw7
|
||||||
|
;;
|
||||||
vaxv)
|
vaxv)
|
||||||
basic_machine=vax-dec
|
basic_machine=vax-dec
|
||||||
os=-sysv
|
os=-sysv
|
||||||
|
@ -683,9 +700,15 @@ case $os in
|
||||||
-solaris)
|
-solaris)
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
-unixware* | svr4*)
|
svr4*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
|
-unixware | -uw | -unixware2* | -uw2*)
|
||||||
|
os=-sysv4.2uw2.1
|
||||||
|
;;
|
||||||
|
-unixware7* | -uw7*)
|
||||||
|
os=-sysv5uw7
|
||||||
|
;;
|
||||||
-gnu/linux*)
|
-gnu/linux*)
|
||||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||||
;;
|
;;
|
||||||
|
@ -759,7 +782,10 @@ case $os in
|
||||||
-sysvr4)
|
-sysvr4)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
# This must come after -sysvr4.
|
-sysvr5)
|
||||||
|
os=-sysv5
|
||||||
|
;;
|
||||||
|
# This must come after -sysvr[45].
|
||||||
-sysv*)
|
-sysv*)
|
||||||
;;
|
;;
|
||||||
-xenix)
|
-xenix)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue