+++ /dev/null
-Starting bash with the `--posix' command-line option or executing
-`set -o posix' while bash is running will cause bash to conform more
-closely to the Posix.2 standard by changing the behavior to match that
-specified by Posix.2 in areas where the bash default differs.
-
-The following list is what's changed when `posix mode' is in effect:
-
-1. When a command in the hash table no longer exists, bash will re-search
- $PATH to find the new location. This is also available with
- `shopt -s checkhash'.
-
-2. The >& redirection does not redirect stdout and stderr.
-
-3. The message printed by the job control code and builtins when a job
- exits with a non-zero status is `Done(status)'.
-
-4. Reserved words may not be aliased.
-
-5. The Posix.2 PS1 and PS2 expansions of `!' -> history number and
- `!!' -> `!' are enabled, and parameter expansion is performed on
- the value regardless of the setting of the `promptvars' option.
-
-6. Interactive comments are enabled by default. (Note that bash has
- them on by default anyway.)
-
-7. The Posix.2 startup files are executed ($ENV) rather than the normal
- bash files.
-
-8. Tilde expansion is only performed on assignments preceding a command
- name, rather than on all assignment statements on the line.
-
-9. The default history file is ~/.sh_history (default value of $HISTFILE).
-
-10. The output of `kill -l' prints all the signal names on a single line,
- separated by spaces.
-
-11. Non-interactive shells exit if `file' in `. file' is not found.
-
-12. Redirection operators do not perform pathname expansion on the word
- in the redirection unless the shell is interactive
-
-13. Function names must be valid shell identifiers. That is, they may not
- contain characters other than letters, digits, and underscores, and
- may not start with a digit. Declaring a function with an illegal name
- causes a fatal syntax error in non-interactive shells.
-
-14. Posix.2 `special' builtins are found before shell functions during command
- lookup.
-
-15. If a Posix.2 special builtin returns an error status, a non-interactive
- shell exits. The fatal errors are those listed in the POSIX.2 standard,
- and include things like passing incorrect options, redirection errors,
- variable assignment errors for assignments preceding the command name,
- and so on.
-
-16. The environment passed to executed commands is not sorted. Neither is
- the output of `set'. This is not strictly Posix.2 behavior, but sh
- does it this way. Ksh does not. It's not necessary to sort the
- environment; no program should rely on it being sorted.
-
-17. If the `cd' builtin finds a directory to change to using $CDPATH, the
- value it assigns to $PWD does not contain any symbolic links, as if
- `cd -P' had been executed.
-
-18. A non-interactive shell exits with an error status if a variable
- assignment error occurs when no command name follows the assignment
- statements. A variable assignment error occurs, for example, when
- trying to assign a value to a read-only variable.
-
-19. A non-interactive shell exits with an error status if the iteration
- variable in a for statement or the selection variable in a select
- statement is a read-only variable.
-
-20. Process substitution is not available.
-
-21. Assignment statements preceding POSIX.2 `special' builtins persist in
- the shell environment after the builtin completes.
-
-There is other Posix.2 behavior that bash does not implement. Specifically:
-
-1. Assignment statements affect the execution environment of all builtins,
- not just special ones.
+++ /dev/null
-*** ../bash-3.0/array.c Thu May 6 08:24:13 2004
---- array.c Wed Aug 25 15:50:42 2004
-***************
-*** 108,112 ****
- ARRAY_ELEMENT *ae, *new;
-
-! if (!a)
- return((ARRAY *) NULL);
- a1 = array_create();
---- 108,112 ----
- ARRAY_ELEMENT *ae, *new;
-
-! if (a == 0)
- return((ARRAY *) NULL);
- a1 = array_create();
-***************
-*** 244,250 ****
- register ARRAY_ELEMENT *ae, *new;
-
-! if (a == 0)
- return 0;
-! if (n <= 0)
- return (a->num_elements);
-
---- 244,250 ----
- register ARRAY_ELEMENT *ae, *new;
-
-! if (a == 0 || (array_empty(a) && s == 0))
- return 0;
-! else if (n <= 0)
- return (a->num_elements);
-
-***************
-*** 254,257 ****
---- 254,259 ----
- ADD_BEFORE(ae, new);
- a->num_elements++;
-+ if (array_num_elements(a) == 1) /* array was empty */
-+ return 1;
- }
-
-***************
-*** 289,293 ****
- char *t;
-
-! if (array == 0 || array->head == 0 || array_empty (array))
- return (ARRAY *)NULL;
- for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
---- 291,295 ----
- char *t;
-
-! if (array == 0 || array_head(array) == 0 || array_empty(array))
- return (ARRAY *)NULL;
- for (a = element_forw(array->head); a != array->head; a = element_forw(a)) {
-***************
-*** 314,318 ****
- char *ifs, sep[2];
-
-! p = array_head (a);
- if (p == 0 || array_empty (a) || start > array_max_index(a))
- return ((char *)NULL);
---- 316,320 ----
- char *ifs, sep[2];
-
-! p = a ? array_head (a) : 0;
- if (p == 0 || array_empty (a) || start > array_max_index(a))
- return ((char *)NULL);
-***************
-*** 355,362 ****
- char *t, *ifs, sifs[2];
-
-! if (array_head (a) == 0 || array_empty (a))
- return ((char *)NULL);
-
-! a2 = array_copy (a);
- for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
- t = pat_subst(element_value(e), pat, rep, mflags);
---- 357,364 ----
- char *t, *ifs, sifs[2];
-
-! if (a == 0 || array_head(a) == 0 || array_empty(a))
- return ((char *)NULL);
-
-! a2 = array_copy(a);
- for (e = element_forw(a2->head); e != a2->head; e = element_forw(e)) {
- t = pat_subst(element_value(e), pat, rep, mflags);
-***************
-*** 428,432 ****
- register ARRAY_ELEMENT *new, *ae;
-
-! if (!a)
- return(-1);
- new = array_create_element(i, v);
---- 430,434 ----
- register ARRAY_ELEMENT *new, *ae;
-
-! if (a == 0)
- return(-1);
- new = array_create_element(i, v);
-***************
-*** 452,456 ****
- array_dispose_element(new);
- free(element_value(ae));
-! ae->value = savestring(v);
- return(0);
- } else if (element_index(ae) > i) {
---- 454,458 ----
- array_dispose_element(new);
- free(element_value(ae));
-! ae->value = v ? savestring(v) : (char *)NULL;
- return(0);
- } else if (element_index(ae) > i) {
-***************
-*** 474,478 ****
- register ARRAY_ELEMENT *ae;
-
-! if (!a || array_empty(a))
- return((ARRAY_ELEMENT *) NULL);
- for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae))
---- 476,480 ----
- register ARRAY_ELEMENT *ae;
-
-! if (a == 0 || array_empty(a))
- return((ARRAY_ELEMENT *) NULL);
- for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae))
+++ /dev/null
-*** ../bash-2.05b-patched/builtins/common.c Fri Jun 28 12:24:31 2002
---- builtins/common.c Thu Sep 30 22:25:20 2004
-***************
-*** 455,464 ****
- {
- char *directory;
-
- if (no_symbolic_links)
- {
-! if (the_current_working_directory)
-! free (the_current_working_directory);
-!
- the_current_working_directory = (char *)NULL;
- }
---- 469,477 ----
- {
- char *directory;
-+ size_t dsize;
-
- if (no_symbolic_links)
- {
-! FREE (the_current_working_directory);
- the_current_working_directory = (char *)NULL;
- }
-***************
-*** 466,480 ****
- if (the_current_working_directory == 0)
- {
-! the_current_working_directory = (char *)xmalloc (PATH_MAX);
-! the_current_working_directory[0] = '\0';
-! directory = getcwd (the_current_working_directory, PATH_MAX);
-! if (directory == 0)
- {
-! fprintf (stderr, "%s: could not get current directory: %s: %s\n",
- (for_whom && *for_whom) ? for_whom : get_name_for_error (),
-! bash_getcwd_errstr, strerror (errno));
-!
-! free (the_current_working_directory);
-! the_current_working_directory = (char *)NULL;
- return (char *)NULL;
- }
---- 479,488 ----
- if (the_current_working_directory == 0)
- {
-! the_current_working_directory = getcwd (0, 0);
-! if (the_current_working_directory == 0)
- {
-! fprintf (stderr, _("%s: error retrieving current directory: %s: %s\n"),
- (for_whom && *for_whom) ? for_whom : get_name_for_error (),
-! _(bash_getcwd_errstr), strerror (errno));
- return (char *)NULL;
- }
-*** ../bash-2.05b-patched/builtins/cd.def Mon Jul 15 14:51:39 2002
---- builtins/cd.def Sun Nov 7 15:13:42 2004
-***************
-*** 122,126 ****
- the_current_working_directory () */
- static char *
-! resetpwd ()
- {
- char *tdir;
---- 124,129 ----
- the_current_working_directory () */
- static char *
-! resetpwd (caller)
-! char *caller;
- {
- char *tdir;
-***************
-*** 128,132 ****
- FREE (the_current_working_directory);
- the_current_working_directory = (char *)NULL;
-! tdir = get_working_directory ("cd");
- return (tdir);
- }
---- 131,135 ----
- FREE (the_current_working_directory);
- the_current_working_directory = (char *)NULL;
-! tdir = get_working_directory (caller);
- return (tdir);
- }
-***************
-*** 333,336 ****
---- 340,349 ----
- directory = tcwd ? (verbatim_pwd ? sh_physpath (tcwd, 0) : tcwd)
- : get_working_directory ("pwd");
-+
-+ /* Try again using getcwd() if canonicalization fails (for instance, if
-+ the file system has changed state underneath bash). */
-+ if (tcwd && directory == 0)
-+ directory = resetpwd ("pwd");
-+
- #undef tcwd
-
-***************
-*** 364,368 ****
- {
- char *t, *tdir;
-! int err, canon_failed;
-
- tdir = (char *)NULL;
---- 379,383 ----
- {
- char *t, *tdir;
-! int err, canon_failed, r;
-
- tdir = (char *)NULL;
-***************
-*** 399,403 ****
- if (posixly_correct && nolinks == 0 && canon_failed)
- {
-! errno = ENOENT;
- return (0);
- }
---- 414,423 ----
- if (posixly_correct && nolinks == 0 && canon_failed)
- {
-! #if defined ENAMETOOLONG
-! if (errno != ENOENT && errno != ENAMETOOLONG)
-! #else
-! if (errno != ENOENT)
-! #endif
-! errno = ENOTDIR;
- return (0);
- }
-***************
-*** 409,418 ****
- shell's idea of the_current_working_directory. */
- if (canon_failed)
-- resetpwd ();
-- else
- {
-! FREE (the_current_working_directory);
-! the_current_working_directory = tdir;
- }
-
- return (1);
---- 429,439 ----
- shell's idea of the_current_working_directory. */
- if (canon_failed)
- {
-! t = resetpwd ("cd");
-! if (t == 0)
-! set_working_directory (tdir);
- }
-+ else
-+ set_working_directory (tdir);
-
- return (1);
-***************
-*** 425,429 ****
-
- err = errno;
-- free (tdir);
-
- /* We're not in physical mode (nolinks == 0), but we failed to change to
---- 446,449 ----
-***************
-*** 432,445 ****
- if (chdir (newdir) == 0)
- {
-! tdir = resetpwd ();
-! FREE (tdir);
-
-! return (1);
- }
- else
- {
- errno = err;
-! return (0);
- }
- }
-
---- 452,471 ----
- if (chdir (newdir) == 0)
- {
-! t = resetpwd ("cd");
-! if (t == 0)
-! set_working_directory (tdir);
-! else
-! free (t);
-
-! r = 1;
- }
- else
- {
- errno = err;
-! r = 0;
- }
-+
-+ free (tdir);
-+ return r;
- }
-
-
-
-*** ../bash-2.05b-patched/aclocal.m4 Tue Jun 25 09:45:43 2002
---- aclocal.m4 Sat Oct 9 15:03:28 2004
-***************
-*** 686,691 ****
-
- AC_DEFUN(BASH_FUNC_GETCWD,
-! [AC_MSG_CHECKING([if getcwd() calls popen()])
-! AC_CACHE_VAL(bash_cv_getcwd_calls_popen,
- [AC_TRY_RUN([
- #include <stdio.h>
---- 686,691 ----
-
- AC_DEFUN(BASH_FUNC_GETCWD,
-! [AC_MSG_CHECKING([if getcwd() will dynamically allocate memory])
-! AC_CACHE_VAL(bash_cv_getcwd_malloc,
- [AC_TRY_RUN([
- #include <stdio.h>
-***************
-*** 694,748 ****
- #endif
-
-- #ifndef __STDC__
-- #ifndef const
-- #define const
-- #endif
-- #endif
--
-- int popen_called;
--
-- FILE *
-- popen(command, type)
-- const char *command;
-- const char *type;
-- {
-- popen_called = 1;
-- return (FILE *)NULL;
-- }
--
-- FILE *_popen(command, type)
-- const char *command;
-- const char *type;
-- {
-- return (popen (command, type));
-- }
--
-- int
-- pclose(stream)
-- FILE *stream;
-- {
-- return 0;
-- }
--
-- int
-- _pclose(stream)
-- FILE *stream;
-- {
-- return 0;
-- }
--
- main()
- {
-! char lbuf[32];
-! popen_called = 0;
-! getcwd(lbuf, 32);
-! exit (popen_called);
- }
-! ], bash_cv_getcwd_calls_popen=no, bash_cv_getcwd_calls_popen=yes,
-! [AC_MSG_WARN(cannot check whether getcwd calls popen if cross compiling -- defaulting to no)
-! bash_cv_getcwd_calls_popen=no]
- )])
-! AC_MSG_RESULT($bash_cv_getcwd_calls_popen)
-! if test $bash_cv_getcwd_calls_popen = yes; then
- AC_DEFINE(GETCWD_BROKEN)
- AC_LIBOBJ(getcwd)
---- 694,709 ----
- #endif
-
- main()
- {
-! char *xpwd;
-! xpwd = getcwd(0, 0);
-! exit (xpwd == 0);
- }
-! ], bash_cv_getcwd_malloc=yes, bash_cv_getcwd_malloc=no,
-! [AC_MSG_WARN(cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no)
-! bash_cv_getcwd_malloc=no]
- )])
-! AC_MSG_RESULT($bash_cv_getcwd_malloc)
-! if test $bash_cv_getcwd_malloc = no; then
- AC_DEFINE(GETCWD_BROKEN)
- AC_LIBOBJ(getcwd)
+++ /dev/null
-*** ../bash-3.0/bashline.c Mon Jul 5 23:22:12 2004
---- bashline.c Thu Sep 2 16:00:12 2004
-***************
-*** 101,104 ****
---- 101,105 ----
-
- /* Helper functions for Readline. */
-+ static int bash_directory_expansion __P((char **));
- static int bash_directory_completion_hook __P((char **));
- static int filename_completion_ignore __P((char **));
-***************
-*** 293,297 ****
- at = strchr (rl_completer_word_break_characters, '@');
- if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0))
-! return;
-
- /* We have something to do. Do it. */
---- 294,298 ----
- at = strchr (rl_completer_word_break_characters, '@');
- if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0))
-! return old_value;
-
- /* We have something to do. Do it. */
-***************
-*** 1407,1414 ****
- if (*hint_text == '~')
- {
-! int l, tl, vl;
- vl = strlen (val);
- tl = strlen (hint_text);
- l = vl - hint_len; /* # of chars added */
- temp = (char *)xmalloc (l + 2 + tl);
- strcpy (temp, hint_text);
---- 1408,1424 ----
- if (*hint_text == '~')
- {
-! int l, tl, vl, dl;
-! char *rd;
- vl = strlen (val);
- tl = strlen (hint_text);
-+ #if 0
- l = vl - hint_len; /* # of chars added */
-+ #else
-+ rd = savestring (filename_hint);
-+ bash_directory_expansion (&rd);
-+ dl = strlen (rd);
-+ l = vl - dl; /* # of chars added */
-+ free (rd);
-+ #endif
- temp = (char *)xmalloc (l + 2 + tl);
- strcpy (temp, hint_text);
-***************
-*** 2188,2191 ****
---- 2198,2222 ----
- }
-
-+ /* Simulate the expansions that will be performed by
-+ rl_filename_completion_function. This must be called with the address of
-+ a pointer to malloc'd memory. */
-+ static int
-+ bash_directory_expansion (dirname)
-+ char **dirname;
-+ {
-+ char *d;
-+
-+ d = savestring (*dirname);
-+
-+ if (rl_directory_rewrite_hook)
-+ (*rl_directory_rewrite_hook) (&d);
-+
-+ if (rl_directory_completion_hook && (*rl_directory_completion_hook) (&d))
-+ {
-+ free (*dirname);
-+ *dirname = d;
-+ }
-+ }
-+
- /* Handle symbolic link references and other directory name
- expansions while hacking completion. */
-***************
-*** 2514,2518 ****
- static int ind;
- int glen;
-! char *ret;
-
- if (state == 0)
---- 2545,2549 ----
- static int ind;
- int glen;
-! char *ret, *ttext;
-
- if (state == 0)
-***************
-*** 2524,2538 ****
- FREE (globtext);
-
- if (rl_explicit_arg)
- {
-! globorig = savestring (text);
-! glen = strlen (text);
- globtext = (char *)xmalloc (glen + 2);
-! strcpy (globtext, text);
- globtext[glen] = '*';
- globtext[glen+1] = '\0';
- }
- else
-! globtext = globorig = savestring (text);
-
- matches = shell_glob_filename (globtext);
---- 2555,2574 ----
- FREE (globtext);
-
-+ ttext = bash_tilde_expand (text, 0);
-+
- if (rl_explicit_arg)
- {
-! globorig = savestring (ttext);
-! glen = strlen (ttext);
- globtext = (char *)xmalloc (glen + 2);
-! strcpy (globtext, ttext);
- globtext[glen] = '*';
- globtext[glen+1] = '\0';
- }
- else
-! globtext = globorig = savestring (ttext);
-!
-! if (ttext != text)
-! free (ttext);
-
- matches = shell_glob_filename (globtext);
+++ /dev/null
-*** ../bash-3.0/doc/bashref.texi Sat Jun 26 14:26:07 2004
---- doc/bashref.texi Fri Aug 27 12:33:46 2004
-***************
-*** 1257,1260 ****
---- 1257,1264 ----
- separate word. That is, @code{"$@@"} is equivalent to
- @code{"$1" "$2" @dots{}}.
-+ If the double-quoted expansion occurs within a word, the expansion of
-+ the first parameter is joined with the beginning part of the original
-+ word, and the expansion of the last parameter is joined with the last
-+ part of the original word.
- When there are no positional parameters, @code{"$@@"} and
- @code{$@@}
-***************
-*** 5202,5205 ****
---- 5206,5212 ----
- descriptor 0, 1, or 2, respectively, is checked.
-
-+ Unless otherwise specified, primaries that operate on files follow symbolic
-+ links and operate on the target of the link, rather than the link itself.
-+
- @table @code
- @item -a @var{file}
-***************
-*** 5535,5544 ****
- @var{subscript} is @samp{@@} or @samp{*}, the word expands to all members
- of the array @var{name}. These subscripts differ only when the word
-! appears within double quotes. If the word is double-quoted,
- @code{$@{name[*]@}} expands to a single word with
- the value of each array member separated by the first character of the
- @env{IFS} variable, and @code{$@{name[@@]@}} expands each element of
- @var{name} to a separate word. When there are no array members,
-! @code{$@{name[@@]@}} expands to nothing. This is analogous to the
- expansion of the special parameters @samp{@@} and @samp{*}.
- @code{$@{#name[}@var{subscript}@code{]@}} expands to the length of
---- 5542,5557 ----
- @var{subscript} is @samp{@@} or @samp{*}, the word expands to all members
- of the array @var{name}. These subscripts differ only when the word
-! appears within double quotes.
-! If the word is double-quoted,
- @code{$@{name[*]@}} expands to a single word with
- the value of each array member separated by the first character of the
- @env{IFS} variable, and @code{$@{name[@@]@}} expands each element of
- @var{name} to a separate word. When there are no array members,
-! @code{$@{name[@@]@}} expands to nothing.
-! If the double-quoted expansion occurs within a word, the expansion of
-! the first parameter is joined with the beginning part of the original
-! word, and the expansion of the last parameter is joined with the last
-! part of the original word.
-! This is analogous to the
- expansion of the special parameters @samp{@@} and @samp{*}.
- @code{$@{#name[}@var{subscript}@code{]@}} expands to the length of
-***************
-*** 5954,5958 ****
- The @code{trap} builtin doesn't check the first argument for a possible
- signal specification and revert the signal handling to the original
-! disposition if it is. If users want to reset the handler for a given
- signal to the original disposition, they should use @samp{-} as the
- first argument.
---- 5967,5972 ----
- The @code{trap} builtin doesn't check the first argument for a possible
- signal specification and revert the signal handling to the original
-! disposition if it is, unless that argument consists solely of digits and
-! is a valid signal number. If users want to reset the handler for a given
- signal to the original disposition, they should use @samp{-} as the
- first argument.
-***************
-*** 5989,5992 ****
---- 6003,6024 ----
- does not refer to an existing directory, @code{cd} will fail instead of
- falling back to @var{physical} mode.
-+
-+ @item
-+ When listing the history, the @code{fc} builtin does not include an
-+ indication of whether or not a history entry has been modified.
-+
-+ @item
-+ The default editor used by @code{fc} is @code{ed}.
-+
-+ @item
-+ The @code{type} and @code{command} builtins will not report a non-executable
-+ file as having been found, though the shell will attempt to execute such a
-+ file if it is the only so-named file found in @code{$PATH}.
-+
-+ @item
-+ When the @code{xpg_echo} option is enabled, Bash does not attempt to interpret
-+ any arguments to @code{echo} as options. Each argument is displayed, after
-+ escape characters are converted.
-+
- @end enumerate
-
-***************
-*** 6132,6144 ****
- @btindex bg
- @example
-! bg [@var{jobspec}]
- @end example
-! Resume the suspended job @var{jobspec} in the background, as if it
- had been started with @samp{&}.
- If @var{jobspec} is not supplied, the current job is used.
- The return status is zero unless it is run when job control is not
-! enabled, or, when run with job control enabled, if @var{jobspec} was
-! not found or @var{jobspec} specifies a job that was started without
-! job control.
-
- @item fg
---- 6164,6176 ----
- @btindex bg
- @example
-! bg [@var{jobspec} @dots{}]
- @end example
-! Resume each suspended job @var{jobspec} in the background, as if it
- had been started with @samp{&}.
- If @var{jobspec} is not supplied, the current job is used.
- The return status is zero unless it is run when job control is not
-! enabled, or, when run with job control enabled, if the last
-! @var{jobspec} was not found or the last @var{jobspec} specifies a job
-! that was started without job control.
-
- @item fg
+++ /dev/null
-*** ../bash-3.0/braces.c Thu Dec 4 11:09:52 2003
---- braces.c Wed Aug 4 14:34:33 2004
-***************
-*** 341,346 ****
- if (lhs_t == ST_CHAR)
- {
-! lhs_v = lhs[0];
-! rhs_v = rhs[0];
- }
- else
---- 341,346 ----
- if (lhs_t == ST_CHAR)
- {
-! lhs_v = (unsigned char)lhs[0];
-! rhs_v = (unsigned char)rhs[0];
- }
- else
-***************
-*** 403,406 ****
---- 403,407 ----
- pass_next = 1;
- i++;
-+ level++;
- continue;
- }
+++ /dev/null
-*** ../bash-3.0-patched/braces.c Wed Sep 8 11:07:53 2004
---- braces.c Fri Sep 17 18:42:36 2004
-***************
-*** 403,407 ****
- pass_next = 1;
- i++;
-! level++;
- continue;
- }
---- 403,408 ----
- pass_next = 1;
- i++;
-! if (quoted == 0)
-! level++;
- continue;
- }
+++ /dev/null
-#! /bin/sh
-# From configure.in for Bash 3.1, version 3.175, from autoconf version AC_ACVERSION.
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for bash 3.1-devel.
-#
-# Report bugs to <bug-bash@gnu.org>.
-#
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME='bash'
-PACKAGE_TARNAME='bash'
-PACKAGE_VERSION='3.1-devel'
-PACKAGE_STRING='bash 3.1-devel'
-PACKAGE_BUGREPORT='bug-bash@gnu.org'
-
-ac_unique_file="shell.h"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL HELPSTRINGS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL SIZE MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_DEBUGGER_START_FILE_set=${DEBUGGER_START_FILE+set}
-ac_env_DEBUGGER_START_FILE_value=$DEBUGGER_START_FILE
-ac_cv_env_DEBUGGER_START_FILE_set=${DEBUGGER_START_FILE+set}
-ac_cv_env_DEBUGGER_START_FILE_value=$DEBUGGER_START_FILE
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures bash 3.1-devel to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of bash 3.1-devel:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-minimal-config a minimal sh-like configuration
- --enable-alias enable shell aliases
- --enable-arith-for-command
- enable arithmetic for command
- --enable-array-variables
- include shell array variables
- --enable-bang-history turn on csh-style history substitution
- --enable-brace-expansion
- include brace expansion
- --enable-command-timing enable the time reserved word and command timing
- --enable-cond-command enable the conditional command
- --enable-cond-regexp enable extgended regular expression matching in
- conditional commands
- --enable-debugger enable support for bash debugger
- --enable-directory-stack
- enable builtins pushd/popd/dirs
- --enable-disabled-builtins
- allow disabled builtins to still be invoked
- --enable-dparen-arithmetic
- include ((...)) command
- --enable-extended-glob include ksh-style extended pattern matching
- --enable-help-builtin include the help builtin
- --enable-history turn on command history
- --enable-job-control enable job control features
- --enable-multibyte enable multibyte characters if OS supports them
- --enable-net-redirections
- enable /dev/tcp/host/port redirection
- --enable-process-substitution
- enable process substitution
- --enable-progcomp enable programmable completion and the complete
- builtin
- --enable-prompt-string-decoding
- turn on escape character decoding in prompts
- --enable-readline turn on command line editing
- --enable-restricted enable a restricted shell
- --enable-select include select command
- --enable-separate-helpfiles
- use external files for help builtin documentation
- --enable-single-help-strings
- store help documentation as a single string to ease
- translation
- --enable-usg-echo-default
- a synonym for --enable-xpg-echo-default
- --enable-xpg-echo-default
- make the echo builtin expand escape sequences by
- default
- --enable-mem-scramble scramble memory on calls to malloc and free
- --enable-profiling allow profiling with gprof
- --enable-static-link link bash statically, for use as a root shell
- --disable-largefile omit support for large files
- --disable-nls do not use Native Language Support
- --disable-rpath do not hardcode runtime library paths
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-lispdir override the default lisp directory
- --with-afs if you are running AFS
- --with-bash-malloc use the Bash version of malloc
- --with-curses use the curses library instead of the termcap
- library
- --with-gnu-malloc synonym for --with-bash-malloc
- --with-installed-readline
- use a version of the readline library that is
- already installed
- --with-purecov configure to postprocess with pure coverage
- --with-purify configure to postprocess with purify
- --with-gnu-ld assume the C compiler uses GNU ld default=no
- --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
- --without-libiconv-prefix don't search for libiconv in includedir and libdir
- --with-included-gettext use the GNU gettext library included here
- --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib
- --without-libintl-prefix don't search for libintl in includedir and libdir
-
-Some influential environment variables:
- DEBUGGER_START_FILE
- location of bash debugger initialization file
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
- headers in a nonstandard directory <include dir>
- CPP C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bug-bash@gnu.org>.
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_srcdir/configure.gnu; then
- echo
- $SHELL $ac_srcdir/configure.gnu --help=recursive
- elif test -f $ac_srcdir/configure; then
- echo
- $SHELL $ac_srcdir/configure --help=recursive
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-bash configure 3.1-devel
-generated by GNU Autoconf 2.59
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit 0
-fi
-exec 5>config.log
-cat >&5 <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by bash $as_me 3.1-devel, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo = `(hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
-done
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_sep=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$ac_configure_args1 '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special
- # files actually), so we avoid doing that.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val="\$ac_cv_env_${ac_var}_value"
- eval ac_new_val="\$ac_env_${ac_var}_value"
- case $ac_old_set,$ac_new_set in
- set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_aux_dir=
-for ac_dir in ./support $srcdir/./support; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f $ac_dir/shtool; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&5
-echo "$as_me: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
- ac_config_headers="$ac_config_headers config.h"
-
-
-BASHVERS=3.1
-RELSTATUS=devel
-
-case "$RELSTATUS" in
-alp*|bet*|dev*|rc*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
-*) DEBUG= MALLOC_DEBUG= ;;
-esac
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-
-opt_bash_malloc=yes
-opt_purify=no
-opt_purecov=no
-opt_afs=no
-opt_curses=no
-opt_with_installed_readline=no
-
-#htmldir=
-
-case "${host_cpu}-${host_os}" in
-alpha*-*) opt_bash_malloc=no ;; # alpha running osf/1 or linux
-*[Cc]ray*-*) opt_bash_malloc=no ;; # Crays
-*-osf1*) opt_bash_malloc=no ;; # other osf/1 machines
-sparc-svr4*) opt_bash_malloc=no ;; # sparc SVR4, SVR4.2
-sparc-netbsd*) opt_bash_malloc=no ;; # needs 8-byte alignment
-mips-irix6*) opt_bash_malloc=no ;; # needs 8-byte alignment
-m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir
-sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF
-#*-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here
-#*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree
-*-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment
-*-aix*) opt_bash_malloc=no ;; # AIX machines
-*-nextstep*) opt_bash_malloc=no ;; # NeXT machines running NeXTstep
-*-macos*) opt_bash_malloc=no ;; # Apple MacOS X
-*-rhapsody*) opt_bash_malloc=no ;; # Apple Rhapsody (MacOS X)
-*-darwin*) opt_bash_malloc=no ;; # Apple Darwin (MacOS X)
-*-dgux*) opt_bash_malloc=no ;; # DG/UX machines
-*-qnx*) opt_bash_malloc=no ;; # QNX 4.2
-*-machten4) opt_bash_malloc=no ;; # MachTen 4.x
-*-bsdi2.1|*-bsdi3.?) opt_bash_malloc=no ; : ${CC:=shlicc2} ;; # for loadable builtins
-*-beos*) opt_bash_malloc=no ;; # they say it's suitable
-*-cygwin*) opt_bash_malloc=no ;; # Cygnus's CYGWIN environment
-*-opennt*|*-interix*) opt_bash_malloc=no ;; # Interix, now owned by Microsoft
-esac
-
-# memory scrambling on free()
-case "${host_os}" in
-sco3.2v5*|sco3.2v4*) opt_memscramble=no ;;
-*) opt_memscramble=yes ;;
-esac
-
-
-# Check whether --with-lispdir or --without-lispdir was given.
-if test "${with_lispdir+set}" = set; then
- withval="$with_lispdir"
- lispdir="$withval"
- echo "$as_me:$LINENO: checking where .elc files should go" >&5
-echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $lispdir" >&5
-echo "${ECHO_T}$lispdir" >&6
-else
-
- # If set to t, that means we are running in a shell under Emacs.
- # If you have an Emacs named "t", then use the full path.
- test x"$EMACS" = xt && EMACS=
- for ac_prog in emacs xemacs
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_EMACS+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$EMACS"; then
- ac_cv_prog_EMACS="$EMACS" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_EMACS="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-EMACS=$ac_cv_prog_EMACS
-if test -n "$EMACS"; then
- echo "$as_me:$LINENO: result: $EMACS" >&5
-echo "${ECHO_T}$EMACS" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$EMACS" && break
-done
-test -n "$EMACS" || EMACS="no"
-
- if test $EMACS != "no"; then
- if test x${lispdir+set} != xset; then
- echo "$as_me:$LINENO: checking where .elc files should go" >&5
-echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6
-if test "${am_cv_lispdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'`
- if test -z "$am_cv_lispdir"; then
- am_cv_lispdir='${datadir}/emacs/site-lisp'
- fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_lispdir" >&5
-echo "${ECHO_T}$am_cv_lispdir" >&6
- lispdir="$am_cv_lispdir"
- fi
- fi
-
-fi;
-
-
-
-
-
-# Check whether --with-afs or --without-afs was given.
-if test "${with_afs+set}" = set; then
- withval="$with_afs"
- opt_afs=$withval
-fi;
-
-# Check whether --with-bash-malloc or --without-bash-malloc was given.
-if test "${with_bash_malloc+set}" = set; then
- withval="$with_bash_malloc"
- opt_bash_malloc=$withval
-fi;
-
-# Check whether --with-curses or --without-curses was given.
-if test "${with_curses+set}" = set; then
- withval="$with_curses"
- opt_curses=$withval
-fi;
-
-# Check whether --with-gnu-malloc or --without-gnu-malloc was given.
-if test "${with_gnu_malloc+set}" = set; then
- withval="$with_gnu_malloc"
- opt_bash_malloc=$withval
-fi;
-
-# Check whether --with-installed-readline or --without-installed-readline was given.
-if test "${with_installed_readline+set}" = set; then
- withval="$with_installed_readline"
- opt_with_installed_readline=$withval
-fi;
-
-# Check whether --with-purecov or --without-purecov was given.
-if test "${with_purecov+set}" = set; then
- withval="$with_purecov"
- opt_purecov=$withval
-fi;
-
-# Check whether --with-purify or --without-purify was given.
-if test "${with_purify+set}" = set; then
- withval="$with_purify"
- opt_purify=$withval
-fi;
-
-if test "$opt_bash_malloc" = yes; then
- MALLOC_TARGET=malloc
- MALLOC_SRC=malloc.c
-
- MALLOC_LIB='-lmalloc'
- MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
- MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
- MALLOC_DEP='$(MALLOC_LIBRARY)'
-
- cat >>confdefs.h <<\_ACEOF
-#define USING_BASH_MALLOC 1
-_ACEOF
-
-else
- MALLOC_LIB=
- MALLOC_LIBRARY=
- MALLOC_LDFLAGS=
- MALLOC_DEP=
-fi
-
-if test "$opt_purify" = yes; then
- PURIFY="purify "
- cat >>confdefs.h <<\_ACEOF
-#define DISABLE_MALLOC_WRAPPERS 1
-_ACEOF
-
-else
- PURIFY=
-fi
-
-if test "$opt_purecov" = yes; then
- PURIFY="${PURIFY}purecov"
-fi
-
-if test "$opt_afs" = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define AFS 1
-_ACEOF
-
-fi
-
-if test "$opt_curses" = yes; then
- prefer_curses=yes
-fi
-
-if test -z "${DEBUGGER_START_FILE}"; then
- DEBUGGER_START_FILE=${ac_default_prefix}/lib/bashdb/bashdb-main.inc
-fi
-
-opt_minimal_config=no
-
-opt_job_control=yes
-opt_alias=yes
-opt_readline=yes
-opt_history=yes
-opt_bang_history=yes
-opt_dirstack=yes
-opt_restricted=yes
-opt_process_subst=yes
-opt_prompt_decoding=yes
-opt_select=yes
-opt_help=yes
-opt_array_variables=yes
-opt_dparen_arith=yes
-opt_extended_glob=yes
-opt_brace_expansion=yes
-opt_disabled_builtins=no
-opt_command_timing=yes
-opt_xpg_echo=no
-opt_cond_command=yes
-opt_cond_regexp=yes
-opt_arith_for_command=yes
-opt_net_redirs=yes
-opt_progcomp=yes
-opt_separate_help=no
-opt_multibyte=yes
-opt_debugger=yes
-opt_single_longdoc_strings=yes
-
-opt_static_link=no
-opt_profiling=no
-
-# Check whether --enable-minimal-config or --disable-minimal-config was given.
-if test "${enable_minimal_config+set}" = set; then
- enableval="$enable_minimal_config"
- opt_minimal_config=$enableval
-fi;
-
-if test $opt_minimal_config = yes; then
- opt_job_control=no opt_alias=no opt_readline=no
- opt_history=no opt_bang_history=no opt_dirstack=no
- opt_restricted=no opt_process_subst=no opt_prompt_decoding=no
- opt_select=no opt_help=no opt_array_variables=no opt_dparen_arith=no
- opt_brace_expansion=no opt_disabled_builtins=no opt_command_timing=no
- opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no
- opt_net_redirs=no opt_progcomp=no opt_separate_help=no
- opt_multibyte=yes opt_cond_regexp=no
-fi
-
-# Check whether --enable-alias or --disable-alias was given.
-if test "${enable_alias+set}" = set; then
- enableval="$enable_alias"
- opt_alias=$enableval
-fi;
-# Check whether --enable-arith-for-command or --disable-arith-for-command was given.
-if test "${enable_arith_for_command+set}" = set; then
- enableval="$enable_arith_for_command"
- opt_arith_for_command=$enableval
-fi;
-# Check whether --enable-array-variables or --disable-array-variables was given.
-if test "${enable_array_variables+set}" = set; then
- enableval="$enable_array_variables"
- opt_array_variables=$enableval
-fi;
-# Check whether --enable-bang-history or --disable-bang-history was given.
-if test "${enable_bang_history+set}" = set; then
- enableval="$enable_bang_history"
- opt_bang_history=$enableval
-fi;
-# Check whether --enable-brace-expansion or --disable-brace-expansion was given.
-if test "${enable_brace_expansion+set}" = set; then
- enableval="$enable_brace_expansion"
- opt_brace_expansion=$enableval
-fi;
-# Check whether --enable-command-timing or --disable-command-timing was given.
-if test "${enable_command_timing+set}" = set; then
- enableval="$enable_command_timing"
- opt_command_timing=$enableval
-fi;
-# Check whether --enable-cond-command or --disable-cond-command was given.
-if test "${enable_cond_command+set}" = set; then
- enableval="$enable_cond_command"
- opt_cond_command=$enableval
-fi;
-# Check whether --enable-cond-regexp or --disable-cond-regexp was given.
-if test "${enable_cond_regexp+set}" = set; then
- enableval="$enable_cond_regexp"
- opt_cond_regexp=$enableval
-fi;
-# Check whether --enable-debugger or --disable-debugger was given.
-if test "${enable_debugger+set}" = set; then
- enableval="$enable_debugger"
- opt_debugger=$enableval
-fi;
-# Check whether --enable-directory-stack or --disable-directory-stack was given.
-if test "${enable_directory_stack+set}" = set; then
- enableval="$enable_directory_stack"
- opt_dirstack=$enableval
-fi;
-# Check whether --enable-disabled-builtins or --disable-disabled-builtins was given.
-if test "${enable_disabled_builtins+set}" = set; then
- enableval="$enable_disabled_builtins"
- opt_disabled_builtins=$enableval
-fi;
-# Check whether --enable-dparen-arithmetic or --disable-dparen-arithmetic was given.
-if test "${enable_dparen_arithmetic+set}" = set; then
- enableval="$enable_dparen_arithmetic"
- opt_dparen_arith=$enableval
-fi;
-# Check whether --enable-extended-glob or --disable-extended-glob was given.
-if test "${enable_extended_glob+set}" = set; then
- enableval="$enable_extended_glob"
- opt_extended_glob=$enableval
-fi;
-# Check whether --enable-help-builtin or --disable-help-builtin was given.
-if test "${enable_help_builtin+set}" = set; then
- enableval="$enable_help_builtin"
- opt_help=$enableval
-fi;
-# Check whether --enable-history or --disable-history was given.
-if test "${enable_history+set}" = set; then
- enableval="$enable_history"
- opt_history=$enableval
-fi;
-# Check whether --enable-job-control or --disable-job-control was given.
-if test "${enable_job_control+set}" = set; then
- enableval="$enable_job_control"
- opt_job_control=$enableval
-fi;
-# Check whether --enable-multibyte or --disable-multibyte was given.
-if test "${enable_multibyte+set}" = set; then
- enableval="$enable_multibyte"
- opt_multibyte=$enableval
-fi;
-# Check whether --enable-net-redirections or --disable-net-redirections was given.
-if test "${enable_net_redirections+set}" = set; then
- enableval="$enable_net_redirections"
- opt_net_redirs=$enableval
-fi;
-# Check whether --enable-process-substitution or --disable-process-substitution was given.
-if test "${enable_process_substitution+set}" = set; then
- enableval="$enable_process_substitution"
- opt_process_subst=$enableval
-fi;
-# Check whether --enable-progcomp or --disable-progcomp was given.
-if test "${enable_progcomp+set}" = set; then
- enableval="$enable_progcomp"
- opt_progcomp=$enableval
-fi;
-# Check whether --enable-prompt-string-decoding or --disable-prompt-string-decoding was given.
-if test "${enable_prompt_string_decoding+set}" = set; then
- enableval="$enable_prompt_string_decoding"
- opt_prompt_decoding=$enableval
-fi;
-# Check whether --enable-readline or --disable-readline was given.
-if test "${enable_readline+set}" = set; then
- enableval="$enable_readline"
- opt_readline=$enableval
-fi;
-# Check whether --enable-restricted or --disable-restricted was given.
-if test "${enable_restricted+set}" = set; then
- enableval="$enable_restricted"
- opt_restricted=$enableval
-fi;
-# Check whether --enable-select or --disable-select was given.
-if test "${enable_select+set}" = set; then
- enableval="$enable_select"
- opt_select=$enableval
-fi;
-# Check whether --enable-separate-helpfiles or --disable-separate-helpfiles was given.
-if test "${enable_separate_helpfiles+set}" = set; then
- enableval="$enable_separate_helpfiles"
- opt_separate_help=$enableval
-fi;
-# Check whether --enable-single-help-strings or --disable-single-help-strings was given.
-if test "${enable_single_help_strings+set}" = set; then
- enableval="$enable_single_help_strings"
- opt_single_longdoc_strings=$enableval
-fi;
-# Check whether --enable-usg-echo-default or --disable-usg-echo-default was given.
-if test "${enable_usg_echo_default+set}" = set; then
- enableval="$enable_usg_echo_default"
- opt_xpg_echo=$enableval
-fi;
-# Check whether --enable-xpg-echo-default or --disable-xpg-echo-default was given.
-if test "${enable_xpg_echo_default+set}" = set; then
- enableval="$enable_xpg_echo_default"
- opt_xpg_echo=$enableval
-fi;
-
-# Check whether --enable-mem-scramble or --disable-mem-scramble was given.
-if test "${enable_mem_scramble+set}" = set; then
- enableval="$enable_mem_scramble"
- opt_memscramble=$enableval
-fi;
-# Check whether --enable-profiling or --disable-profiling was given.
-if test "${enable_profiling+set}" = set; then
- enableval="$enable_profiling"
- opt_profiling=$enableval
-fi;
-# Check whether --enable-static-link or --disable-static-link was given.
-if test "${enable_static_link+set}" = set; then
- enableval="$enable_static_link"
- opt_static_link=$enableval
-fi;
-
-
-
-if test $opt_alias = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define ALIAS 1
-_ACEOF
-
-fi
-if test $opt_dirstack = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define PUSHD_AND_POPD 1
-_ACEOF
-
-fi
-if test $opt_restricted = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define RESTRICTED_SHELL 1
-_ACEOF
-
-fi
-if test $opt_process_subst = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define PROCESS_SUBSTITUTION 1
-_ACEOF
-
-fi
-if test $opt_prompt_decoding = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define PROMPT_STRING_DECODE 1
-_ACEOF
-
-fi
-if test $opt_select = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define SELECT_COMMAND 1
-_ACEOF
-
-fi
-if test $opt_help = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HELP_BUILTIN 1
-_ACEOF
-
-fi
-if test $opt_array_variables = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define ARRAY_VARS 1
-_ACEOF
-
-fi
-if test $opt_dparen_arith = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define DPAREN_ARITHMETIC 1
-_ACEOF
-
-fi
-if test $opt_brace_expansion = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define BRACE_EXPANSION 1
-_ACEOF
-
-fi
-if test $opt_disabled_builtins = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define DISABLED_BUILTINS 1
-_ACEOF
-
-fi
-if test $opt_command_timing = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define COMMAND_TIMING 1
-_ACEOF
-
-fi
-if test $opt_xpg_echo = yes ; then
-cat >>confdefs.h <<\_ACEOF
-#define DEFAULT_ECHO_TO_XPG 1
-_ACEOF
-
-fi
-if test $opt_extended_glob = yes ; then
-cat >>confdefs.h <<\_ACEOF
-#define EXTENDED_GLOB 1
-_ACEOF
-
-fi
-if test $opt_cond_command = yes ; then
-cat >>confdefs.h <<\_ACEOF
-#define COND_COMMAND 1
-_ACEOF
-
-fi
-if test $opt_cond_regexp = yes ; then
-cat >>confdefs.h <<\_ACEOF
-#define COND_REGEXP 1
-_ACEOF
-
-fi
-if test $opt_arith_for_command = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define ARITH_FOR_COMMAND 1
-_ACEOF
-
-fi
-if test $opt_net_redirs = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define NETWORK_REDIRECTIONS 1
-_ACEOF
-
-fi
-if test $opt_progcomp = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define PROGRAMMABLE_COMPLETION 1
-_ACEOF
-
-fi
-if test $opt_multibyte = no; then
-cat >>confdefs.h <<\_ACEOF
-#define NO_MULTIBYTE_SUPPORT 1
-_ACEOF
-
-fi
-if test $opt_debugger = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define DEBUGGER 1
-_ACEOF
-
-fi
-
-if test $opt_memscramble = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define MEMSCRAMBLE 1
-_ACEOF
-
-fi
-
-if test "$opt_minimal_config" = yes; then
- TESTSCRIPT=run-minimal
-else
- TESTSCRIPT=run-all
-fi
-
-HELPDIR= HELPDIRDEFINE= HELPINSTALL=
-if test "$opt_separate_help" != no; then
- if test "$opt_separate_help" = "yes" ; then
- HELPDIR='${datadir}/bash'
- else
- HELPDIR=$opt_separate_help
- fi
- HELPDIRDEFINE='-H ${HELPDIR}'
- HELPINSTALL='install-help'
-fi
-HELPSTRINGS=
-if test "$opt_single_longdoc_strings" != "yes"; then
- HELPSTRINGS='-S'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-echo ""
-echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}"
-echo ""
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-fi
-
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std1 is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std1. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
- echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
-echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6
-if test "${ac_cv_lib_cposix_strerror+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcposix $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strerror ();
-int
-main ()
-{
-strerror ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_cposix_strerror=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_cposix_strerror=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
-echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6
-if test $ac_cv_lib_cposix_strerror = yes; then
- LIBS="$LIBS -lcposix"
-fi
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then
- :
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then
- :
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-if test "${ac_cv_header_minix_config_h+set}" = set; then
- echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
-if test "${ac_cv_header_minix_config_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking minix/config.h usability" >&5
-echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <minix/config.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking minix/config.h presence" >&5
-echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <minix/config.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: minix/config.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for minix/config.h" >&5
-echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6
-if test "${ac_cv_header_minix_config_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_minix_config_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
-echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6
-
-fi
-if test $ac_cv_header_minix_config_h = yes; then
- MINIX=yes
-else
- MINIX=
-fi
-
-
-if test "$MINIX" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define _POSIX_SOURCE 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define _POSIX_1_SOURCE 2
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define _MINIX 1
-_ACEOF
-
-fi
-
-
-
-case $host_os in
- *cygwin* ) CYGWIN=yes;;
- * ) CYGWIN=no;;
-esac
-
-
-case $host_os in
- *mingw32* ) MINGW32=yes;;
- * ) MINGW32=no;;
-esac
-
-
-# Check whether --enable-largefile or --disable-largefile was given.
-if test "${enable_largefile+set}" = set; then
- enableval="$enable_largefile"
-
-fi;
-if test "$enable_largefile" != no; then
-
- echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5
-echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_largefile_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_sys_largefile_CC=no
- if test "$GCC" != yes; then
- ac_save_CC=$CC
- while :; do
- # IRIX 6.2 and later do not support large files by default,
- # so use the C compiler's -n32 option if that helps.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
- CC="$CC -n32"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sys_largefile_CC=' -n32'; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
- break
- done
- CC=$ac_save_CC
- rm -f conftest.$ac_ext
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5
-echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6
- if test "$ac_cv_sys_largefile_CC" != no; then
- CC=$CC$ac_cv_sys_largefile_CC
- fi
-
- echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_file_offset_bits+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- while :; do
- ac_cv_sys_file_offset_bits=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _FILE_OFFSET_BITS 64
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sys_file_offset_bits=64; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- break
-done
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5
-echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6
-if test "$ac_cv_sys_file_offset_bits" != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
-
-fi
-rm -f conftest*
- echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5
-echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6
-if test "${ac_cv_sys_large_files+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- while :; do
- ac_cv_sys_large_files=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define _LARGE_FILES 1
-#include <sys/types.h>
- /* Check that off_t can represent 2**63 - 1 correctly.
- We can't simply define LARGE_OFF_T to be 9223372036854775807,
- since some C++ compilers masquerading as C compilers
- incorrectly reject 9223372036854775807. */
-#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
- int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
- && LARGE_OFF_T % 2147483647 == 1)
- ? 1 : -1];
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sys_large_files=1; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- break
-done
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5
-echo "${ECHO_T}$ac_cv_sys_large_files" >&6
-if test "$ac_cv_sys_large_files" != no; then
-
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
-
-fi
-rm -f conftest*
-fi
-
-
-
-SIGNAMES_H=lsignames.h
-
-
-
-if test "x$cross_compiling" = "xyes"; then
- case "${host}" in
- *-cygwin*)
- cross_cache=${srcdir}/cross-build/cygwin32.cache
- SIGNAMES_H='$(srcdir)/cross-build/win32sig.h'
- ;;
- i[3456]86-*-beos*)
- cross_cache=${srcdir}/cross-build/x86-beos.cache
- SIGNAMES_H='${srcdir}/cross-build/beos-sig.h'
- ;;
- *) echo "configure: cross-compiling for $host is not supported" >&2
- ;;
- esac
- if test -n "${cross_cache}" && test -r "${cross_cache}"; then
- echo "loading cross-build cache file ${cross_cache}"
- . ${cross_cache}
- fi
- unset cross_cache
-fi
-
-
-if test -z "$CC_FOR_BUILD"; then
- if test "x$cross_compiling" = "xno"; then
- CC_FOR_BUILD='$(CC)'
- else
- CC_FOR_BUILD=gcc
- fi
-fi
-
-
-
-test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1
-
-test -n "$GCC" && test -n "$auto_cflags" && CFLAGS="$CFLAGS -O2"
-
-if test "$opt_profiling" = "yes"; then
- PROFILE_FLAGS=-pg
- case "$host_os" in
- solaris2*) ;;
- *) opt_static_link=yes ;;
- esac
- DEBUG= MALLOC_DEBUG=
-fi
-
-if test "$opt_static_link" = yes; then
- # if we're using gcc, add `-static' to LDFLAGS, except on Solaris >= 2
- if test -n "$GCC" || test "$ac_cv_c_compiler_gnu" = "yes"; then
- STATIC_LD="-static"
- case "$host_os" in
- solaris2*) ;;
- *) LDFLAGS="$LDFLAGS -static" ;; # XXX experimental
- esac
- fi
-fi
-
-if test "X$cross_compiling" = "Xno"; then
- CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"}
- LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'}
-else
- CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""}
- LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""}
-fi
-
-test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g"
-
-
-
-
-
-
-
-
-
-
-if test $ac_cv_c_compiler_gnu = yes; then
- echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
-echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
-if test "${ac_cv_prog_gcc_traditional+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_pattern="Autoconf.*'x'"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sgtty.h>
-Autoconf TIOCGETP
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "$ac_pattern" >/dev/null 2>&1; then
- ac_cv_prog_gcc_traditional=yes
-else
- ac_cv_prog_gcc_traditional=no
-fi
-rm -f conftest*
-
-
- if test $ac_cv_prog_gcc_traditional = no; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <termio.h>
-Autoconf TCGETA
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "$ac_pattern" >/dev/null 2>&1; then
- ac_cv_prog_gcc_traditional=yes
-fi
-rm -f conftest*
-
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
-echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
- if test $ac_cv_prog_gcc_traditional = yes; then
- CC="$CC -traditional"
- fi
-fi
-
-
-
-if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no"
-then
- # If the user specified --with-installed-readline=PREFIX and PREFIX
- # is not `yes', set ac_cv_rl_prefix to PREFIX
- test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline
-
-
-if test "X$bash_cv_termcap_lib" = "X"; then
-_bash_needmsg=yes
-else
-echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
-echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6
-_bash_needmsg=
-fi
-if test "${bash_cv_termcap_lib+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for tgetent" >&5
-echo $ECHO_N "checking for tgetent... $ECHO_C" >&6
-if test "${ac_cv_func_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define tgetent to an innocuous variant, in case <limits.h> declares tgetent.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define tgetent innocuous_tgetent
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char tgetent (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef tgetent
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_tgetent) || defined (__stub___tgetent)
-choke me
-#else
-char (*f) () = tgetent;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != tgetent;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
-echo "${ECHO_T}$ac_cv_func_tgetent" >&6
-if test $ac_cv_func_tgetent = yes; then
- bash_cv_termcap_lib=libc
-else
- echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
-echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6
-if test "${ac_cv_lib_termcap_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermcap $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_termcap_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_termcap_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6
-if test $ac_cv_lib_termcap_tgetent = yes; then
- bash_cv_termcap_lib=libtermcap
-else
- echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
-echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6
-if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltinfo $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_tinfo_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_tinfo_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6
-if test $ac_cv_lib_tinfo_tgetent = yes; then
- bash_cv_termcap_lib=libtinfo
-else
- echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
-echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6
-if test "${ac_cv_lib_curses_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcurses $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_curses_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_curses_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6
-if test $ac_cv_lib_curses_tgetent = yes; then
- bash_cv_termcap_lib=libcurses
-else
- echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
-echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6
-if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lncurses $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_ncurses_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ncurses_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6
-if test $ac_cv_lib_ncurses_tgetent = yes; then
- bash_cv_termcap_lib=libncurses
-else
- bash_cv_termcap_lib=gnutermcap
-fi
-
-fi
-
-fi
-
-fi
-
-fi
-
-fi
-
-if test "X$_bash_needmsg" = "Xyes"; then
-echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
-echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5
-echo "${ECHO_T}using $bash_cv_termcap_lib" >&6
-if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
-LDFLAGS="$LDFLAGS -L./lib/termcap"
-TERMCAP_LIB="./lib/termcap/libtermcap.a"
-TERMCAP_DEP="./lib/termcap/libtermcap.a"
-elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
-TERMCAP_LIB=-ltermcap
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libtinfo; then
-TERMCAP_LIB=-ltinfo
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libncurses; then
-TERMCAP_LIB=-lncurses
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libc; then
-TERMCAP_LIB=
-TERMCAP_DEP=
-else
-TERMCAP_LIB=-lcurses
-TERMCAP_DEP=
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking version of installed readline library" >&5
-echo $ECHO_N "checking version of installed readline library... $ECHO_C" >&6
-
-# What a pain in the ass this is.
-
-# save cpp and ld options
-_save_CFLAGS="$CFLAGS"
-_save_LDFLAGS="$LDFLAGS"
-_save_LIBS="$LIBS"
-
-# Don't set ac_cv_rl_prefix if the caller has already assigned a value. This
-# allows the caller to do something like $_rl_prefix=$withval if the user
-# specifies --with-installed-readline=PREFIX as an argument to configure
-
-if test -z "$ac_cv_rl_prefix"; then
-test "x$prefix" = xNONE && ac_cv_rl_prefix=$ac_default_prefix || ac_cv_rl_prefix=${prefix}
-fi
-
-eval ac_cv_rl_includedir=${ac_cv_rl_prefix}/include
-eval ac_cv_rl_libdir=${ac_cv_rl_prefix}/lib
-
-LIBS="$LIBS -lreadline ${TERMCAP_LIB}"
-CFLAGS="$CFLAGS -I${ac_cv_rl_includedir}"
-LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}"
-
-if test "${ac_cv_rl_version+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_rl_version='4.2'
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <readline/readline.h>
-
-main()
-{
- FILE *fp;
- fp = fopen("conftest.rlv", "w");
- if (fp == 0) exit(1);
- fprintf(fp, "%s\n", rl_library_version ? rl_library_version : "0.0");
- fclose(fp);
- exit(0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_rl_version=`cat conftest.rlv`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_rl_version='0.0'
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-
-CFLAGS="$_save_CFLAGS"
-LDFLAGS="$_save_LDFLAGS"
-LIBS="$_save_LIBS"
-
-RL_MAJOR=0
-RL_MINOR=0
-
-# (
-case "$ac_cv_rl_version" in
-2*|3*|4*|5*|6*|7*|8*|9*)
- RL_MAJOR=`echo $ac_cv_rl_version | sed 's:\..*$::'`
- RL_MINOR=`echo $ac_cv_rl_version | sed -e 's:^.*\.::' -e 's:[a-zA-Z]*$::'`
- ;;
-esac
-
-# (((
-case $RL_MAJOR in
-[0-9][0-9]) _RL_MAJOR=$RL_MAJOR ;;
-[0-9]) _RL_MAJOR=0$RL_MAJOR ;;
-*) _RL_MAJOR=00 ;;
-esac
-
-# (((
-case $RL_MINOR in
-[0-9][0-9]) _RL_MINOR=$RL_MINOR ;;
-[0-9]) _RL_MINOR=0$RL_MINOR ;;
-*) _RL_MINOR=00 ;;
-esac
-
-RL_VERSION="0x${_RL_MAJOR}${_RL_MINOR}"
-
-# Readline versions greater than 4.2 have these defines in readline.h
-
-if test $ac_cv_rl_version = '0.0' ; then
- { echo "$as_me:$LINENO: WARNING: Could not test version of installed readline library." >&5
-echo "$as_me: WARNING: Could not test version of installed readline library." >&2;}
-elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then
- # set these for use by the caller
- RL_PREFIX=$ac_cv_rl_prefix
- RL_LIBDIR=$ac_cv_rl_libdir
- RL_INCLUDEDIR=$ac_cv_rl_includedir
- echo "$as_me:$LINENO: result: $ac_cv_rl_version" >&5
-echo "${ECHO_T}$ac_cv_rl_version" >&6
-else
-
-
-cat >>confdefs.h <<_ACEOF
-#define RL_READLINE_VERSION $RL_VERSION
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RL_VERSION_MAJOR $RL_MAJOR
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define RL_VERSION_MINOR $RL_MINOR
-_ACEOF
-
-
-
-
-
-
-# set these for use by the caller
-RL_PREFIX=$ac_cv_rl_prefix
-RL_LIBDIR=$ac_cv_rl_libdir
-RL_INCLUDEDIR=$ac_cv_rl_includedir
-
-echo "$as_me:$LINENO: result: $ac_cv_rl_version" >&5
-echo "${ECHO_T}$ac_cv_rl_version" >&6
-
-fi
-
-
- case "$ac_cv_rl_version" in
- 5*|6*|7*|8*|9*) ;;
- *) opt_with_installed_readline=no
- { echo "$as_me:$LINENO: WARNING: installed readline library is too old to be linked with bash" >&5
-echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;}
- { echo "$as_me:$LINENO: WARNING: using private bash version" >&5
-echo "$as_me: WARNING: using private bash version" >&2;}
- ;;
- esac
-fi
-
-if test $opt_readline = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define READLINE 1
-_ACEOF
-
- if test "$opt_with_installed_readline" != "no" ; then
- case "$opt_with_installed_readline" in
- yes) RL_INCLUDE= ;;
- *) case "$RL_INCLUDEDIR" in
- /usr/include) ;;
- *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
- esac
- ;;
- esac
- READLINE_DEP=
- READLINE_LIB=-lreadline
- else
- RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
- READLINE_DEP='$(READLINE_LIBRARY)'
- # section for OS versions that ship an older version of
- # readline as a standard dynamic library and don't allow a
- # static version specified as -llibname to override the
- # dynamic version
- case "${host_os}" in
- darwin8*) READLINE_LIB='${READLINE_LIBRARY}' ;;
- *) READLINE_LIB=-lreadline ;;
- esac
- fi
-else
- RL_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
- READLINE_LIB= READLINE_DEP=
-fi
-if test $opt_history = yes || test $opt_bang_history = yes; then
- if test $opt_history = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HISTORY 1
-_ACEOF
-
- fi
- if test $opt_bang_history = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define BANG_HISTORY 1
-_ACEOF
-
- fi
- if test "$opt_with_installed_readline" != "no"; then
- HIST_LIBDIR=$RL_LIBDIR
- HISTORY_DEP=
- HISTORY_LIB=-lhistory
- case "$opt_with_installed_readline" in
- yes) RL_INCLUDE= ;;
- *) case "$RL_INCLUDEDIR" in
- /usr/include) ;;
- *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;;
- esac
- ;;
- esac
- else
- HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
- HISTORY_DEP='$(HISTORY_LIBRARY)'
- # section for OS versions that ship an older version of
- # readline as a standard dynamic library and don't allow a
- # static version specified as -llibname to override the
- # dynamic version
- case "${host_os}" in
- darwin8*) HISTORY_LIB='${HISTORY_LIBRARY}' ;;
- *) HISTORY_LIB=-lhistory ;;
- esac
- fi
-else
- HIST_LIBDIR='$(dot)/$(LIBSUBDIR)/readline'
- HISTORY_LIB= HISTORY_DEP=
-fi
-
-
-
-
-
-
-
-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
- ./ | .// | /cC/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-# Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_AR+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$AR"; then
- ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_AR=""
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
- echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-test -n "$ARFLAGS" || ARFLAGS="cr"
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-for ac_prog in 'bison -y' byacc
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_YACC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$YACC"; then
- ac_cv_prog_YACC="$YACC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_YACC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-YACC=$ac_cv_prog_YACC
-if test -n "$YACC"; then
- echo "$as_me:$LINENO: result: $YACC" >&5
-echo "${ECHO_T}$YACC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$YACC" && break
-done
-test -n "$YACC" || YACC="yacc"
-
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-case "$host_os" in
-opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;;
-*) MAKE_SHELL=/bin/sh ;;
-esac
-
-
-if test x$SIZE = x; then
- if test x$ac_tool_prefix = x; then
- SIZE=size
- else
- SIZE=${ac_tool_prefix}size
- save_IFS=$IFS ; IFS=:
- size_found=0
- for dir in $PATH; do
- if test -x $dir/$SIZE ; then
- size_found=1
- break
- fi
- done
- if test $size_found -eq 0; then
- SIZE=:
- fi
- IFS=$save_IFS
- fi
-fi
-
-
-cat >>confdefs.h <<\_ACEOF
-#define _GNU_SOURCE 1
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
-if test "${ac_cv_c_const+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset x;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *ccp;
- char **p;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- ccp = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++ccp;
- p = (char**) ccp;
- ccp = (char const *const *) p;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- }
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_const=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_const=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for inline" >&5
-echo $ECHO_N "checking for inline... $ECHO_C" >&6
-if test "${ac_cv_c_inline+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_inline=$ac_kw; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-echo "${ECHO_T}$ac_cv_c_inline" >&6
-
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_bigendian=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
- ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
-fi
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
-case $ac_cv_c_bigendian in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-
-echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5
-echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6
-if test "${ac_cv_c_stringize+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#define x(y) #y
-
-char *s = x(teststring);
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "#teststring" >/dev/null 2>&1; then
- ac_cv_c_stringize=no
-else
- ac_cv_c_stringize=yes
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5
-echo "${ECHO_T}$ac_cv_c_stringize" >&6
-if test $ac_cv_c_stringize = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRINGIZE 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for working long double with more range or precision than double" >&5
-echo $ECHO_N "checking for working long double with more range or precision than double... $ECHO_C" >&6
-if test "${ac_cv_c_long_double+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <float.h>
- long double foo = 0.0;
-int
-main ()
-{
-static int test_array [1 - 2 * !(/* Using '|' rather than '||' catches a GCC 2.95.2 x86 bug. */
- (DBL_MAX < LDBL_MAX) | (LDBL_EPSILON < DBL_EPSILON)
- | (DBL_MAX_EXP < LDBL_MAX_EXP) | (DBL_MANT_DIG < LDBL_MANT_DIG))];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_long_double=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_long_double=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_long_double" >&5
-echo "${ECHO_T}$ac_cv_c_long_double" >&6
-if test $ac_cv_c_long_double = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LONG_DOUBLE 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for function prototypes" >&5
-echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6
-if test "$ac_cv_prog_cc_stdc" != no; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-cat >>confdefs.h <<\_ACEOF
-#define PROTOTYPES 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define __PROTOTYPES 1
-_ACEOF
-
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-echo "$as_me:$LINENO: checking whether char is unsigned" >&5
-echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6
-if test "${ac_cv_c_char_unsigned+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((char) -1) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_char_unsigned=no
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_char_unsigned=yes
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5
-echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6
-if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then
- cat >>confdefs.h <<\_ACEOF
-#define __CHAR_UNSIGNED__ 1
-_ACEOF
-
-fi
-
-
-
- MKINSTALLDIRS=
- if test -n "$ac_aux_dir"; then
- case "$ac_aux_dir" in
- /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
- *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
- esac
- fi
- if test -z "$MKINSTALLDIRS"; then
- MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
- fi
-
-
-
- echo "$as_me:$LINENO: checking whether NLS is requested" >&5
-echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
- USE_NLS=$enableval
-else
- USE_NLS=yes
-fi;
- echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6
-
-
-
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_MSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$MSGFMT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test "$MSGFMT" != ":"; then
- echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-
-if test -n "$GMSGFMT"; then
- echo "$as_me:$LINENO: result: $GMSGFMT" >&5
-echo "${ECHO_T}$GMSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$XGETTEXT" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test "$XGETTEXT" != ":"; then
- echo "$as_me:$LINENO: result: $XGETTEXT" >&5
-echo "${ECHO_T}$XGETTEXT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- rm -f messages.po
-
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
- ac_executable_p="test -x"
-else
- ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "msgmerge", so it can be a program name with args.
-set dummy msgmerge; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_MSGMERGE+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$MSGMERGE" in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
- ;;
- *)
- ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$ac_save_IFS"
- test -z "$ac_dir" && ac_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
- if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then
- ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext"
- break 2
- fi
- fi
- done
- done
- IFS="$ac_save_IFS"
- test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":"
- ;;
-esac
-fi
-MSGMERGE="$ac_cv_path_MSGMERGE"
-if test "$MSGMERGE" != ":"; then
- echo "$as_me:$LINENO: result: $MSGMERGE" >&5
-echo "${ECHO_T}$MSGMERGE" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
- if test "$GMSGFMT" != ":"; then
- if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 &&
- (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'`
- echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5
-echo "${ECHO_T}found $GMSGFMT program is not GNU msgfmt; ignore it" >&6
- GMSGFMT=":"
- fi
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 &&
- (if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then
- : ;
- else
- echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5
-echo "${ECHO_T}found xgettext program is not GNU xgettext; ignore it" >&6
- XGETTEXT=":"
- fi
- rm -f messages.po
- fi
-
- ac_config_commands="$ac_config_commands default-1"
-
-
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
-if test "${ac_cv_type_off_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((off_t *) 0)
- return 0;
-if (sizeof (off_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_off_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_off_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
-if test $ac_cv_type_off_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((size_t *) 0)
- return 0;
-if (sizeof (size_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_size_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo "$as_me:$LINENO: checking for working alloca.h" >&5
-echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
-if test "${ac_cv_working_alloca_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_working_alloca_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_working_alloca_h=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
-echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
-if test $ac_cv_working_alloca_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA_H 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for alloca" >&5
-echo $ECHO_N "checking for alloca... $ECHO_C" >&6
-if test "${ac_cv_func_alloca_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_alloca_works=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_alloca_works=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
-echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
-
-if test $ac_cv_func_alloca_works = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA 1
-_ACEOF
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=alloca.$ac_objext
-
-cat >>confdefs.h <<\_ACEOF
-#define C_ALLOCA 1
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
-echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
-if test "${ac_cv_os_cray+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
-echo "${ECHO_T}$ac_cv_os_cray" >&6
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
-echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
-if test "${ac_cv_c_stack_direction+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- exit (find_stack_direction () < 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_stack_direction=1
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
-echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in getpagesize
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for working mmap" >&5
-echo $ECHO_N "checking for working mmap... $ECHO_C" >&6
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propagated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !STDC_HEADERS && !HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h. */
-#if !HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h. */
-# if !HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# if HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main ()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
- if (!data)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = creat ("conftest.mmap", 0600);
- if (fd < 0)
- exit (1);
- if (write (fd, data, pagesize) != pagesize)
- exit (1);
- close (fd);
-
- /* Next, try to mmap the file at a fixed address which already has
- something else allocated at it. If we can, also make sure that
- we see the same garbage. */
- fd = open ("conftest.mmap", O_RDWR);
- if (fd < 0)
- exit (1);
- data2 = (char *) malloc (2 * pagesize);
- if (!data2)
- exit (1);
- data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit (1);
-
- /* Finally, make sure that changes to the mapped area do not
- percolate back to the file as seen by read(). (This is a bug on
- some variants of i386 svr4.0.) */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- exit (1);
- if (read (fd, data3, pagesize) != pagesize)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit (1);
- close (fd);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
-echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-rm -f conftest.mmap
-
-
- echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5
-echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6
-if test "${ac_cv_gnu_library_2_1+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <features.h>
-#ifdef __GNU_LIBRARY__
- #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
- Lucky GNU user
- #endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "Lucky GNU user" >/dev/null 2>&1; then
- ac_cv_gnu_library_2_1=yes
-else
- ac_cv_gnu_library_2_1=no
-fi
-rm -f conftest*
-
-
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5
-echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6
-
- GLIBC21="$ac_cv_gnu_library_2_1"
-
-
-
-
- echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5
-echo $ECHO_N "checking whether integer division by zero raises SIGFPE... $ECHO_C" >&6
-if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- if test "$cross_compiling" = yes; then
-
- # Guess based on the CPU.
- case "$host_cpu" in
- alpha* | i3456786 | m68k | s390*)
- gt_cv_int_divbyzero_sigfpe="guessing yes";;
- *)
- gt_cv_int_divbyzero_sigfpe="guessing no";;
- esac
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdlib.h>
-#include <signal.h>
-
-static void
-#ifdef __cplusplus
-sigfpe_handler (int sig)
-#else
-sigfpe_handler (sig) int sig;
-#endif
-{
- /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
- exit (sig != SIGFPE);
-}
-
-int x = 1;
-int y = 0;
-int z;
-int nan;
-
-int main ()
-{
- signal (SIGFPE, sigfpe_handler);
-/* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */
-#if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP)
- signal (SIGTRAP, sigfpe_handler);
-#endif
-/* Linux/SPARC yields signal SIGILL. */
-#if defined (__sparc__) && defined (__linux__)
- signal (SIGILL, sigfpe_handler);
-#endif
-
- z = x / y;
- nan = y / y;
- exit (1);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_int_divbyzero_sigfpe=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-gt_cv_int_divbyzero_sigfpe=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-fi
-echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5
-echo "${ECHO_T}$gt_cv_int_divbyzero_sigfpe" >&6
- case "$gt_cv_int_divbyzero_sigfpe" in
- *yes) value=1;;
- *) value=0;;
- esac
-
-cat >>confdefs.h <<_ACEOF
-#define INTDIV0_RAISES_SIGFPE $value
-_ACEOF
-
-
-
- echo "$as_me:$LINENO: checking for inttypes.h" >&5
-echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6
-if test "${jm_ac_cv_header_inttypes_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <inttypes.h>
-int
-main ()
-{
-uintmax_t i = (uintmax_t) -1;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- jm_ac_cv_header_inttypes_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-jm_ac_cv_header_inttypes_h=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $jm_ac_cv_header_inttypes_h" >&5
-echo "${ECHO_T}$jm_ac_cv_header_inttypes_h" >&6
- if test $jm_ac_cv_header_inttypes_h = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H_WITH_UINTMAX 1
-_ACEOF
-
- fi
-
-
- echo "$as_me:$LINENO: checking for stdint.h" >&5
-echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6
-if test "${jm_ac_cv_header_stdint_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <stdint.h>
-int
-main ()
-{
-uintmax_t i = (uintmax_t) -1;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- jm_ac_cv_header_stdint_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-jm_ac_cv_header_stdint_h=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $jm_ac_cv_header_stdint_h" >&5
-echo "${ECHO_T}$jm_ac_cv_header_stdint_h" >&6
- if test $jm_ac_cv_header_stdint_h = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STDINT_H_WITH_UINTMAX 1
-_ACEOF
-
- fi
-
-
- echo "$as_me:$LINENO: checking for unsigned long long" >&5
-echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6
-if test "${ac_cv_type_unsigned_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-unsigned long long ull = 1; int i = 63;
-int
-main ()
-{
-unsigned long long ullmax = (unsigned long long) -1;
- return ull << i | ull >> i | ullmax / ull | ullmax % ull;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_unsigned_long_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_unsigned_long_long=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5
-echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6
- if test $ac_cv_type_unsigned_long_long = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_UNSIGNED_LONG_LONG 1
-_ACEOF
-
- fi
-
-
-
-
- if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then
-
- test $ac_cv_type_unsigned_long_long = yes \
- && ac_type='unsigned long long' \
- || ac_type='unsigned long'
-
-cat >>confdefs.h <<_ACEOF
-#define uintmax_t $ac_type
-_ACEOF
-
- else
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_UINTMAX_T 1
-_ACEOF
-
- fi
-
-
- echo "$as_me:$LINENO: checking for inttypes.h" >&5
-echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6
-if test "${gt_cv_header_inttypes_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <inttypes.h>
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_header_inttypes_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_header_inttypes_h=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5
-echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6
- if test $gt_cv_header_inttypes_h = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INTTYPES_H 1
-_ACEOF
-
- fi
-
-
-
- if test $gt_cv_header_inttypes_h = yes; then
- echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5
-echo $ECHO_N "checking whether the inttypes.h PRIxNN macros are broken... $ECHO_C" >&6
-if test "${gt_cv_inttypes_pri_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <inttypes.h>
-#ifdef PRId32
-char *p = PRId32;
-#endif
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_inttypes_pri_broken=no
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_inttypes_pri_broken=yes
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5
-echo "${ECHO_T}$gt_cv_inttypes_pri_broken" >&6
- fi
- if test "$gt_cv_inttypes_pri_broken" = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define PRI_MACROS_BROKEN 1
-_ACEOF
-
- fi
-
-
- if test "X$prefix" = "XNONE"; then
- acl_final_prefix="$ac_default_prefix"
- else
- acl_final_prefix="$prefix"
- fi
- if test "X$exec_prefix" = "XNONE"; then
- acl_final_exec_prefix='${prefix}'
- else
- acl_final_exec_prefix="$exec_prefix"
- fi
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
- prefix="$acl_save_prefix"
-
-
-# Check whether --with-gnu-ld or --without-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
- withval="$with_gnu_ld"
- test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi;
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- echo "$as_me:$LINENO: checking for ld used by GCC" >&5
-echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&6
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | [A-Za-z]:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the path of ld
- ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
- while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6
-fi
-if test "${acl_cv_path_LD+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -z "$LD"; then
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- acl_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some GNU ld's only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
- test "$with_gnu_ld" != no && break
- else
- test "$with_gnu_ld" != yes && break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-else
- acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
- echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
- { (exit 1); exit 1; }; }
-echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6
-if test "${acl_cv_prog_gnu_ld+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
- acl_cv_prog_gnu_ld=yes
-else
- acl_cv_prog_gnu_ld=no
-fi
-fi
-echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
- echo "$as_me:$LINENO: checking for shared library run path origin" >&5
-echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6
-if test "${acl_cv_rpath+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
- ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
- . ./conftest.sh
- rm -f ./conftest.sh
- acl_cv_rpath=done
-
-fi
-echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5
-echo "${ECHO_T}$acl_cv_rpath" >&6
- wl="$acl_cv_wl"
- libext="$acl_cv_libext"
- shlibext="$acl_cv_shlibext"
- hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
- hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
- hardcode_direct="$acl_cv_hardcode_direct"
- hardcode_minus_L="$acl_cv_hardcode_minus_L"
- # Check whether --enable-rpath or --disable-rpath was given.
-if test "${enable_rpath+set}" = set; then
- enableval="$enable_rpath"
- :
-else
- enable_rpath=yes
-fi;
-
-
-
-
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-# Check whether --with-libiconv-prefix or --without-libiconv-prefix was given.
-if test "${with_libiconv_prefix+set}" = set; then
- withval="$with_libiconv_prefix"
-
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi;
- LIBICONV=
- LTLIBICONV=
- INCICONV=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='iconv '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a"
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBICONV; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBICONV="${LIBICONV}${LIBICONV:+ }$dep"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name"
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBICONV="${LIBICONV}${LIBICONV:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir"
- done
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \
-stdlib.h string.h unistd.h sys/param.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \
-geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \
-strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \
-__fsetlocking
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-
-
-
- am_save_CPPFLAGS="$CPPFLAGS"
-
- for element in $INCICONV; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
-
- echo "$as_me:$LINENO: checking for iconv" >&5
-echo $ECHO_N "checking for iconv... $ECHO_C" >&6
-if test "${am_cv_func_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- am_cv_func_iconv="no, consider installing GNU libiconv"
- am_cv_lib_iconv=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_func_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$am_cv_func_iconv" != yes; then
- am_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBICONV"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <iconv.h>
-int
-main ()
-{
-iconv_t cd = iconv_open("","");
- iconv(cd,NULL,NULL,NULL,NULL);
- iconv_close(cd);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_lib_iconv=yes
- am_cv_func_iconv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS="$am_save_LIBS"
- fi
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5
-echo "${ECHO_T}$am_cv_func_iconv" >&6
- if test "$am_cv_func_iconv" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
-_ACEOF
-
- fi
- if test "$am_cv_lib_iconv" = yes; then
- echo "$as_me:$LINENO: checking how to link with libiconv" >&5
-echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $LIBICONV" >&5
-echo "${ECHO_T}$LIBICONV" >&6
- else
- CPPFLAGS="$am_save_CPPFLAGS"
- LIBICONV=
- LTLIBICONV=
- fi
-
-
-
- if test "$am_cv_func_iconv" = yes; then
- echo "$as_me:$LINENO: checking for iconv declaration" >&5
-echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6
- if test "${am_cv_proto_iconv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_proto_iconv_arg1=""
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_proto_iconv_arg1="const"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"
-fi
-
- am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
- echo "$as_me:$LINENO: result: ${ac_t:-
- }$am_cv_proto_iconv" >&5
-echo "${ECHO_T}${ac_t:-
- }$am_cv_proto_iconv" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define ICONV_CONST $am_cv_proto_iconv_arg1
-_ACEOF
-
- fi
-
-
- echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
-echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
-if test "${am_cv_langinfo_codeset+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(CODESET);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_langinfo_codeset=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_langinfo_codeset=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5
-echo "${ECHO_T}$am_cv_langinfo_codeset" >&6
- if test $am_cv_langinfo_codeset = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LANGINFO_CODESET 1
-_ACEOF
-
- fi
-
- if test $ac_cv_header_locale_h = yes; then
-
- echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5
-echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_val_LC_MESSAGES=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
-echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6
- if test $am_cv_val_LC_MESSAGES = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
- fi
-
- fi
-
- for ac_prog in bison
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_INTLBISON+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -n "$INTLBISON"; then
- ac_cv_prog_INTLBISON="$INTLBISON" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_INTLBISON="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-INTLBISON=$ac_cv_prog_INTLBISON
-if test -n "$INTLBISON"; then
- echo "$as_me:$LINENO: result: $INTLBISON" >&5
-echo "${ECHO_T}$INTLBISON" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$INTLBISON" && break
-done
-
- if test -z "$INTLBISON"; then
- ac_verc_fail=yes
- else
- echo "$as_me:$LINENO: checking version of bison" >&5
-echo $ECHO_N "checking version of bison... $ECHO_C" >&6
- ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*)
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
- esac
- echo "$as_me:$LINENO: result: $ac_prog_version" >&5
-echo "${ECHO_T}$ac_prog_version" >&6
- fi
- if test $ac_verc_fail = yes; then
- INTLBISON=:
- fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking whether NLS is requested" >&5
-echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
- USE_NLS=$enableval
-else
- USE_NLS=yes
-fi;
- echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6
-
-
-
-
- BUILD_INCLUDED_LIBINTL=no
- USE_INCLUDED_LIBINTL=no
-
- LIBINTL=
- LTLIBINTL=
- POSUB=
-
- if test "$USE_NLS" = "yes"; then
- gt_use_preinstalled_gnugettext=no
-
- echo "$as_me:$LINENO: checking whether included gettext is requested" >&5
-echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6
-
-# Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
- withval="$with_included_gettext"
- nls_cv_force_use_gnu_gettext=$withval
-else
- nls_cv_force_use_gnu_gettext=no
-fi;
- echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5
-echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-
-
-
-
-
-
- echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5
-echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6
-if test "${gt_cv_func_gnugettext2_libc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_func_gnugettext2_libc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_func_gnugettext2_libc=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libc" >&5
-echo "${ECHO_T}$gt_cv_func_gnugettext2_libc" >&6
-
- if test "$gt_cv_func_gnugettext2_libc" != "yes"; then
-
-
-
- use_additional=yes
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
-
-# Check whether --with-libintl-prefix or --without-libintl-prefix was given.
-if test "${with_libintl_prefix+set}" = set; then
- withval="$with_libintl_prefix"
-
- if test "X$withval" = "Xno"; then
- use_additional=no
- else
- if test "X$withval" = "X"; then
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
-
- eval additional_includedir=\"$includedir\"
- eval additional_libdir=\"$libdir\"
-
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- else
- additional_includedir="$withval/include"
- additional_libdir="$withval/lib"
- fi
- fi
-
-fi;
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- rpathdirs=
- ltrpathdirs=
- names_already_handled=
- names_next_round='intl '
- while test -n "$names_next_round"; do
- names_this_round="$names_next_round"
- names_next_round=
- for name in $names_this_round; do
- already_handled=
- for n in $names_already_handled; do
- if test "$n" = "$name"; then
- already_handled=yes
- break
- fi
- done
- if test -z "$already_handled"; then
- names_already_handled="$names_already_handled $name"
- uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
- eval value=\"\$HAVE_LIB$uppername\"
- if test -n "$value"; then
- if test "$value" = yes; then
- eval value=\"\$LIB$uppername\"
- test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value"
- eval value=\"\$LTLIB$uppername\"
- test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value"
- else
- :
- fi
- else
- found_dir=
- found_la=
- found_so=
- found_a=
- if test $use_additional = yes; then
- if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then
- found_dir="$additional_libdir"
- found_so="$additional_libdir/lib$name.$shlibext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- else
- if test -f "$additional_libdir/lib$name.$libext"; then
- found_dir="$additional_libdir"
- found_a="$additional_libdir/lib$name.$libext"
- if test -f "$additional_libdir/lib$name.la"; then
- found_la="$additional_libdir/lib$name.la"
- fi
- fi
- fi
- fi
- if test "X$found_dir" = "X"; then
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- case "$x" in
- -L*)
- dir=`echo "X$x" | sed -e 's/^X-L//'`
- if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then
- found_dir="$dir"
- found_so="$dir/lib$name.$shlibext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- else
- if test -f "$dir/lib$name.$libext"; then
- found_dir="$dir"
- found_a="$dir/lib$name.$libext"
- if test -f "$dir/lib$name.la"; then
- found_la="$dir/lib$name.la"
- fi
- fi
- fi
- ;;
- esac
- if test "X$found_dir" != "X"; then
- break
- fi
- done
- fi
- if test "X$found_dir" != "X"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name"
- if test "X$found_so" != "X"; then
- if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $found_dir"
- fi
- if test "$hardcode_direct" = yes; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $found_dir"
- fi
- else
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$found_dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir"
- fi
- if test "$hardcode_minus_L" != no; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- fi
- fi
- fi
- fi
- else
- if test "X$found_a" != "X"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a"
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name"
- fi
- fi
- additional_includedir=
- case "$found_dir" in
- */lib | */lib/)
- basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'`
- additional_includedir="$basedir/include"
- ;;
- esac
- if test "X$additional_includedir" != "X"; then
- if test "X$additional_includedir" != "X/usr/include"; then
- haveit=
- if test "X$additional_includedir" = "X/usr/local/include"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- for x in $CPPFLAGS $INCINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-I$additional_includedir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_includedir"; then
- INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir"
- fi
- fi
- fi
- fi
- fi
- if test -n "$found_la"; then
- save_libdir="$libdir"
- case "$found_la" in
- */* | *\\*) . "$found_la" ;;
- *) . "./$found_la" ;;
- esac
- libdir="$save_libdir"
- for dep in $dependency_libs; do
- case "$dep" in
- -L*)
- additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
- if test "X$additional_libdir" != "X/usr/lib"; then
- haveit=
- if test "X$additional_libdir" = "X/usr/local/lib"; then
- if test -n "$GCC"; then
- case $host_os in
- linux*) haveit=yes;;
- esac
- fi
- fi
- if test -z "$haveit"; then
- haveit=
- for x in $LDFLAGS $LIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir"
- fi
- fi
- haveit=
- for x in $LDFLAGS $LTLIBINTL; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X-L$additional_libdir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- if test -d "$additional_libdir"; then
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir"
- fi
- fi
- fi
- fi
- ;;
- -R*)
- dir=`echo "X$dep" | sed -e 's/^X-R//'`
- if test "$enable_rpath" != no; then
- haveit=
- for x in $rpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- rpathdirs="$rpathdirs $dir"
- fi
- haveit=
- for x in $ltrpathdirs; do
- if test "X$x" = "X$dir"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- ltrpathdirs="$ltrpathdirs $dir"
- fi
- fi
- ;;
- -l*)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
- ;;
- *.la)
- names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
- ;;
- *)
- LIBINTL="${LIBINTL}${LIBINTL:+ }$dep"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep"
- ;;
- esac
- done
- fi
- else
- LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name"
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name"
- fi
- fi
- fi
- done
- done
- if test "X$rpathdirs" != "X"; then
- if test -n "$hardcode_libdir_separator"; then
- alldirs=
- for found_dir in $rpathdirs; do
- alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
- done
- acl_save_libdir="$libdir"
- libdir="$alldirs"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- else
- for found_dir in $rpathdirs; do
- acl_save_libdir="$libdir"
- libdir="$found_dir"
- eval flag=\"$hardcode_libdir_flag_spec\"
- libdir="$acl_save_libdir"
- LIBINTL="${LIBINTL}${LIBINTL:+ }$flag"
- done
- fi
- fi
- if test "X$ltrpathdirs" != "X"; then
- for found_dir in $ltrpathdirs; do
- LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir"
- done
- fi
-
- echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5
-echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6
-if test "${gt_cv_func_gnugettext2_libintl+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- gt_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $INCINTL"
- gt_save_LIBS="$LIBS"
- LIBS="$LIBS $LIBINTL"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_func_gnugettext2_libintl=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_func_gnugettext2_libintl=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then
- LIBS="$LIBS $LIBICONV"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libintl.h>
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias ();
-int
-main ()
-{
-bindtextdomain ("", "");
-return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- LIBINTL="$LIBINTL $LIBICONV"
- LTLIBINTL="$LTLIBINTL $LTLIBICONV"
- gt_cv_func_gnugettext2_libintl=yes
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- CPPFLAGS="$gt_save_CPPFLAGS"
- LIBS="$gt_save_LIBS"
-fi
-echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libintl" >&5
-echo "${ECHO_T}$gt_cv_func_gnugettext2_libintl" >&6
- fi
-
- if test "$gt_cv_func_gnugettext2_libc" = "yes" \
- || { test "$gt_cv_func_gnugettext2_libintl" = "yes" \
- && test "$PACKAGE" != gettext-runtime \
- && test "$PACKAGE" != gettext-tools; }; then
- gt_use_preinstalled_gnugettext=yes
- else
- LIBINTL=
- LTLIBINTL=
- INCINTL=
- fi
-
-
- if test "$gt_use_preinstalled_gnugettext" != "yes"; then
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- BUILD_INCLUDED_LIBINTL=yes
- USE_INCLUDED_LIBINTL=yes
- LIBINTL="lib/intl/libintl.a $LIBICONV"
- LTLIBINTL="lib/intl/libintl.a $LTLIBICONV"
- LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
- fi
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
- CATOBJEXT=.gmo
- fi
-
-
- if test "$gt_use_preinstalled_gnugettext" = "yes" \
- || test "$nls_cv_use_gnu_gettext" = "yes"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_NLS 1
-_ACEOF
-
- else
- USE_NLS=no
- fi
- fi
-
- echo "$as_me:$LINENO: checking whether to use NLS" >&5
-echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6
- if test "$USE_NLS" = "yes"; then
- echo "$as_me:$LINENO: checking where the gettext function comes from" >&5
-echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
- gt_source="external libintl"
- else
- gt_source="libc"
- fi
- else
- gt_source="included intl directory"
- fi
- echo "$as_me:$LINENO: result: $gt_source" >&5
-echo "${ECHO_T}$gt_source" >&6
- fi
-
- if test "$USE_NLS" = "yes"; then
-
- if test "$gt_use_preinstalled_gnugettext" = "yes"; then
- if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then
- echo "$as_me:$LINENO: checking how to link with libintl" >&5
-echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6
- echo "$as_me:$LINENO: result: $LIBINTL" >&5
-echo "${ECHO_T}$LIBINTL" >&6
-
- for element in $INCINTL; do
- haveit=
- for x in $CPPFLAGS; do
-
- acl_save_prefix="$prefix"
- prefix="$acl_final_prefix"
- acl_save_exec_prefix="$exec_prefix"
- exec_prefix="$acl_final_exec_prefix"
- eval x=\"$x\"
- exec_prefix="$acl_save_exec_prefix"
- prefix="$acl_save_prefix"
-
- if test "X$x" = "X$element"; then
- haveit=yes
- break
- fi
- done
- if test -z "$haveit"; then
- CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
- fi
- done
-
- fi
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTEXT 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DCGETTEXT 1
-_ACEOF
-
- fi
-
- POSUB=po
- fi
-
-
- if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
- BUILD_INCLUDED_LIBINTL=yes
- fi
-
-
-
-
-
- nls_cv_header_intl=
- nls_cv_header_libgt=
-
- DATADIRNAME=share
-
-
- INSTOBJEXT=.mo
-
-
- GENCAT=gencat
-
-
- if test "$USE_INCLUDED_LIBINTL" = yes; then
- INTLOBJS="\$(GETTOBJS)"
- fi
-
-
- INTL_LIBTOOL_SUFFIX_PREFIX=
-
-
-
- INTLLIBS="$LIBINTL"
-
-
-
-
-
-
-
-
-
-
-
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
- as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
-echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
- echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
-if test "${ac_cv_search_opendir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char opendir ();
-int
-main ()
-{
-opendir ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_opendir="none required"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
- for ac_lib in dir; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char opendir ();
-int
-main ()
-{
-opendir ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_opendir="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
- test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
-if test "${ac_cv_search_opendir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char opendir ();
-int
-main ()
-{
-opendir ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_opendir="none required"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
- for ac_lib in x; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char opendir ();
-int
-main ()
-{
-opendir ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_opendir="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
- test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
-
-fi
-
-fi
-
-echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
-if test "${ac_cv_header_time+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_time=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_time=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-
-
-
-for ac_header in inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \
- memory.h locale.h termcap.h termio.h termios.h dlfcn.h \
- stddef.h stdint.h netdb.h grp.h strings.h regex.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in sys/pte.h sys/stream.h sys/select.h sys/file.h \
- sys/resource.h sys/param.h sys/socket.h sys/stat.h \
- sys/time.h sys/times.h sys/types.h sys/wait.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in netinet/in.h arpa/inet.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for sys/ptem.h" >&5
-echo $ECHO_N "checking for sys/ptem.h... $ECHO_C" >&6
-if test "${ac_cv_header_sys_ptem_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if HAVE_SYS_STREAM_H
-# include <sys/stream.h>
-#endif
-
-
-#include <sys/ptem.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_sys_ptem_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_sys_ptem_h=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_sys_ptem_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_ptem_h" >&6
-
-
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo "$as_me:$LINENO: checking for working alloca.h" >&5
-echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
-if test "${ac_cv_working_alloca_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_working_alloca_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_working_alloca_h=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
-echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
-if test $ac_cv_working_alloca_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA_H 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for alloca" >&5
-echo $ECHO_N "checking for alloca... $ECHO_C" >&6
-if test "${ac_cv_func_alloca_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_alloca_works=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_alloca_works=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
-echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
-
-if test $ac_cv_func_alloca_works = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA 1
-_ACEOF
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=alloca.$ac_objext
-
-cat >>confdefs.h <<\_ACEOF
-#define C_ALLOCA 1
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
-echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
-if test "${ac_cv_os_cray+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
-echo "${ECHO_T}$ac_cv_os_cray" >&6
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
-echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
-if test "${ac_cv_c_stack_direction+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- exit (find_stack_direction () < 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_stack_direction=1
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
-echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5
-echo $ECHO_N "checking whether getpgrp requires zero arguments... $ECHO_C" >&6
-if test "${ac_cv_func_getpgrp_void+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # Use it with a single arg.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-getpgrp (0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_getpgrp_void=no
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_getpgrp_void=yes
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5
-echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6
-if test $ac_cv_func_getpgrp_void = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define GETPGRP_VOID 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5
-echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
-if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_func_setvbuf_reversed=no
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-# if PROTOTYPES
- int (setvbuf) (FILE *, int, char *, size_t);
-# endif
-int
-main ()
-{
-char buf; return setvbuf (stdout, _IOLBF, &buf, 1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-# if PROTOTYPES
- int (setvbuf) (FILE *, int, char *, size_t);
-# endif
-int
-main ()
-{
-char buf; return setvbuf (stdout, &buf, _IOLBF, 1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- # It compiles and links either way, so it must not be declared
- # with a prototype and most likely this is a K&R C compiler.
- # Try running it.
- if test "$cross_compiling" = yes; then
- : # Assume setvbuf is not reversed when cross-compiling.
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-/* This call has the arguments reversed.
- A reversed system may check and see that the address of buf
- is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */
- char buf;
- if (setvbuf (stdout, _IOLBF, &buf, 1) != 0)
- exit (1);
- putchar ('\r');
- exit (0); /* Non-reversed systems SEGV here. */
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-rm -f core *.core
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
- ac_cv_func_setvbuf_reversed=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5
-echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
-if test $ac_cv_func_setvbuf_reversed = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define SETVBUF_REVERSED 1
-_ACEOF
-
-fi
-
-
-for ac_func in vprintf
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-echo "$as_me:$LINENO: checking for _doprnt" >&5
-echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6
-if test "${ac_cv_func__doprnt+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define _doprnt innocuous__doprnt
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char _doprnt (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef _doprnt
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char _doprnt ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub__doprnt) || defined (__stub____doprnt)
-choke me
-#else
-char (*f) () = _doprnt;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != _doprnt;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func__doprnt=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func__doprnt=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
-echo "${ECHO_T}$ac_cv_func__doprnt" >&6
-if test $ac_cv_func__doprnt = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DOPRNT 1
-_ACEOF
-
-fi
-
-fi
-done
-
-
-echo "$as_me:$LINENO: checking for working strcoll" >&5
-echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6
-if test "${ac_cv_func_strcoll_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_strcoll_works=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-exit (strcoll ("abc", "def") >= 0 ||
- strcoll ("ABC", "DEF") >= 0 ||
- strcoll ("123", "456") >= 0)
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_strcoll_works=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_strcoll_works=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5
-echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6
-if test $ac_cv_func_strcoll_works = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRCOLL 1
-_ACEOF
-
-fi
-
-
-
-if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then
- MALLOC_TARGET=alloca
- MALLOC_SRC=alloca.c
-
- MALLOC_LIB='-lmalloc'
- MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a'
- MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)'
- MALLOC_DEP='$(MALLOC_LIBRARY)'
-fi
-
-if test "$ac_cv_func_vprintf" = no; then
- echo "$as_me:$LINENO: checking for declaration of vprintf in stdio.h" >&5
-echo $ECHO_N "checking for declaration of vprintf in stdio.h... $ECHO_C" >&6
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdio.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "[int[ ]*vprintf[^a-zA-Z0-9]]" >/dev/null 2>&1; then
- ac_cv_func_vprintf=yes
-fi
-rm -f conftest*
-
- echo "$as_me:$LINENO: result: $ac_cv_func_vprintf" >&5
-echo "${ECHO_T}$ac_cv_func_vprintf" >&6
- if test $ac_cv_func_vprintf = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_VPRINTF 1
-_ACEOF
-
- fi
-fi
-
-if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then
- case $LIBOBJS in
- "vprint.$ac_objext" | \
- *" vprint.$ac_objext" | \
- "vprint.$ac_objext "* | \
- *" vprint.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS vprint.$ac_objext" ;;
-esac
-
-fi
-
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
-if test "${ac_cv_type_signal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_signal=void
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_signal=int
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-echo "$as_me:$LINENO: checking for __setostype" >&5
-echo $ECHO_N "checking for __setostype... $ECHO_C" >&6
-if test "${ac_cv_func___setostype+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define __setostype to an innocuous variant, in case <limits.h> declares __setostype.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define __setostype innocuous___setostype
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char __setostype (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef __setostype
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char __setostype ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub___setostype) || defined (__stub_____setostype)
-choke me
-#else
-char (*f) () = __setostype;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != __setostype;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func___setostype=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func___setostype=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5
-echo "${ECHO_T}$ac_cv_func___setostype" >&6
-if test $ac_cv_func___setostype = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SETOSTYPE 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for wait3" >&5
-echo $ECHO_N "checking for wait3... $ECHO_C" >&6
-if test "${ac_cv_func_wait3+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define wait3 to an innocuous variant, in case <limits.h> declares wait3.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define wait3 innocuous_wait3
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char wait3 (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef wait3
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char wait3 ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_wait3) || defined (__stub___wait3)
-choke me
-#else
-char (*f) () = wait3;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != wait3;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_wait3=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_wait3=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5
-echo "${ECHO_T}$ac_cv_func_wait3" >&6
-if test $ac_cv_func_wait3 = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WAIT3 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for isinf" >&5
-echo $ECHO_N "checking for isinf... $ECHO_C" >&6
-if test "${ac_cv_func_isinf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define isinf to an innocuous variant, in case <limits.h> declares isinf.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define isinf innocuous_isinf
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char isinf (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef isinf
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char isinf ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_isinf) || defined (__stub___isinf)
-choke me
-#else
-char (*f) () = isinf;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != isinf;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_isinf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_isinf=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5
-echo "${ECHO_T}$ac_cv_func_isinf" >&6
-if test $ac_cv_func_isinf = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_ISINF_IN_LIBC 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for mkfifo" >&5
-echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6
-if test "${ac_cv_func_mkfifo+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define mkfifo to an innocuous variant, in case <limits.h> declares mkfifo.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define mkfifo innocuous_mkfifo
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char mkfifo (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef mkfifo
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char mkfifo ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_mkfifo) || defined (__stub___mkfifo)
-choke me
-#else
-char (*f) () = mkfifo;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != mkfifo;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mkfifo=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_mkfifo=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mkfifo" >&5
-echo "${ECHO_T}$ac_cv_func_mkfifo" >&6
-if test $ac_cv_func_mkfifo = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MKFIFO 1
-_ACEOF
-
-else
- cat >>confdefs.h <<\_ACEOF
-#define MKFIFO_MISSING 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in dup2 select getdtablesize getgroups gethostname \
- setdtablesize getpagesize killpg lstat getpeername sbrk \
- getrlimit getrusage gettimeofday waitpid tcgetpgrp \
- readlink
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_func in rename
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- case $LIBOBJS in
- "$ac_func.$ac_objext" | \
- *" $ac_func.$ac_objext" | \
- "$ac_func.$ac_objext "* | \
- *" $ac_func.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
-esac
-
-fi
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in bcopy bzero confstr sysconf pathconf setenv putenv unsetenv \
- setlinebuf setvbuf setlocale strchr tcgetattr uname \
- ulimit tzset siginterrupt memmove ttyname times raise \
- getaddrinfo gethostbyname getservbyname getservent inet_aton \
- vsnprintf snprintf vasprintf asprintf fnmatch regcomp regexec
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-
-
-
-for ac_func in isascii isblank isgraph isprint isspace isxdigit
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-
-
-
-
-
-
-
-for ac_func in getcwd strcasecmp strerror strftime strpbrk memset strstr strnlen
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- case $LIBOBJS in
- "$ac_func.$ac_objext" | \
- *" $ac_func.$ac_objext" | \
- "$ac_func.$ac_objext "* | \
- *" $ac_func.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
-esac
-
-fi
-done
-
-
-
-
-
-
-
-
-
-for ac_func in strtod strtol strtoul strtoll strtoull strtoimax strtoumax
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-else
- case $LIBOBJS in
- "$ac_func.$ac_objext" | \
- *" $ac_func.$ac_objext" | \
- "$ac_func.$ac_objext "* | \
- *" $ac_func.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS $ac_func.$ac_objext" ;;
-esac
-
-fi
-done
-
-
-
-echo "$as_me:$LINENO: checking whether confstr is declared" >&5
-echo $ECHO_N "checking whether confstr is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_confstr+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef confstr
- char *p = (char *) confstr;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_confstr=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_confstr=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_confstr" >&5
-echo "${ECHO_T}$ac_cv_have_decl_confstr" >&6
-if test $ac_cv_have_decl_confstr = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_CONFSTR 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_CONFSTR 0
-_ACEOF
-
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether printf is declared" >&5
-echo $ECHO_N "checking whether printf is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_printf+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef printf
- char *p = (char *) printf;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_printf=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_printf=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_printf" >&5
-echo "${ECHO_T}$ac_cv_have_decl_printf" >&6
-if test $ac_cv_have_decl_printf = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PRINTF 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PRINTF 0
-_ACEOF
-
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether sbrk is declared" >&5
-echo $ECHO_N "checking whether sbrk is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_sbrk+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef sbrk
- char *p = (char *) sbrk;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_sbrk=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_sbrk=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_sbrk" >&5
-echo "${ECHO_T}$ac_cv_have_decl_sbrk" >&6
-if test $ac_cv_have_decl_sbrk = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SBRK 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SBRK 0
-_ACEOF
-
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether strcpy is declared" >&5
-echo $ECHO_N "checking whether strcpy is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_strcpy+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef strcpy
- char *p = (char *) strcpy;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_strcpy=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_strcpy=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_strcpy" >&5
-echo "${ECHO_T}$ac_cv_have_decl_strcpy" >&6
-if test $ac_cv_have_decl_strcpy = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRCPY 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRCPY 0
-_ACEOF
-
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether strsignal is declared" >&5
-echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_strsignal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef strsignal
- char *p = (char *) strsignal;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_strsignal=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_strsignal=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_strsignal" >&5
-echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6
-if test $ac_cv_have_decl_strsignal = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRSIGNAL 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRSIGNAL 0
-_ACEOF
-
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether strtold is declared" >&5
-echo $ECHO_N "checking whether strtold is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_strtold+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-#ifndef strtold
- char *p = (char *) strtold;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_strtold=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_strtold=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
-echo "${ECHO_T}$ac_cv_have_decl_strtold" >&6
-if test $ac_cv_have_decl_strtold = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 1
-_ACEOF
-
-
- echo "$as_me:$LINENO: checking for broken strtold" >&5
-echo $ECHO_N "checking for broken strtold... $ECHO_C" >&6
- if test "${bash_cv_strtold_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-int
-main ()
-{
-int main() { long double r; char *foo, bar; r = strtold(foo, &bar);}
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_strtold_broken=no
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_strtold_broken=yes
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-fi
-
- echo "$as_me:$LINENO: result: $bash_cv_strtold_broken" >&5
-echo "${ECHO_T}$bash_cv_strtold_broken" >&6
- if test "$bash_cv_strtold_broken" = "yes" ; then
- cat >>confdefs.h <<\_ACEOF
-#define STRTOLD_BROKEN 1
-_ACEOF
-
- fi
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 0
-_ACEOF
-
-
-fi
-
-
-
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtoimax" >&5
-echo $ECHO_N "checking for declaration of strtoimax... $ECHO_C" >&6
-if test "${bash_cv_decl_strtoimax+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtoimax;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtoimax=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtoimax=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtoimax" >&5
-echo "${ECHO_T}$bash_cv_decl_strtoimax" >&6
-bash_tr_func=HAVE_DECL_`echo strtoimax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtoimax = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtol" >&5
-echo $ECHO_N "checking for declaration of strtol... $ECHO_C" >&6
-if test "${bash_cv_decl_strtol+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtol;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtol=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtol=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtol" >&5
-echo "${ECHO_T}$bash_cv_decl_strtol" >&6
-bash_tr_func=HAVE_DECL_`echo strtol | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtol = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtoll" >&5
-echo $ECHO_N "checking for declaration of strtoll... $ECHO_C" >&6
-if test "${bash_cv_decl_strtoll+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtoll;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtoll=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtoll=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtoll" >&5
-echo "${ECHO_T}$bash_cv_decl_strtoll" >&6
-bash_tr_func=HAVE_DECL_`echo strtoll | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtoll = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtoul" >&5
-echo $ECHO_N "checking for declaration of strtoul... $ECHO_C" >&6
-if test "${bash_cv_decl_strtoul+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtoul;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtoul=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtoul=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtoul" >&5
-echo "${ECHO_T}$bash_cv_decl_strtoul" >&6
-bash_tr_func=HAVE_DECL_`echo strtoul | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtoul = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtoull" >&5
-echo $ECHO_N "checking for declaration of strtoull... $ECHO_C" >&6
-if test "${bash_cv_decl_strtoull+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtoull;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtoull=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtoull=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtoull" >&5
-echo "${ECHO_T}$bash_cv_decl_strtoull" >&6
-bash_tr_func=HAVE_DECL_`echo strtoull | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtoull = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking for declaration of strtoumax" >&5
-echo $ECHO_N "checking for declaration of strtoumax... $ECHO_C" >&6
-if test "${bash_cv_decl_strtoumax+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-# include <stdlib.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-
-int
-main ()
-{
-return !strtoumax;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_strtoumax=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_strtoumax=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_strtoumax" >&5
-echo "${ECHO_T}$bash_cv_decl_strtoumax" >&6
-bash_tr_func=HAVE_DECL_`echo strtoumax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-if test $bash_cv_decl_strtoumax = yes; then
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 1
-_ACEOF
-
-else
- cat >>confdefs.h <<_ACEOF
-#define $bash_tr_func 0
-_ACEOF
-
-fi
-
-
-
-
-
-for ac_header in stdlib.h sys/time.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in alarm
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for working mktime" >&5
-echo $ECHO_N "checking for working mktime... $ECHO_C" >&6
-if test "${ac_cv_func_working_mktime+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_working_mktime=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Test program from Paul Eggert and Tony Leneis. */
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif
-
-#if HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#if !HAVE_ALARM
-# define alarm(X) /* empty */
-#endif
-
-/* Work around redefinition to rpl_putenv by other config tests. */
-#undef putenv
-
-static time_t time_t_max;
-static time_t time_t_min;
-
-/* Values we'll use to set the TZ environment variable. */
-static char *tz_strings[] = {
- (char *) 0, "TZ=GMT0", "TZ=JST-9",
- "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
-};
-#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))
-
-/* Fail if mktime fails to convert a date in the spring-forward gap.
- Based on a problem report from Andreas Jaeger. */
-static void
-spring_forward_gap ()
-{
- /* glibc (up to about 1998-10-07) failed this test. */
- struct tm tm;
-
- /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
- instead of "TZ=America/Vancouver" in order to detect the bug even
- on systems that don't support the Olson extension, or don't have the
- full zoneinfo tables installed. */
- putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
-
- tm.tm_year = 98;
- tm.tm_mon = 3;
- tm.tm_mday = 5;
- tm.tm_hour = 2;
- tm.tm_min = 0;
- tm.tm_sec = 0;
- tm.tm_isdst = -1;
- if (mktime (&tm) == (time_t)-1)
- exit (1);
-}
-
-static void
-mktime_test1 (now)
- time_t now;
-{
- struct tm *lt;
- if ((lt = localtime (&now)) && mktime (lt) != now)
- exit (1);
-}
-
-static void
-mktime_test (now)
- time_t now;
-{
- mktime_test1 (now);
- mktime_test1 ((time_t) (time_t_max - now));
- mktime_test1 ((time_t) (time_t_min + now));
-}
-
-static void
-irix_6_4_bug ()
-{
- /* Based on code from Ariel Faigon. */
- struct tm tm;
- tm.tm_year = 96;
- tm.tm_mon = 3;
- tm.tm_mday = 0;
- tm.tm_hour = 0;
- tm.tm_min = 0;
- tm.tm_sec = 0;
- tm.tm_isdst = -1;
- mktime (&tm);
- if (tm.tm_mon != 2 || tm.tm_mday != 31)
- exit (1);
-}
-
-static void
-bigtime_test (j)
- int j;
-{
- struct tm tm;
- time_t now;
- tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
- now = mktime (&tm);
- if (now != (time_t) -1)
- {
- struct tm *lt = localtime (&now);
- if (! (lt
- && lt->tm_year == tm.tm_year
- && lt->tm_mon == tm.tm_mon
- && lt->tm_mday == tm.tm_mday
- && lt->tm_hour == tm.tm_hour
- && lt->tm_min == tm.tm_min
- && lt->tm_sec == tm.tm_sec
- && lt->tm_yday == tm.tm_yday
- && lt->tm_wday == tm.tm_wday
- && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
- == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
- exit (1);
- }
-}
-
-int
-main ()
-{
- time_t t, delta;
- int i, j;
-
- /* This test makes some buggy mktime implementations loop.
- Give up after 60 seconds; a mktime slower than that
- isn't worth using anyway. */
- alarm (60);
-
- for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2)
- continue;
- time_t_max--;
- if ((time_t) -1 < 0)
- for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2)
- continue;
- delta = time_t_max / 997; /* a suitable prime number */
- for (i = 0; i < N_STRINGS; i++)
- {
- if (tz_strings[i])
- putenv (tz_strings[i]);
-
- for (t = 0; t <= time_t_max - delta; t += delta)
- mktime_test (t);
- mktime_test ((time_t) 1);
- mktime_test ((time_t) (60 * 60));
- mktime_test ((time_t) (60 * 60 * 24));
-
- for (j = 1; 0 < j; j *= 2)
- bigtime_test (j);
- bigtime_test (j - 1);
- }
- irix_6_4_bug ();
- spring_forward_gap ();
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_working_mktime=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_working_mktime=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_working_mktime" >&5
-echo "${ECHO_T}$ac_cv_func_working_mktime" >&6
-if test $ac_cv_func_working_mktime = no; then
- case $LIBOBJS in
- "mktime.$ac_objext" | \
- *" mktime.$ac_objext" | \
- "mktime.$ac_objext "* | \
- *" mktime.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS mktime.$ac_objext" ;;
-esac
-
-fi
-
-
-
-
-
-
-
-
-for ac_header in argz.h errno.h fcntl.h malloc.h stdio_ext.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in getpagesize
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for working mmap" >&5
-echo $ECHO_N "checking for working mmap... $ECHO_C" >&6
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propagated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !STDC_HEADERS && !HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h. */
-#if !HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h. */
-# if !HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# if HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main ()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
- if (!data)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = creat ("conftest.mmap", 0600);
- if (fd < 0)
- exit (1);
- if (write (fd, data, pagesize) != pagesize)
- exit (1);
- close (fd);
-
- /* Next, try to mmap the file at a fixed address which already has
- something else allocated at it. If we can, also make sure that
- we see the same garbage. */
- fd = open ("conftest.mmap", O_RDWR);
- if (fd < 0)
- exit (1);
- data2 = (char *) malloc (2 * pagesize);
- if (!data2)
- exit (1);
- data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit (1);
-
- /* Finally, make sure that changes to the mapped area do not
- percolate back to the file as seen by read(). (This is a bug on
- some variants of i386 svr4.0.) */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- exit (1);
- if (read (fd, data3, pagesize) != pagesize)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit (1);
- close (fd);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
-echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-rm -f conftest.mmap
-
-
-
-
-
-
-
-
-
-
-for ac_func in __argz_count __argz_next __argz_stringify dcgettext mempcpy \
- munmap stpcpy strcspn strdup
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-INTL_DEP= INTL_INC= LIBINTL_H=
-if test "x$USE_INCLUDED_LIBINTL" = "xyes"; then
- INTL_DEP='${INTL_LIBDIR}/libintl.a'
- INTL_INC='-I${INTL_LIBSRC} -I${INTL_BUILDDIR}'
- LIBINTL_H='${INTL_BUILDDIR}/libintl.h'
-fi
-
-
-
-
-
-
-
-for ac_header in wctype.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in wchar.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in langinfo.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to bug-bash@gnu.org ##
-## ------------------------------- ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for mbsrtowcs" >&5
-echo $ECHO_N "checking for mbsrtowcs... $ECHO_C" >&6
-if test "${ac_cv_func_mbsrtowcs+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define mbsrtowcs to an innocuous variant, in case <limits.h> declares mbsrtowcs.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define mbsrtowcs innocuous_mbsrtowcs
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char mbsrtowcs (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef mbsrtowcs
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char mbsrtowcs ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_mbsrtowcs) || defined (__stub___mbsrtowcs)
-choke me
-#else
-char (*f) () = mbsrtowcs;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != mbsrtowcs;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mbsrtowcs=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_mbsrtowcs=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mbsrtowcs" >&5
-echo "${ECHO_T}$ac_cv_func_mbsrtowcs" >&6
-if test $ac_cv_func_mbsrtowcs = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBSRTOWCS 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for mbrtowc" >&5
-echo $ECHO_N "checking for mbrtowc... $ECHO_C" >&6
-if test "${ac_cv_func_mbrtowc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define mbrtowc to an innocuous variant, in case <limits.h> declares mbrtowc.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define mbrtowc innocuous_mbrtowc
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char mbrtowc (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef mbrtowc
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char mbrtowc ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_mbrtowc) || defined (__stub___mbrtowc)
-choke me
-#else
-char (*f) () = mbrtowc;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != mbrtowc;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mbrtowc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_mbrtowc=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
-echo "${ECHO_T}$ac_cv_func_mbrtowc" >&6
-if test $ac_cv_func_mbrtowc = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBRTOWC 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for mbrlen" >&5
-echo $ECHO_N "checking for mbrlen... $ECHO_C" >&6
-if test "${ac_cv_func_mbrlen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define mbrlen to an innocuous variant, in case <limits.h> declares mbrlen.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define mbrlen innocuous_mbrlen
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char mbrlen (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef mbrlen
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char mbrlen ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_mbrlen) || defined (__stub___mbrlen)
-choke me
-#else
-char (*f) () = mbrlen;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != mbrlen;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mbrlen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_mbrlen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mbrlen" >&5
-echo "${ECHO_T}$ac_cv_func_mbrlen" >&6
-if test $ac_cv_func_mbrlen = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBRLEN 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for wctomb" >&5
-echo $ECHO_N "checking for wctomb... $ECHO_C" >&6
-if test "${ac_cv_func_wctomb+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define wctomb to an innocuous variant, in case <limits.h> declares wctomb.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define wctomb innocuous_wctomb
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char wctomb (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef wctomb
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char wctomb ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_wctomb) || defined (__stub___wctomb)
-choke me
-#else
-char (*f) () = wctomb;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != wctomb;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_wctomb=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_wctomb=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wctomb" >&5
-echo "${ECHO_T}$ac_cv_func_wctomb" >&6
-if test $ac_cv_func_wctomb = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCTOMB 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for wcwidth" >&5
-echo $ECHO_N "checking for wcwidth... $ECHO_C" >&6
-if test "${ac_cv_func_wcwidth+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define wcwidth to an innocuous variant, in case <limits.h> declares wcwidth.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define wcwidth innocuous_wcwidth
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char wcwidth (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef wcwidth
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char wcwidth ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_wcwidth) || defined (__stub___wcwidth)
-choke me
-#else
-char (*f) () = wcwidth;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != wcwidth;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_wcwidth=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_wcwidth=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wcwidth" >&5
-echo "${ECHO_T}$ac_cv_func_wcwidth" >&6
-if test $ac_cv_func_wcwidth = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCWIDTH 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for wcsdup" >&5
-echo $ECHO_N "checking for wcsdup... $ECHO_C" >&6
-if test "${ac_cv_func_wcsdup+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define wcsdup to an innocuous variant, in case <limits.h> declares wcsdup.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define wcsdup innocuous_wcsdup
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char wcsdup (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef wcsdup
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char wcsdup ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_wcsdup) || defined (__stub___wcsdup)
-choke me
-#else
-char (*f) () = wcsdup;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != wcsdup;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_wcsdup=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_wcsdup=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_wcsdup" >&5
-echo "${ECHO_T}$ac_cv_func_wcsdup" >&6
-if test $ac_cv_func_wcsdup = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_WCSDUP 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for mbstate_t" >&5
-echo $ECHO_N "checking for mbstate_t... $ECHO_C" >&6
-if test "${bash_cv_have_mbstate_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <wchar.h>
-int
-main ()
-{
-
- mbstate_t ps;
- mbstate_t *psp;
- psp = (mbstate_t *)0;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_have_mbstate_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_have_mbstate_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_have_mbstate_t" >&5
-echo "${ECHO_T}$bash_cv_have_mbstate_t" >&6
-if test $bash_cv_have_mbstate_t = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_MBSTATE_T 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5
-echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6
-if test "${bash_cv_langinfo_codeset+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <langinfo.h>
-int
-main ()
-{
-char* cs = nl_langinfo(CODESET);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_langinfo_codeset=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_langinfo_codeset=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_langinfo_codeset" >&5
-echo "${ECHO_T}$bash_cv_langinfo_codeset" >&6
-if test $bash_cv_langinfo_codeset = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LANGINFO_CODESET 1
-_ACEOF
-
-fi
-
-
-
-if test "$opt_static_link" != yes; then
-
-echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char dlopen ();
-int
-main ()
-{
-dlopen ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_dl_dlopen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_dl_dlopen=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6
-if test $ac_cv_lib_dl_dlopen = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBDL 1
-_ACEOF
-
- LIBS="-ldl $LIBS"
-
-fi
-
-
-
-
-for ac_func in dlopen dlclose dlsym
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-fi
-
-echo "$as_me:$LINENO: checking whether sys_siglist is declared" >&5
-echo $ECHO_N "checking whether sys_siglist is declared... $ECHO_C" >&6
-if test "${ac_cv_have_decl_sys_siglist+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <signal.h>
-/* NetBSD declares sys_siglist in unistd.h. */
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-
-int
-main ()
-{
-#ifndef sys_siglist
- char *p = (char *) sys_siglist;
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_have_decl_sys_siglist=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_have_decl_sys_siglist=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_have_decl_sys_siglist" >&5
-echo "${ECHO_T}$ac_cv_have_decl_sys_siglist" >&6
-if test $ac_cv_have_decl_sys_siglist = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SYS_SIGLIST 1
-_ACEOF
-
-
-else
- cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SYS_SIGLIST 0
-_ACEOF
-
-
-fi
-
-
-
-
-if test "$ac_cv_func_inet_aton" != 'yes'; then
-
-echo "$as_me:$LINENO: checking for inet_aton" >&5
-echo $ECHO_N "checking for inet_aton... $ECHO_C" >&6
-if test "${bash_cv_func_inet_aton+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-struct in_addr ap;
-int
-main ()
-{
- inet_aton("127.0.0.1", &ap);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_func_inet_aton=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_func_inet_aton=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_func_inet_aton" >&5
-echo "${ECHO_T}$bash_cv_func_inet_aton" >&6
-if test $bash_cv_func_inet_aton = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_INET_ATON 1
-_ACEOF
-
-else
- case $LIBOBJS in
- "inet_aton.$ac_objext" | \
- *" inet_aton.$ac_objext" | \
- "inet_aton.$ac_objext "* | \
- *" inet_aton.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS inet_aton.$ac_objext" ;;
-esac
-
-fi
-
-fi
-
-case "$host_os" in
-irix4*)
-echo "$as_me:$LINENO: checking for getpwent in -lsun" >&5
-echo $ECHO_N "checking for getpwent in -lsun... $ECHO_C" >&6
-if test "${ac_cv_lib_sun_getpwent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsun $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char getpwent ();
-int
-main ()
-{
-getpwent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_sun_getpwent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_sun_getpwent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_sun_getpwent" >&5
-echo "${ECHO_T}$ac_cv_lib_sun_getpwent" >&6
-if test $ac_cv_lib_sun_getpwent = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSUN 1
-_ACEOF
-
- LIBS="-lsun $LIBS"
-
-fi
- ;;
-esac
-
-if test "$ac_cv_func_getpeername" = no; then
-
-if test "X$bash_cv_have_socklib" = "X"; then
-_bash_needmsg=
-else
-echo "$as_me:$LINENO: checking for socket library" >&5
-echo $ECHO_N "checking for socket library... $ECHO_C" >&6
-_bash_needmsg=yes
-fi
-if test "${bash_cv_have_socklib+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for getpeername in -lsocket" >&5
-echo $ECHO_N "checking for getpeername in -lsocket... $ECHO_C" >&6
-if test "${ac_cv_lib_socket_getpeername+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket -lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char getpeername ();
-int
-main ()
-{
-getpeername ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_socket_getpeername=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_socket_getpeername=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_getpeername" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_getpeername" >&6
-if test $ac_cv_lib_socket_getpeername = yes; then
- bash_cv_have_socklib=yes
-else
- bash_cv_have_socklib=no
-fi
-
-fi
-
-if test "X$_bash_needmsg" = Xyes; then
- echo "$as_me:$LINENO: result: $bash_cv_have_socklib" >&5
-echo "${ECHO_T}$bash_cv_have_socklib" >&6
- _bash_needmsg=
-fi
-if test $bash_cv_have_socklib = yes; then
- # check for libnsl, add it to LIBS if present
- if test "X$bash_cv_have_libnsl" = "X"; then
- _bash_needmsg=
- else
- echo "$as_me:$LINENO: checking for libnsl" >&5
-echo $ECHO_N "checking for libnsl... $ECHO_C" >&6
- _bash_needmsg=yes
- fi
- if test "${bash_cv_have_libnsl+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for t_open in -lnsl" >&5
-echo $ECHO_N "checking for t_open in -lnsl... $ECHO_C" >&6
-if test "${ac_cv_lib_nsl_t_open+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char t_open ();
-int
-main ()
-{
-t_open ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_nsl_t_open=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_nsl_t_open=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_t_open" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_t_open" >&6
-if test $ac_cv_lib_nsl_t_open = yes; then
- bash_cv_have_libnsl=yes
-else
- bash_cv_have_libnsl=no
-fi
-
-fi
-
- if test "X$_bash_needmsg" = Xyes; then
- echo "$as_me:$LINENO: result: $bash_cv_have_libnsl" >&5
-echo "${ECHO_T}$bash_cv_have_libnsl" >&6
- _bash_needmsg=
- fi
- if test $bash_cv_have_libnsl = yes; then
- LIBS="-lsocket -lnsl $LIBS"
- else
- LIBS="-lsocket $LIBS"
- fi
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETPEERNAME 1
-_ACEOF
-
-fi
-
-fi
-if test "$ac_cv_func_gethostbyname" = no; then
- if test "X$bash_cv_have_gethostbyname" = "X"; then
-_bash_needmsg=yes
-else
-echo "$as_me:$LINENO: checking for gethostbyname in socket library" >&5
-echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6
-_bash_needmsg=
-fi
-if test "${bash_cv_have_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <netdb.h>
-int
-main ()
-{
- struct hostent *hp;
- hp = gethostbyname("localhost");
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_have_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_have_gethostbyname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
-if test "X$_bash_needmsg" = Xyes; then
- echo "$as_me:$LINENO: checking for gethostbyname in socket library" >&5
-echo $ECHO_N "checking for gethostbyname in socket library... $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $bash_cv_have_gethostbyname" >&5
-echo "${ECHO_T}$bash_cv_have_gethostbyname" >&6
-if test "$bash_cv_have_gethostbyname" = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETHOSTBYNAME 1
-_ACEOF
-
-fi
-
-fi
-
-echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
-echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
-if test "${ac_cv_type_uid_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
-echo "${ECHO_T}$ac_cv_type_uid_t" >&6
-if test $ac_cv_type_uid_t = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define uid_t int
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define gid_t int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5
-echo $ECHO_N "checking type of array argument to getgroups... $ECHO_C" >&6
-if test "${ac_cv_type_getgroups+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_type_getgroups=cross
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Thanks to Mike Rendell for this test. */
-#include <sys/types.h>
-#define NGID 256
-#undef MAX
-#define MAX(x, y) ((x) > (y) ? (x) : (y))
-
-int
-main ()
-{
- gid_t gidset[NGID];
- int i, n;
- union { gid_t gval; long lval; } val;
-
- val.lval = -1;
- for (i = 0; i < NGID; i++)
- gidset[i] = val.gval;
- n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
- gidset);
- /* Exit non-zero if getgroups seems to require an array of ints. This
- happens when gid_t is short but getgroups modifies an array of ints. */
- exit ((n > 0 && gidset[n] != val.gval) ? 1 : 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_getgroups=gid_t
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_type_getgroups=int
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-if test $ac_cv_type_getgroups = cross; then
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <unistd.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then
- ac_cv_type_getgroups=gid_t
-else
- ac_cv_type_getgroups=int
-fi
-rm -f conftest*
-
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5
-echo "${ECHO_T}$ac_cv_type_getgroups" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define GETGROUPS_T $ac_cv_type_getgroups
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
-if test "${ac_cv_type_off_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((off_t *) 0)
- return 0;
-if (sizeof (off_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_off_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_off_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
-if test $ac_cv_type_off_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for mode_t" >&5
-echo $ECHO_N "checking for mode_t... $ECHO_C" >&6
-if test "${ac_cv_type_mode_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((mode_t *) 0)
- return 0;
-if (sizeof (mode_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_mode_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_mode_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
-echo "${ECHO_T}$ac_cv_type_mode_t" >&6
-if test $ac_cv_type_mode_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define mode_t int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
-echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
-if test "${ac_cv_type_uid_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uid_t" >/dev/null 2>&1; then
- ac_cv_type_uid_t=yes
-else
- ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
-echo "${ECHO_T}$ac_cv_type_uid_t" >&6
-if test $ac_cv_type_uid_t = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define uid_t int
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define gid_t int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for pid_t" >&5
-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
-if test "${ac_cv_type_pid_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((pid_t *) 0)
- return 0;
-if (sizeof (pid_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_pid_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_pid_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
-if test $ac_cv_type_pid_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define pid_t int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((size_t *) 0)
- return 0;
-if (sizeof (size_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_size_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for ssize_t" >&5
-echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
-if test "${ac_cv_type_ssize_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((ssize_t *) 0)
- return 0;
-if (sizeof (ssize_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_ssize_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_ssize_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
-echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
-if test $ac_cv_type_ssize_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ssize_t int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for time_t" >&5
-echo $ECHO_N "checking for time_t... $ECHO_C" >&6
-if test "${ac_cv_type_time_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((time_t *) 0)
- return 0;
-if (sizeof (time_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_time_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_time_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5
-echo "${ECHO_T}$ac_cv_type_time_t" >&6
-if test $ac_cv_type_time_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define time_t long
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for long long" >&5
-echo $ECHO_N "checking for long long... $ECHO_C" >&6
-if test "${bash_cv_type_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-long long ll = 1; int i = 63;
-int
-main ()
-{
-
-long long llm = (long long) -1;
-return ll << i | ll >> i | llm / ll | llm % ll;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_type_long_long='long long'
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_type_long_long='long'
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_type_long_long" >&5
-echo "${ECHO_T}$bash_cv_type_long_long" >&6
-if test "$bash_cv_type_long_long" = 'long long'; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LONG_LONG 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for unsigned long long" >&5
-echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6
-if test "${bash_cv_type_unsigned_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-unsigned long long ull = 1; int i = 63;
-int
-main ()
-{
-
-unsigned long long ullmax = (unsigned long long) -1;
-return ull << i | ull >> i | ullmax / ull | ullmax % ull;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_type_unsigned_long_long='unsigned long long'
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_type_unsigned_long_long='unsigned long'
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_type_unsigned_long_long" >&5
-echo "${ECHO_T}$bash_cv_type_unsigned_long_long" >&6
-if test "$bash_cv_type_unsigned_long_long" = 'unsigned long long'; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_UNSIGNED_LONG_LONG 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
-if test "${ac_cv_type_signal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_signal=void
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_signal=int
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-echo "$as_me:$LINENO: checking for char" >&5
-echo $ECHO_N "checking for char... $ECHO_C" >&6
-if test "${ac_cv_type_char+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((char *) 0)
- return 0;
-if (sizeof (char))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_char=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_char=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5
-echo "${ECHO_T}$ac_cv_type_char" >&6
-
-echo "$as_me:$LINENO: checking size of char" >&5
-echo $ECHO_N "checking size of char... $ECHO_C" >&6
-if test "${ac_cv_sizeof_char+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_char" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_char=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (char)); }
-unsigned long ulongval () { return (long) (sizeof (char)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (char))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (char))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (char))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_char=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_char=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5
-echo "${ECHO_T}$ac_cv_sizeof_char" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR $ac_cv_sizeof_char
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for short" >&5
-echo $ECHO_N "checking for short... $ECHO_C" >&6
-if test "${ac_cv_type_short+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((short *) 0)
- return 0;
-if (sizeof (short))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_short=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_short=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5
-echo "${ECHO_T}$ac_cv_type_short" >&6
-
-echo "$as_me:$LINENO: checking size of short" >&5
-echo $ECHO_N "checking size of short... $ECHO_C" >&6
-if test "${ac_cv_sizeof_short+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_short" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (short))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_short=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (short)); }
-unsigned long ulongval () { return (long) (sizeof (short)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (short))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (short))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (short))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_short=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (short), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_short=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5
-echo "${ECHO_T}$ac_cv_sizeof_short" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for int" >&5
-echo $ECHO_N "checking for int... $ECHO_C" >&6
-if test "${ac_cv_type_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((int *) 0)
- return 0;
-if (sizeof (int))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_int=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_int=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5
-echo "${ECHO_T}$ac_cv_type_int" >&6
-
-echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6
-if test "${ac_cv_sizeof_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_int" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (int))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_int=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (int)); }
-unsigned long ulongval () { return (long) (sizeof (int)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (int))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (int))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (int))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_int=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (int), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_int=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for long" >&5
-echo $ECHO_N "checking for long... $ECHO_C" >&6
-if test "${ac_cv_type_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((long *) 0)
- return 0;
-if (sizeof (long))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_long=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5
-echo "${ECHO_T}$ac_cv_type_long" >&6
-
-echo "$as_me:$LINENO: checking size of long" >&5
-echo $ECHO_N "checking size of long... $ECHO_C" >&6
-if test "${ac_cv_sizeof_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_long" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (long)); }
-unsigned long ulongval () { return (long) (sizeof (long)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (long))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (long))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (long))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_long=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for char *" >&5
-echo $ECHO_N "checking for char *... $ECHO_C" >&6
-if test "${ac_cv_type_char_p+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((char * *) 0)
- return 0;
-if (sizeof (char *))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_char_p=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_char_p=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_char_p" >&5
-echo "${ECHO_T}$ac_cv_type_char_p" >&6
-
-echo "$as_me:$LINENO: checking size of char *" >&5
-echo $ECHO_N "checking size of char *... $ECHO_C" >&6
-if test "${ac_cv_sizeof_char_p+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_char_p" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char *))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char *))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char *))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char *))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (char *))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_char_p=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (char *), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char *), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (char *)); }
-unsigned long ulongval () { return (long) (sizeof (char *)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (char *))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (char *))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (char *))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_char_p=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (char *), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (char *), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_char_p=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_char_p" >&5
-echo "${ECHO_T}$ac_cv_sizeof_char_p" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR_P $ac_cv_sizeof_char_p
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for double" >&5
-echo $ECHO_N "checking for double... $ECHO_C" >&6
-if test "${ac_cv_type_double+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((double *) 0)
- return 0;
-if (sizeof (double))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_double=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_double=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_double" >&5
-echo "${ECHO_T}$ac_cv_type_double" >&6
-
-echo "$as_me:$LINENO: checking size of double" >&5
-echo $ECHO_N "checking size of double... $ECHO_C" >&6
-if test "${ac_cv_sizeof_double+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_double" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (double))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (double))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (double))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (double))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (double))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_double=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (double), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (double), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (double)); }
-unsigned long ulongval () { return (long) (sizeof (double)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (double))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (double))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (double))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_double=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (double), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (double), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_double=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_double" >&5
-echo "${ECHO_T}$ac_cv_sizeof_double" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking for long long" >&5
-echo $ECHO_N "checking for long long... $ECHO_C" >&6
-if test "${ac_cv_type_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((long long *) 0)
- return 0;
-if (sizeof (long long))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_long_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_long_long=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_long_long" >&5
-echo "${ECHO_T}$ac_cv_type_long_long" >&6
-
-echo "$as_me:$LINENO: checking size of long long" >&5
-echo $ECHO_N "checking size of long long... $ECHO_C" >&6
-if test "${ac_cv_sizeof_long_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$ac_cv_type_long_long" = yes; then
- # The cast to unsigned long works around a bug in the HP C Compiler
- # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
- # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
- # This bug is HP SR number 8606223364.
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=0 ac_mid=0
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr $ac_mid + 1`
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) < 0)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=-1 ac_mid=-1
- while :; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) >= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_lo=$ac_mid; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_hi=`expr '(' $ac_mid ')' - 1`
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- ac_mid=`expr 2 '*' $ac_mid`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo= ac_hi=
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(((long) (sizeof (long long))) <= $ac_mid)];
-test_array [0] = 0
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_hi=$ac_mid
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_lo=`expr '(' $ac_mid ')' + 1`
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in
-?*) ac_cv_sizeof_long_long=$ac_lo;;
-'') { { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-else
- if test "$cross_compiling" = yes; then
- { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-long longval () { return (long) (sizeof (long long)); }
-unsigned long ulongval () { return (long) (sizeof (long long)); }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- exit (1);
- if (((long) (sizeof (long long))) < 0)
- {
- long i = longval ();
- if (i != ((long) (sizeof (long long))))
- exit (1);
- fprintf (f, "%ld\n", i);
- }
- else
- {
- unsigned long i = ulongval ();
- if (i != ((long) (sizeof (long long))))
- exit (1);
- fprintf (f, "%lu\n", i);
- }
- exit (ferror (f) || fclose (f) != 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_sizeof_long_long=`cat conftest.val`
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-{ { echo "$as_me:$LINENO: error: cannot compute sizeof (long long), 77
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute sizeof (long long), 77
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.val
-else
- ac_cv_sizeof_long_long=0
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_long_long" >&5
-echo "${ECHO_T}$ac_cv_sizeof_long_long" >&6
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
-_ACEOF
-
-
-
-echo "$as_me:$LINENO: checking for u_int" >&5
-echo $ECHO_N "checking for u_int... $ECHO_C" >&6
-if test "${ac_cv_type_u_int+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_int *) 0)
- return 0;
-if (sizeof (u_int))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_int=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_int=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_int" >&5
-echo "${ECHO_T}$ac_cv_type_u_int" >&6
-if test $ac_cv_type_u_int = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_int unsigned int
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for u_long" >&5
-echo $ECHO_N "checking for u_long... $ECHO_C" >&6
-if test "${ac_cv_type_u_long+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_long *) 0)
- return 0;
-if (sizeof (u_long))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_long=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_long=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_long" >&5
-echo "${ECHO_T}$ac_cv_type_u_long" >&6
-if test $ac_cv_type_u_long = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_long unsigned long
-_ACEOF
-
-fi
-
-
-
-if test "$ac_cv_sizeof_short" = 2; then
- echo "$as_me:$LINENO: checking for bits16_t" >&5
-echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits16_t *) 0)
- return 0;
-if (sizeof (bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits16_t" >&6
-if test $ac_cv_type_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits16_t short
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_char" = 2; then
- echo "$as_me:$LINENO: checking for bits16_t" >&5
-echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits16_t *) 0)
- return 0;
-if (sizeof (bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits16_t" >&6
-if test $ac_cv_type_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits16_t char
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for bits16_t" >&5
-echo $ECHO_N "checking for bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits16_t *) 0)
- return 0;
-if (sizeof (bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits16_t" >&6
-if test $ac_cv_type_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits16_t short
-_ACEOF
-
-fi
-
-fi
-
-
-if test "$ac_cv_sizeof_short" = 2; then
- echo "$as_me:$LINENO: checking for u_bits16_t" >&5
-echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits16_t *) 0)
- return 0;
-if (sizeof (u_bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6
-if test $ac_cv_type_u_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits16_t unsigned short
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_char" = 2; then
- echo "$as_me:$LINENO: checking for u_bits16_t" >&5
-echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits16_t *) 0)
- return 0;
-if (sizeof (u_bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6
-if test $ac_cv_type_u_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits16_t unsigned char
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for u_bits16_t" >&5
-echo $ECHO_N "checking for u_bits16_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits16_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits16_t *) 0)
- return 0;
-if (sizeof (u_bits16_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits16_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits16_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits16_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits16_t" >&6
-if test $ac_cv_type_u_bits16_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits16_t unsigned short
-_ACEOF
-
-fi
-
-fi
-
-
-if test "$ac_cv_sizeof_int" = 4; then
- echo "$as_me:$LINENO: checking for bits32_t" >&5
-echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits32_t *) 0)
- return 0;
-if (sizeof (bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits32_t" >&6
-if test $ac_cv_type_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits32_t int
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_long" = 4; then
- echo "$as_me:$LINENO: checking for bits32_t" >&5
-echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits32_t *) 0)
- return 0;
-if (sizeof (bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits32_t" >&6
-if test $ac_cv_type_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits32_t long
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for bits32_t" >&5
-echo $ECHO_N "checking for bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits32_t *) 0)
- return 0;
-if (sizeof (bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits32_t" >&6
-if test $ac_cv_type_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits32_t int
-_ACEOF
-
-fi
-
-fi
-
-
-if test "$ac_cv_sizeof_int" = 4; then
- echo "$as_me:$LINENO: checking for u_bits32_t" >&5
-echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits32_t *) 0)
- return 0;
-if (sizeof (u_bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6
-if test $ac_cv_type_u_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits32_t unsigned int
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_long" = 4; then
- echo "$as_me:$LINENO: checking for u_bits32_t" >&5
-echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits32_t *) 0)
- return 0;
-if (sizeof (u_bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6
-if test $ac_cv_type_u_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits32_t unsigned long
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for u_bits32_t" >&5
-echo $ECHO_N "checking for u_bits32_t... $ECHO_C" >&6
-if test "${ac_cv_type_u_bits32_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((u_bits32_t *) 0)
- return 0;
-if (sizeof (u_bits32_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_u_bits32_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_u_bits32_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_u_bits32_t" >&5
-echo "${ECHO_T}$ac_cv_type_u_bits32_t" >&6
-if test $ac_cv_type_u_bits32_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define u_bits32_t unsigned int
-_ACEOF
-
-fi
-
-fi
-
-
-if test "$ac_cv_sizeof_char_p" = 8; then
- echo "$as_me:$LINENO: checking for bits64_t" >&5
-echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits64_t *) 0)
- return 0;
-if (sizeof (bits64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits64_t" >&6
-if test $ac_cv_type_bits64_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits64_t char *
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_double" = 8; then
- echo "$as_me:$LINENO: checking for bits64_t" >&5
-echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits64_t *) 0)
- return 0;
-if (sizeof (bits64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits64_t" >&6
-if test $ac_cv_type_bits64_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits64_t double
-_ACEOF
-
-fi
-
-elif test -n "$ac_cv_type_long_long" && test "$ac_cv_sizeof_long_long" = 8; then
- echo "$as_me:$LINENO: checking for bits64_t" >&5
-echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits64_t *) 0)
- return 0;
-if (sizeof (bits64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits64_t" >&6
-if test $ac_cv_type_bits64_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits64_t long long
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_long" = 8; then
- echo "$as_me:$LINENO: checking for bits64_t" >&5
-echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits64_t *) 0)
- return 0;
-if (sizeof (bits64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits64_t" >&6
-if test $ac_cv_type_bits64_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits64_t long
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for bits64_t" >&5
-echo $ECHO_N "checking for bits64_t... $ECHO_C" >&6
-if test "${ac_cv_type_bits64_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((bits64_t *) 0)
- return 0;
-if (sizeof (bits64_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_bits64_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_bits64_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_bits64_t" >&5
-echo "${ECHO_T}$ac_cv_type_bits64_t" >&6
-if test $ac_cv_type_bits64_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define bits64_t double
-_ACEOF
-
-fi
-
-fi
-
-
-
-if test "$ac_cv_sizeof_int" = "$ac_cv_sizeof_char_p"; then
- echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
-echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6
-if test "${ac_cv_type_ptrdiff_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((ptrdiff_t *) 0)
- return 0;
-if (sizeof (ptrdiff_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_ptrdiff_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_ptrdiff_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
-echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6
-if test $ac_cv_type_ptrdiff_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ptrdiff_t int
-_ACEOF
-
-fi
-
-elif test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_char_p"; then
- echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
-echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6
-if test "${ac_cv_type_ptrdiff_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((ptrdiff_t *) 0)
- return 0;
-if (sizeof (ptrdiff_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_ptrdiff_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_ptrdiff_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
-echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6
-if test $ac_cv_type_ptrdiff_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ptrdiff_t long
-_ACEOF
-
-fi
-
-elif test "$ac_cv_type_long_long" = yes && test "$ac_cv_sizeof_long_long" = "$ac_cv_sizeof_char_p"; then
- echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
-echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6
-if test "${ac_cv_type_ptrdiff_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((ptrdiff_t *) 0)
- return 0;
-if (sizeof (ptrdiff_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_ptrdiff_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_ptrdiff_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
-echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6
-if test $ac_cv_type_ptrdiff_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ptrdiff_t long long
-_ACEOF
-
-fi
-
-else
- echo "$as_me:$LINENO: checking for ptrdiff_t" >&5
-echo $ECHO_N "checking for ptrdiff_t... $ECHO_C" >&6
-if test "${ac_cv_type_ptrdiff_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((ptrdiff_t *) 0)
- return 0;
-if (sizeof (ptrdiff_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_ptrdiff_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_ptrdiff_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ptrdiff_t" >&5
-echo "${ECHO_T}$ac_cv_type_ptrdiff_t" >&6
-if test $ac_cv_type_ptrdiff_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ptrdiff_t int
-_ACEOF
-
-fi
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether stat file-mode macros are broken" >&5
-echo $ECHO_N "checking whether stat file-mode macros are broken... $ECHO_C" >&6
-if test "${ac_cv_header_stat_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined(S_ISBLK) && defined(S_IFDIR)
-# if S_ISBLK (S_IFDIR)
-You lose.
-# endif
-#endif
-
-#if defined(S_ISBLK) && defined(S_IFCHR)
-# if S_ISBLK (S_IFCHR)
-You lose.
-# endif
-#endif
-
-#if defined(S_ISLNK) && defined(S_IFREG)
-# if S_ISLNK (S_IFREG)
-You lose.
-# endif
-#endif
-
-#if defined(S_ISSOCK) && defined(S_IFREG)
-# if S_ISSOCK (S_IFREG)
-You lose.
-# endif
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "You lose" >/dev/null 2>&1; then
- ac_cv_header_stat_broken=yes
-else
- ac_cv_header_stat_broken=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stat_broken" >&5
-echo "${ECHO_T}$ac_cv_header_stat_broken" >&6
-if test $ac_cv_header_stat_broken = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STAT_MACROS_BROKEN 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether #! works in shell scripts" >&5
-echo $ECHO_N "checking whether #! works in shell scripts... $ECHO_C" >&6
-if test "${ac_cv_sys_interpreter+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- echo '#! /bin/cat
-exit 69
-' >conftest
-chmod u+x conftest
-(SHELL=/bin/sh; export SHELL; ./conftest >/dev/null)
-if test $? -ne 69; then
- ac_cv_sys_interpreter=yes
-else
- ac_cv_sys_interpreter=no
-fi
-rm -f conftest
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_interpreter" >&5
-echo "${ECHO_T}$ac_cv_sys_interpreter" >&6
-interpval=$ac_cv_sys_interpreter
-
-if test $ac_cv_sys_interpreter = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_HASH_BANG_EXEC 1
-_ACEOF
-
-fi
-
-if test "$ac_cv_func_lstat" = "no"; then
-echo "$as_me:$LINENO: checking for lstat" >&5
-echo $ECHO_N "checking for lstat... $ECHO_C" >&6
-if test "${bash_cv_func_lstat+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-int
-main ()
-{
- lstat(".",(struct stat *)0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_func_lstat=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_func_lstat=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_func_lstat" >&5
-echo "${ECHO_T}$bash_cv_func_lstat" >&6
-if test $bash_cv_func_lstat = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LSTAT 1
-_ACEOF
-
-fi
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether the ctype macros accept non-ascii characters" >&5
-echo $ECHO_N "checking whether the ctype macros accept non-ascii characters... $ECHO_C" >&6
-if test "${bash_cv_func_ctype_nonascii+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check ctype macros if cross compiling -- defaulting to no" >&2;}
- bash_cv_func_ctype_nonascii=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_LOCALE_H
-#include <locale.h>
-#endif
-#include <stdio.h>
-#include <ctype.h>
-
-main(c, v)
-int c;
-char *v[];
-{
- char *deflocale;
- unsigned char x;
- int r1, r2;
-
-#ifdef HAVE_SETLOCALE
- /* We take a shot here. If that locale is not known, try the
- system default. We try this one because '\342' (226) is
- known to be a printable character in that locale. */
- deflocale = setlocale(LC_ALL, "en_US.ISO8859-1");
- if (deflocale == 0)
- deflocale = setlocale(LC_ALL, "");
-#endif
-
- x = '\342';
- r1 = isprint(x);
- x -= 128;
- r2 = isprint(x);
- exit (r1 == 0 || r2 == 0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_func_ctype_nonascii=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_func_ctype_nonascii=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_func_ctype_nonascii" >&5
-echo "${ECHO_T}$bash_cv_func_ctype_nonascii" >&6
-if test $bash_cv_func_ctype_nonascii = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define CTYPE_NON_ASCII 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking if dup2 fails to clear the close-on-exec flag" >&5
-echo $ECHO_N "checking if dup2 fails to clear the close-on-exec flag... $ECHO_C" >&6
-if test "${bash_cv_dup2_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check dup2 if cross compiling -- defaulting to no" >&2;}
- bash_cv_dup2_broken=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <fcntl.h>
-main()
-{
- int fd1, fd2, fl;
- fd1 = open("/dev/null", 2);
- if (fcntl(fd1, 2, 1) < 0)
- exit(1);
- fd2 = dup2(fd1, 1);
- if (fd2 < 0)
- exit(2);
- fl = fcntl(fd2, 1, 0);
- /* fl will be 1 if dup2 did not reset the close-on-exec flag. */
- exit(fl != 1);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_dup2_broken=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_dup2_broken=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dup2_broken" >&5
-echo "${ECHO_T}$bash_cv_dup2_broken" >&6
-if test $bash_cv_dup2_broken = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define DUP2_BROKEN 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether pgrps need synchronization" >&5
-echo $ECHO_N "checking whether pgrps need synchronization... $ECHO_C" >&6
-if test "${bash_cv_pgrp_pipe+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check pgrp synchronization if cross compiling -- defaulting to no" >&2;}
- bash_cv_pgrp_pipe=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-main()
-{
-# ifdef GETPGRP_VOID
-# define getpgID() getpgrp()
-# else
-# define getpgID() getpgrp(0)
-# define setpgid(x,y) setpgrp(x,y)
-# endif
- int pid1, pid2, fds[2];
- int status;
- char ok;
-
- switch (pid1 = fork()) {
- case -1:
- exit(1);
- case 0:
- setpgid(0, getpid());
- exit(0);
- }
- setpgid(pid1, pid1);
-
- sleep(2); /* let first child die */
-
- if (pipe(fds) < 0)
- exit(2);
-
- switch (pid2 = fork()) {
- case -1:
- exit(3);
- case 0:
- setpgid(0, pid1);
- ok = getpgID() == pid1;
- write(fds[1], &ok, 1);
- exit(0);
- }
- setpgid(pid2, pid1);
-
- close(fds[1]);
- if (read(fds[0], &ok, 1) != 1)
- exit(4);
- wait(&status);
- wait(&status);
- exit(ok ? 0 : 5);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_pgrp_pipe=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_pgrp_pipe=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_pgrp_pipe" >&5
-echo "${ECHO_T}$bash_cv_pgrp_pipe" >&6
-if test $bash_cv_pgrp_pipe = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define PGRP_PIPE 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for type of signal functions" >&5
-echo $ECHO_N "checking for type of signal functions... $ECHO_C" >&6
-if test "${bash_cv_signal_vintage+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <signal.h>
-int
-main ()
-{
-
- sigset_t ss;
- struct sigaction sa;
- sigemptyset(&ss); sigsuspend(&ss);
- sigaction(SIGINT, &sa, (struct sigaction *) 0);
- sigprocmask(SIG_BLOCK, &ss, (sigset_t *) 0);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_signal_vintage=posix
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <signal.h>
-int
-main ()
-{
-
- int mask = sigmask(SIGINT);
- sigsetmask(mask); sigblock(mask); sigpause(mask);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_signal_vintage=4.2bsd
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
- #include <signal.h>
- RETSIGTYPE foo() { }
-int
-main ()
-{
-
- int mask = sigmask(SIGINT);
- sigset(SIGINT, foo); sigrelse(SIGINT);
- sighold(SIGINT); sigpause(SIGINT);
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_signal_vintage=svr3
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_signal_vintage=v7
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_signal_vintage" >&5
-echo "${ECHO_T}$bash_cv_signal_vintage" >&6
-if test "$bash_cv_signal_vintage" = posix; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POSIX_SIGNALS 1
-_ACEOF
-
-elif test "$bash_cv_signal_vintage" = "4.2bsd"; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_BSD_SIGNALS 1
-_ACEOF
-
-elif test "$bash_cv_signal_vintage" = svr3; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_USG_SIGHOLD 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for sys_errlist and sys_nerr" >&5
-echo $ECHO_N "checking for sys_errlist and sys_nerr... $ECHO_C" >&6
-if test "${bash_cv_sys_errlist+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <errno.h>
-int
-main ()
-{
-extern char *sys_errlist[];
- extern int sys_nerr;
- char *msg = sys_errlist[sys_nerr - 1];
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_sys_errlist=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_sys_errlist=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_sys_errlist" >&5
-echo "${ECHO_T}$bash_cv_sys_errlist" >&6
-if test $bash_cv_sys_errlist = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_ERRLIST 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for sys_siglist in system C library" >&5
-echo $ECHO_N "checking for sys_siglist in system C library... $ECHO_C" >&6
-if test "${bash_cv_sys_siglist+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check for sys_siglist if cross compiling -- defaulting to no" >&2;}
- bash_cv_sys_siglist=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifndef SYS_SIGLIST_DECLARED
-extern char *sys_siglist[];
-#endif
-main()
-{
-char *msg = sys_siglist[2];
-exit(msg == 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_sys_siglist=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_sys_siglist=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_sys_siglist" >&5
-echo "${ECHO_T}$bash_cv_sys_siglist" >&6
-if test $bash_cv_sys_siglist = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_SIGLIST 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for _sys_siglist in signal.h or unistd.h" >&5
-echo $ECHO_N "checking for _sys_siglist in signal.h or unistd.h... $ECHO_C" >&6
-if test "${bash_cv_decl_under_sys_siglist+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-int
-main ()
-{
- char *msg = _sys_siglist[2];
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_decl_under_sys_siglist=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_decl_under_sys_siglist=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_decl_under_sys_siglist" >&5
-echo "${ECHO_T}$bash_cv_decl_under_sys_siglist" >&6
-if test $bash_cv_decl_under_sys_siglist = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define UNDER_SYS_SIGLIST_DECLARED 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for _sys_siglist in system C library" >&5
-echo $ECHO_N "checking for _sys_siglist in system C library... $ECHO_C" >&6
-if test "${bash_cv_under_sys_siglist+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check for _sys_siglist if cross compiling -- defaulting to no" >&2;}
- bash_cv_under_sys_siglist=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#ifndef UNDER_SYS_SIGLIST_DECLARED
-extern char *_sys_siglist[];
-#endif
-main()
-{
-char *msg = (char *)_sys_siglist[2];
-exit(msg == 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_under_sys_siglist=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_under_sys_siglist=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_under_sys_siglist" >&5
-echo "${ECHO_T}$bash_cv_under_sys_siglist" >&6
-if test $bash_cv_under_sys_siglist = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_UNDER_SYS_SIGLIST 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether signal handlers are of type void" >&5
-echo $ECHO_N "checking whether signal handlers are of type void... $ECHO_C" >&6
-if test "${bash_cv_void_sighandler+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-#ifdef __cplusplus
-extern "C"
-#endif
-void (*signal ()) ();
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_void_sighandler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_void_sighandler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_void_sighandler" >&5
-echo "${ECHO_T}$bash_cv_void_sighandler" >&6
-if test $bash_cv_void_sighandler = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define VOID_SIGHANDLER 1
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for clock_t" >&5
-echo $ECHO_N "checking for clock_t... $ECHO_C" >&6
-if test "${bash_cv_type_clock_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sys/times.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "clock_t" >/dev/null 2>&1; then
- bash_cv_type_clock_t=yes
-else
- bash_cv_type_clock_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_clock_t" >&5
-echo "${ECHO_T}$bash_cv_type_clock_t" >&6
-
-if test $bash_cv_type_clock_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define clock_t long
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for sigset_t" >&5
-echo $ECHO_N "checking for sigset_t... $ECHO_C" >&6
-if test "${bash_cv_type_sigset_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <signal.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "sigset_t" >/dev/null 2>&1; then
- bash_cv_type_sigset_t=yes
-else
- bash_cv_type_sigset_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_sigset_t" >&5
-echo "${ECHO_T}$bash_cv_type_sigset_t" >&6
-
-if test $bash_cv_type_sigset_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define sigset_t int
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for quad_t" >&5
-echo $ECHO_N "checking for quad_t... $ECHO_C" >&6
-if test "${bash_cv_type_quad_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "quad_t" >/dev/null 2>&1; then
- bash_cv_type_quad_t=yes
-else
- bash_cv_type_quad_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_quad_t" >&5
-echo "${ECHO_T}$bash_cv_type_quad_t" >&6
-if test $bash_cv_type_quad_t = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_QUAD_T 1
-_ACEOF
-
- fi
-if test $bash_cv_type_quad_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define quad_t long
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for intmax_t" >&5
-echo $ECHO_N "checking for intmax_t... $ECHO_C" >&6
-if test "${bash_cv_type_intmax_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "intmax_t" >/dev/null 2>&1; then
- bash_cv_type_intmax_t=yes
-else
- bash_cv_type_intmax_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_intmax_t" >&5
-echo "${ECHO_T}$bash_cv_type_intmax_t" >&6
-
-if test $bash_cv_type_intmax_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define intmax_t $bash_cv_type_long_long
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for uintmax_t" >&5
-echo $ECHO_N "checking for uintmax_t... $ECHO_C" >&6
-if test "${bash_cv_type_uintmax_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "uintmax_t" >/dev/null 2>&1; then
- bash_cv_type_uintmax_t=yes
-else
- bash_cv_type_uintmax_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_uintmax_t" >&5
-echo "${ECHO_T}$bash_cv_type_uintmax_t" >&6
-
-if test $bash_cv_type_uintmax_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define uintmax_t $bash_cv_type_unsigned_long_long
-_ACEOF
-
-fi
-
-if test "$ac_cv_header_sys_socket_h" = "yes"; then
-
-
-echo "$as_me:$LINENO: checking for socklen_t" >&5
-echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6
-if test "${bash_cv_type_socklen_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sys/socket.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "socklen_t" >/dev/null 2>&1; then
- bash_cv_type_socklen_t=yes
-else
- bash_cv_type_socklen_t=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_socklen_t" >&5
-echo "${ECHO_T}$bash_cv_type_socklen_t" >&6
-if test $bash_cv_type_socklen_t = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_SOCKLEN_T 1
-_ACEOF
-
- fi
-if test $bash_cv_type_socklen_t = no; then
- cat >>confdefs.h <<_ACEOF
-#define socklen_t int
-_ACEOF
-
-fi
-
-fi
-echo "$as_me:$LINENO: checking for size and type of struct rlimit fields" >&5
-echo $ECHO_N "checking for size and type of struct rlimit fields... $ECHO_C" >&6
-if test "${bash_cv_type_rlimit+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/resource.h>
-int
-main ()
-{
-rlim_t xxx;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_type_rlimit=rlim_t
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&5
-echo "$as_me: WARNING: cannot check quad_t if cross compiling -- defaulting to long" >&2;}
- bash_cv_type_rlimit=long
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-main()
-{
-#ifdef HAVE_QUAD_T
- struct rlimit rl;
- if (sizeof(rl.rlim_cur) == sizeof(quad_t))
- exit(0);
-#endif
- exit(1);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_type_rlimit=quad_t
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_type_rlimit=long
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_type_rlimit" >&5
-echo "${ECHO_T}$bash_cv_type_rlimit" >&6
-if test $bash_cv_type_rlimit = quad_t; then
-cat >>confdefs.h <<\_ACEOF
-#define RLIMTYPE quad_t
-_ACEOF
-
-elif test $bash_cv_type_rlimit = rlim_t; then
-cat >>confdefs.h <<\_ACEOF
-#define RLIMTYPE rlim_t
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for struct termios.c_line" >&5
-echo $ECHO_N "checking for struct termios.c_line... $ECHO_C" >&6
-if test "${ac_cv_member_struct_termios_c_line+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <termios.h>
-
-
-int
-main ()
-{
-static struct termios ac_aggr;
-if (ac_aggr.c_line)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_termios_c_line=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <termios.h>
-
-
-int
-main ()
-{
-static struct termios ac_aggr;
-if (sizeof ac_aggr.c_line)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_termios_c_line=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_member_struct_termios_c_line=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_termios_c_line" >&5
-echo "${ECHO_T}$ac_cv_member_struct_termios_c_line" >&6
-if test $ac_cv_member_struct_termios_c_line = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define TERMIOS_LDISC 1
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for struct termio.c_line" >&5
-echo $ECHO_N "checking for struct termio.c_line... $ECHO_C" >&6
-if test "${ac_cv_member_struct_termio_c_line+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <termio.h>
-
-
-int
-main ()
-{
-static struct termio ac_aggr;
-if (ac_aggr.c_line)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_termio_c_line=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <termio.h>
-
-
-int
-main ()
-{
-static struct termio ac_aggr;
-if (sizeof ac_aggr.c_line)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_termio_c_line=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_member_struct_termio_c_line=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_termio_c_line" >&5
-echo "${ECHO_T}$ac_cv_member_struct_termio_c_line" >&6
-if test $ac_cv_member_struct_termio_c_line = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define TERMIO_LDISC 1
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking for struct dirent.d_ino" >&5
-echo $ECHO_N "checking for struct dirent.d_ino... $ECHO_C" >&6
-if test "${bash_cv_dirent_has_dino+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#if defined(HAVE_DIRENT_H)
-# include <dirent.h>
-#else
-# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* SYSNDIR */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* SYSDIR */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif /* HAVE_DIRENT_H */
-
-int
-main ()
-{
-
-struct dirent d; int z; z = d.d_ino;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_dirent_has_dino=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_dirent_has_dino=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dirent_has_dino" >&5
-echo "${ECHO_T}$bash_cv_dirent_has_dino" >&6
-if test $bash_cv_dirent_has_dino = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRUCT_DIRENT_D_INO 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for struct dirent.d_fileno" >&5
-echo $ECHO_N "checking for struct dirent.d_fileno... $ECHO_C" >&6
-if test "${bash_cv_dirent_has_d_fileno+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#if defined(HAVE_DIRENT_H)
-# include <dirent.h>
-#else
-# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* SYSNDIR */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* SYSDIR */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif /* HAVE_DIRENT_H */
-
-int
-main ()
-{
-
-struct dirent d; int z; z = d.d_fileno;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_dirent_has_d_fileno=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_dirent_has_d_fileno=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dirent_has_d_fileno" >&5
-echo "${ECHO_T}$bash_cv_dirent_has_d_fileno" >&6
-if test $bash_cv_dirent_has_d_fileno = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRUCT_DIRENT_D_FILENO 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for struct dirent.d_namlen" >&5
-echo $ECHO_N "checking for struct dirent.d_namlen... $ECHO_C" >&6
-if test "${bash_cv_dirent_has_d_namlen+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#if defined(HAVE_DIRENT_H)
-# include <dirent.h>
-#else
-# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* SYSNDIR */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* SYSDIR */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif /* HAVE_DIRENT_H */
-
-int
-main ()
-{
-
-struct dirent d; int z; z = d.d_namlen;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_dirent_has_d_namlen=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_dirent_has_d_namlen=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dirent_has_d_namlen" >&5
-echo "${ECHO_T}$bash_cv_dirent_has_d_namlen" >&6
-if test $bash_cv_dirent_has_d_namlen = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRUCT_DIRENT_D_NAMLEN 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for struct winsize in sys/ioctl.h and termios.h" >&5
-echo $ECHO_N "checking for struct winsize in sys/ioctl.h and termios.h... $ECHO_C" >&6
-if test "${bash_cv_struct_winsize_header+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/ioctl.h>
-int
-main ()
-{
-struct winsize x;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_struct_winsize_header=ioctl_h
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <termios.h>
-int
-main ()
-{
-struct winsize x;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_struct_winsize_header=termios_h
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_struct_winsize_header=other
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-if test $bash_cv_struct_winsize_header = ioctl_h; then
- echo "$as_me:$LINENO: result: sys/ioctl.h" >&5
-echo "${ECHO_T}sys/ioctl.h" >&6
- cat >>confdefs.h <<\_ACEOF
-#define STRUCT_WINSIZE_IN_SYS_IOCTL 1
-_ACEOF
-
-elif test $bash_cv_struct_winsize_header = termios_h; then
- echo "$as_me:$LINENO: result: termios.h" >&5
-echo "${ECHO_T}termios.h" >&6
- cat >>confdefs.h <<\_ACEOF
-#define STRUCT_WINSIZE_IN_TERMIOS 1
-_ACEOF
-
-else
- echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
-fi
-
-echo "$as_me:$LINENO: checking for struct timeval in sys/time.h and time.h" >&5
-echo $ECHO_N "checking for struct timeval in sys/time.h and time.h... $ECHO_C" >&6
-if test "${bash_cv_struct_timeval+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "struct timeval" >/dev/null 2>&1; then
- bash_cv_struct_timeval=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "struct timeval" >/dev/null 2>&1; then
- bash_cv_struct_timeval=yes
-else
- bash_cv_struct_timeval=no
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_struct_timeval" >&5
-echo "${ECHO_T}$bash_cv_struct_timeval" >&6
-if test $bash_cv_struct_timeval = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_TIMEVAL 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for struct stat.st_blocks" >&5
-echo $ECHO_N "checking for struct stat.st_blocks... $ECHO_C" >&6
-if test "${ac_cv_member_struct_stat_st_blocks+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static struct stat ac_aggr;
-if (ac_aggr.st_blocks)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_stat_st_blocks=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-static struct stat ac_aggr;
-if (sizeof ac_aggr.st_blocks)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_stat_st_blocks=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_member_struct_stat_st_blocks=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blocks" >&5
-echo "${ECHO_T}$ac_cv_member_struct_stat_st_blocks" >&6
-if test $ac_cv_member_struct_stat_st_blocks = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_BLOCKS 1
-_ACEOF
-
-
-fi
-
-echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
-echo $ECHO_N "checking whether struct tm is in sys/time.h or time.h... $ECHO_C" >&6
-if test "${ac_cv_struct_tm+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <time.h>
-
-int
-main ()
-{
-struct tm *tp; tp->tm_sec;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_struct_tm=time.h
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_struct_tm=sys/time.h
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
-echo "${ECHO_T}$ac_cv_struct_tm" >&6
-if test $ac_cv_struct_tm = sys/time.h; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TM_IN_SYS_TIME 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
-echo $ECHO_N "checking for struct tm.tm_zone... $ECHO_C" >&6
-if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (ac_aggr.tm_zone)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_tm_tm_zone=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <$ac_cv_struct_tm>
-
-
-int
-main ()
-{
-static struct tm ac_aggr;
-if (sizeof ac_aggr.tm_zone)
-return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_member_struct_tm_tm_zone=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_member_struct_tm_tm_zone=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
-echo "${ECHO_T}$ac_cv_member_struct_tm_tm_zone" >&6
-if test $ac_cv_member_struct_tm_tm_zone = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_TM_TM_ZONE 1
-_ACEOF
-
-
-fi
-
-if test "$ac_cv_member_struct_tm_tm_zone" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TM_ZONE 1
-_ACEOF
-
-else
- echo "$as_me:$LINENO: checking for tzname" >&5
-echo $ECHO_N "checking for tzname... $ECHO_C" >&6
-if test "${ac_cv_var_tzname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-#ifndef tzname /* For SGI. */
-extern char *tzname[]; /* RS6000 and others reject char **tzname. */
-#endif
-
-int
-main ()
-{
-atoi(*tzname);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_var_tzname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_var_tzname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
-echo "${ECHO_T}$ac_cv_var_tzname" >&6
- if test $ac_cv_var_tzname = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TZNAME 1
-_ACEOF
-
- fi
-fi
-
-echo "$as_me:$LINENO: checking for struct timezone in sys/time.h and time.h" >&5
-echo $ECHO_N "checking for struct timezone in sys/time.h and time.h... $ECHO_C" >&6
-if test "${bash_cv_struct_timezone+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "struct timezone" >/dev/null 2>&1; then
- bash_cv_struct_timezone=yes
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <time.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "struct timezone" >/dev/null 2>&1; then
- bash_cv_struct_timezone=yes
-else
- bash_cv_struct_timezone=no
-fi
-rm -f conftest*
-
-fi
-rm -f conftest*
-
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_struct_timezone" >&5
-echo "${ECHO_T}$bash_cv_struct_timezone" >&6
-if test $bash_cv_struct_timezone = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRUCT_TIMEZONE 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for the existence of strsignal" >&5
-echo $ECHO_N "checking for the existence of strsignal... $ECHO_C" >&6
-if test "${bash_cv_have_strsignal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-int
-main ()
-{
-char *s = (char *)strsignal(2);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_have_strsignal=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_have_strsignal=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_have_strsignal" >&5
-echo "${ECHO_T}$bash_cv_have_strsignal" >&6
-if test $bash_cv_have_strsignal = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STRSIGNAL 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking if opendir() opens non-directories" >&5
-echo $ECHO_N "checking if opendir() opens non-directories... $ECHO_C" >&6
-if test "${bash_cv_opendir_not_robust+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check opendir if cross compiling -- defaulting to no" >&2;}
- bash_cv_opendir_not_robust=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-#if defined(HAVE_DIRENT_H)
-# include <dirent.h>
-#else
-# define dirent direct
-# ifdef HAVE_SYS_NDIR_H
-# include <sys/ndir.h>
-# endif /* SYSNDIR */
-# ifdef HAVE_SYS_DIR_H
-# include <sys/dir.h>
-# endif /* SYSDIR */
-# ifdef HAVE_NDIR_H
-# include <ndir.h>
-# endif
-#endif /* HAVE_DIRENT_H */
-main()
-{
-DIR *dir;
-int fd, err;
-err = mkdir("/tmp/bash-aclocal", 0700);
-if (err < 0) {
- perror("mkdir");
- exit(1);
-}
-unlink("/tmp/bash-aclocal/not_a_directory");
-fd = open("/tmp/bash-aclocal/not_a_directory", O_WRONLY|O_CREAT|O_EXCL, 0666);
-write(fd, "\n", 1);
-close(fd);
-dir = opendir("/tmp/bash-aclocal/not_a_directory");
-unlink("/tmp/bash-aclocal/not_a_directory");
-rmdir("/tmp/bash-aclocal");
-exit (dir == 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_opendir_not_robust=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_opendir_not_robust=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_opendir_not_robust" >&5
-echo "${ECHO_T}$bash_cv_opendir_not_robust" >&6
-if test $bash_cv_opendir_not_robust = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define OPENDIR_NOT_ROBUST 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether ulimit can substitute for getdtablesize" >&5
-echo $ECHO_N "checking whether ulimit can substitute for getdtablesize... $ECHO_C" >&6
-if test "${bash_cv_ulimit_maxfds+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check ulimit if cross compiling -- defaulting to no" >&2;}
- bash_cv_ulimit_maxfds=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-main()
-{
-long maxfds = ulimit(4, 0L);
-exit (maxfds == -1L);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_ulimit_maxfds=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_ulimit_maxfds=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_ulimit_maxfds" >&5
-echo "${ECHO_T}$bash_cv_ulimit_maxfds" >&6
-if test $bash_cv_ulimit_maxfds = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define ULIMIT_MAXFDS 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking to see if getenv can be redefined" >&5
-echo $ECHO_N "checking to see if getenv can be redefined... $ECHO_C" >&6
-if test "${bash_cv_getenv_redef+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&5
-echo "$as_me: WARNING: cannot check getenv redefinition if cross compiling -- defaulting to yes" >&2;}
- bash_cv_getenv_redef=yes
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-#ifndef __STDC__
-# ifndef const
-# define const
-# endif
-#endif
-char *
-getenv (name)
-#if defined (__linux__) || defined (__bsdi__) || defined (convex)
- const char *name;
-#else
- char const *name;
-#endif /* !__linux__ && !__bsdi__ && !convex */
-{
-return "42";
-}
-main()
-{
-char *s;
-/* The next allows this program to run, but does not allow bash to link
- when it redefines getenv. I'm not really interested in figuring out
- why not. */
-#if defined (NeXT)
-exit(1);
-#endif
-s = getenv("ABCDE");
-exit(s == 0); /* force optimizer to leave getenv in */
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_getenv_redef=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_getenv_redef=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_getenv_redef" >&5
-echo "${ECHO_T}$bash_cv_getenv_redef" >&6
-if test $bash_cv_getenv_redef = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define CAN_REDEFINE_GETENV 1
-_ACEOF
-
-fi
-
-if test "$ac_cv_func_getcwd" = "yes"; then
-echo "$as_me:$LINENO: checking if getcwd() will dynamically allocate memory" >&5
-echo $ECHO_N "checking if getcwd() will dynamically allocate memory... $ECHO_C" >&6
-if test "${bash_cv_getcwd_malloc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no" >&2;}
- bash_cv_getcwd_malloc=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-main()
-{
- char *xpwd;
- xpwd = getcwd(0, 0);
- exit (xpwd == 0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_getcwd_malloc=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_getcwd_malloc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_getcwd_malloc" >&5
-echo "${ECHO_T}$bash_cv_getcwd_malloc" >&6
-if test $bash_cv_getcwd_malloc = no; then
-cat >>confdefs.h <<\_ACEOF
-#define GETCWD_BROKEN 1
-_ACEOF
-
-case $LIBOBJS in
- "getcwd.$ac_objext" | \
- *" getcwd.$ac_objext" | \
- "getcwd.$ac_objext "* | \
- *" getcwd.$ac_objext "* ) ;;
- *) LIBOBJS="$LIBOBJS getcwd.$ac_objext" ;;
-esac
-
-fi
-
-fi
-
-echo "$as_me:$LINENO: checking for presence of POSIX-style sigsetjmp/siglongjmp" >&5
-echo $ECHO_N "checking for presence of POSIX-style sigsetjmp/siglongjmp... $ECHO_C" >&6
-if test "${bash_cv_func_sigsetjmp+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&5
-echo "$as_me: WARNING: cannot check for sigsetjmp/siglongjmp if cross-compiling -- defaulting to missing" >&2;}
- bash_cv_func_sigsetjmp=missing
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <sys/types.h>
-#include <signal.h>
-#include <setjmp.h>
-
-main()
-{
-#if !defined (_POSIX_VERSION) || !defined (HAVE_POSIX_SIGNALS)
-exit (1);
-#else
-
-int code;
-sigset_t set, oset;
-sigjmp_buf xx;
-
-/* get the mask */
-sigemptyset(&set);
-sigemptyset(&oset);
-sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &set);
-sigprocmask(SIG_BLOCK, (sigset_t *)NULL, &oset);
-
-/* save it */
-code = sigsetjmp(xx, 1);
-if (code)
- exit(0); /* could get sigmask and compare to oset here. */
-
-/* change it */
-sigaddset(&set, SIGINT);
-sigprocmask(SIG_BLOCK, &set, (sigset_t *)NULL);
-
-/* and siglongjmp */
-siglongjmp(xx, 10);
-exit(1);
-#endif
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_func_sigsetjmp=present
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_func_sigsetjmp=missing
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_func_sigsetjmp" >&5
-echo "${ECHO_T}$bash_cv_func_sigsetjmp" >&6
-if test $bash_cv_func_sigsetjmp = present; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_POSIX_SIGSETJMP 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether or not strcoll and strcmp differ" >&5
-echo $ECHO_N "checking whether or not strcoll and strcmp differ... $ECHO_C" >&6
-if test "${bash_cv_func_strcoll_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check strcoll if cross compiling -- defaulting to no" >&2;}
- bash_cv_func_strcoll_broken=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#if defined (HAVE_LOCALE_H)
-#include <locale.h>
-#endif
-
-main(c, v)
-int c;
-char *v[];
-{
- int r1, r2;
- char *deflocale, *defcoll;
-
-#ifdef HAVE_SETLOCALE
- deflocale = setlocale(LC_ALL, "");
- defcoll = setlocale(LC_COLLATE, "");
-#endif
-
-#ifdef HAVE_STRCOLL
- /* These two values are taken from tests/glob-test. */
- r1 = strcoll("abd", "aXd");
-#else
- r1 = 0;
-#endif
- r2 = strcmp("abd", "aXd");
-
- /* These two should both be greater than 0. It is permissible for
- a system to return different values, as long as the sign is the
- same. */
-
- /* Exit with 1 (failure) if these two values are both > 0, since
- this tests whether strcoll(3) is broken with respect to strcmp(3)
- in the default locale. */
- exit (r1 > 0 && r2 > 0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_func_strcoll_broken=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_func_strcoll_broken=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_func_strcoll_broken" >&5
-echo "${ECHO_T}$bash_cv_func_strcoll_broken" >&6
-if test $bash_cv_func_strcoll_broken = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define STRCOLL_BROKEN 1
-_ACEOF
-
-fi
-
-
-
-if test "$ac_cv_func_putenv" = "yes"; then
-
-
-
-echo "$as_me:$LINENO: checking for standard-conformant putenv declaration" >&5
-echo $ECHO_N "checking for standard-conformant putenv declaration... $ECHO_C" >&6
-if test "${bash_cv_std_putenv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#ifndef __STDC__
-# ifndef const
-# define const
-# endif
-#endif
-#ifdef PROTOTYPES
-extern int putenv (char *);
-#else
-extern int putenv ();
-#endif
-
-int
-main ()
-{
-return (putenv == 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_std_putenv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_std_putenv=no
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_std_putenv" >&5
-echo "${ECHO_T}$bash_cv_std_putenv" >&6
-if test $bash_cv_std_putenv = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_PUTENV 1
-_ACEOF
-
-fi
-
-else
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_PUTENV 1
-_ACEOF
-
-fi
-if test "$ac_cv_func_unsetenv" = "yes"; then
-
-
-
-echo "$as_me:$LINENO: checking for standard-conformant unsetenv declaration" >&5
-echo $ECHO_N "checking for standard-conformant unsetenv declaration... $ECHO_C" >&6
-if test "${bash_cv_std_unsetenv+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-#ifndef __STDC__
-# ifndef const
-# define const
-# endif
-#endif
-#ifdef PROTOTYPES
-extern int unsetenv (const char *);
-#else
-extern int unsetenv ();
-#endif
-
-int
-main ()
-{
-return (unsetenv == 0);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_std_unsetenv=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_std_unsetenv=no
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $bash_cv_std_unsetenv" >&5
-echo "${ECHO_T}$bash_cv_std_unsetenv" >&6
-if test $bash_cv_std_unsetenv = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_UNSETENV 1
-_ACEOF
-
-fi
-
-else
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_STD_UNSETENV 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for printf floating point output in hex notation" >&5
-echo $ECHO_N "checking for printf floating point output in hex notation... $ECHO_C" >&6
-if test "${bash_cv_printf_a_format+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check printf if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check printf if cross compiling -- defaulting to no" >&2;}
- bash_cv_printf_a_format=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <stdio.h>
-#include <string.h>
-
-int
-main()
-{
- double y = 0.0;
- char abuf[1024];
-
- sprintf(abuf, "%A", y);
- exit(strchr(abuf, 'P') == (char *)0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_printf_a_format=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_printf_a_format=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_printf_a_format" >&5
-echo "${ECHO_T}$bash_cv_printf_a_format" >&6
-if test $bash_cv_printf_a_format = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PRINTF_A_FORMAT 1
-_ACEOF
-
-fi
-
-
-
-
-echo "$as_me:$LINENO: checking if signal handlers must be reinstalled when invoked" >&5
-echo $ECHO_N "checking if signal handlers must be reinstalled when invoked... $ECHO_C" >&6
-if test "${bash_cv_must_reinstall_sighandlers+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check signal handling if cross compiling -- defaulting to no" >&2;}
- bash_cv_must_reinstall_sighandlers=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <signal.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-typedef RETSIGTYPE sigfunc();
-
-int nsigint;
-
-#ifdef HAVE_POSIX_SIGNALS
-sigfunc *
-set_signal_handler(sig, handler)
- int sig;
- sigfunc *handler;
-{
- struct sigaction act, oact;
- act.sa_handler = handler;
- act.sa_flags = 0;
- sigemptyset (&act.sa_mask);
- sigemptyset (&oact.sa_mask);
- sigaction (sig, &act, &oact);
- return (oact.sa_handler);
-}
-#else
-#define set_signal_handler(s, h) signal(s, h)
-#endif
-
-RETSIGTYPE
-sigint(s)
-int s;
-{
- nsigint++;
-}
-
-main()
-{
- nsigint = 0;
- set_signal_handler(SIGINT, sigint);
- kill((int)getpid(), SIGINT);
- kill((int)getpid(), SIGINT);
- exit(nsigint != 2);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_must_reinstall_sighandlers=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_must_reinstall_sighandlers=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_must_reinstall_sighandlers" >&5
-echo "${ECHO_T}$bash_cv_must_reinstall_sighandlers" >&6
-if test $bash_cv_must_reinstall_sighandlers = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define MUST_REINSTALL_SIGHANDLERS 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for presence of necessary job control definitions" >&5
-echo $ECHO_N "checking for presence of necessary job control definitions... $ECHO_C" >&6
-if test "${bash_cv_job_control_missing+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&5
-echo "$as_me: WARNING: cannot check job control if cross-compiling -- defaulting to missing" >&2;}
- bash_cv_job_control_missing=missing
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <signal.h>
-
-/* Add more tests in here as appropriate. */
-main()
-{
-/* signal type */
-#if !defined (HAVE_POSIX_SIGNALS) && !defined (HAVE_BSD_SIGNALS)
-exit(1);
-#endif
-
-/* signals and tty control. */
-#if !defined (SIGTSTP) || !defined (SIGSTOP) || !defined (SIGCONT)
-exit (1);
-#endif
-
-/* process control */
-#if !defined (WNOHANG) || !defined (WUNTRACED)
-exit(1);
-#endif
-
-/* Posix systems have tcgetpgrp and waitpid. */
-#if defined (_POSIX_VERSION) && !defined (HAVE_TCGETPGRP)
-exit(1);
-#endif
-
-#if defined (_POSIX_VERSION) && !defined (HAVE_WAITPID)
-exit(1);
-#endif
-
-/* Other systems have TIOCSPGRP/TIOCGPRGP and wait3. */
-#if !defined (_POSIX_VERSION) && !defined (HAVE_WAIT3)
-exit(1);
-#endif
-
-exit(0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_job_control_missing=present
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_job_control_missing=missing
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_job_control_missing" >&5
-echo "${ECHO_T}$bash_cv_job_control_missing" >&6
-if test $bash_cv_job_control_missing = missing; then
-cat >>confdefs.h <<\_ACEOF
-#define JOB_CONTROL_MISSING 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for presence of named pipes" >&5
-echo $ECHO_N "checking for presence of named pipes... $ECHO_C" >&6
-if test "${bash_cv_sys_named_pipes+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&5
-echo "$as_me: WARNING: cannot check for named pipes if cross-compiling -- defaulting to missing" >&2;}
- bash_cv_sys_named_pipes=missing
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-/* Add more tests in here as appropriate. */
-main()
-{
-int fd, err;
-
-#if defined (HAVE_MKFIFO)
-exit (0);
-#endif
-
-#if !defined (S_IFIFO) && (defined (_POSIX_VERSION) && !defined (S_ISFIFO))
-exit (1);
-#endif
-
-#if defined (NeXT)
-exit (1);
-#endif
-err = mkdir("/tmp/bash-aclocal", 0700);
-if (err < 0) {
- perror ("mkdir");
- exit(1);
-}
-fd = mknod ("/tmp/bash-aclocal/sh-np-autoconf", 0666 | S_IFIFO, 0);
-if (fd == -1) {
- rmdir ("/tmp/bash-aclocal");
- exit (1);
-}
-close(fd);
-unlink ("/tmp/bash-aclocal/sh-np-autoconf");
-rmdir ("/tmp/bash-aclocal");
-exit(0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_sys_named_pipes=present
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_sys_named_pipes=missing
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_sys_named_pipes" >&5
-echo "${ECHO_T}$bash_cv_sys_named_pipes" >&6
-if test $bash_cv_sys_named_pipes = missing; then
-cat >>confdefs.h <<\_ACEOF
-#define NAMED_PIPES_MISSING 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking whether termios.h defines TIOCGWINSZ" >&5
-echo $ECHO_N "checking whether termios.h defines TIOCGWINSZ... $ECHO_C" >&6
-if test "${ac_cv_sys_tiocgwinsz_in_termios_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <termios.h>
-#ifdef TIOCGWINSZ
- yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- ac_cv_sys_tiocgwinsz_in_termios_h=yes
-else
- ac_cv_sys_tiocgwinsz_in_termios_h=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_termios_h" >&5
-echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_termios_h" >&6
-
-if test $ac_cv_sys_tiocgwinsz_in_termios_h != yes; then
- echo "$as_me:$LINENO: checking whether sys/ioctl.h defines TIOCGWINSZ" >&5
-echo $ECHO_N "checking whether sys/ioctl.h defines TIOCGWINSZ... $ECHO_C" >&6
-if test "${ac_cv_sys_tiocgwinsz_in_sys_ioctl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/ioctl.h>
-#ifdef TIOCGWINSZ
- yes
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "yes" >/dev/null 2>&1; then
- ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=yes
-else
- ac_cv_sys_tiocgwinsz_in_sys_ioctl_h=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&5
-echo "${ECHO_T}$ac_cv_sys_tiocgwinsz_in_sys_ioctl_h" >&6
-
- if test $ac_cv_sys_tiocgwinsz_in_sys_ioctl_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define GWINSZ_IN_SYS_IOCTL 1
-_ACEOF
-
- fi
-fi
-
-echo "$as_me:$LINENO: checking for TIOCSTAT in sys/ioctl.h" >&5
-echo $ECHO_N "checking for TIOCSTAT in sys/ioctl.h... $ECHO_C" >&6
-if test "${bash_cv_tiocstat_in_ioctl+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/ioctl.h>
-int
-main ()
-{
-int x = TIOCSTAT;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_tiocstat_in_ioctl=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_tiocstat_in_ioctl=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_tiocstat_in_ioctl" >&5
-echo "${ECHO_T}$bash_cv_tiocstat_in_ioctl" >&6
-if test $bash_cv_tiocstat_in_ioctl = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define TIOCSTAT_IN_SYS_IOCTL 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for FIONREAD in sys/ioctl.h" >&5
-echo $ECHO_N "checking for FIONREAD in sys/ioctl.h... $ECHO_C" >&6
-if test "${bash_cv_fionread_in_ioctl+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/ioctl.h>
-int
-main ()
-{
-int x = FIONREAD;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_fionread_in_ioctl=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_fionread_in_ioctl=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_fionread_in_ioctl" >&5
-echo "${ECHO_T}$bash_cv_fionread_in_ioctl" >&6
-if test $bash_cv_fionread_in_ioctl = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define FIONREAD_IN_SYS_IOCTL 1
-_ACEOF
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether WCONTINUED flag to waitpid is unavailable or available but broken" >&5
-echo $ECHO_N "checking whether WCONTINUED flag to waitpid is unavailable or available but broken... $ECHO_C" >&6
-if test "${bash_cv_wcontinued_broken+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check WCONTINUED if cross compiling -- defaulting to no" >&5
-echo "$as_me: WARNING: cannot check WCONTINUED if cross compiling -- defaulting to no" >&2;}
- bash_cv_wcontinued_broken=no
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <errno.h>
-
-#ifndef errno
-extern int errno;
-#endif
-main()
-{
- int x;
-
- x = waitpid(-1, (int *)0, WNOHANG|WCONTINUED);
- if (x == -1 && errno == EINVAL)
- exit (1);
- else
- exit (0);
-}
-
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_wcontinued_broken=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_wcontinued_broken=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_wcontinued_broken" >&5
-echo "${ECHO_T}$bash_cv_wcontinued_broken" >&6
-if test $bash_cv_wcontinued_broken = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define WCONTINUED_BROKEN 1
-_ACEOF
-
-fi
-
-
-echo "$as_me:$LINENO: checking for speed_t in sys/types.h" >&5
-echo $ECHO_N "checking for speed_t in sys/types.h... $ECHO_C" >&6
-if test "${bash_cv_speed_t_in_sys_types+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-int
-main ()
-{
-speed_t x;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_speed_t_in_sys_types=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_speed_t_in_sys_types=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_speed_t_in_sys_types" >&5
-echo "${ECHO_T}$bash_cv_speed_t_in_sys_types" >&6
-if test $bash_cv_speed_t_in_sys_types = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define SPEED_T_IN_SYS_TYPES 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether getpw functions are declared in pwd.h" >&5
-echo $ECHO_N "checking whether getpw functions are declared in pwd.h... $ECHO_C" >&6
-if test "${bash_cv_getpw_declared+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-#include <pwd.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "getpwuid" >/dev/null 2>&1; then
- bash_cv_getpw_declared=yes
-else
- bash_cv_getpw_declared=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_getpw_declared" >&5
-echo "${ECHO_T}$bash_cv_getpw_declared" >&6
-if test $bash_cv_getpw_declared = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETPW_DECLS 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for unusable real-time signals due to large values" >&5
-echo $ECHO_N "checking for unusable real-time signals due to large values... $ECHO_C" >&6
-if test "${bash_cv_unusable_rtsigs+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- { echo "$as_me:$LINENO: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&5
-echo "$as_me: WARNING: cannot check real-time signals if cross compiling -- defaulting to yes" >&2;}
- bash_cv_unusable_rtsigs=yes
-
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <signal.h>
-
-#ifndef NSIG
-# define NSIG 64
-#endif
-
-main ()
-{
- int n_sigs = 2 * NSIG;
-#ifdef SIGRTMIN
- int rtmin = SIGRTMIN;
-#else
- int rtmin = 0;
-#endif
-
- exit(rtmin < n_sigs);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_unusable_rtsigs=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-bash_cv_unusable_rtsigs=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_unusable_rtsigs" >&5
-echo "${ECHO_T}$bash_cv_unusable_rtsigs" >&6
-if test $bash_cv_unusable_rtsigs = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define UNUSABLE_RT_SIGNALS 1
-_ACEOF
-
-fi
-
-
-
-
-
-if test "$bash_cv_sys_siglist" = no && test "$bash_cv_under_sys_siglist" = no && test "$bash_cv_have_strsignal" = no; then
- SIGLIST_O=siglist.o
-else
- SIGLIST_O=
-fi
-
-
-
-case "$host_os" in
-hpux*) echo "$as_me:$LINENO: checking whether $host_os needs _KERNEL for RLIMIT defines" >&5
-echo $ECHO_N "checking whether $host_os needs _KERNEL for RLIMIT defines... $ECHO_C" >&6
-if test "${bash_cv_kernel_rlimit+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#include <sys/resource.h>
-
-int
-main ()
-{
-
- int f;
- f = RLIMIT_DATA;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_kernel_rlimit=no
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-#include <sys/types.h>
-#define _KERNEL
-#include <sys/resource.h>
-#undef _KERNEL
-
-int
-main ()
-{
-
- int f;
- f = RLIMIT_DATA;
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- bash_cv_kernel_rlimit=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-bash_cv_kernel_rlimit=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_kernel_rlimit" >&5
-echo "${ECHO_T}$bash_cv_kernel_rlimit" >&6
-if test $bash_cv_kernel_rlimit = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define RLIMIT_NEEDS_KERNEL 1
-_ACEOF
-
-fi
- ;;
-esac
-
-if test "$opt_readline" = yes; then
-case "$host_os" in
-aix*) prefer_curses=yes ;;
-esac
-
-if test "X$bash_cv_termcap_lib" = "X"; then
-_bash_needmsg=yes
-else
-echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
-echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6
-_bash_needmsg=
-fi
-if test "${bash_cv_termcap_lib+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- echo "$as_me:$LINENO: checking for tgetent" >&5
-echo $ECHO_N "checking for tgetent... $ECHO_C" >&6
-if test "${ac_cv_func_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define tgetent to an innocuous variant, in case <limits.h> declares tgetent.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define tgetent innocuous_tgetent
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char tgetent (); below.
- Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- <limits.h> exists even on freestanding compilers. */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef tgetent
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_tgetent) || defined (__stub___tgetent)
-choke me
-#else
-char (*f) () = tgetent;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != tgetent;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5
-echo "${ECHO_T}$ac_cv_func_tgetent" >&6
-if test $ac_cv_func_tgetent = yes; then
- bash_cv_termcap_lib=libc
-else
- echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5
-echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6
-if test "${ac_cv_lib_termcap_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltermcap $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_termcap_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_termcap_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6
-if test $ac_cv_lib_termcap_tgetent = yes; then
- bash_cv_termcap_lib=libtermcap
-else
- echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5
-echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6
-if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-ltinfo $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_tinfo_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_tinfo_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6
-if test $ac_cv_lib_tinfo_tgetent = yes; then
- bash_cv_termcap_lib=libtinfo
-else
- echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5
-echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6
-if test "${ac_cv_lib_curses_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcurses $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_curses_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_curses_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6
-if test $ac_cv_lib_curses_tgetent = yes; then
- bash_cv_termcap_lib=libcurses
-else
- echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5
-echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6
-if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lncurses $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char tgetent ();
-int
-main ()
-{
-tgetent ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_ncurses_tgetent=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_ncurses_tgetent=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5
-echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6
-if test $ac_cv_lib_ncurses_tgetent = yes; then
- bash_cv_termcap_lib=libncurses
-else
- bash_cv_termcap_lib=gnutermcap
-fi
-
-fi
-
-fi
-
-fi
-
-fi
-
-fi
-
-if test "X$_bash_needmsg" = "Xyes"; then
-echo "$as_me:$LINENO: checking which library has the termcap functions" >&5
-echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5
-echo "${ECHO_T}using $bash_cv_termcap_lib" >&6
-if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
-LDFLAGS="$LDFLAGS -L./lib/termcap"
-TERMCAP_LIB="./lib/termcap/libtermcap.a"
-TERMCAP_DEP="./lib/termcap/libtermcap.a"
-elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
-TERMCAP_LIB=-ltermcap
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libtinfo; then
-TERMCAP_LIB=-ltinfo
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libncurses; then
-TERMCAP_LIB=-lncurses
-TERMCAP_DEP=
-elif test $bash_cv_termcap_lib = libc; then
-TERMCAP_LIB=
-TERMCAP_DEP=
-else
-TERMCAP_LIB=-lcurses
-TERMCAP_DEP=
-fi
-
-fi
-
-
-
-echo "$as_me:$LINENO: checking whether /dev/fd is available" >&5
-echo $ECHO_N "checking whether /dev/fd is available... $ECHO_C" >&6
-if test "${bash_cv_dev_fd+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then
-# check for systems like FreeBSD 5 that only provide /dev/fd/[012]
- exec 3<&0
- if test -r /dev/fd/3; then
- bash_cv_dev_fd=standard
- else
- bash_cv_dev_fd=absent
- fi
- exec 3<&-
- elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then
- bash_cv_dev_fd=whacky
- else
- bash_cv_dev_fd=absent
- fi
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dev_fd" >&5
-echo "${ECHO_T}$bash_cv_dev_fd" >&6
-if test $bash_cv_dev_fd = "standard"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEV_FD 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define DEV_FD_PREFIX "/dev/fd/"
-_ACEOF
-
-elif test $bash_cv_dev_fd = "whacky"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEV_FD 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define DEV_FD_PREFIX "/proc/self/fd/"
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking whether /dev/stdin stdout stderr are available" >&5
-echo $ECHO_N "checking whether /dev/stdin stdout stderr are available... $ECHO_C" >&6
-if test "${bash_cv_dev_stdin+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -d /dev/fd && test -r /dev/stdin < /dev/null; then
- bash_cv_dev_stdin=present
- elif test -d /proc/self/fd && test -r /dev/stdin < /dev/null; then
- bash_cv_dev_stdin=present
- else
- bash_cv_dev_stdin=absent
- fi
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_dev_stdin" >&5
-echo "${ECHO_T}$bash_cv_dev_stdin" >&6
-if test $bash_cv_dev_stdin = "present"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEV_STDIN 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for default mail directory" >&5
-echo $ECHO_N "checking for default mail directory... $ECHO_C" >&6
-if test "${bash_cv_mail_dir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test -d /var/mail; then
- bash_cv_mail_dir=/var/mail
- elif test -d /var/spool/mail; then
- bash_cv_mail_dir=/var/spool/mail
- elif test -d /usr/mail; then
- bash_cv_mail_dir=/usr/mail
- elif test -d /usr/spool/mail; then
- bash_cv_mail_dir=/usr/spool/mail
- else
- bash_cv_mail_dir=unknown
- fi
-
-fi
-
-echo "$as_me:$LINENO: result: $bash_cv_mail_dir" >&5
-echo "${ECHO_T}$bash_cv_mail_dir" >&6
-cat >>confdefs.h <<_ACEOF
-#define DEFAULT_MAIL_DIRECTORY "$bash_cv_mail_dir"
-_ACEOF
-
-
-
-if test "$bash_cv_job_control_missing" = missing; then
- opt_job_control=no
-fi
-
-if test "$opt_job_control" = yes; then
-cat >>confdefs.h <<\_ACEOF
-#define JOB_CONTROL 1
-_ACEOF
-
-JOBS_O=jobs.o
-else
-JOBS_O=nojobs.o
-fi
-
-
-
-
-LOCAL_DEFS=-DSHELL
-
-echo "host_os = ${host_os}" >&6
-
-case "${host_os}" in
-sysv4.2*) cat >>confdefs.h <<\_ACEOF
-#define SVR4_2 1
-_ACEOF
-
- cat >>confdefs.h <<\_ACEOF
-#define SVR4 1
-_ACEOF
- ;;
-sysv4*) cat >>confdefs.h <<\_ACEOF
-#define SVR4 1
-_ACEOF
- ;;
-sysv5*) cat >>confdefs.h <<\_ACEOF
-#define SVR5 1
-_ACEOF
- ;;
-hpux9*) LOCAL_CFLAGS="-DHPUX9 -DHPUX" ;;
-hpux*) LOCAL_CFLAGS=-DHPUX ;;
-dgux*) LOCAL_CFLAGS=-D_DGUX_SOURCE; LOCAL_LIBS=-ldgc ;;
-isc*) LOCAL_CFLAGS=-Disc386 ;;
-rhapsody*) LOCAL_CFLAGS=-DRHAPSODY ;;
-darwin*) LOCAL_CFLAGS=-DMACOSX ;;
-sco3.2v5*) LOCAL_CFLAGS="-b elf -DWAITPID_BROKEN -DPATH_MAX=1024" ;;
-sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
-sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
-sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
-solaris2.5*) LOCAL_CFLAGS=-DSunOS5 ;;
-lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
-echo "uname -r = `uname -r`" >&6
- case "`uname -r`" in
- 2.[456789]*|3*) cat >>confdefs.h <<\_ACEOF
-#define PGRP_PIPE 1
-_ACEOF
-
-echo "defining PGRP_PIPE to 1" >&5
-echo "defining PGRP_PIPE to 1" >&6
- ;;
- esac ;;
-*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
-powerux*) LOCAL_LIBS="-lgen" ;;
-cygwin*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
-opennt*|interix*) LOCAL_CFLAGS="-DNO_MAIN_ENV_ARG -DBROKEN_DIRENT_D_INO -D_POSIX_SOURCE" ;;
-esac
-
-case "${host_os}-${CC}" in
-aix4.2*-*gcc*) LOCAL_LDFLAGS="-Xlinker -bexpall -Xlinker -brtl" ;;
-aix4.2*) LOCAL_LDFLAGS="-bexpall -brtl" ;;
-bsdi4*-*gcc*) LOCAL_LDFLAGS="-rdynamic" ;; # allow dynamic loading, like Linux
-esac
-
-case "${host_os}" in
-freebsd[3-9]*)
- if test -x /usr/bin/objformat && test "`/usr/bin/objformat`" = "elf" ; then
- LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
- fi ;;
-freebsdelf*) LOCAL_LDFLAGS=-rdynamic ;; # allow dynamic loading
-esac
-
-case "$host_cpu" in
-*cray*) LOCAL_CFLAGS="-DCRAY" ;; # shell var so config.h can use it
-esac
-
-case "$host_cpu-$host_os" in
-ibmrt-*bsd4*) LOCAL_CFLAGS="-ma -U__STDC__" ;;
-esac
-
-case "$host_cpu-$host_vendor-$host_os" in
-m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
-mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
-esac
-
-#
-# Shared object configuration section. These values are generated by
-# ${srcdir}/support/shobj-conf
-#
-if test "$ac_cv_func_dlopen" = "yes" && test -f ${srcdir}/support/shobj-conf
-then
- echo "$as_me:$LINENO: checking shared object configuration for loadable builtins" >&5
-echo $ECHO_N "checking shared object configuration for loadable builtins... $ECHO_C" >&6
- eval `${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c "${host_cpu}" -o "${host_os}" -v "${host_vendor}"`
-
-
-
-
-
-
-
- echo "$as_me:$LINENO: result: $SHOBJ_STATUS" >&5
-echo "${ECHO_T}$SHOBJ_STATUS" >&6
-fi
-
-# try to create a directory tree if the source is elsewhere
-# this should be packaged into a script accessible via ${srcdir}/support
-case "$srcdir" in
-.) ;;
-*) for d in doc tests support lib examples; do # dirs
- test -d $d || mkdir $d
- done
- for ld in readline glob tilde malloc sh termcap; do # libdirs
- test -d lib/$ld || mkdir lib/$ld
- done
- test -d examples/loadables || mkdir examples/loadables # loadable builtins
- test -d examples/loadables/perl || mkdir examples/loadables/perl
- ;;
-esac
-
-BUILD_DIR=`pwd`
-case "$BUILD_DIR" in
-*\ *) BUILD_DIR=`echo "$BUILD_DIR" | sed 's: :\\\\ :g'` ;;
-*) ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#AC_SUBST(ALLOCA_SOURCE)
-#AC_SUBST(ALLOCA_OBJECT)
-
- ac_config_files="$ac_config_files Makefile builtins/Makefile lib/readline/Makefile lib/glob/Makefile lib/intl/Makefile lib/malloc/Makefile lib/sh/Makefile lib/termcap/Makefile lib/tilde/Makefile doc/Makefile support/Makefile po/Makefile.in examples/loadables/Makefile examples/loadables/perl/Makefile pathnames.h"
- ac_config_commands="$ac_config_commands default"
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- case $0 in
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-
- ;;
- esac
- # We did not find ourselves, most probably we were run as `sh COMMAND'
- # in which case we are not to be found in the path.
- if test "x$as_myself" = x; then
- as_myself=$0
- fi
- if test ! -f "$as_myself"; then
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by bash $as_me 3.1-devel, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
- --header=FILE[:TEMPLATE]
- instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-bash config.status 3.1-devel
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=*)
- ac_option=`expr "x$1" : 'x\([^=]*\)='`
- ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- -*)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS section.
-#
-
-# Capture the value of obsolete ALL_LINGUAS because we need it to compute
- # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it
- # from automake.
- eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
- # Capture the value of LINGUAS because we need it to compute CATALOGS.
- LINGUAS="${LINGUAS-%UNSET%}"
-
-
-_ACEOF
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "builtins/Makefile" ) CONFIG_FILES="$CONFIG_FILES builtins/Makefile" ;;
- "lib/readline/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/readline/Makefile" ;;
- "lib/glob/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/glob/Makefile" ;;
- "lib/intl/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/intl/Makefile" ;;
- "lib/malloc/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/malloc/Makefile" ;;
- "lib/sh/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/sh/Makefile" ;;
- "lib/termcap/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/termcap/Makefile" ;;
- "lib/tilde/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/tilde/Makefile" ;;
- "doc/Makefile" ) CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
- "support/Makefile" ) CONFIG_FILES="$CONFIG_FILES support/Makefile" ;;
- "po/Makefile.in" ) CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
- "examples/loadables/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/loadables/Makefile" ;;
- "examples/loadables/perl/Makefile" ) CONFIG_FILES="$CONFIG_FILES examples/loadables/perl/Makefile" ;;
- "pathnames.h" ) CONFIG_FILES="$CONFIG_FILES pathnames.h" ;;
- "default-1" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
- "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@EMACS@,$EMACS,;t t
-s,@lispdir@,$lispdir,;t t
-s,@DEBUGGER_START_FILE@,$DEBUGGER_START_FILE,;t t
-s,@TESTSCRIPT@,$TESTSCRIPT,;t t
-s,@PURIFY@,$PURIFY,;t t
-s,@MALLOC_TARGET@,$MALLOC_TARGET,;t t
-s,@MALLOC_SRC@,$MALLOC_SRC,;t t
-s,@MALLOC_LIB@,$MALLOC_LIB,;t t
-s,@MALLOC_LIBRARY@,$MALLOC_LIBRARY,;t t
-s,@MALLOC_LDFLAGS@,$MALLOC_LDFLAGS,;t t
-s,@MALLOC_DEP@,$MALLOC_DEP,;t t
-s,@htmldir@,$htmldir,;t t
-s,@HELPDIR@,$HELPDIR,;t t
-s,@HELPDIRDEFINE@,$HELPDIRDEFINE,;t t
-s,@HELPINSTALL@,$HELPINSTALL,;t t
-s,@HELPSTRINGS@,$HELPSTRINGS,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@SIGNAMES_H@,$SIGNAMES_H,;t t
-s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
-s,@STATIC_LD@,$STATIC_LD,;t t
-s,@CFLAGS_FOR_BUILD@,$CFLAGS_FOR_BUILD,;t t
-s,@CPPFLAGS_FOR_BUILD@,$CPPFLAGS_FOR_BUILD,;t t
-s,@LDFLAGS_FOR_BUILD@,$LDFLAGS_FOR_BUILD,;t t
-s,@RL_VERSION@,$RL_VERSION,;t t
-s,@RL_MAJOR@,$RL_MAJOR,;t t
-s,@RL_MINOR@,$RL_MINOR,;t t
-s,@READLINE_LIB@,$READLINE_LIB,;t t
-s,@READLINE_DEP@,$READLINE_DEP,;t t
-s,@RL_LIBDIR@,$RL_LIBDIR,;t t
-s,@RL_INCLUDEDIR@,$RL_INCLUDEDIR,;t t
-s,@RL_INCLUDE@,$RL_INCLUDE,;t t
-s,@HISTORY_LIB@,$HISTORY_LIB,;t t
-s,@HISTORY_DEP@,$HISTORY_DEP,;t t
-s,@HIST_LIBDIR@,$HIST_LIBDIR,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@AR@,$AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@YACC@,$YACC,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@MAKE_SHELL@,$MAKE_SHELL,;t t
-s,@SIZE@,$SIZE,;t t
-s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t
-s,@USE_NLS@,$USE_NLS,;t t
-s,@MSGFMT@,$MSGFMT,;t t
-s,@GMSGFMT@,$GMSGFMT,;t t
-s,@XGETTEXT@,$XGETTEXT,;t t
-s,@MSGMERGE@,$MSGMERGE,;t t
-s,@ALLOCA@,$ALLOCA,;t t
-s,@GLIBC21@,$GLIBC21,;t t
-s,@LIBICONV@,$LIBICONV,;t t
-s,@LTLIBICONV@,$LTLIBICONV,;t t
-s,@INTLBISON@,$INTLBISON,;t t
-s,@BUILD_INCLUDED_LIBINTL@,$BUILD_INCLUDED_LIBINTL,;t t
-s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t
-s,@CATOBJEXT@,$CATOBJEXT,;t t
-s,@DATADIRNAME@,$DATADIRNAME,;t t
-s,@INSTOBJEXT@,$INSTOBJEXT,;t t
-s,@GENCAT@,$GENCAT,;t t
-s,@INTLOBJS@,$INTLOBJS,;t t
-s,@INTL_LIBTOOL_SUFFIX_PREFIX@,$INTL_LIBTOOL_SUFFIX_PREFIX,;t t
-s,@INTLLIBS@,$INTLLIBS,;t t
-s,@LIBINTL@,$LIBINTL,;t t
-s,@LTLIBINTL@,$LTLIBINTL,;t t
-s,@POSUB@,$POSUB,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@INTL_DEP@,$INTL_DEP,;t t
-s,@INTL_INC@,$INTL_INC,;t t
-s,@LIBINTL_H@,$LIBINTL_H,;t t
-s,@SIGLIST_O@,$SIGLIST_O,;t t
-s,@TERMCAP_LIB@,$TERMCAP_LIB,;t t
-s,@TERMCAP_DEP@,$TERMCAP_DEP,;t t
-s,@JOBS_O@,$JOBS_O,;t t
-s,@SHOBJ_CC@,$SHOBJ_CC,;t t
-s,@SHOBJ_CFLAGS@,$SHOBJ_CFLAGS,;t t
-s,@SHOBJ_LD@,$SHOBJ_LD,;t t
-s,@SHOBJ_LDFLAGS@,$SHOBJ_LDFLAGS,;t t
-s,@SHOBJ_XLDFLAGS@,$SHOBJ_XLDFLAGS,;t t
-s,@SHOBJ_LIBS@,$SHOBJ_LIBS,;t t
-s,@SHOBJ_STATUS@,$SHOBJ_STATUS,;t t
-s,@PROFILE_FLAGS@,$PROFILE_FLAGS,;t t
-s,@incdir@,$incdir,;t t
-s,@BUILD_DIR@,$BUILD_DIR,;t t
-s,@ARFLAGS@,$ARFLAGS,;t t
-s,@BASHVERS@,$BASHVERS,;t t
-s,@RELSTATUS@,$RELSTATUS,;t t
-s,@DEBUG@,$DEBUG,;t t
-s,@MALLOC_DEBUG@,$MALLOC_DEBUG,;t t
-s,@LOCAL_LIBS@,$LOCAL_LIBS,;t t
-s,@LOCAL_CFLAGS@,$LOCAL_CFLAGS,;t t
-s,@LOCAL_LDFLAGS@,$LOCAL_LDFLAGS,;t t
-s,@LOCAL_DEFS@,$LOCAL_DEFS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments. This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- default-1 )
- for ac_file in $CONFIG_FILES; do
- # Support "outfile[:infile[:infile...]]"
- case "$ac_file" in
- *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- esac
- # PO directories have a Makefile.in generated from Makefile.in.in.
- case "$ac_file" in */Makefile.in)
- # Adjust a relative srcdir.
- ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
- ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
- ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
- # In autoconf-2.13 it is called $ac_given_srcdir.
- # In autoconf-2.50 it is called $srcdir.
- test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
- case "$ac_given_srcdir" in
- .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
- /*) top_srcdir="$ac_given_srcdir" ;;
- *) top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
- if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
- rm -f "$ac_dir/POTFILES"
- test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
- cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
- POMAKEFILEDEPS="POTFILES.in"
- # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend
- # on $ac_dir but don't depend on user-specified configuration
- # parameters.
- if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
- # The LINGUAS file contains the set of available languages.
- if test -n "$OBSOLETE_ALL_LINGUAS"; then
- test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
- fi
- ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"`
- # Hide the ALL_LINGUAS assigment from automake.
- eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
- POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
- else
- # The set of available languages was given in configure.in.
- eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
- fi
- case "$ac_given_srcdir" in
- .) srcdirpre= ;;
- *) srcdirpre='$(srcdir)/' ;;
- esac
- POFILES=
- GMOFILES=
- UPDATEPOFILES=
- DUMMYPOFILES=
- for lang in $ALL_LINGUAS; do
- POFILES="$POFILES $srcdirpre$lang.po"
- GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
- UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
- DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
- done
- # CATALOGS depends on both $ac_dir and the user's LINGUAS
- # environment variable.
- INST_LINGUAS=
- if test -n "$ALL_LINGUAS"; then
- for presentlang in $ALL_LINGUAS; do
- useit=no
- if test "%UNSET%" != "$LINGUAS"; then
- desiredlanguages="$LINGUAS"
- else
- desiredlanguages="$ALL_LINGUAS"
- fi
- for desiredlang in $desiredlanguages; do
- # Use the presentlang catalog if desiredlang is
- # a. equal to presentlang, or
- # b. a variant of presentlang (because in this case,
- # presentlang can be used as a fallback for messages
- # which are not translated in the desiredlang catalog).
- case "$desiredlang" in
- "$presentlang"*) useit=yes;;
- esac
- done
- if test $useit = yes; then
- INST_LINGUAS="$INST_LINGUAS $presentlang"
- fi
- done
- fi
- CATALOGS=
- if test -n "$INST_LINGUAS"; then
- for lang in $INST_LINGUAS; do
- CATALOGS="$CATALOGS $lang.gmo"
- done
- fi
- test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
- sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
- for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
- if test -f "$f"; then
- case "$f" in
- *.orig | *.bak | *~) ;;
- *) cat "$f" >> "$ac_dir/Makefile" ;;
- esac
- fi
- done
- fi
- ;;
- esac
- done ;;
- default )
-# Makefile uses this timestamp file to record whether config.h is up to date.
-echo timestamp > stamp-h
- ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || { (exit 1); exit 1; }
-fi
+++ /dev/null
-# This file is a shell script that caches the results of configure
-# tests for CYGWIN32 so they don't need to be done when cross-compiling.
-
-# AC_FUNC_GETPGRP should also define GETPGRP_VOID
-ac_cv_func_getpgrp_void=${ac_cv_func_getpgrp_void='yes'}
-# AC_FUNC_SETVBUF_REVERSED should not define anything else
-ac_cv_func_setvbuf_reversed=${ac_cv_func_setvbuf_reversed='no'}
-# on CYGWIN32, system calls do not restart
-ac_cv_sys_restartable_syscalls=${ac_cv_sys_restartable_syscalls='no'}
-bash_cv_sys_restartable_syscalls=${bash_cv_sys_restartable_syscalls='no'}
-
-# these may be necessary, but they are currently commented out
-#ac_cv_c_bigendian=${ac_cv_c_bigendian='no'}
-ac_cv_sizeof_char_p=${ac_cv_sizeof_char_p='4'}
-ac_cv_sizeof_int=${ac_cv_sizeof_int='4'}
-ac_cv_sizeof_long=${ac_cv_sizeof_long='4'}
-ac_cv_sizeof_double=${ac_cv_sizeof_double='8'}
-
-bash_cv_dup2_broken=${bash_cv_dup2_broken='no'}
-bash_cv_pgrp_pipe=${bash_cv_pgrp_pipe='no'}
-bash_cv_type_rlimit=${bash_cv_type_rlimit='long'}
-bash_cv_decl_under_sys_siglist=${bash_cv_decl_under_sys_siglist='no'}
-bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist='no'}
-bash_cv_sys_siglist=${bash_cv_sys_siglist='no'}
-bash_cv_opendir_not_robust=${bash_cv_opendir_not_robust='no'}
-bash_cv_getenv_redef=${bash_cv_getenv_redef='yes'}
-bash_cv_printf_declared=${bash_cv_printf_declared='yes'}
-bash_cv_ulimit_maxfds=${bash_cv_ulimit_maxfds='no'}
-bash_cv_getcwd_calls_popen=${bash_cv_getcwd_calls_popen='no'}
-bash_cv_must_reinstall_sighandlers=${bash_cv_must_reinstall_sighandlers='no'}
-bash_cv_job_control_missing=${bash_cv_job_control_missing='present'}
-bash_cv_sys_named_pipes=${bash_cv_sys_named_pipes='missing'}
-bash_cv_func_sigsetjmp=${bash_cv_func_sigsetjmp='missing'}
-bash_cv_mail_dir=${bash_cv_mail_dir='unknown'}
-bash_cv_func_strcoll_broken=${bash_cv_func_strcoll_broken='no'}
-
-bash_cv_type_int32_t=${bash_cv_type_int32_t='int'}
-bash_cv_type_u_int32_t=${bash_cv_type_u_int32_t='int'}
-
-ac_cv_type_bits64_t=${ac_cv_type_bits64_t='no'}
-
-# end of cross-build/cygwin32.cache
+++ /dev/null
-*** ../bash-3.0/arrayfunc.c Fri Dec 19 00:03:09 2003
---- arrayfunc.c Sun Aug 1 20:43:00 2004
-***************
-*** 612,616 ****
-
- free (t);
-! return var;
- }
-
---- 612,616 ----
-
- free (t);
-! return (var == 0 || invisible_p (var)) ? (SHELL_VAR *)0 : var;
- }
-
+++ /dev/null
-*** ../bash-3.0-patched/lib/readline/display.c Wed Sep 8 11:07:51 2004
---- lib/readline/display.c Sat Jan 8 21:51:40 2005
-***************
-*** 181,184 ****
---- 186,201 ----
- static int prompt_physical_chars;
-
-+ /* Variables to save and restore prompt and display information. */
-+
-+ /* These are getting numerous enough that it's time to create a struct. */
-+
-+ static char *saved_local_prompt;
-+ static char *saved_local_prefix;
-+ static int saved_last_invisible;
-+ static int saved_visible_length;
-+ static int saved_prefix_length;
-+ static int saved_invis_chars_first_line;
-+ static int saved_physical_chars;
-+
- /* Expand the prompt string S and return the number of visible
- characters in *LP, if LP is not null. This is currently more-or-less
-***************
-*** 1797,1803 ****
- return ((ISPRINT (uc)) ? 1 : 2);
- }
--
- /* How to print things in the "echo-area". The prompt is treated as a
- mini-modeline. */
-
- #if defined (USE_VARARGS)
---- 1825,1831 ----
- return ((ISPRINT (uc)) ? 1 : 2);
- }
- /* How to print things in the "echo-area". The prompt is treated as a
- mini-modeline. */
-+ static int msg_saved_prompt = 0;
-
- #if defined (USE_VARARGS)
-***************
-*** 1830,1835 ****
---- 1858,1874 ----
- va_end (args);
-
-+ if (saved_local_prompt == 0)
-+ {
-+ rl_save_prompt ();
-+ msg_saved_prompt = 1;
-+ }
- rl_display_prompt = msg_buf;
-+ local_prompt = expand_prompt (msg_buf, &prompt_visible_length,
-+ &prompt_last_invisible,
-+ &prompt_invis_chars_first_line,
-+ &prompt_physical_chars);
-+ local_prompt_prefix = (char *)NULL;
- (*rl_redisplay_function) ();
-+
- return 0;
- }
-***************
-*** 1841,1846 ****
---- 1880,1897 ----
- sprintf (msg_buf, format, arg1, arg2);
- msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */
-+
- rl_display_prompt = msg_buf;
-+ if (saved_local_prompt == 0)
-+ {
-+ rl_save_prompt ();
-+ msg_saved_prompt = 1;
-+ }
-+ local_prompt = expand_prompt (msg_buf, &prompt_visible_length,
-+ &prompt_last_invisible,
-+ &prompt_invis_chars_first_line,
-+ &prompt_physical_chars);
-+ local_prompt_prefix = (char *)NULL;
- (*rl_redisplay_function) ();
-+
- return 0;
- }
-***************
-*** 1852,1855 ****
---- 1903,1911 ----
- {
- rl_display_prompt = rl_prompt;
-+ if (msg_saved_prompt)
-+ {
-+ rl_restore_prompt ();
-+ msg_saved_prompt = 0;
-+ }
- (*rl_redisplay_function) ();
- return 0;
-***************
-*** 1866,1878 ****
- }
-
-- /* These are getting numerous enough that it's time to create a struct. */
--
-- static char *saved_local_prompt;
-- static char *saved_local_prefix;
-- static int saved_last_invisible;
-- static int saved_visible_length;
-- static int saved_invis_chars_first_line;
-- static int saved_physical_chars;
--
- void
- rl_save_prompt ()
---- 1922,1925 ----
-***************
-*** 1880,1883 ****
---- 1927,1931 ----
- saved_local_prompt = local_prompt;
- saved_local_prefix = local_prompt_prefix;
-+ saved_prefix_length = prompt_prefix_length;
- saved_last_invisible = prompt_last_invisible;
- saved_visible_length = prompt_visible_length;
-***************
-*** 1886,1890 ****
-
- local_prompt = local_prompt_prefix = (char *)0;
-! prompt_last_invisible = prompt_visible_length = 0;
- prompt_invis_chars_first_line = prompt_physical_chars = 0;
- }
---- 1934,1938 ----
-
- local_prompt = local_prompt_prefix = (char *)0;
-! prompt_last_invisible = prompt_visible_length = prompt_prefix_length = 0;
- prompt_invis_chars_first_line = prompt_physical_chars = 0;
- }
-***************
-*** 1898,1905 ****
---- 1946,1959 ----
- local_prompt = saved_local_prompt;
- local_prompt_prefix = saved_local_prefix;
-+ prompt_prefix_length = saved_prefix_length;
- prompt_last_invisible = saved_last_invisible;
- prompt_visible_length = saved_visible_length;
- prompt_invis_chars_first_line = saved_invis_chars_first_line;
- prompt_physical_chars = saved_physical_chars;
-+
-+ /* can test saved_local_prompt to see if prompt info has been saved. */
-+ saved_local_prompt = saved_local_prefix = (char *)0;
-+ saved_last_invisible = saved_visible_length = saved_prefix_length = 0;
-+ saved_invis_chars_first_line = saved_physical_chars = 0;
- }
-
+++ /dev/null
-*** ../bash-3.0-patched/execute_cmd.c Sun Jul 4 14:12:58 2004
---- execute_cmd.c Wed Dec 1 16:50:48 2004
-***************
-*** 1,5 ****
- /* execute_command.c -- Execute a COMMAND structure. */
-
-! /* Copyright (C) 1987-2003 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
---- 1,5 ----
- /* execute_command.c -- Execute a COMMAND structure. */
-
-! /* Copyright (C) 1987-2004 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-***************
-*** 161,165 ****
- static int execute_while_or_until __P((WHILE_COM *, int));
- static int execute_if_command __P((IF_COM *));
-! static int execute_null_command __P((REDIRECT *, int, int, int, pid_t));
- static void fix_assignment_words __P((WORD_LIST *));
- static int execute_simple_command __P((SIMPLE_COM *, int, int, int, struct fd_bitmap *));
---- 161,165 ----
- static int execute_while_or_until __P((WHILE_COM *, int));
- static int execute_if_command __P((IF_COM *));
-! static int execute_null_command __P((REDIRECT *, int, int, int));
- static void fix_assignment_words __P((WORD_LIST *));
- static int execute_simple_command __P((SIMPLE_COM *, int, int, int, struct fd_bitmap *));
-***************
-*** 492,496 ****
- int exec_result, invert, ignore_return, was_error_trap;
- REDIRECT *my_undo_list, *exec_undo_list;
-- volatile pid_t last_pid;
- volatile int save_line_number;
-
---- 492,495 ----
-***************
-*** 649,653 ****
- call to execute_simple_command if a longjmp occurs as the
- result of a `return' builtin. This is true for sure with gcc. */
-! last_pid = last_made_pid;
- was_error_trap = signal_is_trapped (ERROR_TRAP) && signal_is_ignored (ERROR_TRAP) == 0;
-
---- 648,652 ----
- call to execute_simple_command if a longjmp occurs as the
- result of a `return' builtin. This is true for sure with gcc. */
-! last_made_pid = NO_PID;
- was_error_trap = signal_is_trapped (ERROR_TRAP) && signal_is_ignored (ERROR_TRAP) == 0;
-
-***************
-*** 679,683 ****
- when the shell is compiled without job control. */
- if (already_making_children && pipe_out == NO_PIPE &&
-! last_pid != last_made_pid)
- {
- stop_pipeline (asynchronous, (COMMAND *)NULL);
---- 678,682 ----
- when the shell is compiled without job control. */
- if (already_making_children && pipe_out == NO_PIPE &&
-! last_made_pid != NO_PID)
- {
- stop_pipeline (asynchronous, (COMMAND *)NULL);
-***************
-*** 699,710 ****
- pipelines) to be waited for twice. */
- exec_result = wait_for (last_made_pid);
-- #if defined (RECYCLES_PIDS)
-- /* LynxOS, for one, recycles pids very quickly -- so quickly
-- that a new process may have the same pid as the last one
-- created. This has been reported to fix the problem on that
-- OS, and a similar problem on Cygwin. */
-- if (exec_result == 0)
-- last_made_pid = NO_PID;
-- #endif
- }
- }
---- 698,701 ----
-***************
-*** 1275,1278 ****
---- 1266,1274 ----
- tcom = (command->type == cm_subshell) ? command->value.Subshell->command : command;
-
-+ if (command->flags & CMD_TIME_PIPELINE)
-+ tcom->flags |= CMD_TIME_PIPELINE;
-+ if (command->flags & CMD_TIME_POSIX)
-+ tcom->flags |= CMD_TIME_POSIX;
-+
- /* Make sure the subshell inherits any CMD_IGNORE_RETURN flag. */
- if ((command->flags & CMD_IGNORE_RETURN) && tcom != command)
-***************
-*** 1356,1359 ****
---- 1352,1356 ----
- terminate_current_pipeline ();
- kill_current_pipeline ();
-+ UNBLOCK_CHILD (oset);
- #endif /* JOB_CONTROL */
- last_command_exit_value = EXECUTION_FAILURE;
-***************
-*** 1623,1628 ****
- xtrace_print_for_command_head (for_command);
-
-! /* Save this command unless it's a trap command. */
-! if (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0))
- {
- FREE (the_printed_command_except_trap);
---- 1620,1626 ----
- xtrace_print_for_command_head (for_command);
-
-! /* Save this command unless it's a trap command and we're not running
-! a debug trap. */
-! if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
- {
- FREE (the_printed_command_except_trap);
-***************
-*** 1639,1643 ****
-
- this_command_name = (char *)NULL;
-! v = bind_variable (identifier, list->word->word);
- if (readonly_p (v) || noassign_p (v))
- {
---- 1637,1641 ----
-
- this_command_name = (char *)NULL;
-! v = bind_variable (identifier, list->word->word, 0);
- if (readonly_p (v) || noassign_p (v))
- {
-***************
-*** 1686,1690 ****
- SHELL_VAR *new_value;
-
-! new_value = bind_variable (identifier, value_cell(old_value));
- new_value->attributes = old_value->attributes;
- dispose_variable (old_value);
---- 1684,1688 ----
- SHELL_VAR *new_value;
-
-! new_value = bind_variable (identifier, value_cell(old_value), 0);
- new_value->attributes = old_value->attributes;
- dispose_variable (old_value);
-***************
-*** 1732,1737 ****
- command_string_index = 0;
- print_arith_command (new);
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-
- r = run_debug_trap ();
---- 1730,1738 ----
- command_string_index = 0;
- print_arith_command (new);
-! if (signal_in_progress (DEBUG_TRAP) == 0)
-! {
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-! }
-
- r = run_debug_trap ();
-***************
-*** 2040,2045 ****
- xtrace_print_select_command_head (select_command);
-
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-
- retval = run_debug_trap ();
---- 2041,2049 ----
- xtrace_print_select_command_head (select_command);
-
-! if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
-! {
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-! }
-
- retval = run_debug_trap ();
-***************
-*** 2093,2097 ****
- }
-
-! v = bind_variable (identifier, selection);
- if (readonly_p (v) || noassign_p (v))
- {
---- 2097,2101 ----
- }
-
-! v = bind_variable (identifier, selection, 0);
- if (readonly_p (v) || noassign_p (v))
- {
-***************
-*** 2169,2173 ****
- xtrace_print_case_command_head (case_command);
-
-! if (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0))
- {
- FREE (the_printed_command_except_trap);
---- 2173,2177 ----
- xtrace_print_case_command_head (case_command);
-
-! if (signal_in_progress (DEBUG_TRAP == 0) && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
- {
- FREE (the_printed_command_except_trap);
-***************
-*** 2186,2197 ****
- #endif
-
-- /* Posix.2 specifies that the WORD is tilde expanded. */
-- if (member ('~', case_command->word->word))
-- {
-- word = bash_tilde_expand (case_command->word->word, 0);
-- free (case_command->word->word);
-- case_command->word->word = word;
-- }
--
- wlist = expand_word_unsplit (case_command->word, 0);
- word = wlist ? string_list (wlist) : savestring ("");
---- 2190,2193 ----
-***************
-*** 2211,2223 ****
- for (list = clauses->patterns; list; list = list->next)
- {
-- /* Posix.2 specifies to tilde expand each member of the pattern
-- list. */
-- if (member ('~', list->word->word))
-- {
-- pattern = bash_tilde_expand (list->word->word, 0);
-- free (list->word->word);
-- list->word->word = pattern;
-- }
--
- es = expand_word_leave_quoted (list->word, 0);
-
---- 2207,2210 ----
-***************
-*** 2396,2401 ****
- command_string_index = 0;
- print_arith_command (arith_command->exp);
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-
- /* Run the debug trap before each arithmetic command, but do it after we
---- 2383,2392 ----
- command_string_index = 0;
- print_arith_command (arith_command->exp);
-!
-! if (signal_in_progress (DEBUG_TRAP) == 0)
-! {
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-! }
-
- /* Run the debug trap before each arithmetic command, but do it after we
-***************
-*** 2509,2515 ****
- else
- #endif /* COND_REGEXP */
-! result = binary_test (cond->op->word, arg1, arg2, TEST_PATMATCH|TEST_ARITHEXP)
-! ? EXECUTION_SUCCESS
-! : EXECUTION_FAILURE;
- if (arg1 != nullstr)
- free (arg1);
---- 2500,2512 ----
- else
- #endif /* COND_REGEXP */
-! {
-! int oe;
-! oe = extended_glob;
-! extended_glob = 1;
-! result = binary_test (cond->op->word, arg1, arg2, TEST_PATMATCH|TEST_ARITHEXP)
-! ? EXECUTION_SUCCESS
-! : EXECUTION_FAILURE;
-! extended_glob = oe;
-! }
- if (arg1 != nullstr)
- free (arg1);
-***************
-*** 2547,2552 ****
- command_string_index = 0;
- print_cond_command (cond_command);
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-
- /* Run the debug trap before each conditional command, but do it after we
---- 2544,2553 ----
- command_string_index = 0;
- print_cond_command (cond_command);
-!
-! if (signal_in_progress (DEBUG_TRAP) == 0)
-! {
-! FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
-! }
-
- /* Run the debug trap before each conditional command, but do it after we
-***************
-*** 2581,2585 ****
- if (arg == 0)
- arg = "";
-! var = bind_variable ("_", arg);
- VUNSETATTR (var, att_exported);
- }
---- 2582,2586 ----
- if (arg == 0)
- arg = "";
-! var = bind_variable ("_", arg, 0);
- VUNSETATTR (var, att_exported);
- }
-***************
-*** 2589,2596 ****
- supposed to take place. */
- static int
-! execute_null_command (redirects, pipe_in, pipe_out, async, old_last_command_subst_pid)
- REDIRECT *redirects;
- int pipe_in, pipe_out, async;
-- pid_t old_last_command_subst_pid;
- {
- int r;
---- 2590,2596 ----
- supposed to take place. */
- static int
-! execute_null_command (redirects, pipe_in, pipe_out, async)
- REDIRECT *redirects;
- int pipe_in, pipe_out, async;
- {
- int r;
-***************
-*** 2638,2642 ****
- if (r != 0)
- return (EXECUTION_FAILURE);
-! else if (old_last_command_subst_pid != last_command_subst_pid)
- return (last_command_exit_value);
- else
---- 2638,2642 ----
- if (r != 0)
- return (EXECUTION_FAILURE);
-! else if (last_command_subst_pid != NO_PID)
- return (last_command_exit_value);
- else
-***************
-*** 2667,2672 ****
- if (b == 0 || (b->flags & ASSIGNMENT_BUILTIN) == 0)
- return;
- }
-! w->word->flags |= (W_NOSPLIT|W_NOGLOB|W_TILDEEXP);
- }
- }
---- 2667,2674 ----
- if (b == 0 || (b->flags & ASSIGNMENT_BUILTIN) == 0)
- return;
-+ else if (b && (b->flags & ASSIGNMENT_BUILTIN))
-+ words->word->flags |= W_ASSNBLTIN;
- }
-! w->word->flags |= (W_NOSPLIT|W_NOGLOB|W_TILDEEXP|W_ASSIGNARG);
- }
- }
-***************
-*** 2684,2688 ****
- char *command_line, *lastarg, *temp;
- int first_word_quoted, result, builtin_is_special, already_forked, dofork;
-! pid_t old_last_command_subst_pid, old_last_async_pid;
- sh_builtin_func_t *builtin;
- SHELL_VAR *func;
---- 2686,2690 ----
- char *command_line, *lastarg, *temp;
- int first_word_quoted, result, builtin_is_special, already_forked, dofork;
-! pid_t old_last_async_pid;
- sh_builtin_func_t *builtin;
- SHELL_VAR *func;
-***************
-*** 2700,2707 ****
- print_simple_command (simple_command);
-
-! if (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0))
- {
- FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = savestring (the_printed_command);
- }
-
---- 2702,2709 ----
- print_simple_command (simple_command);
-
-! if (signal_in_progress (DEBUG_TRAP) == 0 && (this_command_name == 0 || (STREQ (this_command_name, "trap") == 0)))
- {
- FREE (the_printed_command_except_trap);
-! the_printed_command_except_trap = the_printed_command ? savestring (the_printed_command) : (char *)0;
- }
-
-***************
-*** 2719,2723 ****
- simple_command->words ? (simple_command->words->word->flags & W_QUOTED): 0;
-
-! old_last_command_subst_pid = last_command_subst_pid;
- old_last_async_pid = last_asynchronous_pid;
-
---- 2721,2725 ----
- simple_command->words ? (simple_command->words->word->flags & W_QUOTED): 0;
-
-! last_command_subst_pid = NO_PID;
- old_last_async_pid = last_asynchronous_pid;
-
-***************
-*** 2740,2764 ****
- if (dofork)
- {
-- #if 0
-- /* XXX memory leak if expand_words() error causes a jump_to_top_level */
-- command_line = savestring (the_printed_command);
-- #endif
--
- /* Do this now, because execute_disk_command will do it anyway in the
- vast majority of cases. */
- maybe_make_export_env ();
-
-- #if 0
-- if (make_child (command_line, async) == 0)
-- #else
- if (make_child (savestring (the_printed_command), async) == 0)
-- #endif
- {
- already_forked = 1;
- simple_command->flags |= CMD_NO_FORK;
-
-! subshell_environment = (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
-! ? (SUBSHELL_PIPE|SUBSHELL_FORK)
-! : (SUBSHELL_ASYNC|SUBSHELL_FORK);
-
- /* We need to do this before piping to handle some really
---- 2742,2759 ----
- if (dofork)
- {
- /* Do this now, because execute_disk_command will do it anyway in the
- vast majority of cases. */
- maybe_make_export_env ();
-
- if (make_child (savestring (the_printed_command), async) == 0)
- {
- already_forked = 1;
- simple_command->flags |= CMD_NO_FORK;
-
-! subshell_environment = SUBSHELL_FORK;
-! if (pipe_in != NO_PIPE || pipe_out != NO_PIPE)
-! subshell_environment |= SUBSHELL_PIPE;
-! if (async)
-! subshell_environment |= SUBSHELL_ASYNC;
-
- /* We need to do this before piping to handle some really
-***************
-*** 2805,2810 ****
- result = execute_null_command (simple_command->redirects,
- pipe_in, pipe_out,
-! already_forked ? 0 : async,
-! old_last_command_subst_pid);
- if (already_forked)
- exit (result);
---- 2800,2804 ----
- result = execute_null_command (simple_command->redirects,
- pipe_in, pipe_out,
-! already_forked ? 0 : async);
- if (already_forked)
- exit (result);
-***************
-*** 3060,3064 ****
- push_scope (VC_BLTNENV, temporary_env);
- if (subshell == 0)
-! add_unwind_protect (pop_scope, "1");
- temporary_env = (HASH_TABLE *)NULL;
- }
---- 3054,3058 ----
- push_scope (VC_BLTNENV, temporary_env);
- if (subshell == 0)
-! add_unwind_protect (pop_scope, (flags & CMD_COMMAND_BUILTIN) ? 0 : "1");
- temporary_env = (HASH_TABLE *)NULL;
- }
-***************
-*** 3106,3110 ****
- char *debug_trap, *error_trap, *return_trap;
- #if defined (ARRAY_VARS)
-! SHELL_VAR *funcname_v, *bash_source_v, *bash_lineno_v;
- ARRAY *funcname_a, *bash_source_a, *bash_lineno_a;
- #endif
---- 3100,3104 ----
- char *debug_trap, *error_trap, *return_trap;
- #if defined (ARRAY_VARS)
-! SHELL_VAR *funcname_v, *nfv, *bash_source_v, *bash_lineno_v;
- ARRAY *funcname_a, *bash_source_a, *bash_lineno_a;
- #endif
-***************
-*** 3179,3183 ****
---- 3173,3183 ----
- }
-
-+ /* Shell functions inherit the RETURN trap if function tracing is on
-+ globally or on individually for this function. */
-+ #if 0
- if (return_trap && ((trace_p (var) == 0) && function_trace_mode == 0))
-+ #else
-+ if (return_trap && (signal_in_progress (DEBUG_TRAP) || ((trace_p (var) == 0) && function_trace_mode == 0)))
-+ #endif
- {
- if (subshell == 0)
-***************
-*** 3232,3236 ****
-
- if (return_val)
-! result = return_catch_value;
- else
- {
---- 3232,3242 ----
-
- if (return_val)
-! {
-! result = return_catch_value;
-! /* Run the RETURN trap in the function's context. */
-! save_current = currently_executing_command;
-! run_return_trap ();
-! currently_executing_command = save_current;
-! }
- else
- {
-***************
-*** 3256,3259 ****
---- 3262,3269 ----
- #else
- result = execute_command_internal (fc, 0, NO_PIPE, NO_PIPE, fds_to_close);
-+
-+ save_current = currently_executing_command;
-+ run_return_trap ();
-+ currently_executing_command = save_current;
- #endif
- showing_function_line = 0;
-***************
-*** 3269,3275 ****
- funcnest--;
- #if defined (ARRAY_VARS)
- array_pop (bash_source_a);
-- array_pop (funcname_a);
- array_pop (bash_lineno_a);
- #endif
-
---- 3279,3292 ----
- funcnest--;
- #if defined (ARRAY_VARS)
-+ /* These two variables cannot be unset, and cannot be affected by the
-+ function. */
- array_pop (bash_source_a);
- array_pop (bash_lineno_a);
-+
-+ /* FUNCNAME can be unset, and so can potentially be changed by the
-+ function. */
-+ GET_ARRAY_FROM_VAR ("FUNCNAME", nfv, funcname_a);
-+ if (nfv == funcname_v)
-+ array_pop (funcname_a);
- #endif
-
+++ /dev/null
-*** ../bash-2.05b-patched/aclocal.m4 Tue Jun 25 09:45:43 2002
---- aclocal.m4 Sat Oct 9 15:03:28 2004
-***************
-*** 686,691 ****
-
- AC_DEFUN(BASH_FUNC_GETCWD,
-! [AC_MSG_CHECKING([if getcwd() calls popen()])
-! AC_CACHE_VAL(bash_cv_getcwd_calls_popen,
- [AC_TRY_RUN([
- #include <stdio.h>
---- 686,691 ----
-
- AC_DEFUN(BASH_FUNC_GETCWD,
-! [AC_MSG_CHECKING([if getcwd() will dynamically allocate memory])
-! AC_CACHE_VAL(bash_cv_getcwd_malloc,
- [AC_TRY_RUN([
- #include <stdio.h>
-***************
-*** 694,748 ****
- #endif
-
-- #ifndef __STDC__
-- #ifndef const
-- #define const
-- #endif
-- #endif
--
-- int popen_called;
--
-- FILE *
-- popen(command, type)
-- const char *command;
-- const char *type;
-- {
-- popen_called = 1;
-- return (FILE *)NULL;
-- }
--
-- FILE *_popen(command, type)
-- const char *command;
-- const char *type;
-- {
-- return (popen (command, type));
-- }
--
-- int
-- pclose(stream)
-- FILE *stream;
-- {
-- return 0;
-- }
--
-- int
-- _pclose(stream)
-- FILE *stream;
-- {
-- return 0;
-- }
--
- main()
- {
-! char lbuf[32];
-! popen_called = 0;
-! getcwd(lbuf, 32);
-! exit (popen_called);
- }
-! ], bash_cv_getcwd_calls_popen=no, bash_cv_getcwd_calls_popen=yes,
-! [AC_MSG_WARN(cannot check whether getcwd calls popen if cross compiling -- defaulting to no)
-! bash_cv_getcwd_calls_popen=no]
- )])
-! AC_MSG_RESULT($bash_cv_getcwd_calls_popen)
-! if test $bash_cv_getcwd_calls_popen = yes; then
- AC_DEFINE(GETCWD_BROKEN)
- AC_LIBOBJ(getcwd)
---- 694,709 ----
- #endif
-
- main()
- {
-! char *xpwd;
-! xpwd = getcwd(0, 0);
-! exit (xpwd == 0);
- }
-! ], bash_cv_getcwd_malloc=yes, bash_cv_getcwd_malloc=no,
-! [AC_MSG_WARN(cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no)
-! bash_cv_getcwd_malloc=no]
- )])
-! AC_MSG_RESULT($bash_cv_getcwd_malloc)
-! if test $bash_cv_getcwd_malloc = no; then
- AC_DEFINE(GETCWD_BROKEN)
- AC_LIBOBJ(getcwd)
+++ /dev/null
-*** ../bash-3.0/lib/readline/display.c Thu May 27 22:57:51 2004
---- lib/readline/display.c Mon Aug 30 11:55:02 2004
-***************
-*** 202,206 ****
- {
- char *r, *ret, *p;
-! int l, rl, last, ignoring, ninvis, invfl, ind, pind, physchars;
-
- /* Short-circuit if we can. */
---- 202,206 ----
- {
- char *r, *ret, *p;
-! int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars;
-
- /* Short-circuit if we can. */
-***************
-*** 223,226 ****
---- 223,227 ----
-
- invfl = 0; /* invisible chars in first line of prompt */
-+ invflset = 0; /* we only want to set invfl once */
-
- for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++)
-***************
-*** 250,254 ****
- *r++ = *p++;
- if (!ignoring)
-! rl += ind - pind;
- else
- ninvis += ind - pind;
---- 251,258 ----
- *r++ = *p++;
- if (!ignoring)
-! {
-! rl += ind - pind;
-! physchars += _rl_col_width (pmt, pind, ind);
-! }
- else
- ninvis += ind - pind;
-***************
-*** 260,273 ****
- *r++ = *p;
- if (!ignoring)
-! rl++; /* visible length byte counter */
- else
- ninvis++; /* invisible chars byte counter */
- }
-
-! if (rl >= _rl_screenwidth)
-! invfl = ninvis;
-!
-! if (ignoring == 0)
-! physchars++;
- }
- }
---- 264,280 ----
- *r++ = *p;
- if (!ignoring)
-! {
-! rl++; /* visible length byte counter */
-! physchars++;
-! }
- else
- ninvis++; /* invisible chars byte counter */
- }
-
-! if (invflset == 0 && rl >= _rl_screenwidth)
-! {
-! invfl = ninvis;
-! invflset = 1;
-! }
- }
- }
-***************
-*** 352,356 ****
- &prompt_last_invisible,
- (int *)NULL,
-! (int *)NULL);
- c = *t; *t = '\0';
- /* The portion of the prompt string up to and including the
---- 359,363 ----
- &prompt_last_invisible,
- (int *)NULL,
-! &prompt_physical_chars);
- c = *t; *t = '\0';
- /* The portion of the prompt string up to and including the
-***************
-*** 359,363 ****
- (int *)NULL,
- &prompt_invis_chars_first_line,
-! &prompt_physical_chars);
- *t = c;
- return (prompt_prefix_length);
---- 366,370 ----
- (int *)NULL,
- &prompt_invis_chars_first_line,
-! (int *)NULL);
- *t = c;
- return (prompt_prefix_length);
-***************
-*** 418,422 ****
- register char *line;
- int c_pos, inv_botlin, lb_botlin, lb_linenum;
-! int newlines, lpos, temp, modmark;
- char *prompt_this_line;
- #if defined (HANDLE_MULTIBYTE)
---- 425,429 ----
- register char *line;
- int c_pos, inv_botlin, lb_botlin, lb_linenum;
-! int newlines, lpos, temp, modmark, n0, num;
- char *prompt_this_line;
- #if defined (HANDLE_MULTIBYTE)
-***************
-*** 574,577 ****
---- 581,585 ----
- #if defined (HANDLE_MULTIBYTE)
- memset (_rl_wrapped_line, 0, vis_lbsize);
-+ num = 0;
- #endif
-
-***************
-*** 592,596 ****
---- 600,619 ----
- prompts that exceed two physical lines?
- Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
-+ #if defined (HANDLE_MULTIBYTE)
-+ n0 = num;
-+ temp = local_prompt ? strlen (local_prompt) : 0;
-+ while (num < temp)
-+ {
-+ if (_rl_col_width (local_prompt, n0, num) > _rl_screenwidth)
-+ {
-+ num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
-+ break;
-+ }
-+ num++;
-+ }
-+ temp = num +
-+ #else
- temp = ((newlines + 1) * _rl_screenwidth) +
-+ #endif /* !HANDLE_MULTIBYTE */
- ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
- : ((newlines == 1) ? wrap_offset : 0))
-***************
-*** 598,602 ****
---- 621,629 ----
-
- inv_lbreaks[++newlines] = temp;
-+ #if defined (HANDLE_MULTIBYTE)
-+ lpos -= _rl_col_width (local_prompt, n0, num);
-+ #else
- lpos -= _rl_screenwidth;
-+ #endif
- }
-
+++ /dev/null
-*** ../bash-3.0-patched/general.c Wed Apr 14 23:20:13 2004
---- general.c Wed Oct 20 16:59:59 2004
-***************
-*** 268,272 ****
-
- #if defined (ARRAY_VARS)
-! if ((legal_variable_starter (c) == 0) && (flags && c != '[')) /* ] */
- #else
- if (legal_variable_starter (c) == 0)
---- 268,272 ----
-
- #if defined (ARRAY_VARS)
-! if ((legal_variable_starter (c) == 0) && (flags == 0 || c != '[')) /* ] */
- #else
- if (legal_variable_starter (c) == 0)
+++ /dev/null
-*** ../bash-3.0/jobs.c Fri Apr 23 16:28:25 2004
---- jobs.c Wed Aug 18 11:15:07 2004
-***************
-*** 998,1002 ****
-
- if (job != NO_JOB)
-! printf ("[%d] %ld\n", job + 1, (long)pid);
- else
- programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
---- 998,1002 ----
-
- if (job != NO_JOB)
-! fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
- else
- programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
-***************
-*** 1779,1784 ****
- {
- fail = 0;
-! for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
-! if (p->status != EXECUTION_SUCCESS) fail = p->status;
- return fail;
- }
---- 1779,1789 ----
- {
- fail = 0;
-! p = jobs[job]->pipe;
-! do
-! {
-! if (p->status != EXECUTION_SUCCESS) fail = p->status;
-! p = p->next;
-! }
-! while (p != jobs[job]->pipe);
- return fail;
- }
-***************
-*** 2312,2321 ****
-
- if (foreground == 0)
-! fprintf (stderr, "[%d]%c ", job + 1,
- (job == current_job) ? '+': ((job == previous_job) ? '-' : ' '));
-
- do
- {
-! fprintf (stderr, "%s%s",
- p->command ? p->command : "",
- p->next != jobs[job]->pipe? " | " : "");
---- 2317,2326 ----
-
- if (foreground == 0)
-! printf ("[%d]%c ", job + 1,
- (job == current_job) ? '+': ((job == previous_job) ? '-' : ' '));
-
- do
- {
-! printf ("%s%s",
- p->command ? p->command : "",
- p->next != jobs[job]->pipe? " | " : "");
-***************
-*** 2325,2334 ****
-
- if (foreground == 0)
-! fprintf (stderr, " &");
-
- if (strcmp (wd, jobs[job]->wd) != 0)
-! fprintf (stderr, " (wd: %s)", polite_directory_format (jobs[job]->wd));
-
-! fprintf (stderr, "\n");
-
- /* Run the job. */
---- 2330,2339 ----
-
- if (foreground == 0)
-! printf (" &");
-
- if (strcmp (wd, jobs[job]->wd) != 0)
-! printf (" (wd: %s)", polite_directory_format (jobs[job]->wd));
-
-! printf ("\n");
-
- /* Run the job. */
+++ /dev/null
-/* The thing that makes children, remembers them, and contains wait loops. */
-
-/* This file works with both POSIX and BSD systems. It implements job
- control. */
-
-/* Copyright (C) 1989-2005 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-
- Bash is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2, or (at your option) any later
- version.
-
- Bash is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with Bash; see the file COPYING. If not, write to the Free Software
- Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-
-#include "config.h"
-
-#include "bashtypes.h"
-#include "trap.h"
-#include <stdio.h>
-#include <signal.h>
-#include <errno.h>
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-
-#include "posixtime.h"
-
-#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_WAIT3) && !defined (_POSIX_VERSION) && !defined (RLIMTYPE)
-# include <sys/resource.h>
-#endif /* !_POSIX_VERSION && HAVE_SYS_RESOURCE_H && HAVE_WAIT3 && !RLIMTYPE */
-
-#if defined (HAVE_SYS_FILE_H)
-# include <sys/file.h>
-#endif
-
-#include "filecntl.h"
-#include <sys/ioctl.h>
-#include <sys/param.h>
-
-#if defined (BUFFERED_INPUT)
-# include "input.h"
-#endif
-
-/* Need to include this up here for *_TTY_DRIVER definitions. */
-#include "shtty.h"
-
-/* Define this if your output is getting swallowed. It's a no-op on
- machines with the termio or termios tty drivers. */
-/* #define DRAIN_OUTPUT */
-
-/* For the TIOCGPGRP and TIOCSPGRP ioctl parameters on HP-UX */
-#if defined (hpux) && !defined (TERMIOS_TTY_DRIVER)
-# include <bsdtty.h>
-#endif /* hpux && !TERMIOS_TTY_DRIVER */
-
-#if !defined (STRUCT_WINSIZE_IN_SYS_IOCTL)
-/* For struct winsize on SCO */
-/* sys/ptem.h has winsize but needs mblk_t from sys/stream.h */
-# if defined (HAVE_SYS_PTEM_H) && defined (TIOCGWINSZ) && defined (SIGWINCH)
-# if defined (HAVE_SYS_STREAM_H)
-# include <sys/stream.h>
-# endif
-# include <sys/ptem.h>
-# endif /* HAVE_SYS_PTEM_H && TIOCGWINSZ && SIGWINCH */
-#endif /* !STRUCT_WINSIZE_IN_SYS_IOCTL */
-
-#include "bashansi.h"
-#include "bashintl.h"
-#include "shell.h"
-#include "jobs.h"
-#include "flags.h"
-
-#include "builtins/builtext.h"
-#include "builtins/common.h"
-
-#if !defined (errno)
-extern int errno;
-#endif /* !errno */
-
-#define DEFAULT_CHILD_MAX 32
-#define MAX_JOBS_IN_ARRAY 4096 /* testing */
-
-/* Take care of system dependencies that must be handled when waiting for
- children. The arguments to the WAITPID macro match those to the Posix.1
- waitpid() function. */
-
-#if defined (ultrix) && defined (mips) && defined (_POSIX_VERSION)
-# define WAITPID(pid, statusp, options) \
- wait3 ((union wait *)statusp, options, (struct rusage *)0)
-#else
-# if defined (_POSIX_VERSION) || defined (HAVE_WAITPID)
-# define WAITPID(pid, statusp, options) \
- waitpid ((pid_t)pid, statusp, options)
-# else
-# if defined (HAVE_WAIT3)
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (struct rusage *)0)
-# else
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (int *)0)
-# endif /* HAVE_WAIT3 */
-# endif /* !_POSIX_VERSION && !HAVE_WAITPID*/
-#endif /* !(Ultrix && mips && _POSIX_VERSION) */
-
-/* getpgrp () varies between systems. Even systems that claim to be
- Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
-#if defined (GETPGRP_VOID)
-# define getpgid(p) getpgrp ()
-#else
-# define getpgid(p) getpgrp (p)
-#endif /* !GETPGRP_VOID */
-
-/* If the system needs it, REINSTALL_SIGCHLD_HANDLER will reinstall the
- handler for SIGCHLD. */
-#if defined (MUST_REINSTALL_SIGHANDLERS)
-# define REINSTALL_SIGCHLD_HANDLER signal (SIGCHLD, sigchld_handler)
-#else
-# define REINSTALL_SIGCHLD_HANDLER
-#endif /* !MUST_REINSTALL_SIGHANDLERS */
-
-/* Some systems let waitpid(2) tell callers about stopped children. */
-#if !defined (WCONTINUED) || defined (WCONTINUED_BROKEN)
-# undef WCONTINUED
-# define WCONTINUED 0
-#endif
-#if !defined (WIFCONTINUED)
-# define WIFCONTINUED(s) (0)
-#endif
-
-/* The number of additional slots to allocate when we run out. */
-#define JOB_SLOTS 8
-
-typedef int sh_job_map_func_t __P((JOB *, int, int, int));
-
-#if defined (READLINE)
-extern void rl_set_screen_size __P((int, int));
-#endif
-
-/* Variables used here but defined in other files. */
-extern int subshell_environment, line_number;
-extern int posixly_correct, shell_level;
-extern int interrupt_immediately;
-extern int last_command_exit_value, last_command_exit_signal;
-extern int loop_level, breaking;
-extern int sourcelevel;
-extern sh_builtin_func_t *this_shell_builtin;
-extern char *shell_name, *this_command_name;
-extern sigset_t top_level_mask;
-extern procenv_t wait_intr_buf;
-extern int wait_signal_received;
-extern WORD_LIST *subst_assign_varlist;
-
-struct jobstats js = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB };
-
-/* The array of known jobs. */
-JOB **jobs = (JOB **)NULL;
-
-#if 0
-/* The number of slots currently allocated to JOBS. */
-int job_slots = 0;
-#endif
-
-/* The controlling tty for this shell. */
-int shell_tty = -1;
-
-/* The shell's process group. */
-pid_t shell_pgrp = NO_PID;
-
-/* The terminal's process group. */
-pid_t terminal_pgrp = NO_PID;
-
-/* The process group of the shell's parent. */
-pid_t original_pgrp = NO_PID;
-
-/* The process group of the pipeline currently being made. */
-pid_t pipeline_pgrp = (pid_t)0;
-
-#if defined (PGRP_PIPE)
-/* Pipes which each shell uses to communicate with the process group leader
- until all of the processes in a pipeline have been started. Then the
- process leader is allowed to continue. */
-int pgrp_pipe[2] = { -1, -1 };
-#endif
-
-#if 0
-/* The job which is current; i.e. the one that `%+' stands for. */
-int current_job = NO_JOB;
-
-/* The previous job; i.e. the one that `%-' stands for. */
-int previous_job = NO_JOB;
-#endif
-
-/* Last child made by the shell. */
-pid_t last_made_pid = NO_PID;
-
-/* Pid of the last asynchronous child. */
-pid_t last_asynchronous_pid = NO_PID;
-
-/* The pipeline currently being built. */
-PROCESS *the_pipeline = (PROCESS *)NULL;
-
-/* If this is non-zero, do job control. */
-int job_control = 1;
-
-/* Call this when you start making children. */
-int already_making_children = 0;
-
-/* If this is non-zero, $LINES and $COLUMNS are reset after every process
- exits from get_tty_state(). */
-int check_window_size;
-
-/* Functions local to this file. */
-
-static void get_new_window_size __P((int));
-
-static void run_sigchld_trap __P((int));
-
-static sighandler wait_sigint_handler __P((int));
-static sighandler sigchld_handler __P((int));
-static sighandler sigwinch_sighandler __P((int));
-static sighandler sigcont_sighandler __P((int));
-static sighandler sigstop_sighandler __P((int));
-
-static int waitchld __P((pid_t, int));
-
-static PROCESS *find_pipeline __P((pid_t, int, int *));
-
-static char *current_working_directory __P((void));
-static char *job_working_directory __P((void));
-static char *j_strsignal __P((int));
-static char *printable_job_status __P((int, PROCESS *, int));
-
-static pid_t find_last_pid __P((int, int));
-
-static int set_new_line_discipline __P((int));
-static int map_over_jobs __P((sh_job_map_func_t *, int, int));
-static int job_last_stopped __P((int));
-static int job_last_running __P((int));
-static int most_recent_job_in_state __P((int, JOB_STATE));
-static int find_job __P((pid_t, int));
-static int print_job __P((JOB *, int, int, int));
-static int process_exit_status __P((WAIT));
-static int process_exit_signal __P((WAIT));
-static int job_exit_status __P((int));
-static int job_exit_signal __P((int));
-static int set_job_status_and_cleanup __P((int));
-
-static WAIT raw_job_exit_status __P((int));
-
-static void notify_of_job_status __P((void));
-static void reset_job_indices __P((void));
-static void cleanup_dead_jobs __P((void));
-static int processes_in_job __P((int));
-static void realloc_jobs_list __P((void));
-static int compact_jobs_list __P((int));
-static int discard_pipeline __P((PROCESS *));
-static void add_process __P((char *, pid_t));
-static void print_pipeline __P((PROCESS *, int, int, FILE *));
-static void pretty_print_job __P((int, int, FILE *));
-static void set_current_job __P((int));
-static void reset_current __P((void));
-static void set_job_running __P((int));
-static void setjstatus __P((int));
-static void mark_all_jobs_as_dead __P((void));
-static void mark_dead_jobs_as_notified __P((int));
-static void restore_sigint_handler __P((void));
-#if defined (PGRP_PIPE)
-static void pipe_read __P((int *));
-static void pipe_close __P((int *));
-#endif
-
-#if defined (ARRAY_VARS)
-static int *pstatuses; /* list of pipeline statuses */
-static int statsize;
-#endif
-
-/* Used to synchronize between wait_for and other functions and the SIGCHLD
- signal handler. */
-static int sigchld;
-static int queue_sigchld;
-
-#define QUEUE_SIGCHLD(os) (os) = sigchld, queue_sigchld++
-
-#define UNQUEUE_SIGCHLD(os) \
- do { \
- queue_sigchld--; \
- if (queue_sigchld == 0 && os != sigchld) \
- waitchld (-1, 0); \
- } while (0)
-
-static SigHandler *old_tstp, *old_ttou, *old_ttin;
-static SigHandler *old_cont = (SigHandler *)SIG_DFL;
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static SigHandler *old_winch = (SigHandler *)SIG_DFL;
-#endif
-
-/* A place to temporarily save the current pipeline. */
-static PROCESS *saved_pipeline;
-static int saved_already_making_children;
-
-/* Set this to non-zero whenever you don't want the jobs list to change at
- all: no jobs deleted and no status change notifications. This is used,
- for example, when executing SIGCHLD traps, which may run arbitrary
- commands. */
-static int jobs_list_frozen;
-
-static char retcode_name_buffer[64];
-
-#if !defined (_POSIX_VERSION)
-
-/* These are definitions to map POSIX 1003.1 functions onto existing BSD
- library functions and system calls. */
-#define setpgid(pid, pgrp) setpgrp (pid, pgrp)
-#define tcsetpgrp(fd, pgrp) ioctl ((fd), TIOCSPGRP, &(pgrp))
-
-pid_t
-tcgetpgrp (fd)
- int fd;
-{
- pid_t pgrp;
-
- /* ioctl will handle setting errno correctly. */
- if (ioctl (fd, TIOCGPGRP, &pgrp) < 0)
- return (-1);
- return (pgrp);
-}
-
-#endif /* !_POSIX_VERSION */
-
-/* Return the working directory for the current process. Unlike
- job_working_directory, this does not call malloc (), nor do any
- of the functions it calls. This is so that it can safely be called
- from a signal handler. */
-static char *
-current_working_directory ()
-{
- char *dir;
- static char d[PATH_MAX];
-
- dir = get_string_value ("PWD");
-
- if (dir == 0 && the_current_working_directory && no_symbolic_links)
- dir = the_current_working_directory;
-
- if (dir == 0)
- {
- dir = getcwd (d, sizeof(d));
- if (dir)
- dir = d;
- }
-
- return (dir == 0) ? "<unknown>" : dir;
-}
-
-/* Return the working directory for the current process. */
-static char *
-job_working_directory ()
-{
- char *dir;
-
- dir = get_string_value ("PWD");
- if (dir)
- return (savestring (dir));
-
- dir = get_working_directory ("job-working-directory");
- if (dir)
- return (dir);
-
- return (savestring ("<unknown>"));
-}
-
-void
-making_children ()
-{
- if (already_making_children)
- return;
-
- already_making_children = 1;
- start_pipeline ();
-}
-
-void
-stop_making_children ()
-{
- already_making_children = 0;
-}
-
-void
-cleanup_the_pipeline ()
-{
- if (the_pipeline)
- {
- discard_pipeline (the_pipeline);
- the_pipeline = (PROCESS *)NULL;
- }
-}
-
-void
-save_pipeline (clear)
- int clear;
-{
- saved_pipeline = the_pipeline;
- saved_already_making_children = already_making_children;
- if (clear)
- the_pipeline = (PROCESS *)NULL;
-}
-
-void
-restore_pipeline (discard)
- int discard;
-{
- PROCESS *old_pipeline;
-
- old_pipeline = the_pipeline;
- the_pipeline = saved_pipeline;
- already_making_children = saved_already_making_children;
- if (discard)
- discard_pipeline (old_pipeline);
-}
-
-/* Start building a pipeline. */
-void
-start_pipeline ()
-{
- if (the_pipeline)
- {
- cleanup_the_pipeline ();
- pipeline_pgrp = 0;
-#if defined (PGRP_PIPE)
- pipe_close (pgrp_pipe);
-#endif
- }
-
-#if defined (PGRP_PIPE)
- if (job_control)
- {
- if (pipe (pgrp_pipe) == -1)
- sys_error ("start_pipeline: pgrp pipe");
- }
-#endif
-}
-
-/* Stop building a pipeline. Install the process list in the job array.
- This returns the index of the newly installed job.
- DEFERRED is a command structure to be executed upon satisfactory
- execution exit of this pipeline. */
-int
-stop_pipeline (async, deferred)
- int async;
- COMMAND *deferred;
-{
- register int i, j;
- JOB *newjob;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
-#if defined (PGRP_PIPE)
- /* The parent closes the process group synchronization pipe. */
- pipe_close (pgrp_pipe);
-#endif
-
- cleanup_dead_jobs ();
-
- if (js.j_jobslots == 0)
- {
- js.j_jobslots = JOB_SLOTS;
- jobs = (JOB **)xmalloc (js.j_jobslots * sizeof (JOB *));
-
- /* Now blank out these new entries. */
- for (i = 0; i < js.j_jobslots; i++)
- jobs[i] = (JOB *)NULL;
-
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
-
- /* Scan from the last slot backward, looking for the next free one. */
- /* XXX - revisit this interactive assumption */
- /* XXX - this way for now */
- if (interactive)
- {
- for (i = js.j_jobslots; i; i--)
- if (jobs[i - 1])
- break;
- }
- else
- {
-#if 0
- /* This wraps around, but makes it inconvenient to extend the array */
- for (i = js.j_lastj+1; i != js.j_lastj; i++)
- {
- if (i >= js.j_jobslots)
- i = 0;
- if (jobs[i] == 0)
- break;
- }
- if (i == js.j_lastj)
- i = js.j_jobslots;
-#else
- /* This doesn't wrap around yet. */
- for (i = js.j_lastj ? js.j_lastj + 1 : js.j_lastj; i < js.j_jobslots; i++)
- if (jobs[i] == 0)
- break;
-#endif
- }
-
- /* Do we need more room? */
-
- /* First try compaction */
- if ((interactive_shell == 0 || subshell_environment) && i == js.j_jobslots && js.j_jobslots >= MAX_JOBS_IN_ARRAY)
- i = compact_jobs_list (0);
-
- /* If we can't compact, reallocate */
- if (i == js.j_jobslots)
- {
- js.j_jobslots += JOB_SLOTS;
- jobs = (JOB **)xrealloc (jobs, (js.j_jobslots * sizeof (JOB *)));
-
- for (j = i; j < js.j_jobslots; j++)
- jobs[j] = (JOB *)NULL;
- }
-
- /* Add the current pipeline to the job list. */
- if (the_pipeline)
- {
- register PROCESS *p;
- int any_alive, any_stopped, n;
-
- newjob = (JOB *)xmalloc (sizeof (JOB));
-
- for (n = 0, p = the_pipeline; p->next != the_pipeline; n++, p = p->next)
- ;
- p->next = (PROCESS *)NULL;
- newjob->pipe = REVERSE_LIST (the_pipeline, PROCESS *);
- for (p = newjob->pipe; p->next; p = p->next)
- ;
- p->next = newjob->pipe;
-
- the_pipeline = (PROCESS *)NULL;
- newjob->pgrp = pipeline_pgrp;
- pipeline_pgrp = 0;
-
- newjob->flags = 0;
-
- /* Flag to see if in another pgrp. */
- if (job_control)
- newjob->flags |= J_JOBCONTROL;
-
- /* Set the state of this pipeline. */
- p = newjob->pipe;
- any_alive = any_stopped = 0;
- do
- {
- any_alive |= p->running;
- any_stopped |= WIFSTOPPED (p->status);
- p = p->next;
- }
- while (p != newjob->pipe);
-
- newjob->state = any_alive ? JRUNNING : (any_stopped ? JSTOPPED : JDEAD);
- newjob->wd = job_working_directory ();
- newjob->deferred = deferred;
-
- newjob->j_cleanup = (sh_vptrfunc_t *)NULL;
- newjob->cleanarg = (PTR_T) NULL;
-
- jobs[i] = newjob;
- if (newjob->state == JDEAD && (newjob->flags & J_FOREGROUND))
- setjstatus (i);
-
- js.c_injobs += n;
-
- js.j_lastj = i;
-itrace("stop_pipeline: set js.j_lastj = %d", js.j_lastj);
- js.j_njobs++;
- }
- else
- newjob = (JOB *)NULL;
-
- if (async)
- {
- if (newjob)
- newjob->flags &= ~J_FOREGROUND;
- reset_current ();
- }
- else
- {
- if (newjob)
- {
- newjob->flags |= J_FOREGROUND;
- /*
- * !!!!! NOTE !!!!! (chet@ins.cwru.edu)
- *
- * The currently-accepted job control wisdom says to set the
- * terminal's process group n+1 times in an n-step pipeline:
- * once in the parent and once in each child. This is where
- * the parent gives it away.
- *
- */
- if (job_control && newjob->pgrp)
- give_terminal_to (newjob->pgrp, 0);
- }
- }
-
- stop_making_children ();
- UNBLOCK_CHILD (oset);
- return (js.j_current);
-}
-
-/* Reset the values of js.j_lastj and js.j_firstj after one or both have
- been deleted. The caller should check whether js.j_njobs is 0 before
- calling this. */
-static void
-reset_job_indices ()
-{
- int old;
-
- if (jobs[js.j_firstj] == 0)
- {
- old = js.j_firstj++;
- while (js.j_firstj != old)
- {
- if (js.j_firstj >= js.j_jobslots)
- js.j_firstj = 0;
- if (jobs[js.j_firstj])
- break;
- js.j_firstj++;
- }
- if (js.j_firstj == old)
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
-itrace("reset_job_indices: reset js.j_firstj from %d to %d", old, js.j_firstj);
- }
- if (jobs[js.j_lastj] == 0)
- {
- old = js.j_lastj--;
- while (js.j_lastj != old)
- {
- if (js.j_lastj < 0)
- js.j_lastj = js.j_jobslots - 1;
- if (jobs[js.j_lastj])
- break;
- js.j_lastj--;
- }
- if (js.j_lastj == old)
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
-itrace("reset_job_indices: reset js.j_lastj from %d to %d", old, js.j_lastj);
- }
-}
-
-/* Delete all DEAD jobs that the user had received notification about. */
-static void
-cleanup_dead_jobs ()
-{
- register int i;
- int os;
-
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return;
-
- QUEUE_SIGCHLD(os);
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
-{
-if (i < js.j_firstj && jobs[i])
- itrace("cleanup_dead_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-
- if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i))
- delete_job (i, 0);
-}
- UNQUEUE_SIGCHLD(os);
-}
-
-static int
-processes_in_job (job)
-{
- int nproc;
- register PROCESS *p;
-
- nproc = 0;
- p = jobs[job]->pipe;
- do
- {
- p = p->next;
- nproc++;
- }
- while (p != jobs[job]->pipe);
-
- return nproc;
-}
-
-/* Reallocate and compress the jobs list. This returns with a jobs array
- whose size is a multiple of JOB_SLOTS and can hold the current number of
- jobs. Heuristics are used to minimize the number of new reallocs. */
-static void
-realloc_jobs_list ()
-{
- sigset_t set, oset;
- int nsize, i, j;
- JOB **nlist;
-
- nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
- nsize *= JOB_SLOTS;
- i = js.j_njobs % JOB_SLOTS;
- if (i == 0 || i > (JOB_SLOTS >> 1))
- nsize += JOB_SLOTS;
-
- BLOCK_CHILD (set, oset);
- nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
- for (i = j = 0; i < js.j_jobslots; i++)
- if (jobs[i])
- nlist[j++] = jobs[i];
-
- js.j_firstj = 0;
- js.j_lastj = (j > 0) ? j - 1: 0;
- js.j_jobslots = nsize;
-
- free (jobs);
- jobs = nlist;
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Compact the jobs list by removing dead jobs. Assumed that we have filled
- the jobs array to some predefined maximum. Called when the shell is not
- the foreground process (subshell_environment != 0). Returns the first
- available slot in the compacted list. If that value is js.j_jobslots, then
- the list needs to be reallocated. The jobs array is in new memory if
- this returns > 0 and < js.j_jobslots. FLAGS is reserved for future use. */
-static int
-compact_jobs_list (flags)
- int flags;
-{
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return js.j_jobslots;
-
- reap_dead_jobs ();
- realloc_jobs_list ();
-
- return (js.j_lastj);
-}
-
-/* Delete the job at INDEX from the job list. Must be called
- with SIGCHLD blocked. */
-void
-delete_job (job_index, warn_stopped)
- int job_index, warn_stopped;
-{
- register JOB *temp;
- int ndel;
-
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return;
-
- if (warn_stopped && subshell_environment == 0 && STOPPED (job_index))
- internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
-
- temp = jobs[job_index];
- if (job_index == js.j_current || job_index == js.j_previous)
- reset_current ();
-
- jobs[job_index] = (JOB *)NULL;
-
- free (temp->wd);
- ndel = discard_pipeline (temp->pipe);
-
- js.c_injobs -= ndel;
- if (temp->state == JDEAD)
- js.c_reaped -= ndel;
-
- if (temp->deferred)
- dispose_command (temp->deferred);
-
- free (temp);
-
-itrace("delete_job: deleted job %d", job_index);
- js.j_njobs--;
- if (js.j_njobs == 0)
- js.j_firstj = js.j_lastj = 0;
- else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
- reset_job_indices ();
-}
-
-/* Must be called with SIGCHLD blocked. */
-void
-nohup_job (job_index)
- int job_index;
-{
- register JOB *temp;
-
- if (js.j_jobslots == 0)
- return;
-
- if (temp = jobs[job_index])
- temp->flags |= J_NOHUP;
-}
-
-/* Get rid of the data structure associated with a process chain. */
-static int
-discard_pipeline (chain)
- register PROCESS *chain;
-{
- register PROCESS *this, *next;
- int n;
-
- this = chain;
- n = 0;
- do
- {
- next = this->next;
- FREE (this->command);
- free (this);
- n++;
- this = next;
- }
- while (this != chain);
-
- return n;
-}
-
-/* Add this process to the chain being built in the_pipeline.
- NAME is the command string that will be exec'ed later.
- PID is the process id of the child. */
-static void
-add_process (name, pid)
- char *name;
- pid_t pid;
-{
- PROCESS *t, *p;
-
- t = (PROCESS *)xmalloc (sizeof (PROCESS));
- t->next = the_pipeline;
- t->pid = pid;
- WSTATUS (t->status) = 0;
- t->running = PS_RUNNING;
- t->command = name;
- the_pipeline = t;
-
- if (t->next == 0)
- t->next = t;
- else
- {
- p = t->next;
- while (p->next != t->next)
- p = p->next;
- p->next = t;
- }
-}
-
-#if 0
-/* Take the last job and make it the first job. Must be called with
- SIGCHLD blocked. */
-int
-rotate_the_pipeline ()
-{
- PROCESS *p;
-
- if (the_pipeline->next == the_pipeline)
- return;
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- the_pipeline = p;
-}
-
-/* Reverse the order of the processes in the_pipeline. Must be called with
- SIGCHLD blocked. */
-int
-reverse_the_pipeline ()
-{
- PROCESS *p, *n;
-
- if (the_pipeline->next == the_pipeline)
- return;
-
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- p->next = (PROCESS *)NULL;
-
- n = REVERSE_LIST (the_pipeline, PROCESS *);
-
- the_pipeline = n;
- for (p = the_pipeline; p->next; p = p->next)
- ;
- p->next = the_pipeline;
-}
-#endif
-
-/* Map FUNC over the list of jobs. If FUNC returns non-zero,
- then it is time to stop mapping, and that is the return value
- for map_over_jobs. FUNC is called with a JOB, arg1, arg2,
- and INDEX. */
-static int
-map_over_jobs (func, arg1, arg2)
- sh_job_map_func_t *func;
- int arg1, arg2;
-{
- register int i;
- int result;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return 0;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX could use js.j_firstj here */
- for (i = result = 0; i < js.j_jobslots; i++)
- {
-if (i < js.j_firstj && jobs[i])
- itrace("map_over_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i])
- {
- result = (*func)(jobs[i], arg1, arg2, i);
- if (result)
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Cause all the jobs in the current pipeline to exit. */
-void
-terminate_current_pipeline ()
-{
- if (pipeline_pgrp && pipeline_pgrp != shell_pgrp)
- {
- killpg (pipeline_pgrp, SIGTERM);
- killpg (pipeline_pgrp, SIGCONT);
- }
-}
-
-/* Cause all stopped jobs to exit. */
-void
-terminate_stopped_jobs ()
-{
- register int i;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && STOPPED (i))
- {
- killpg (jobs[i]->pgrp, SIGTERM);
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-/* Cause all jobs, running or stopped, to receive a hangup signal. If
- a job is marked J_NOHUP, don't send the SIGHUP. */
-void
-hangup_all_jobs ()
-{
- register int i;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i])
- {
- if ((jobs[i]->flags & J_NOHUP) == 0)
- killpg (jobs[i]->pgrp, SIGHUP);
- if (STOPPED (i))
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-void
-kill_current_pipeline ()
-{
- stop_making_children ();
- start_pipeline ();
-}
-
-/* Return the pipeline that PID belongs to. Note that the pipeline
- doesn't have to belong to a job. Must be called with SIGCHLD blocked. */
-static PROCESS *
-find_pipeline (pid, running_only, jobp)
- pid_t pid;
- int running_only;
- int *jobp; /* index into jobs list or NO_JOB */
-{
- int job;
- register PROCESS *p;
-
- /* See if this process is in the pipeline that we are building. */
- if (jobp)
- *jobp = NO_JOB;
- if (the_pipeline)
- {
- p = the_pipeline;
- do
- {
- /* Return it if we found it. */
- if (p->pid == pid)
- {
- if ((running_only && PALIVE(p)) || (running_only == 0))
- return (p);
- }
-
- p = p->next;
- }
- while (p != the_pipeline);
- }
-
- job = find_job (pid, running_only);
- if (jobp)
- *jobp = job;
- return (job == NO_JOB) ? (PROCESS *)NULL : jobs[job]->pipe;
-}
-
-/* Return the job index that PID belongs to, or NO_JOB if it doesn't
- belong to any job. Must be called with SIGCHLD blocked. */
-static int
-find_job (pid, running_only)
- pid_t pid;
- int running_only;
-{
- register int i;
- register PROCESS *p;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
-if (i < js.j_firstj && jobs[i])
- itrace("find_job: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i])
- {
- p = jobs[i]->pipe;
-
- do
- {
- if (p->pid == pid)
- {
- if ((running_only && PALIVE(p)) || (running_only == 0))
- return (i);
- }
-
- p = p->next;
- }
- while (p != jobs[i]->pipe);
- }
- }
-
- return (NO_JOB);
-}
-
-/* Find a job given a PID. If BLOCK is non-zero, block SIGCHLD as
- required by find_job. */
-int
-get_job_by_pid (pid, block)
- pid_t pid;
- int block;
-{
- int job;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0);
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return job;
-}
-
-/* Print descriptive information about the job with leader pid PID. */
-void
-describe_pid (pid)
- pid_t pid;
-{
- int job;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0);
-
- if (job != NO_JOB)
- fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
- else
- programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
-
- UNBLOCK_CHILD (oset);
-}
-
-static char *
-j_strsignal (s)
- int s;
-{
- char *x;
-
- x = strsignal (s);
- if (x == 0)
- {
- x = retcode_name_buffer;
- sprintf (x, "Signal %d", s);
- }
- return x;
-}
-
-static char *
-printable_job_status (j, p, format)
- int j;
- PROCESS *p;
- int format;
-{
- static char *temp;
- int es;
-
- temp = "Done";
-
- if (STOPPED (j) && format == 0)
- {
- if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
- temp = "Stopped";
- else
- {
- temp = retcode_name_buffer;
- sprintf (temp, "Stopped(%s)", signal_name (WSTOPSIG (p->status)));
- }
- }
- else if (RUNNING (j))
- temp = "Running";
- else
- {
- if (WIFSTOPPED (p->status))
- temp = j_strsignal (WSTOPSIG (p->status));
- else if (WIFSIGNALED (p->status))
- temp = j_strsignal (WTERMSIG (p->status));
- else if (WIFEXITED (p->status))
- {
- temp = retcode_name_buffer;
- es = WEXITSTATUS (p->status);
- if (es == 0)
- strcpy (temp, "Done");
- else if (posixly_correct)
- sprintf (temp, "Done(%d)", es);
- else
- sprintf (temp, "Exit %d", es);
- }
- else
- temp = "Unknown status";
- }
-
- return temp;
-}
-
-/* This is the way to print out information on a job if you
- know the index. FORMAT is:
-
- JLIST_NORMAL) [1]+ Running emacs
- JLIST_LONG ) [1]+ 2378 Running emacs
- -1 ) [1]+ 2378 emacs
-
- JLIST_NORMAL) [1]+ Stopped ls | more
- JLIST_LONG ) [1]+ 2369 Stopped ls
- 2367 | more
- JLIST_PID_ONLY)
- Just list the pid of the process group leader (really
- the process group).
- JLIST_CHANGED_ONLY)
- Use format JLIST_NORMAL, but list only jobs about which
- the user has not been notified. */
-
-/* Print status for pipeline P. If JOB_INDEX is >= 0, it is the index into
- the JOBS array corresponding to this pipeline. FORMAT is as described
- above. Must be called with SIGCHLD blocked.
-
- If you're printing a pipeline that's not in the jobs array, like the
- current pipeline as it's being created, pass -1 for JOB_INDEX */
-static void
-print_pipeline (p, job_index, format, stream)
- PROCESS *p;
- int job_index, format;
- FILE *stream;
-{
- PROCESS *first, *last, *show;
- int es, name_padding;
- char *temp;
-
- if (p == 0)
- return;
-
- first = last = p;
- while (last->next != first)
- last = last->next;
-
- for (;;)
- {
- if (p != first)
- fprintf (stream, format ? " " : " |");
-
- if (format != JLIST_STANDARD)
- fprintf (stream, "%5ld", (long)p->pid);
-
- fprintf (stream, " ");
-
- if (format > -1 && job_index >= 0)
- {
- show = format ? p : last;
- temp = printable_job_status (job_index, show, format);
-
- if (p != first)
- {
- if (format)
- {
- if (show->running == first->running &&
- WSTATUS (show->status) == WSTATUS (first->status))
- temp = "";
- }
- else
- temp = (char *)NULL;
- }
-
- if (temp)
- {
- fprintf (stream, "%s", temp);
-
- es = STRLEN (temp);
- if (es == 0)
- es = 2; /* strlen ("| ") */
- name_padding = LONGEST_SIGNAL_DESC - es;
-
- fprintf (stream, "%*s", name_padding, "");
-
- if ((WIFSTOPPED (show->status) == 0) &&
- (WIFCONTINUED (show->status) == 0) &&
- WIFCORED (show->status))
- fprintf (stream, "(core dumped) ");
- }
- }
-
- if (p != first && format)
- fprintf (stream, "| ");
-
- if (p->command)
- fprintf (stream, "%s", p->command);
-
- if (p == last && job_index >= 0)
- {
- temp = current_working_directory ();
-
- if (RUNNING (job_index) && (IS_FOREGROUND (job_index) == 0))
- fprintf (stream, " &");
-
- if (strcmp (temp, jobs[job_index]->wd) != 0)
- fprintf (stream,
- " (wd: %s)", polite_directory_format (jobs[job_index]->wd));
- }
-
- if (format || (p == last))
- {
- /* We need to add a CR only if this is an interactive shell, and
- we're reporting the status of a completed job asynchronously.
- We can't really check whether this particular job is being
- reported asynchronously, so just add the CR if the shell is
- currently interactive and asynchronous notification is enabled. */
- if (asynchronous_notification && interactive)
- fprintf (stream, "\r\n");
- else
- fprintf (stream, "\n");
- }
-
- if (p == last)
- break;
- p = p->next;
- }
- fflush (stream);
-}
-
-/* Print information to STREAM about jobs[JOB_INDEX] according to FORMAT.
- Must be called with SIGCHLD blocked or queued with queue_sigchld */
-static void
-pretty_print_job (job_index, format, stream)
- int job_index, format;
- FILE *stream;
-{
- register PROCESS *p;
-
- /* Format only pid information about the process group leader? */
- if (format == JLIST_PID_ONLY)
- {
- fprintf (stream, "%ld\n", (long)jobs[job_index]->pipe->pid);
- return;
- }
-
- if (format == JLIST_CHANGED_ONLY)
- {
- if (IS_NOTIFIED (job_index))
- return;
- format = JLIST_STANDARD;
- }
-
- if (format != JLIST_NONINTERACTIVE)
- fprintf (stream, "[%d]%c ", job_index + 1,
- (job_index == js.j_current) ? '+':
- (job_index == js.j_previous) ? '-' : ' ');
-
- if (format == JLIST_NONINTERACTIVE)
- format = JLIST_LONG;
-
- p = jobs[job_index]->pipe;
-
- print_pipeline (p, job_index, format, stream);
-
- /* We have printed information about this job. When the job's
- status changes, waitchld () sets the notification flag to 0. */
- jobs[job_index]->flags |= J_NOTIFIED;
-}
-
-static int
-print_job (job, format, state, job_index)
- JOB *job;
- int format, state, job_index;
-{
- if (state == -1 || (JOB_STATE)state == job->state)
- pretty_print_job (job_index, format, stdout);
- return (0);
-}
-
-void
-list_one_job (job, format, ignore, job_index)
- JOB *job;
- int format, ignore, job_index;
-{
- pretty_print_job (job_index, format, stdout);
-}
-
-void
-list_stopped_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JSTOPPED);
-}
-
-void
-list_running_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JRUNNING);
-}
-
-/* List jobs. If FORMAT is non-zero, then the long form of the information
- is printed, else just a short version. */
-void
-list_all_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, -1);
-}
-
-/* Fork, handling errors. Returns the pid of the newly made child, or 0.
- COMMAND is just for remembering the name of the command; we don't do
- anything else with it. ASYNC_P says what to do with the tty. If
- non-zero, then don't give it away. */
-pid_t
-make_child (command, async_p)
- char *command;
- int async_p;
-{
- sigset_t set, oset;
- pid_t pid;
-
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGINT);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- making_children ();
-
-#if defined (BUFFERED_INPUT)
- /* If default_buffered_input is active, we are reading a script. If
- the command is asynchronous, we have already duplicated /dev/null
- as fd 0, but have not changed the buffered stream corresponding to
- the old fd 0. We don't want to sync the stream in this case. */
- if (default_buffered_input != -1 &&
- (!async_p || default_buffered_input > 0))
- sync_buffered_stream (default_buffered_input);
-#endif /* BUFFERED_INPUT */
-
- /* Create the child, handle severe errors. */
- if ((pid = fork ()) < 0)
- {
- sys_error ("fork");
-
- /* Kill all of the processes in the current pipeline. */
- terminate_current_pipeline ();
-
- /* Discard the current pipeline, if any. */
- if (the_pipeline)
- kill_current_pipeline ();
-
- throw_to_top_level (); /* Reset signals, etc. */
- }
-
- if (pid == 0)
- {
- /* In the child. Give this child the right process group, set the
- signals to the default state for a new process. */
- pid_t mypid;
-
- mypid = getpid ();
-#if defined (BUFFERED_INPUT)
- /* Close default_buffered_input if it's > 0. We don't close it if it's
- 0 because that's the file descriptor used when redirecting input,
- and it's wrong to close the file in that case. */
- unset_bash_input (0);
-#endif /* BUFFERED_INPUT */
-
- /* Restore top-level signal mask. */
- sigprocmask (SIG_SETMASK, &top_level_mask, (sigset_t *)NULL);
-
- if (job_control)
- {
- /* All processes in this pipeline belong in the same
- process group. */
-
- if (pipeline_pgrp == 0) /* This is the first child. */
- pipeline_pgrp = mypid;
-
- /* Check for running command in backquotes. */
- if (pipeline_pgrp == shell_pgrp)
- ignore_tty_job_signals ();
- else
- default_tty_job_signals ();
-
- /* Set the process group before trying to mess with the terminal's
- process group. This is mandated by POSIX. */
- /* This is in accordance with the Posix 1003.1 standard,
- section B.7.2.4, which says that trying to set the terminal
- process group with tcsetpgrp() to an unused pgrp value (like
- this would have for the first child) is an error. Section
- B.4.3.3, p. 237 also covers this, in the context of job control
- shells. */
- if (setpgid (mypid, pipeline_pgrp) < 0)
- sys_error ("child setpgid (%ld to %ld)", (long)mypid, (long)pipeline_pgrp);
-
- /* By convention (and assumption above), if
- pipeline_pgrp == shell_pgrp, we are making a child for
- command substitution.
- In this case, we don't want to give the terminal to the
- shell's process group (we could be in the middle of a
- pipeline, for example). */
- if (async_p == 0 && pipeline_pgrp != shell_pgrp)
- give_terminal_to (pipeline_pgrp, 0);
-
-#if defined (PGRP_PIPE)
- if (pipeline_pgrp == mypid)
- pipe_read (pgrp_pipe);
-#endif
- }
- else /* Without job control... */
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
-
- /* If these signals are set to SIG_DFL, we encounter the curious
- situation of an interactive ^Z to a running process *working*
- and stopping the process, but being unable to do anything with
- that process to change its state. On the other hand, if they
- are set to SIG_IGN, jobs started from scripts do not stop when
- the shell running the script gets a SIGTSTP and stops. */
-
- default_tty_job_signals ();
- }
-
-#if defined (PGRP_PIPE)
- /* Release the process group pipe, since our call to setpgid ()
- is done. The last call to pipe_close is done in stop_pipeline. */
- pipe_close (pgrp_pipe);
-#endif /* PGRP_PIPE */
-
- if (async_p)
- last_asynchronous_pid = getpid ();
- }
- else
- {
- /* In the parent. Remember the pid of the child just created
- as the proper pgrp if this is the first child. */
-
- if (job_control)
- {
- if (pipeline_pgrp == 0)
- {
- pipeline_pgrp = pid;
- /* Don't twiddle terminal pgrps in the parent! This is the bug,
- not the good thing of twiddling them in the child! */
- /* give_terminal_to (pipeline_pgrp, 0); */
- }
- /* This is done on the recommendation of the Rationale section of
- the POSIX 1003.1 standard, where it discusses job control and
- shells. It is done to avoid possible race conditions. (Ref.
- 1003.1 Rationale, section B.4.3.3, page 236). */
- setpgid (pid, pipeline_pgrp);
- }
- else
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
- }
-
- /* Place all processes into the jobs array regardless of the
- state of job_control. */
- add_process (command, pid);
-
- if (async_p)
- last_asynchronous_pid = pid;
-
- last_made_pid = pid;
-
- /* keep stats */
- js.c_totforked++;
- js.c_living++;
-
- /* Unblock SIGINT and SIGCHLD unless creating a pipeline, in which case
- SIGCHLD remains blocked until all commands in the pipeline have been
- created. */
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return (pid);
-}
-
-/* These two functions are called only in child processes. */
-void
-ignore_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
-}
-
-void
-default_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_DFL);
- set_signal_handler (SIGTTIN, SIG_DFL);
- set_signal_handler (SIGTTOU, SIG_DFL);
-}
-
-/* When we end a job abnormally, or if we stop a job, we set the tty to the
- state kept in here. When a job ends normally, we set the state in here
- to the state of the tty. */
-
-static TTYSTRUCT shell_tty_info;
-
-#if defined (NEW_TTY_DRIVER)
-static struct tchars shell_tchars;
-static struct ltchars shell_ltchars;
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (NEW_TTY_DRIVER) && defined (DRAIN_OUTPUT)
-/* Since the BSD tty driver does not allow us to change the tty modes
- while simultaneously waiting for output to drain and preserving
- typeahead, we have to drain the output ourselves before calling
- ioctl. We cheat by finding the length of the output queue, and
- using select to wait for an appropriate length of time. This is
- a hack, and should be labeled as such (it's a hastily-adapted
- mutation of a `usleep' implementation). It's only reason for
- existing is the flaw in the BSD tty driver. */
-
-static int ttspeeds[] =
-{
- 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200,
- 1800, 2400, 4800, 9600, 19200, 38400
-};
-
-static void
-draino (fd, ospeed)
- int fd, ospeed;
-{
- register int delay = ttspeeds[ospeed];
- int n;
-
- if (!delay)
- return;
-
- while ((ioctl (fd, TIOCOUTQ, &n) == 0) && n)
- {
- if (n > (delay / 100))
- {
- struct timeval tv;
-
- n *= 10; /* 2 bits more for conservativeness. */
- tv.tv_sec = n / delay;
- tv.tv_usec = ((n % delay) * 1000000) / delay;
- select (fd, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv);
- }
- else
- break;
- }
-}
-#endif /* NEW_TTY_DRIVER && DRAIN_OUTPUT */
-
-/* Return the fd from which we are actually getting input. */
-#define input_tty() (shell_tty != -1) ? shell_tty : fileno (stderr)
-
-/* Fill the contents of shell_tty_info with the current tty info. */
-int
-get_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
- ioctl (tty, TIOCGETP, &shell_tty_info);
- ioctl (tty, TIOCGETC, &shell_tchars);
- ioctl (tty, TIOCGLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCGETA, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- {
-#if 0
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcgetattr", (long)getpid (), shell_level);
-#endif
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- if (check_window_size)
- get_new_window_size (0);
- }
- return 0;
-}
-
-/* Make the current tty use the state in shell_tty_info. */
-int
-set_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
-# if defined (DRAIN_OUTPUT)
- draino (tty, shell_tty_info.sg_ospeed);
-# endif /* DRAIN_OUTPUT */
- ioctl (tty, TIOCSETN, &shell_tty_info);
- ioctl (tty, TIOCSETC, &shell_tchars);
- ioctl (tty, TIOCSLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCSETAW, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- {
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcsetattr", (long)getpid (), shell_level);
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- }
- return 0;
-}
-
-/* Given an index into the jobs array JOB, return the pid of the last
- process in that job's pipeline. This is the one whose exit status
- counts. Must be called with SIGCHLD blocked or queued. */
-static pid_t
-find_last_pid (job, block)
- int job;
- int block;
-{
- register PROCESS *p;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- p = jobs[job]->pipe;
- while (p->next != jobs[job]->pipe)
- p = p->next;
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return (p->pid);
-}
-
-/* Wait for a particular child of the shell to finish executing.
- This low-level function prints an error message if PID is not
- a child of this shell. It returns -1 if it fails, or whatever
- wait_for returns otherwise. If the child is not found in the
- jobs table, it returns 127. */
-int
-wait_for_single_pid (pid)
- pid_t pid;
-{
- register PROCESS *child;
- sigset_t set, oset;
- int r, job;
-
- BLOCK_CHILD (set, oset);
- child = find_pipeline (pid, 0, (int *)NULL);
- UNBLOCK_CHILD (oset);
-
- if (child == 0)
- {
- internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
- return (127);
- }
-
- r = wait_for (pid);
-
- /* POSIX.2: if we just waited for a job, we can remove it from the jobs
- table. */
- BLOCK_CHILD (set, oset);
- job = find_job (pid, 0);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- return r;
-}
-
-/* Wait for all of the backgrounds of this shell to finish. */
-void
-wait_for_background_pids ()
-{
- register int i, r, waited_for;
- sigset_t set, oset;
- pid_t pid;
-
- for (waited_for = 0;;)
- {
- BLOCK_CHILD (set, oset);
-
- /* find first running job; if none running in foreground, break */
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
-{
-if (i < js.j_firstj && jobs[i])
- itrace("wait_for_background_pids: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
- break;
-}
- if (i == js.j_jobslots)
- {
- UNBLOCK_CHILD (oset);
- break;
- }
-
- /* now wait for the last pid in that job. */
- pid = find_last_pid (i, 0);
- UNBLOCK_CHILD (oset);
- QUIT;
- errno = 0; /* XXX */
- r = wait_for_single_pid (pid);
- if (r == -1)
- {
- /* If we're mistaken about job state, compensate. */
- if (errno == ECHILD)
- mark_all_jobs_as_dead ();
- }
- else
- waited_for++;
- }
-
- /* POSIX.2 says the shell can discard the statuses of all completed jobs if
- `wait' is called with no arguments. */
- mark_dead_jobs_as_notified (1);
- cleanup_dead_jobs ();
-}
-
-/* Make OLD_SIGINT_HANDLER the SIGINT signal handler. */
-#define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
-static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
-
-static void
-restore_sigint_handler ()
-{
- if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- set_signal_handler (SIGINT, old_sigint_handler);
- old_sigint_handler = INVALID_SIGNAL_HANDLER;
- }
-}
-
-static int wait_sigint_received;
-
-/* Handle SIGINT while we are waiting for children in a script to exit.
- The `wait' builtin should be interruptible, but all others should be
- effectively ignored (i.e. not cause the shell to exit). */
-static sighandler
-wait_sigint_handler (sig)
- int sig;
-{
- SigHandler *sigint_handler;
-
- if (interrupt_immediately ||
- (this_shell_builtin && this_shell_builtin == wait_builtin))
- {
- last_command_exit_value = EXECUTION_FAILURE;
- restore_sigint_handler ();
- /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
- what POSIX.2 says (see builtins/wait.def for more info). */
- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
- signal_is_trapped (SIGINT) &&
- ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
- {
- interrupt_immediately = 0;
- trap_handler (SIGINT); /* set pending_traps[SIGINT] */
- wait_signal_received = SIGINT;
- longjmp (wait_intr_buf, 1);
- }
-
- ADDINTERRUPT;
- QUIT;
- }
-
- /* XXX - should this be interrupt_state? If it is, the shell will act
- as if it got the SIGINT interrupt. */
- wait_sigint_received = 1;
-
- /* Otherwise effectively ignore the SIGINT and allow the running job to
- be killed. */
- SIGRETURN (0);
-}
-
-static int
-process_exit_signal (status)
- WAIT status;
-{
- return (WIFSIGNALED (status) ? WTERMSIG (status) : 0);
-}
-
-static int
-process_exit_status (status)
- WAIT status;
-{
- if (WIFSIGNALED (status))
- return (128 + WTERMSIG (status));
- else if (WIFSTOPPED (status) == 0)
- return (WEXITSTATUS (status));
- else
- return (EXECUTION_SUCCESS);
-}
-
-/* Return the exit status of the last process in the pipeline for job JOB.
- This is the exit status of the entire job. */
-static WAIT
-raw_job_exit_status (job)
- int job;
-{
- register PROCESS *p;
- int fail;
-
- if (pipefail_opt)
- {
- fail = 0;
- p = jobs[job]->pipe;
- do
- {
- if (p->status != EXECUTION_SUCCESS) fail = p->status;
- p = p->next;
- }
- while (p != jobs[job]->pipe);
- return fail;
- }
-
- for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
- ;
- return (p->status);
-}
-
-/* Return the exit status of job JOB. This is the exit status of the last
- (rightmost) process in the job's pipeline, modified if the job was killed
- by a signal or stopped. */
-static int
-job_exit_status (job)
- int job;
-{
- return (process_exit_status (raw_job_exit_status (job)));
-}
-
-static int
-job_exit_signal (job)
- int job;
-{
- return (process_exit_signal (raw_job_exit_status (job)));
-}
-
-#define FIND_CHILD(pid, child) \
- do \
- { \
- child = find_pipeline (pid, 0, (int *)NULL); \
- if (child == 0) \
- { \
- give_terminal_to (shell_pgrp, 0); \
- UNBLOCK_CHILD (oset); \
- internal_error (_("wait_for: No record of process %ld"), (long)pid); \
- restore_sigint_handler (); \
- return (termination_state = 127); \
- } \
- } \
- while (0)
-
-/* Wait for pid (one of our children) to terminate, then
- return the termination state. Returns 127 if PID is not found in
- the jobs table. Returns -1 if waitchld() returns -1, indicating
- that there are no unwaited-for child processes. */
-int
-wait_for (pid)
- pid_t pid;
-{
- int job, termination_state, r;
- WAIT s;
- register PROCESS *child;
- sigset_t set, oset;
- register PROCESS *p;
-
- /* In the case that this code is interrupted, and we longjmp () out of it,
- we are relying on the code in throw_to_top_level () to restore the
- top-level signal mask. */
- BLOCK_CHILD (set, oset);
-
- /* Ignore interrupts while waiting for a job run without job control
- to finish. We don't want the shell to exit if an interrupt is
- received, only if one of the jobs run is killed via SIGINT. If
- job control is not set, the job will be run in the same pgrp as
- the shell, and the shell will see any signals the job gets. */
-
- /* This is possibly a race condition -- should it go in stop_pipeline? */
- wait_sigint_received = 0;
- if (job_control == 0)
- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-
- termination_state = last_command_exit_value;
-
- if (interactive && job_control == 0)
- QUIT;
-
- /* If we say wait_for (), then we have a record of this child somewhere.
- If it and none of its peers are running, don't call waitchld(). */
-
- job = NO_JOB;
- do
- {
- FIND_CHILD (pid, child);
-
- /* If this child is part of a job, then we are really waiting for the
- job to finish. Otherwise, we are waiting for the child to finish.
- We check for JDEAD in case the job state has been set by waitchld
- after receipt of a SIGCHLD. */
- if (job == NO_JOB)
- job = find_job (pid, 0);
-
- /* waitchld() takes care of setting the state of the job. If the job
- has already exited before this is called, sigchld_handler will have
- called waitchld and the state will be set to JDEAD. */
-
- if (child->running || (job != NO_JOB && RUNNING (job)))
- {
-#if defined (WAITPID_BROKEN) /* SCOv4 */
- sigset_t suspend_set;
- sigemptyset (&suspend_set);
- sigsuspend (&suspend_set);
-#else /* !WAITPID_BROKEN */
-# if defined (MUST_UNBLOCK_CHLD)
- struct sigaction act, oact;
- sigset_t nullset, chldset;
-
- sigemptyset (&nullset);
- sigemptyset (&chldset);
- sigprocmask (SIG_SETMASK, &nullset, &chldset);
- act.sa_handler = SIG_DFL;
- sigemptyset (&act.sa_mask);
- sigemptyset (&oact.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGCHLD, &act, &oact);
-# endif
- queue_sigchld = 1;
- r = waitchld (pid, 1);
-# if defined (MUST_UNBLOCK_CHLD)
- sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
- sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
-# endif
- queue_sigchld = 0;
- if (r == -1 && errno == ECHILD && this_shell_builtin == wait_builtin)
- {
- termination_state = -1;
- goto wait_for_return;
- }
-
- /* If child is marked as running, but waitpid() returns -1/ECHILD,
- there is something wrong. Somewhere, wait should have returned
- that child's pid. Mark the child as not running and the job,
- if it exists, as JDEAD. */
- if (r == -1 && errno == ECHILD)
- {
- child->running = PS_DONE;
- child->status = 0; /* XXX -- can't find true status */
- if (job != NO_JOB)
- jobs[job]->state = JDEAD;
- }
-#endif /* WAITPID_BROKEN */
- }
-
- /* If the shell is interactive, and job control is disabled, see
- if the foreground process has died due to SIGINT and jump out
- of the wait loop if it has. waitchld has already restored the
- old SIGINT signal handler. */
- if (interactive && job_control == 0)
- QUIT;
- }
- while (child->running || (job != NO_JOB && RUNNING (job)));
-
- /* The exit state of the command is either the termination state of the
- child, or the termination state of the job. If a job, the status
- of the last child in the pipeline is the significant one. If the command
- or job was terminated by a signal, note that value also. */
- termination_state = (job != NO_JOB) ? job_exit_status (job)
- : process_exit_status (child->status);
- last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job)
- : process_exit_signal (child->status);
-
- /* XXX */
- if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status))
- termination_state = 128 + WSTOPSIG (child->status);
-
- if (job == NO_JOB || IS_JOBCONTROL (job))
- {
- /* XXX - under what circumstances is a job not present in the jobs
- table (job == NO_JOB)?
- 1. command substitution
-
- In the case of command substitution, at least, it's probably not
- the right thing to give the terminal to the shell's process group,
- even though there is code in subst.c:command_substitute to work
- around it.
-
- Things that don't:
- $PROMPT_COMMAND execution
- process substitution
- */
-#if 0
-if (job == NO_JOB)
- itrace("wait_for: job == NO_JOB, giving the terminal to shell_pgrp (%ld)", (long)shell_pgrp);
-#endif
-
- give_terminal_to (shell_pgrp, 0);
- }
-
- /* If the command did not exit cleanly, or the job is just
- being stopped, then reset the tty state back to what it
- was before this command. Reset the tty state and notify
- the user of the job termination only if the shell is
- interactive. Clean up any dead jobs in either case. */
- if (job != NO_JOB)
- {
- if (interactive_shell && subshell_environment == 0)
- {
- /* This used to use `child->status'. That's wrong, however, for
- pipelines. `child' is the first process in the pipeline. It's
- likely that the process we want to check for abnormal termination
- or stopping is the last process in the pipeline, especially if
- it's long-lived and the first process is short-lived. Since we
- know we have a job here, we can check all the processes in this
- job's pipeline and see if one of them stopped or terminated due
- to a signal. We might want to change this later to just check
- the last process in the pipeline. If no process exits due to a
- signal, S is left as the status of the last job in the pipeline. */
- p = jobs[job]->pipe;
- do
- {
- s = p->status;
- if (WIFSIGNALED(s) || WIFSTOPPED(s))
- break;
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (WIFSIGNALED (s) || WIFSTOPPED (s))
- {
- set_tty_state ();
-
- /* If the current job was stopped or killed by a signal, and
- the user has requested it, get a possibly new window size */
- if (check_window_size && (job == js.j_current || IS_FOREGROUND (job)))
- get_new_window_size (0);
- }
- else
- get_tty_state ();
-
- /* If job control is enabled, the job was started with job
- control, the job was the foreground job, and it was killed
- by SIGINT, then print a newline to compensate for the kernel
- printing the ^C without a trailing newline. */
- if (job_control && IS_JOBCONTROL (job) && IS_FOREGROUND (job) &&
- WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
- {
- /* If SIGINT is not trapped and the shell is in a for, while,
- or until loop, act as if the shell received SIGINT as
- well, so the loop can be broken. This doesn't call the
- SIGINT signal handler; maybe it should. */
- if (signal_is_trapped (SIGINT) == 0 && loop_level)
- ADDINTERRUPT;
- else
- {
- putchar ('\n');
- fflush (stdout);
- }
- }
- }
-
- /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
- signal handler path */
- if (DEADJOB (job) && IS_FOREGROUND (job) /*&& subshell_environment == 0*/)
- setjstatus (job);
-
- /* If this job is dead, notify the user of the status. If the shell
- is interactive, this will display a message on the terminal. If
- the shell is not interactive, make sure we turn on the notify bit
- so we don't get an unwanted message about the job's termination,
- and so delete_job really clears the slot in the jobs table. */
- notify_and_cleanup ();
- }
-
-wait_for_return:
-
- UNBLOCK_CHILD (oset);
-
- /* Restore the original SIGINT signal handler before we return. */
- restore_sigint_handler ();
-
- return (termination_state);
-}
-
-/* Wait for the last process in the pipeline for JOB. Returns whatever
- wait_for returns: the last process's termination state or -1 if there
- are no unwaited-for child processes or an error occurs. */
-int
-wait_for_job (job)
- int job;
-{
- pid_t pid;
- int r;
- sigset_t set, oset;
-
- BLOCK_CHILD(set, oset);
- if (JOBSTATE (job) == JSTOPPED)
- internal_warning (_("wait_for_job: job %d is stopped"), job+1);
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD(oset);
- r = wait_for (pid);
-
- /* POSIX.2: we can remove the job from the jobs table if we just waited
- for it. */
- BLOCK_CHILD (set, oset);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- return r;
-}
-
-/* Print info about dead jobs, and then delete them from the list
- of known jobs. This does not actually delete jobs when the
- shell is not interactive, because the dead jobs are not marked
- as notified. */
-void
-notify_and_cleanup ()
-{
- if (jobs_list_frozen)
- return;
-
- if (interactive || interactive_shell == 0 || sourcelevel)
- notify_of_job_status ();
-
- cleanup_dead_jobs ();
-}
-
-/* Make dead jobs disappear from the jobs array without notification.
- This is used when the shell is not interactive. */
-void
-reap_dead_jobs ()
-{
- mark_dead_jobs_as_notified (0);
- cleanup_dead_jobs ();
-}
-
-/* Return the next closest (chronologically) job to JOB which is in
- STATE. STATE can be JSTOPPED, JRUNNING. NO_JOB is returned if
- there is no next recent job. */
-static int
-most_recent_job_in_state (job, state)
- int job;
- JOB_STATE state;
-{
- register int i, result;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- for (result = NO_JOB, i = job - 1; i >= 0; i--)
- {
- if (jobs[i] && (JOBSTATE (i) == state))
- {
- result = i;
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Return the newest *stopped* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_stopped (job)
- int job;
-{
- return (most_recent_job_in_state (job, JSTOPPED));
-}
-
-/* Return the newest *running* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_running (job)
- int job;
-{
- return (most_recent_job_in_state (job, JRUNNING));
-}
-
-/* Make JOB be the current job, and make previous be useful. Must be
- called with SIGCHLD blocked. */
-static void
-set_current_job (job)
- int job;
-{
- int candidate;
-
- if (js.j_current != job)
- {
- js.j_previous = js.j_current;
- js.j_current = job;
- }
-
- /* First choice for previous job is the old current job. */
- if (js.j_previous != js.j_current &&
- js.j_previous != NO_JOB &&
- jobs[js.j_previous] &&
- STOPPED (js.j_previous))
- return;
-
- /* Second choice: Newest stopped job that is older than
- the current job. */
- candidate = NO_JOB;
- if (STOPPED (js.j_current))
- {
- candidate = job_last_stopped (js.j_current);
-
- if (candidate != NO_JOB)
- {
- js.j_previous = candidate;
- return;
- }
- }
-
- /* If we get here, there is either only one stopped job, in which case it is
- the current job and the previous job should be set to the newest running
- job, or there are only running jobs and the previous job should be set to
- the newest running job older than the current job. We decide on which
- alternative to use based on whether or not JOBSTATE(js.j_current) is
- JSTOPPED. */
-
- candidate = RUNNING (js.j_current) ? job_last_running (js.j_current)
- : job_last_running (js.j_jobslots);
-
- if (candidate != NO_JOB)
- {
- js.j_previous = candidate;
- return;
- }
-
- /* There is only a single job, and it is both `+' and `-'. */
- js.j_previous = js.j_current;
-}
-
-/* Make current_job be something useful, if it isn't already. */
-
-/* Here's the deal: The newest non-running job should be `+', and the
- next-newest non-running job should be `-'. If there is only a single
- stopped job, the js.j_previous is the newest non-running job. If there
- are only running jobs, the newest running job is `+' and the
- next-newest running job is `-'. Must be called with SIGCHLD blocked. */
-
-static void
-reset_current ()
-{
- int candidate;
-
- if (js.j_jobslots && js.j_current != NO_JOB && jobs[js.j_current] && STOPPED (js.j_current))
- candidate = js.j_current;
- else
- {
- candidate = NO_JOB;
-
- /* First choice: the previous job. */
- if (js.j_previous != NO_JOB && jobs[js.j_previous] && STOPPED (js.j_previous))
- candidate = js.j_previous;
-
- /* Second choice: the most recently stopped job. */
- if (candidate == NO_JOB)
- candidate = job_last_stopped (js.j_jobslots);
-
- /* Third choice: the newest running job. */
- if (candidate == NO_JOB)
- candidate = job_last_running (js.j_jobslots);
- }
-
- /* If we found a job to use, then use it. Otherwise, there
- are no jobs period. */
- if (candidate != NO_JOB)
- set_current_job (candidate);
- else
- js.j_current = js.j_previous = NO_JOB;
-}
-
-/* Set up the job structures so we know the job and its processes are
- all running. */
-static void
-set_job_running (job)
- int job;
-{
- register PROCESS *p;
-
- /* Each member of the pipeline is now running. */
- p = jobs[job]->pipe;
-
- do
- {
- if (WIFSTOPPED (p->status))
- p->running = PS_RUNNING; /* XXX - could be PS_STOPPED */
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- /* This means that the job is running. */
- JOBSTATE (job) = JRUNNING;
-}
-
-/* Start a job. FOREGROUND if non-zero says to do that. Otherwise,
- start the job in the background. JOB is a zero-based index into
- JOBS. Returns -1 if it is unable to start a job, and the return
- status of the job otherwise. */
-int
-start_job (job, foreground)
- int job, foreground;
-{
- register PROCESS *p;
- int already_running;
- sigset_t set, oset;
- char *wd;
- static TTYSTRUCT save_stty;
-
- BLOCK_CHILD (set, oset);
-
- if (DEADJOB (job))
- {
- internal_error (_("%s: job has terminated"), this_command_name);
- UNBLOCK_CHILD (oset);
- return (-1);
- }
-
- already_running = RUNNING (job);
-
- if (foreground == 0 && already_running)
- {
- internal_error (_("%s: job %d already in background"), this_command_name, job + 1);
- UNBLOCK_CHILD (oset);
- return (-1);
- }
-
- wd = current_working_directory ();
-
- /* You don't know about the state of this job. Do you? */
- jobs[job]->flags &= ~J_NOTIFIED;
-
- if (foreground)
- {
- set_current_job (job);
- jobs[job]->flags |= J_FOREGROUND;
- }
-
- /* Tell the outside world what we're doing. */
- p = jobs[job]->pipe;
-
- if (foreground == 0)
- printf ("[%d]%c ", job + 1,
- (job == js.j_current) ? '+': ((job == js.j_previous) ? '-' : ' '));
-
- do
- {
- printf ("%s%s",
- p->command ? p->command : "",
- p->next != jobs[job]->pipe? " | " : "");
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (foreground == 0)
- printf (" &");
-
- if (strcmp (wd, jobs[job]->wd) != 0)
- printf (" (wd: %s)", polite_directory_format (jobs[job]->wd));
-
- printf ("\n");
-
- /* Run the job. */
- if (already_running == 0)
- set_job_running (job);
-
- /* Save the tty settings before we start the job in the foreground. */
- if (foreground)
- {
- get_tty_state ();
- save_stty = shell_tty_info;
- /* Give the terminal to this job. */
- if (IS_JOBCONTROL (job))
- give_terminal_to (jobs[job]->pgrp, 0);
- }
- else
- jobs[job]->flags &= ~J_FOREGROUND;
-
- /* If the job is already running, then don't bother jump-starting it. */
- if (already_running == 0)
- {
- jobs[job]->flags |= J_NOTIFIED;
- killpg (jobs[job]->pgrp, SIGCONT);
- }
-
- if (foreground)
- {
- pid_t pid;
- int s;
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD (oset);
- s = wait_for (pid);
- shell_tty_info = save_stty;
- set_tty_state ();
- return (s);
- }
- else
- {
- reset_current ();
- UNBLOCK_CHILD (oset);
- return (0);
- }
-}
-
-/* Give PID SIGNAL. This determines what job the pid belongs to (if any).
- If PID does belong to a job, and the job is stopped, then CONTinue the
- job after giving it SIGNAL. Returns -1 on failure. If GROUP is non-null,
- then kill the process group associated with PID. */
-int
-kill_pid (pid, sig, group)
- pid_t pid;
- int sig, group;
-{
- register PROCESS *p;
- int job, result;
- sigset_t set, oset;
-
- result = EXECUTION_SUCCESS;
- if (group)
- {
- BLOCK_CHILD (set, oset);
- p = find_pipeline (pid, 0, &job);
-
- if (job != NO_JOB)
- {
- jobs[job]->flags &= ~J_NOTIFIED;
-
- /* Kill process in backquotes or one started without job control? */
- if (jobs[job]->pgrp == shell_pgrp)
- {
- p = jobs[job]->pipe;
-
- do
- {
- kill (p->pid, sig);
- if (p->running == PS_DONE && (sig == SIGTERM || sig == SIGHUP))
- kill (p->pid, SIGCONT);
- p = p->next;
- }
- while (p != jobs[job]->pipe);
- }
- else
- {
- result = killpg (jobs[job]->pgrp, sig);
- if (p && STOPPED (job) && (sig == SIGTERM || sig == SIGHUP))
- killpg (jobs[job]->pgrp, SIGCONT);
- /* If we're continuing a stopped job via kill rather than bg or
- fg, emulate the `bg' behavior. */
- if (p && STOPPED (job) && (sig == SIGCONT))
- {
- set_job_running (job);
- jobs[job]->flags &= ~J_FOREGROUND;
- jobs[job]->flags |= J_NOTIFIED;
- }
- }
- }
- else
- result = killpg (pid, sig);
-
- UNBLOCK_CHILD (oset);
- }
- else
- result = kill (pid, sig);
-
- return (result);
-}
-
-/* sigchld_handler () flushes at least one of the children that we are
- waiting for. It gets run when we have gotten a SIGCHLD signal. */
-static sighandler
-sigchld_handler (sig)
- int sig;
-{
- int n, oerrno;
-
- oerrno = errno;
- REINSTALL_SIGCHLD_HANDLER;
- sigchld++;
- n = 0;
- if (queue_sigchld == 0)
- n = waitchld (-1, 0);
- errno = oerrno;
- SIGRETURN (n);
-}
-
-/* waitchld() reaps dead or stopped children. It's called by wait_for and
- sigchld_handler, and runs until there aren't any children terminating any
- more.
- If BLOCK is 1, this is to be a blocking wait for a single child, although
- an arriving SIGCHLD could cause the wait to be non-blocking. It returns
- the number of children reaped, or -1 if there are no unwaited-for child
- processes. */
-static int
-waitchld (wpid, block)
- pid_t wpid;
- int block;
-{
- WAIT status;
- PROCESS *child;
- pid_t pid;
- int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
-
- call_set_current = children_exited = 0;
- last_stopped_job = NO_JOB;
-
- do
- {
- /* We don't want to be notified about jobs stopping if job control
- is not active. XXX - was interactive_shell instead of job_control */
- waitpid_flags = (job_control && subshell_environment == 0)
- ? (WUNTRACED|WCONTINUED)
- : 0;
- if (sigchld || block == 0)
- waitpid_flags |= WNOHANG;
- pid = WAITPID (-1, &status, waitpid_flags);
-
- /* The check for WNOHANG is to make sure we decrement sigchld only
- if it was non-zero before we called waitpid. */
- if (sigchld > 0 && (waitpid_flags & WNOHANG))
- sigchld--;
-
- /* If waitpid returns -1 with errno == ECHILD, there are no more
- unwaited-for child processes of this shell. */
- if (pid < 0 && errno == ECHILD)
- {
- if (children_exited == 0)
- return -1;
- else
- break;
- }
-
- /* If waitpid returns 0, there are running children. If it returns -1,
- the only other error POSIX says it can return is EINTR. */
- if (pid <= 0)
- continue; /* jumps right to the test */
-
- /* children_exited is used to run traps on SIGCHLD. We don't want to
- run the trap if a process is just being continued. */
- if (WIFCONTINUED(status) == 0)
- children_exited++;
-
- /* Locate our PROCESS for this pid. */
- child = find_pipeline (pid, 1, &job); /* want running procs only */
-
- /* It is not an error to have a child terminate that we did
- not have a record of. This child could have been part of
- a pipeline in backquote substitution. Even so, I'm not
- sure child is ever non-zero. */
- if (child == 0)
- continue;
-
- while (child->pid != pid)
- child = child->next;
-
- /* Remember status, and whether or not the process is running. */
- child->status = status;
- child->running = WIFCONTINUED(status) ? PS_RUNNING : PS_DONE;
-
- if (child->running == PS_DONE)
- {
- js.c_totreaped++;
- if (job != NO_JOB)
- js.c_reaped++;
- }
-
- if (job == NO_JOB)
- continue;
-
- call_set_current += set_job_status_and_cleanup (job);
-
- if (STOPPED (job))
- last_stopped_job = job;
- else if (DEADJOB (job) && last_stopped_job == job)
- last_stopped_job = NO_JOB;
- }
- while ((sigchld || block == 0) && pid > (pid_t)0);
-
- /* If a job was running and became stopped, then set the current
- job. Otherwise, don't change a thing. */
- if (call_set_current)
- {
- if (last_stopped_job != NO_JOB)
- set_current_job (last_stopped_job);
- else
- reset_current ();
- }
-
- /* Call a SIGCHLD trap handler for each child that exits, if one is set. */
- if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
- trap_list[SIGCHLD] != (char *)IGNORE_SIG)
- run_sigchld_trap (children_exited);
-
- /* We have successfully recorded the useful information about this process
- that has just changed state. If we notify asynchronously, and the job
- that this process belongs to is no longer running, then notify the user
- of that fact now. */
- if (asynchronous_notification && interactive)
- notify_of_job_status ();
-
- return (children_exited);
-}
-
-/* Set the status of JOB and perform any necessary cleanup if the job is
- marked as JDEAD.
-
- Currently, the cleanup activity is restricted to handling any SIGINT
- received while waiting for a foreground job to finish. */
-static int
-set_job_status_and_cleanup (job)
- int job;
-{
- PROCESS *child;
- int tstatus, job_state, any_stopped, any_tstped, call_set_current;
- SigHandler *temp_handler;
-
- child = jobs[job]->pipe;
- jobs[job]->flags &= ~J_NOTIFIED;
-
- call_set_current = 0;
-
- /*
- * COMPUTE JOB STATUS
- */
-
- /* If all children are not running, but any of them is stopped, then
- the job is stopped, not dead. */
- job_state = any_stopped = any_tstped = 0;
- do
- {
- job_state |= child->running;
- if (child->running == PS_DONE && (WIFSTOPPED (child->status)))
- {
- any_stopped = 1;
- any_tstped |= interactive && job_control &&
- (WSTOPSIG (child->status) == SIGTSTP);
- }
- child = child->next;
- }
- while (child != jobs[job]->pipe);
-
- /* If job_state != 0, the job is still running, so don't bother with
- setting the process exit status and job state unless we're
- transitioning from stopped to running. */
- if (job_state != 0 && JOBSTATE(job) != JSTOPPED)
- return 0;
-
- /*
- * SET JOB STATUS
- */
-
- /* The job is either stopped or dead. Set the state of the job accordingly. */
- if (any_stopped)
- {
- jobs[job]->state = JSTOPPED;
- jobs[job]->flags &= ~J_FOREGROUND;
- call_set_current++;
- /* Suspending a job with SIGTSTP breaks all active loops. */
- if (any_tstped && loop_level)
- breaking = loop_level;
- }
- else if (job_state != 0) /* was stopped, now running */
- {
- jobs[job]->state = JRUNNING;
- call_set_current++;
- }
- else
- {
- jobs[job]->state = JDEAD;
-itrace("job %d marked as JDEAD", job);
-#if 0
- if (IS_FOREGROUND (job))
- setjstatus (job);
-#endif
-
- /* If this job has a cleanup function associated with it, call it
- with `cleanarg' as the single argument, then set the function
- pointer to NULL so it is not inadvertently called twice. The
- cleanup function is responsible for deallocating cleanarg. */
- if (jobs[job]->j_cleanup)
- {
- (*jobs[job]->j_cleanup) (jobs[job]->cleanarg);
- jobs[job]->j_cleanup = (sh_vptrfunc_t *)NULL;
- }
- }
-
- /*
- * CLEANUP
- *
- * Currently, we just do special things if we got a SIGINT while waiting
- * for a foreground job to complete
- */
-
- if (JOBSTATE (job) == JDEAD)
- {
- /* If we're running a shell script and we get a SIGINT with a
- SIGINT trap handler, but the foreground job handles it and
- does not exit due to SIGINT, run the trap handler but do not
- otherwise act as if we got the interrupt. */
- if (wait_sigint_received && interactive_shell == 0 &&
- WIFSIGNALED (child->status) == 0 && IS_FOREGROUND (job) &&
- signal_is_trapped (SIGINT))
- {
- int old_frozen;
- wait_sigint_received = 0;
- last_command_exit_value = process_exit_status (child->status);
-
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- }
-
- /* If the foreground job is killed by SIGINT when job control is not
- active, we need to perform some special handling.
-
- The check of wait_sigint_received is a way to determine if the
- SIGINT came from the keyboard (in which case the shell has already
- seen it, and wait_sigint_received is non-zero, because keyboard
- signals are sent to process groups) or via kill(2) to the foreground
- process by another process (or itself). If the shell did receive the
- SIGINT, it needs to perform normal SIGINT processing. */
- else if (wait_sigint_received && (WTERMSIG (child->status) == SIGINT) &&
- IS_FOREGROUND (job) && IS_JOBCONTROL (job) == 0)
- {
- int old_frozen;
-
- wait_sigint_received = 0;
-
- /* If SIGINT is trapped, set the exit status so that the trap
- handler can see it. */
- if (signal_is_trapped (SIGINT))
- last_command_exit_value = process_exit_status (child->status);
-
- /* If the signal is trapped, let the trap handler get it no matter
- what and simply return if the trap handler returns.
- maybe_call_trap_handler() may cause dead jobs to be removed from
- the job table because of a call to execute_command. We work
- around this by setting JOBS_LIST_FROZEN. */
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- if (tstatus == 0 && old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- /* wait_sigint_handler () has already seen SIGINT and
- allowed the wait builtin to jump out. We need to
- call the original SIGINT handler, if necessary. If
- the original handler is SIG_DFL, we need to resend
- the signal to ourselves. */
-
- temp_handler = old_sigint_handler;
-
- /* Bogus. If we've reset the signal handler as the result
- of a trap caught on SIGINT, then old_sigint_handler
- will point to trap_handler, which now knows nothing about
- SIGINT (if we reset the sighandler to the default).
- In this case, we have to fix things up. What a crock. */
- if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
- temp_handler = trap_to_sighandler (SIGINT);
- restore_sigint_handler ();
- if (temp_handler == SIG_DFL)
- termination_unwind_protect (SIGINT);
- else if (temp_handler != SIG_IGN)
- (*temp_handler) (SIGINT);
- }
- }
- }
-
- return call_set_current;
-}
-
-/* Build the array of values for the $PIPESTATUS variable from the set of
- exit statuses of all processes in the job J. */
-static void
-setjstatus (j)
- int j;
-{
-#if defined (ARRAY_VARS)
- register int i;
- register PROCESS *p;
-
- for (i = 1, p = jobs[j]->pipe; p->next != jobs[j]->pipe; p = p->next, i++)
- ;
- i++;
- if (statsize < i)
- {
- pstatuses = (int *)xrealloc (pstatuses, i * sizeof (int));
- statsize = i;
- }
- i = 0;
- p = jobs[j]->pipe;
- do
- {
- pstatuses[i++] = process_exit_status (p->status);
- p = p->next;
- }
- while (p != jobs[j]->pipe);
-
- pstatuses[i] = -1; /* sentinel */
- set_pipestatus_array (pstatuses, i);
-#endif
-}
-
-static void
-run_sigchld_trap (nchild)
- int nchild;
-{
- char *trap_command;
- int i;
-
- /* Turn off the trap list during the call to parse_and_execute ()
- to avoid potentially infinite recursive calls. Preserve the
- values of last_command_exit_value, last_made_pid, and the_pipeline
- around the execution of the trap commands. */
- trap_command = savestring (trap_list[SIGCHLD]);
-
- begin_unwind_frame ("SIGCHLD trap");
- unwind_protect_int (last_command_exit_value);
- unwind_protect_int (last_command_exit_signal);
- unwind_protect_var (last_made_pid);
- unwind_protect_int (interrupt_immediately);
- unwind_protect_int (jobs_list_frozen);
- unwind_protect_pointer (the_pipeline);
- unwind_protect_pointer (subst_assign_varlist);
-
- /* We have to add the commands this way because they will be run
- in reverse order of adding. We don't want maybe_set_sigchld_trap ()
- to reference freed memory. */
- add_unwind_protect (xfree, trap_command);
- add_unwind_protect (maybe_set_sigchld_trap, trap_command);
-
- subst_assign_varlist = (WORD_LIST *)NULL;
- the_pipeline = (PROCESS *)NULL;
-
- restore_default_signal (SIGCHLD);
- jobs_list_frozen = 1;
- for (i = 0; i < nchild; i++)
- {
- interrupt_immediately = 1;
- parse_and_execute (savestring (trap_command), "trap", SEVAL_NOHIST|SEVAL_RESETLINE);
- }
-
- run_unwind_frame ("SIGCHLD trap");
-}
-
-/* Function to call when you want to notify people of changes
- in job status. This prints out all jobs which are pending
- notification to stderr, and marks those printed as already
- notified, thus making them candidates for cleanup. */
-static void
-notify_of_job_status ()
-{
- register int job, termsig;
- char *dir;
- sigset_t set, oset;
- WAIT s;
-
- if (jobs == 0 || js.j_jobslots == 0)
- return;
-
- if (old_ttou != 0)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGTTOU);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
- }
- else
- queue_sigchld++;
-
- /* XXX could use js.j_firstj here */
- for (job = 0, dir = (char *)NULL; job < js.j_jobslots; job++)
- {
- if (jobs[job] && IS_NOTIFIED (job) == 0)
- {
- s = raw_job_exit_status (job);
- termsig = WTERMSIG (s);
-
- /* POSIX.2 says we have to hang onto the statuses of at most the
- last CHILD_MAX background processes if the shell is running a
- script. If the shell is not interactive, don't print anything
- unless the job was killed by a signal. */
- if (startup_state == 0 && WIFSIGNALED (s) == 0 &&
- ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
- continue;
-
-#if 0
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2, we were started to run `-c command', so
- don't print anything. */
- if ((job_control == 0 && interactive_shell) || startup_state == 2)
-#else
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2 and subshell_environment has the
- SUBSHELL_COMSUB bit turned on, we were started to run a command
- substitution, so don't print anything. */
- if ((job_control == 0 && interactive_shell) ||
- (startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
-#endif
- {
- /* POSIX.2 compatibility: if the shell is not interactive,
- hang onto the job corresponding to the last asynchronous
- pid until the user has been notified of its status or does
- a `wait'. */
- if (DEADJOB (job) && (interactive_shell || (find_last_pid (job, 0) != last_asynchronous_pid)))
- jobs[job]->flags |= J_NOTIFIED;
- continue;
- }
-
- /* Print info on jobs that are running in the background,
- and on foreground jobs that were killed by anything
- except SIGINT (and possibly SIGPIPE). */
- switch (JOBSTATE (job))
- {
- case JDEAD:
- if (interactive_shell == 0 && termsig && WIFSIGNALED (s) &&
- termsig != SIGINT &&
-#if defined (DONT_REPORT_SIGPIPE)
- termsig != SIGPIPE &&
-#endif
- signal_is_trapped (termsig) == 0)
- {
- /* Don't print `0' for a line number. */
- fprintf (stderr, "%s: line %d: ", get_name_for_error (), (line_number == 0) ? 1 : line_number);
- pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
- }
- else if (IS_FOREGROUND (job))
- {
-#if !defined (DONT_REPORT_SIGPIPE)
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
-#else
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
-#endif
- {
- fprintf (stderr, "%s", j_strsignal (termsig));
-
- if (WIFCORED (s))
- fprintf (stderr, " (core dumped)");
-
- fprintf (stderr, "\n");
- }
- }
- else
- {
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && strcmp (dir, jobs[job]->wd) != 0)
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- }
-
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JSTOPPED:
- fprintf (stderr, "\n");
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && (strcmp (dir, jobs[job]->wd) != 0))
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JRUNNING:
- case JMIXED:
- break;
-
- default:
- programming_error ("notify_of_job_status");
- }
- }
- }
- if (old_ttou != 0)
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- else
- queue_sigchld--;
-}
-
-/* Initialize the job control mechanism, and set up the tty stuff. */
-int
-initialize_job_control (force)
- int force;
-{
- shell_pgrp = getpgid (0);
-
- if (shell_pgrp == -1)
- {
- sys_error ("initialize_job_control: getpgrp failed");
- exit (1);
- }
-
- /* We can only have job control if we are interactive. */
- if (interactive == 0)
- {
- job_control = 0;
- original_pgrp = NO_PID;
- shell_tty = fileno (stderr);
- }
- else
- {
- /* Get our controlling terminal. If job_control is set, or
- interactive is set, then this is an interactive shell no
- matter where fd 2 is directed. */
- shell_tty = dup (fileno (stderr)); /* fd 2 */
-
- shell_tty = move_to_high_fd (shell_tty, 1, -1);
-
- /* Compensate for a bug in systems that compiled the BSD
- rlogind with DEBUG defined, like NeXT and Alliant. */
- if (shell_pgrp == 0)
- {
- shell_pgrp = getpid ();
- setpgid (0, shell_pgrp);
- tcsetpgrp (shell_tty, shell_pgrp);
- }
-
- while ((terminal_pgrp = tcgetpgrp (shell_tty)) != -1)
- {
- if (shell_pgrp != terminal_pgrp)
- {
- SigHandler *ottin;
-
- ottin = set_signal_handler(SIGTTIN, SIG_DFL);
- kill (0, SIGTTIN);
- set_signal_handler (SIGTTIN, ottin);
- continue;
- }
- break;
- }
-
- /* Make sure that we are using the new line discipline. */
- if (set_new_line_discipline (shell_tty) < 0)
- {
- sys_error ("initialize_job_control: line discipline");
- job_control = 0;
- }
- else
- {
- original_pgrp = shell_pgrp;
- shell_pgrp = getpid ();
-
- if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
- {
- sys_error ("initialize_job_control: setpgid");
- shell_pgrp = original_pgrp;
- }
-
- job_control = 1;
-
- /* If (and only if) we just set our process group to our pid,
- thereby becoming a process group leader, and the terminal
- is not in the same process group as our (new) process group,
- then set the terminal's process group to our (new) process
- group. If that fails, set our process group back to what it
- was originally (so we can still read from the terminal) and
- turn off job control. */
- if (shell_pgrp != original_pgrp && shell_pgrp != terminal_pgrp)
- {
- if (give_terminal_to (shell_pgrp, 0) < 0)
- {
- setpgid (0, original_pgrp);
- shell_pgrp = original_pgrp;
- job_control = 0;
- }
- }
- }
- if (job_control == 0)
- internal_error (_("no job control in this shell"));
- }
-
- if (shell_tty != fileno (stderr))
- SET_CLOSE_ON_EXEC (shell_tty);
-
- set_signal_handler (SIGCHLD, sigchld_handler);
-
- change_flag ('m', job_control ? '-' : '+');
-
- if (interactive)
- get_tty_state ();
-
- return job_control;
-}
-
-#ifdef DEBUG
-void
-debug_print_pgrps ()
-{
- itrace("original_pgrp = %ld shell_pgrp = %ld terminal_pgrp = %ld",
- (long)original_pgrp, (long)shell_pgrp, (long)terminal_pgrp);
- itrace("tcgetpgrp(%d) -> %ld, getpgid(0) -> %ld",
- shell_tty, (long)tcgetpgrp (shell_tty), (long)getpgid(0));
-}
-#endif
-
-/* Set the line discipline to the best this system has to offer.
- Return -1 if this is not possible. */
-static int
-set_new_line_discipline (tty)
- int tty;
-{
-#if defined (NEW_TTY_DRIVER)
- int ldisc;
-
- if (ioctl (tty, TIOCGETD, &ldisc) < 0)
- return (-1);
-
- if (ldisc != NTTYDISC)
- {
- ldisc = NTTYDISC;
-
- if (ioctl (tty, TIOCSETD, &ldisc) < 0)
- return (-1);
- }
- return (0);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
-# if defined (TERMIO_LDISC) && (NTTYDISC)
- if (ioctl (tty, TCGETA, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (ioctl (tty, TCSETAW, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIO_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
-# if defined (TERMIOS_LDISC) && defined (NTTYDISC)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIOS_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIOS_TTY_DRIVER */
-
-#if !defined (NEW_TTY_DRIVER) && !defined (TERMIO_TTY_DRIVER) && !defined (TERMIOS_TTY_DRIVER)
- return (-1);
-#endif
-}
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
- struct winsize win;
-
- if ((ioctl (shell_tty, TIOCGWINSZ, &win) == 0) &&
- win.ws_row > 0 && win.ws_col > 0)
- {
-#if defined (aixpc)
- shell_tty_info.c_winsize = win; /* structure copying */
-#endif
- sh_set_lines_and_columns (win.ws_row, win.ws_col);
-#if defined (READLINE)
- rl_set_screen_size (win.ws_row, win.ws_col);
-#endif
- }
-}
-
-static sighandler
-sigwinch_sighandler (sig)
- int sig;
-{
-#if defined (MUST_REINSTALL_SIGHANDLERS)
- set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif /* MUST_REINSTALL_SIGHANDLERS */
- get_new_window_size (1);
- SIGRETURN (0);
-}
-#else
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
-}
-#endif /* TIOCGWINSZ && SIGWINCH */
-
-void
-set_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- old_winch = set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif
-}
-
-void
-unset_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- set_signal_handler (SIGWINCH, old_winch);
-#endif
-}
-
-/* Setup this shell to handle C-C, etc. */
-void
-initialize_job_signals ()
-{
- if (interactive)
- {
- set_signal_handler (SIGINT, sigint_sighandler);
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_sigwinch_handler ();
- }
- else if (job_control)
- {
- old_tstp = set_signal_handler (SIGTSTP, sigstop_sighandler);
- old_ttin = set_signal_handler (SIGTTIN, sigstop_sighandler);
- old_ttou = set_signal_handler (SIGTTOU, sigstop_sighandler);
- }
- /* Leave these things alone for non-interactive shells without job
- control. */
-}
-
-/* Here we handle CONT signals. */
-static sighandler
-sigcont_sighandler (sig)
- int sig;
-{
- initialize_job_signals ();
- set_signal_handler (SIGCONT, old_cont);
- kill (getpid (), SIGCONT);
-
- SIGRETURN (0);
-}
-
-/* Here we handle stop signals while we are running not as a login shell. */
-static sighandler
-sigstop_sighandler (sig)
- int sig;
-{
- set_signal_handler (SIGTSTP, old_tstp);
- set_signal_handler (SIGTTOU, old_ttou);
- set_signal_handler (SIGTTIN, old_ttin);
-
- old_cont = set_signal_handler (SIGCONT, sigcont_sighandler);
-
- give_terminal_to (shell_pgrp, 0);
-
- kill (getpid (), sig);
-
- SIGRETURN (0);
-}
-
-/* Give the terminal to PGRP. */
-int
-give_terminal_to (pgrp, force)
- pid_t pgrp;
- int force;
-{
- sigset_t set, oset;
- int r;
-
- r = 0;
- if (job_control || force)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGTTOU);
- sigaddset (&set, SIGTTIN);
- sigaddset (&set, SIGTSTP);
- sigaddset (&set, SIGCHLD);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- if (tcsetpgrp (shell_tty, pgrp) < 0)
- {
- /* Maybe we should print an error message? */
-#if 0
- sys_error ("tcsetpgrp(%d) failed: pid %ld to pgrp %ld",
- shell_tty, (long)getpid(), (long)pgrp);
-#endif
- r = -1;
- }
- else
- terminal_pgrp = pgrp;
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return r;
-}
-
-/* Clear out any jobs in the job array. This is intended to be used by
- children of the shell, who should not have any job structures as baggage
- when they start executing (forking subshells for parenthesized execution
- and functions with pipes are the two that spring to mind). If RUNNING_ONLY
- is nonzero, only running jobs are removed from the table. */
-void
-delete_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX - need to set j_lastj, j_firstj appropriately if running_only != 0. */
- if (js.j_jobslots)
- {
- js.j_current = js.j_previous = NO_JOB;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
-{
-if (i < js.j_firstj && jobs[i])
- itrace("delete_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- delete_job (i, 1);
-}
- if (running_only == 0)
- {
- free ((char *)jobs);
- js.j_jobslots = 0;
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all jobs in the job array so that they don't get a SIGHUP when the
- shell gets one. If RUNNING_ONLY is nonzero, mark only running jobs. */
-void
-nohup_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- if (js.j_jobslots)
- {
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- nohup_job (i);
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-int
-count_all_jobs ()
-{
- int i, n;
- sigset_t set, oset;
-
- /* This really counts all non-dead jobs. */
- BLOCK_CHILD (set, oset);
- /* XXX could use js.j_firstj here */
- for (i = n = 0; i < js.j_jobslots; i++)
-{
-if (i < js.j_firstj && jobs[i])
- itrace("count_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i] && DEADJOB(i) == 0)
- n++;
-}
- UNBLOCK_CHILD (oset);
- return n;
-}
-
-static void
-mark_all_jobs_as_dead ()
-{
- register int i;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- if (jobs[i])
- jobs[i]->state = JDEAD;
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all dead jobs as notified, so delete_job () cleans them out
- of the job table properly. POSIX.2 says we need to save the
- status of the last CHILD_MAX jobs, so we count the number of dead
- jobs and mark only enough as notified to save CHILD_MAX statuses. */
-static void
-mark_dead_jobs_as_notified (force)
- int force;
-{
- register int i, ndead, ndeadproc;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- /* If FORCE is non-zero, we don't have to keep CHILD_MAX statuses
- around; just run through the array. */
- if (force)
- {
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- jobs[i]->flags |= J_NOTIFIED;
- }
- UNBLOCK_CHILD (oset);
- return;
- }
-
- /* Mark enough dead jobs as notified to keep CHILD_MAX processes left in the
- array with the corresponding not marked as notified. */
-
- /* Count the number of dead jobs */
- /* XXX could use js.j_firstj here */
- for (i = ndead = ndeadproc = 0; i < js.j_jobslots; i++)
- {
-if (i < js.j_firstj && jobs[i])
- itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- if (jobs[i] && DEADJOB (i))
- {
- ndead++;
- ndeadproc += processes_in_job (i);
- }
- }
-
-if (ndeadproc != js.c_reaped)
- itrace("mark_dead_jobs_as_notified: ndeadproc (%d) != js.c_reaped (%d)", ndeadproc, js.c_reaped);
- if (js.c_childmax < 0)
- js.c_childmax = getmaxchild ();
- if (js.c_childmax < 0)
- js.c_childmax = DEFAULT_CHILD_MAX;
-
-itrace("mark_dead_jobs_as_notified: child_max = %d ndead = %d ndeadproc = %d", js.c_childmax, ndead, ndeadproc);
- /* Don't do anything if the number of dead processes is less than CHILD_MAX
- and we're not forcing a cleanup. */
- if (ndeadproc <= js.c_childmax)
- {
- UNBLOCK_CHILD (oset);
- return;
- }
-
-itrace("marking up to %d jobs as notified", ndead, ndeadproc);
- /* Mark enough dead jobs as notified that we keep CHILD_MAX jobs in
- the list. This isn't exactly right yet; changes need to be made
- to stop_pipeline so we don't mark the newer jobs after we've
- created CHILD_MAX slots in the jobs array. This needs to be
- integrated with a way to keep the jobs array from growing without
- bound. Maybe we wrap back around to 0 after we reach some max
- limit, and there are sufficient job slots free (keep track of total
- size of jobs array (js.j_jobslots) and running count of number of jobs
- in jobs array. Then keep a job index corresponding to the `oldest job'
- and start this loop there, wrapping around as necessary. In effect,
- we turn the list into a circular buffer. */
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- {
-if (i < js.j_firstj && jobs[i])
- itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
- /* If marking this job as notified would drop us down below
- child_max, don't mark it so we can keep at least child_max
- statuses. XXX -- need to check what Posix actually says
- about keeping statuses. */
- if ((ndeadproc -= processes_in_job (i)) <= js.c_childmax)
- break;
- jobs[i]->flags |= J_NOTIFIED;
-itrace("marking job %d as notified", i);
- }
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Here to allow other parts of the shell (like the trap stuff) to
- unfreeze the jobs list. */
-void
-unfreeze_jobs_list ()
-{
- jobs_list_frozen = 0;
-}
-
-/* Allow or disallow job control to take place. Returns the old value
- of job_control. */
-int
-set_job_control (arg)
- int arg;
-{
- int old;
-
- old = job_control;
- job_control = arg;
-
- /* If we're turning on job control, reset pipeline_pgrp so make_child will
- put new child processes into the right pgrp */
- if (job_control != old && job_control)
- pipeline_pgrp = 0;
-
- return (old);
-}
-
-/* Turn off all traces of job control. This is run by children of the shell
- which are going to do shellsy things, like wait (), etc. */
-void
-without_job_control ()
-{
- stop_making_children ();
- start_pipeline ();
- delete_all_jobs (0);
- set_job_control (0);
-}
-
-/* If this shell is interactive, terminate all stopped jobs and
- restore the original terminal process group. This is done
- before the `exec' builtin calls shell_execve. */
-void
-end_job_control ()
-{
- if (interactive_shell) /* XXX - should it be interactive? */
- {
- terminate_stopped_jobs ();
-
- if (original_pgrp >= 0)
- give_terminal_to (original_pgrp, 1);
- }
-
- if (original_pgrp >= 0)
- setpgid (0, original_pgrp);
-}
-
-/* Restart job control by closing shell tty and reinitializing. This is
- called after an exec fails in an interactive shell and we do not exit. */
-void
-restart_job_control ()
-{
- if (shell_tty != -1)
- close (shell_tty);
- initialize_job_control (0);
-}
-
-/* Set the handler to run when the shell receives a SIGCHLD signal. */
-void
-set_sigchld_handler ()
-{
- set_signal_handler (SIGCHLD, sigchld_handler);
-}
-
-#if defined (PGRP_PIPE)
-/* Read from the read end of a pipe. This is how the process group leader
- blocks until all of the processes in a pipeline have been made. */
-static void
-pipe_read (pp)
- int *pp;
-{
- char ch;
-
- if (pp[1] >= 0)
- {
- close (pp[1]);
- pp[1] = -1;
- }
-
- if (pp[0] >= 0)
- {
- while (read (pp[0], &ch, 1) == -1 && errno == EINTR)
- ;
- }
-}
-
-/* Close the read and write ends of PP, an array of file descriptors. */
-static void
-pipe_close (pp)
- int *pp;
-{
- if (pp[0] >= 0)
- close (pp[0]);
-
- if (pp[1] >= 0)
- close (pp[1]);
-
- pp[0] = pp[1] = -1;
-}
-
-/* Functional interface closes our local-to-job-control pipes. */
-void
-close_pgrp_pipe ()
-{
- pipe_close (pgrp_pipe);
-}
-
-#endif /* PGRP_PIPE */
+++ /dev/null
-/* The thing that makes children, remembers them, and contains wait loops. */
-
-/* This file works with both POSIX and BSD systems. It implements job
- control. */
-
-/* Copyright (C) 1989-2005 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-
- Bash is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2, or (at your option) any later
- version.
-
- Bash is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with Bash; see the file COPYING. If not, write to the Free Software
- Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-
-#include "config.h"
-
-#include "bashtypes.h"
-#include "trap.h"
-#include <stdio.h>
-#include <signal.h>
-#include <errno.h>
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-
-#include "posixtime.h"
-
-#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_WAIT3) && !defined (_POSIX_VERSION) && !defined (RLIMTYPE)
-# include <sys/resource.h>
-#endif /* !_POSIX_VERSION && HAVE_SYS_RESOURCE_H && HAVE_WAIT3 && !RLIMTYPE */
-
-#if defined (HAVE_SYS_FILE_H)
-# include <sys/file.h>
-#endif
-
-#include "filecntl.h"
-#include <sys/ioctl.h>
-#include <sys/param.h>
-
-#if defined (BUFFERED_INPUT)
-# include "input.h"
-#endif
-
-/* Need to include this up here for *_TTY_DRIVER definitions. */
-#include "shtty.h"
-
-/* Define this if your output is getting swallowed. It's a no-op on
- machines with the termio or termios tty drivers. */
-/* #define DRAIN_OUTPUT */
-
-/* For the TIOCGPGRP and TIOCSPGRP ioctl parameters on HP-UX */
-#if defined (hpux) && !defined (TERMIOS_TTY_DRIVER)
-# include <bsdtty.h>
-#endif /* hpux && !TERMIOS_TTY_DRIVER */
-
-#if !defined (STRUCT_WINSIZE_IN_SYS_IOCTL)
-/* For struct winsize on SCO */
-/* sys/ptem.h has winsize but needs mblk_t from sys/stream.h */
-# if defined (HAVE_SYS_PTEM_H) && defined (TIOCGWINSZ) && defined (SIGWINCH)
-# if defined (HAVE_SYS_STREAM_H)
-# include <sys/stream.h>
-# endif
-# include <sys/ptem.h>
-# endif /* HAVE_SYS_PTEM_H && TIOCGWINSZ && SIGWINCH */
-#endif /* !STRUCT_WINSIZE_IN_SYS_IOCTL */
-
-#include "bashansi.h"
-#include "bashintl.h"
-#include "shell.h"
-#include "jobs.h"
-#include "flags.h"
-
-#include "builtins/builtext.h"
-#include "builtins/common.h"
-
-#if !defined (errno)
-extern int errno;
-#endif /* !errno */
-
-#define DEFAULT_CHILD_MAX 32
-#define MAX_JOBS_IN_ARRAY 4096 /* testing */
-
-/* Take care of system dependencies that must be handled when waiting for
- children. The arguments to the WAITPID macro match those to the Posix.1
- waitpid() function. */
-
-#if defined (ultrix) && defined (mips) && defined (_POSIX_VERSION)
-# define WAITPID(pid, statusp, options) \
- wait3 ((union wait *)statusp, options, (struct rusage *)0)
-#else
-# if defined (_POSIX_VERSION) || defined (HAVE_WAITPID)
-# define WAITPID(pid, statusp, options) \
- waitpid ((pid_t)pid, statusp, options)
-# else
-# if defined (HAVE_WAIT3)
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (struct rusage *)0)
-# else
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (int *)0)
-# endif /* HAVE_WAIT3 */
-# endif /* !_POSIX_VERSION && !HAVE_WAITPID*/
-#endif /* !(Ultrix && mips && _POSIX_VERSION) */
-
-/* getpgrp () varies between systems. Even systems that claim to be
- Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
-#if defined (GETPGRP_VOID)
-# define getpgid(p) getpgrp ()
-#else
-# define getpgid(p) getpgrp (p)
-#endif /* !GETPGRP_VOID */
-
-/* If the system needs it, REINSTALL_SIGCHLD_HANDLER will reinstall the
- handler for SIGCHLD. */
-#if defined (MUST_REINSTALL_SIGHANDLERS)
-# define REINSTALL_SIGCHLD_HANDLER signal (SIGCHLD, sigchld_handler)
-#else
-# define REINSTALL_SIGCHLD_HANDLER
-#endif /* !MUST_REINSTALL_SIGHANDLERS */
-
-/* Some systems let waitpid(2) tell callers about stopped children. */
-#if !defined (WCONTINUED) || defined (WCONTINUED_BROKEN)
-# undef WCONTINUED
-# define WCONTINUED 0
-#endif
-#if !defined (WIFCONTINUED)
-# define WIFCONTINUED(s) (0)
-#endif
-
-/* The number of additional slots to allocate when we run out. */
-#define JOB_SLOTS 8
-
-typedef int sh_job_map_func_t __P((JOB *, int, int, int));
-
-#if defined (READLINE)
-extern void rl_set_screen_size __P((int, int));
-#endif
-
-/* Variables used here but defined in other files. */
-extern int subshell_environment, line_number;
-extern int posixly_correct, shell_level;
-extern int interrupt_immediately;
-extern int last_command_exit_value, last_command_exit_signal;
-extern int loop_level, breaking;
-extern int sourcelevel;
-extern sh_builtin_func_t *this_shell_builtin;
-extern char *shell_name, *this_command_name;
-extern sigset_t top_level_mask;
-extern procenv_t wait_intr_buf;
-extern int wait_signal_received;
-extern WORD_LIST *subst_assign_varlist;
-
-static struct jobstats zerojs = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
-struct jobstats js = { -1L, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NO_JOB, NO_JOB, 0, 0 };
-
-struct bgpids bgpids = { 0, 0, 0 };
-
-/* The array of known jobs. */
-JOB **jobs = (JOB **)NULL;
-
-#if 0
-/* The number of slots currently allocated to JOBS. */
-int job_slots = 0;
-#endif
-
-/* The controlling tty for this shell. */
-int shell_tty = -1;
-
-/* The shell's process group. */
-pid_t shell_pgrp = NO_PID;
-
-/* The terminal's process group. */
-pid_t terminal_pgrp = NO_PID;
-
-/* The process group of the shell's parent. */
-pid_t original_pgrp = NO_PID;
-
-/* The process group of the pipeline currently being made. */
-pid_t pipeline_pgrp = (pid_t)0;
-
-#if defined (PGRP_PIPE)
-/* Pipes which each shell uses to communicate with the process group leader
- until all of the processes in a pipeline have been started. Then the
- process leader is allowed to continue. */
-int pgrp_pipe[2] = { -1, -1 };
-#endif
-
-#if 0
-/* The job which is current; i.e. the one that `%+' stands for. */
-int current_job = NO_JOB;
-
-/* The previous job; i.e. the one that `%-' stands for. */
-int previous_job = NO_JOB;
-#endif
-
-/* Last child made by the shell. */
-pid_t last_made_pid = NO_PID;
-
-/* Pid of the last asynchronous child. */
-pid_t last_asynchronous_pid = NO_PID;
-
-/* The pipeline currently being built. */
-PROCESS *the_pipeline = (PROCESS *)NULL;
-
-/* If this is non-zero, do job control. */
-int job_control = 1;
-
-/* Call this when you start making children. */
-int already_making_children = 0;
-
-/* If this is non-zero, $LINES and $COLUMNS are reset after every process
- exits from get_tty_state(). */
-int check_window_size;
-
-/* Functions local to this file. */
-
-static void get_new_window_size __P((int));
-
-static void run_sigchld_trap __P((int));
-
-static sighandler wait_sigint_handler __P((int));
-static sighandler sigchld_handler __P((int));
-static sighandler sigwinch_sighandler __P((int));
-static sighandler sigcont_sighandler __P((int));
-static sighandler sigstop_sighandler __P((int));
-
-static int waitchld __P((pid_t, int));
-
-static PROCESS *find_pipeline __P((pid_t, int, int *));
-static PROCESS *find_process __P((pid_t, int, int *));
-
-static char *current_working_directory __P((void));
-static char *job_working_directory __P((void));
-static char *j_strsignal __P((int));
-static char *printable_job_status __P((int, PROCESS *, int));
-
-static PROCESS *find_last_proc __P((int, int));
-static pid_t find_last_pid __P((int, int));
-
-static int set_new_line_discipline __P((int));
-static int map_over_jobs __P((sh_job_map_func_t *, int, int));
-static int job_last_stopped __P((int));
-static int job_last_running __P((int));
-static int most_recent_job_in_state __P((int, JOB_STATE));
-static int find_job __P((pid_t, int, PROCESS **));
-static int print_job __P((JOB *, int, int, int));
-static int process_exit_status __P((WAIT));
-static int process_exit_signal __P((WAIT));
-static int job_exit_status __P((int));
-static int job_exit_signal __P((int));
-static int set_job_status_and_cleanup __P((int));
-
-static WAIT raw_job_exit_status __P((int));
-
-static void notify_of_job_status __P((void));
-static void reset_job_indices __P((void));
-static void cleanup_dead_jobs __P((void));
-static int processes_in_job __P((int));
-static void realloc_jobs_list __P((void));
-static int compact_jobs_list __P((int));
-static int discard_pipeline __P((PROCESS *));
-static void add_process __P((char *, pid_t));
-static void print_pipeline __P((PROCESS *, int, int, FILE *));
-static void pretty_print_job __P((int, int, FILE *));
-static void set_current_job __P((int));
-static void reset_current __P((void));
-static void set_job_running __P((int));
-static void setjstatus __P((int));
-static void mark_all_jobs_as_dead __P((void));
-static void mark_dead_jobs_as_notified __P((int));
-static void restore_sigint_handler __P((void));
-#if defined (PGRP_PIPE)
-static void pipe_read __P((int *));
-static void pipe_close __P((int *));
-#endif
-
-static struct pidstat *bgp_alloc __P((pid_t, int));
-static struct pidstat *bgp_add __P((pid_t, int));
-static int bgp_delete __P((pid_t));
-static void bgp_clear __P((void));
-static int bgp_search __P((pid_t));
-static void bgp_prune __P((void));
-
-#if defined (ARRAY_VARS)
-static int *pstatuses; /* list of pipeline statuses */
-static int statsize;
-#endif
-
-/* Used to synchronize between wait_for and other functions and the SIGCHLD
- signal handler. */
-static int sigchld;
-static int queue_sigchld;
-
-#define QUEUE_SIGCHLD(os) (os) = sigchld, queue_sigchld++
-
-#define UNQUEUE_SIGCHLD(os) \
- do { \
- queue_sigchld--; \
- if (queue_sigchld == 0 && os != sigchld) \
- waitchld (-1, 0); \
- } while (0)
-
-static SigHandler *old_tstp, *old_ttou, *old_ttin;
-static SigHandler *old_cont = (SigHandler *)SIG_DFL;
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static SigHandler *old_winch = (SigHandler *)SIG_DFL;
-#endif
-
-/* A place to temporarily save the current pipeline. */
-static PROCESS *saved_pipeline;
-static int saved_already_making_children;
-
-/* Set this to non-zero whenever you don't want the jobs list to change at
- all: no jobs deleted and no status change notifications. This is used,
- for example, when executing SIGCHLD traps, which may run arbitrary
- commands. */
-static int jobs_list_frozen;
-
-static char retcode_name_buffer[64];
-
-#if !defined (_POSIX_VERSION)
-
-/* These are definitions to map POSIX 1003.1 functions onto existing BSD
- library functions and system calls. */
-#define setpgid(pid, pgrp) setpgrp (pid, pgrp)
-#define tcsetpgrp(fd, pgrp) ioctl ((fd), TIOCSPGRP, &(pgrp))
-
-pid_t
-tcgetpgrp (fd)
- int fd;
-{
- pid_t pgrp;
-
- /* ioctl will handle setting errno correctly. */
- if (ioctl (fd, TIOCGPGRP, &pgrp) < 0)
- return (-1);
- return (pgrp);
-}
-
-#endif /* !_POSIX_VERSION */
-
-/* Initialize the global job stats structure. */
-void
-init_job_stats ()
-{
- js = zerojs;
-}
-
-/* Return the working directory for the current process. Unlike
- job_working_directory, this does not call malloc (), nor do any
- of the functions it calls. This is so that it can safely be called
- from a signal handler. */
-static char *
-current_working_directory ()
-{
- char *dir;
- static char d[PATH_MAX];
-
- dir = get_string_value ("PWD");
-
- if (dir == 0 && the_current_working_directory && no_symbolic_links)
- dir = the_current_working_directory;
-
- if (dir == 0)
- {
- dir = getcwd (d, sizeof(d));
- if (dir)
- dir = d;
- }
-
- return (dir == 0) ? "<unknown>" : dir;
-}
-
-/* Return the working directory for the current process. */
-static char *
-job_working_directory ()
-{
- char *dir;
-
- dir = get_string_value ("PWD");
- if (dir)
- return (savestring (dir));
-
- dir = get_working_directory ("job-working-directory");
- if (dir)
- return (dir);
-
- return (savestring ("<unknown>"));
-}
-
-void
-making_children ()
-{
- if (already_making_children)
- return;
-
- already_making_children = 1;
- start_pipeline ();
-}
-
-void
-stop_making_children ()
-{
- already_making_children = 0;
-}
-
-void
-cleanup_the_pipeline ()
-{
- PROCESS *disposer;
- sigset_t set, oset;
-
-itrace("cleanup_the_pipeline: the_pipeline = 0x%x", the_pipeline);
- BLOCK_CHILD (set, oset);
- disposer = the_pipeline;
- the_pipeline = (PROCESS *)NULL;
- UNBLOCK_CHILD (oset);
-
- if (disposer)
- discard_pipeline (disposer);
-}
-
-void
-save_pipeline (clear)
- int clear;
-{
- saved_pipeline = the_pipeline;
- if (clear)
- the_pipeline = (PROCESS *)NULL;
- saved_already_making_children = already_making_children;
-}
-
-void
-restore_pipeline (discard)
- int discard;
-{
- PROCESS *old_pipeline;
-
- old_pipeline = the_pipeline;
- the_pipeline = saved_pipeline;
- already_making_children = saved_already_making_children;
- if (discard)
- discard_pipeline (old_pipeline);
-}
-
-/* Start building a pipeline. */
-void
-start_pipeline ()
-{
- if (the_pipeline)
- {
- cleanup_the_pipeline ();
- pipeline_pgrp = 0;
-#if defined (PGRP_PIPE)
- pipe_close (pgrp_pipe);
-#endif
- }
-
-#if defined (PGRP_PIPE)
- if (job_control)
- {
- if (pipe (pgrp_pipe) == -1)
- sys_error ("start_pipeline: pgrp pipe");
- }
-#endif
-}
-
-/* Stop building a pipeline. Install the process list in the job array.
- This returns the index of the newly installed job.
- DEFERRED is a command structure to be executed upon satisfactory
- execution exit of this pipeline. */
-int
-stop_pipeline (async, deferred)
- int async;
- COMMAND *deferred;
-{
- register int i, j;
- JOB *newjob;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
-#if defined (PGRP_PIPE)
- /* The parent closes the process group synchronization pipe. */
- pipe_close (pgrp_pipe);
-#endif
-
- cleanup_dead_jobs ();
-
- if (js.j_jobslots == 0)
- {
- js.j_jobslots = JOB_SLOTS;
- jobs = (JOB **)xmalloc (js.j_jobslots * sizeof (JOB *));
-
- /* Now blank out these new entries. */
- for (i = 0; i < js.j_jobslots; i++)
- jobs[i] = (JOB *)NULL;
-
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
-
- /* Scan from the last slot backward, looking for the next free one. */
- /* XXX - revisit this interactive assumption */
- /* XXX - this way for now */
- if (interactive)
- {
- for (i = js.j_jobslots; i; i--)
- if (jobs[i - 1])
- break;
- }
- else
- {
-#if 0
- /* This wraps around, but makes it inconvenient to extend the array */
- for (i = js.j_lastj+1; i != js.j_lastj; i++)
- {
- if (i >= js.j_jobslots)
- i = 0;
- if (jobs[i] == 0)
- break;
- }
- if (i == js.j_lastj)
- i = js.j_jobslots;
-#else
- /* This doesn't wrap around yet. */
- for (i = js.j_lastj ? js.j_lastj + 1 : js.j_lastj; i < js.j_jobslots; i++)
- if (jobs[i] == 0)
- break;
-#endif
- }
-
- /* Do we need more room? */
-
- /* First try compaction */
- if ((interactive_shell == 0 || subshell_environment) && i == js.j_jobslots && js.j_jobslots >= MAX_JOBS_IN_ARRAY)
- i = compact_jobs_list (0);
-
- /* If we can't compact, reallocate */
- if (i == js.j_jobslots)
- {
- js.j_jobslots += JOB_SLOTS;
- jobs = (JOB **)xrealloc (jobs, (js.j_jobslots * sizeof (JOB *)));
-
- for (j = i; j < js.j_jobslots; j++)
- jobs[j] = (JOB *)NULL;
- }
-
- /* Add the current pipeline to the job list. */
- if (the_pipeline)
- {
- register PROCESS *p;
- int any_running, any_stopped, n;
-
-itrace("stop_pipeline: adding 0x%x as new job", the_pipeline);
- newjob = (JOB *)xmalloc (sizeof (JOB));
-
- for (n = 1, p = the_pipeline; p->next != the_pipeline; n++, p = p->next)
- ;
- p->next = (PROCESS *)NULL;
- newjob->pipe = REVERSE_LIST (the_pipeline, PROCESS *);
- for (p = newjob->pipe; p->next; p = p->next)
- ;
- p->next = newjob->pipe;
-
- the_pipeline = (PROCESS *)NULL;
- newjob->pgrp = pipeline_pgrp;
- pipeline_pgrp = 0;
-
- newjob->flags = 0;
-
- /* Flag to see if in another pgrp. */
- if (job_control)
- newjob->flags |= J_JOBCONTROL;
-
- /* Set the state of this pipeline. */
- p = newjob->pipe;
- any_running = any_stopped = 0;
- do
- {
- any_running |= PRUNNING (p);
- any_stopped |= PSTOPPED (p);
- p = p->next;
- }
- while (p != newjob->pipe);
-
- newjob->state = any_running ? JRUNNING : (any_stopped ? JSTOPPED : JDEAD);
- newjob->wd = job_working_directory ();
- newjob->deferred = deferred;
-
- newjob->j_cleanup = (sh_vptrfunc_t *)NULL;
- newjob->cleanarg = (PTR_T) NULL;
-
- jobs[i] = newjob;
- if (newjob->state == JDEAD && (newjob->flags & J_FOREGROUND))
- setjstatus (i);
- if (newjob->state == JDEAD)
- {
- js.c_reaped += n; /* wouldn't have been done since this was not part of a job */
- js.j_ndead++;
- }
- js.c_injobs += n;
-
- js.j_lastj = i;
- js.j_njobs++;
- }
- else
- newjob = (JOB *)NULL;
-
- if (newjob)
- js.j_lastmade = newjob;
-
- if (async)
- {
- if (newjob)
- {
- newjob->flags &= ~J_FOREGROUND;
- newjob->flags |= J_ASYNC;
- js.j_lastasync = newjob;
- }
- reset_current ();
- }
- else
- {
- if (newjob)
- {
- newjob->flags |= J_FOREGROUND;
- /*
- * !!!!! NOTE !!!!! (chet@ins.cwru.edu)
- *
- * The currently-accepted job control wisdom says to set the
- * terminal's process group n+1 times in an n-step pipeline:
- * once in the parent and once in each child. This is where
- * the parent gives it away.
- *
- */
- if (job_control && newjob->pgrp)
- give_terminal_to (newjob->pgrp, 0);
- }
- }
-
- stop_making_children ();
- UNBLOCK_CHILD (oset);
- return (js.j_current);
-}
-
-/* Functions to manage the list of exited background pids whose status has
- been saved. */
-
-static struct pidstat *
-bgp_alloc (pid, status)
- pid_t pid;
- int status;
-{
- struct pidstat *ps;
-
- ps = (struct pidstat *)xmalloc (sizeof (struct pidstat));
- ps->pid = pid;
- ps->status = status;
- ps->next = (struct pidstat *)0;
- return ps;
-}
-
-static struct pidstat *
-bgp_add (pid, status)
- pid_t pid;
- int status;
-{
- struct pidstat *ps;
-
- ps = bgp_alloc (pid, status);
-
- if (bgpids.list == 0)
- {
- bgpids.list = bgpids.end = ps;
- bgpids.npid = 0; /* just to make sure */
- }
- else
- {
- bgpids.end->next = ps;
- bgpids.end = ps;
- }
- bgpids.npid++;
-
- if (bgpids.npid > js.c_childmax)
- bgp_prune ();
-
- return ps;
-}
-
-static int
-bgp_delete (pid)
- pid_t pid;
-{
- struct pidstat *prev, *p;
-
- for (prev = p = bgpids.list; p; prev = p, p = p->next)
- if (p->pid == pid)
- {
- prev->next = p->next; /* remove from list */
- break;
- }
-
- if (p == 0)
- return 0; /* not found */
-
-#if defined (DEBUG)
- itrace("bgp_delete: deleting %d", pid);
-#endif
-
- /* Housekeeping in the border cases. */
- if (p == bgpids.list)
- bgpids.list = bgpids.list->next;
- else if (p == bgpids.end)
- bgpids.end = prev;
-
- bgpids.npid--;
- if (bgpids.npid == 0)
- bgpids.list = bgpids.end = 0;
- else if (bgpids.npid == 1)
- bgpids.end = bgpids.list; /* just to make sure */
-
- free (p);
- return 1;
-}
-
-/* Clear out the list of saved statuses */
-static void
-bgp_clear ()
-{
- struct pidstat *ps, *p;
-
- for (ps = bgpids.list; ps; )
- {
- p = ps;
- ps = ps->next;
- free (p);
- }
- bgpids.list = bgpids.end = 0;
- bgpids.npid = 0;
-}
-
-/* Search for PID in the list of saved background pids; return its status if
- found. If not found, return -1. */
-static int
-bgp_search (pid)
- pid_t pid;
-{
- struct pidstat *ps;
-
- for (ps = bgpids.list ; ps; ps = ps->next)
- if (ps->pid == pid)
- return ps->status;
- return -1;
-}
-
-static void
-bgp_prune ()
-{
- struct pidstat *ps, *p;
-
- while (bgpids.npid > js.c_childmax)
- {
- ps = bgpids.list;
- bgpids.list = bgpids.list->next;
- free (ps);
- bgpids.npid--;
- }
-}
-
-/* Reset the values of js.j_lastj and js.j_firstj after one or both have
- been deleted. The caller should check whether js.j_njobs is 0 before
- calling this. This wraps around, but the rest of the code does not. At
- this point, it should not matter. */
-static void
-reset_job_indices ()
-{
- int old;
-
- if (jobs[js.j_firstj] == 0)
- {
- old = js.j_firstj++;
- while (js.j_firstj != old)
- {
- if (js.j_firstj >= js.j_jobslots)
- js.j_firstj = 0;
- if (jobs[js.j_firstj])
- break;
- js.j_firstj++;
- }
- if (js.j_firstj == old)
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
- if (jobs[js.j_lastj] == 0)
- {
- old = js.j_lastj--;
- while (js.j_lastj != old)
- {
- if (js.j_lastj < 0)
- js.j_lastj = js.j_jobslots - 1;
- if (jobs[js.j_lastj])
- break;
- js.j_lastj--;
- }
- if (js.j_lastj == old)
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
-}
-
-/* Delete all DEAD jobs that the user had received notification about. */
-static void
-cleanup_dead_jobs ()
-{
- register int i;
- int os;
-
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return;
-
- QUEUE_SIGCHLD(os);
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("cleanup_dead_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
-
- if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i))
- delete_job (i, 0);
- }
- UNQUEUE_SIGCHLD(os);
-}
-
-static int
-processes_in_job (job)
-{
- int nproc;
- register PROCESS *p;
-
- nproc = 0;
- p = jobs[job]->pipe;
- do
- {
- p = p->next;
- nproc++;
- }
- while (p != jobs[job]->pipe);
-
- return nproc;
-}
-
-/* Reallocate and compress the jobs list. This returns with a jobs array
- whose size is a multiple of JOB_SLOTS and can hold the current number of
- jobs. Heuristics are used to minimize the number of new reallocs. */
-static void
-realloc_jobs_list ()
-{
- sigset_t set, oset;
- int nsize, i, j;
- JOB **nlist;
-
- nsize = ((js.j_njobs + JOB_SLOTS - 1) / JOB_SLOTS);
- nsize *= JOB_SLOTS;
- i = js.j_njobs % JOB_SLOTS;
- if (i == 0 || i > (JOB_SLOTS >> 1))
- nsize += JOB_SLOTS;
-
- BLOCK_CHILD (set, oset);
- nlist = (JOB **) xmalloc (nsize * sizeof (JOB *));
- for (i = j = 0; i < js.j_jobslots; i++)
- if (jobs[i])
- nlist[j++] = jobs[i];
-
- js.j_firstj = 0;
- js.j_lastj = (j > 0) ? j - 1: 0;
- js.j_jobslots = nsize;
-
- free (jobs);
- jobs = nlist;
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Compact the jobs list by removing dead jobs. Assumed that we have filled
- the jobs array to some predefined maximum. Called when the shell is not
- the foreground process (subshell_environment != 0). Returns the first
- available slot in the compacted list. If that value is js.j_jobslots, then
- the list needs to be reallocated. The jobs array is in new memory if
- this returns > 0 and < js.j_jobslots. FLAGS is reserved for future use. */
-static int
-compact_jobs_list (flags)
- int flags;
-{
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return js.j_jobslots;
-
- reap_dead_jobs ();
- realloc_jobs_list ();
-
- return (js.j_lastj);
-}
-
-/* Delete the job at INDEX from the job list. Must be called
- with SIGCHLD blocked. */
-void
-delete_job (job_index, warn_stopped)
- int job_index, warn_stopped;
-{
- register JOB *temp;
- PROCESS *proc;
- int ndel, status;
- pid_t pid;
-
- if (js.j_jobslots == 0 || jobs_list_frozen)
- return;
-
- if (warn_stopped && subshell_environment == 0 && STOPPED (job_index))
- internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
- temp = jobs[job_index];
- if (job_index == js.j_current || job_index == js.j_previous)
- reset_current ();
-
- proc = find_last_proc (job_index, 0);
- /* Could do this just for J_ASYNC jobs, but we save all. */
- bgp_add (proc->pid, process_exit_status (proc->status));
-
- jobs[job_index] = (JOB *)NULL;
-
- if (temp == js.j_lastmade)
- js.j_lastmade = 0;
- else if (temp == js.j_lastasync)
- js.j_lastasync = 0;
-
- free (temp->wd);
- ndel = discard_pipeline (temp->pipe);
-
- js.c_injobs -= ndel;
- if (temp->state == JDEAD)
- {
- js.c_reaped -= ndel;
- js.j_ndead--;
- if (js.c_reaped < 0)
- {
-#ifdef DEBUG
- itrace("delete_job (%d pgrp %d): js.c_reaped (%d) < 0 ndel = %d js.j_ndead = %d", job_index, temp->pgrp, js.c_reaped, ndel, js.j_ndead);
-#endif
- js.c_reaped = 0;
- }
- }
-
- if (temp->deferred)
- dispose_command (temp->deferred);
-
- free (temp);
-
- js.j_njobs--;
- if (js.j_njobs == 0)
- js.j_firstj = js.j_lastj = 0;
- else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
- reset_job_indices ();
-}
-
-/* Must be called with SIGCHLD blocked. */
-void
-nohup_job (job_index)
- int job_index;
-{
- register JOB *temp;
-
- if (js.j_jobslots == 0)
- return;
-
- if (temp = jobs[job_index])
- temp->flags |= J_NOHUP;
-}
-
-/* Get rid of the data structure associated with a process chain. */
-static int
-discard_pipeline (chain)
- register PROCESS *chain;
-{
- register PROCESS *this, *next;
- int n;
-
- this = chain;
- n = 0;
- do
- {
- next = this->next;
- FREE (this->command);
- free (this);
- n++;
- this = next;
- }
- while (this != chain);
-
- return n;
-}
-
-/* Add this process to the chain being built in the_pipeline.
- NAME is the command string that will be exec'ed later.
- PID is the process id of the child. */
-static void
-add_process (name, pid)
- char *name;
- pid_t pid;
-{
- PROCESS *t, *p;
-
-#if defined (RECYCLES_PIDS)
- int j;
- p = find_process (pid, 0, &j);
- if (p)
- {
-# ifdef DEBUG
- if (j == NO_JOB)
- internal_warning ("add_process: process %5ld (%s) in the_pipeline", (long)p->pid, p->command);
-# endif
- if (PALIVE (p))
- internal_warning ("add_process: pid %5ld (%s) marked as still alive", (long)p->pid, p->command);
- p->running = PS_RECYCLED; /* mark as recycled */
- }
-#endif
-
- t = (PROCESS *)xmalloc (sizeof (PROCESS));
-itrace("add_process: adding 0x%x to 0x%x", t, the_pipeline);
- t->next = the_pipeline;
- t->pid = pid;
- WSTATUS (t->status) = 0;
- t->running = PS_RUNNING;
- t->command = name;
- the_pipeline = t;
-
- if (t->next == 0)
- t->next = t;
- else
- {
- p = t->next;
- while (p->next != t->next)
- p = p->next;
- p->next = t;
- }
-}
-
-#if 0
-/* Take the last job and make it the first job. Must be called with
- SIGCHLD blocked. */
-int
-rotate_the_pipeline ()
-{
- PROCESS *p;
-
- if (the_pipeline->next == the_pipeline)
- return;
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- the_pipeline = p;
-}
-
-/* Reverse the order of the processes in the_pipeline. Must be called with
- SIGCHLD blocked. */
-int
-reverse_the_pipeline ()
-{
- PROCESS *p, *n;
-
- if (the_pipeline->next == the_pipeline)
- return;
-
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- p->next = (PROCESS *)NULL;
-
- n = REVERSE_LIST (the_pipeline, PROCESS *);
-
- the_pipeline = n;
- for (p = the_pipeline; p->next; p = p->next)
- ;
- p->next = the_pipeline;
-}
-#endif
-
-/* Map FUNC over the list of jobs. If FUNC returns non-zero,
- then it is time to stop mapping, and that is the return value
- for map_over_jobs. FUNC is called with a JOB, arg1, arg2,
- and INDEX. */
-static int
-map_over_jobs (func, arg1, arg2)
- sh_job_map_func_t *func;
- int arg1, arg2;
-{
- register int i;
- int result;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return 0;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX could use js.j_firstj here */
- for (i = result = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("map_over_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i])
- {
- result = (*func)(jobs[i], arg1, arg2, i);
- if (result)
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Cause all the jobs in the current pipeline to exit. */
-void
-terminate_current_pipeline ()
-{
- if (pipeline_pgrp && pipeline_pgrp != shell_pgrp)
- {
- killpg (pipeline_pgrp, SIGTERM);
- killpg (pipeline_pgrp, SIGCONT);
- }
-}
-
-/* Cause all stopped jobs to exit. */
-void
-terminate_stopped_jobs ()
-{
- register int i;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && STOPPED (i))
- {
- killpg (jobs[i]->pgrp, SIGTERM);
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-/* Cause all jobs, running or stopped, to receive a hangup signal. If
- a job is marked J_NOHUP, don't send the SIGHUP. */
-void
-hangup_all_jobs ()
-{
- register int i;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i])
- {
- if ((jobs[i]->flags & J_NOHUP) == 0)
- killpg (jobs[i]->pgrp, SIGHUP);
- if (STOPPED (i))
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-void
-kill_current_pipeline ()
-{
- stop_making_children ();
- start_pipeline ();
-}
-
-/* Return the pipeline that PID belongs to. Note that the pipeline
- doesn't have to belong to a job. Must be called with SIGCHLD blocked.
- If JOBP is non-null, return the index of the job containing PID. */
-static PROCESS *
-find_pipeline (pid, alive_only, jobp)
- pid_t pid;
- int alive_only;
- int *jobp; /* index into jobs list or NO_JOB */
-{
- int job;
- PROCESS *p;
-
- /* See if this process is in the pipeline that we are building. */
- if (jobp)
- *jobp = NO_JOB;
- if (the_pipeline)
- {
- p = the_pipeline;
- do
- {
- /* Return it if we found it. Don't ever return a recycled pid. */
- if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
- return (p);
-
- p = p->next;
- }
- while (p != the_pipeline);
- }
-
- job = find_job (pid, alive_only, &p);
- if (jobp)
- *jobp = job;
- return (job == NO_JOB) ? (PROCESS *)NULL : jobs[job]->pipe;
-}
-
-/* Return the PROCESS * describing PID. If JOBP is non-null return the index
- into the jobs array of the job containing PID. Must be called with
- SIGCHLD blocked. */
-static PROCESS *
-find_process (pid, alive_only, jobp)
- pid_t pid;
- int alive_only;
- int *jobp; /* index into jobs list or NO_JOB */
-{
- PROCESS *p;
-
- p = find_pipeline (pid, alive_only, jobp);
- while (p && p->pid != pid)
- p = p->next;
- return p;
-}
-
-/* Return the job index that PID belongs to, or NO_JOB if it doesn't
- belong to any job. Must be called with SIGCHLD blocked. */
-static int
-find_job (pid, alive_only, procp)
- pid_t pid;
- int alive_only;
- PROCESS **procp;
-{
- register int i;
- PROCESS *p;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("find_job: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i])
- {
- p = jobs[i]->pipe;
-
- do
- {
- if (p->pid == pid && ((alive_only == 0 && PRECYCLED(p) == 0) || PALIVE(p)))
- {
- if (procp)
- *procp = p;
- return (i);
- }
-
- p = p->next;
- }
- while (p != jobs[i]->pipe);
- }
- }
-
- return (NO_JOB);
-}
-
-/* Find a job given a PID. If BLOCK is non-zero, block SIGCHLD as
- required by find_job. */
-int
-get_job_by_pid (pid, block)
- pid_t pid;
- int block;
-{
- int job;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0, NULL);
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return job;
-}
-
-/* Print descriptive information about the job with leader pid PID. */
-void
-describe_pid (pid)
- pid_t pid;
-{
- int job;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0, NULL);
-
- if (job != NO_JOB)
- fprintf (stderr, "[%d] %ld\n", job + 1, (long)pid);
- else
- programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
-
- UNBLOCK_CHILD (oset);
-}
-
-static char *
-j_strsignal (s)
- int s;
-{
- char *x;
-
- x = strsignal (s);
- if (x == 0)
- {
- x = retcode_name_buffer;
- sprintf (x, "Signal %d", s);
- }
- return x;
-}
-
-static char *
-printable_job_status (j, p, format)
- int j;
- PROCESS *p;
- int format;
-{
- static char *temp;
- int es;
-
- temp = "Done";
-
- if (STOPPED (j) && format == 0)
- {
- if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
- temp = "Stopped";
- else
- {
- temp = retcode_name_buffer;
- sprintf (temp, "Stopped(%s)", signal_name (WSTOPSIG (p->status)));
- }
- }
- else if (RUNNING (j))
- temp = "Running";
- else
- {
- if (WIFSTOPPED (p->status))
- temp = j_strsignal (WSTOPSIG (p->status));
- else if (WIFSIGNALED (p->status))
- temp = j_strsignal (WTERMSIG (p->status));
- else if (WIFEXITED (p->status))
- {
- temp = retcode_name_buffer;
- es = WEXITSTATUS (p->status);
- if (es == 0)
- strcpy (temp, "Done");
- else if (posixly_correct)
- sprintf (temp, "Done(%d)", es);
- else
- sprintf (temp, "Exit %d", es);
- }
- else
- temp = "Unknown status";
- }
-
- return temp;
-}
-
-/* This is the way to print out information on a job if you
- know the index. FORMAT is:
-
- JLIST_NORMAL) [1]+ Running emacs
- JLIST_LONG ) [1]+ 2378 Running emacs
- -1 ) [1]+ 2378 emacs
-
- JLIST_NORMAL) [1]+ Stopped ls | more
- JLIST_LONG ) [1]+ 2369 Stopped ls
- 2367 | more
- JLIST_PID_ONLY)
- Just list the pid of the process group leader (really
- the process group).
- JLIST_CHANGED_ONLY)
- Use format JLIST_NORMAL, but list only jobs about which
- the user has not been notified. */
-
-/* Print status for pipeline P. If JOB_INDEX is >= 0, it is the index into
- the JOBS array corresponding to this pipeline. FORMAT is as described
- above. Must be called with SIGCHLD blocked.
-
- If you're printing a pipeline that's not in the jobs array, like the
- current pipeline as it's being created, pass -1 for JOB_INDEX */
-static void
-print_pipeline (p, job_index, format, stream)
- PROCESS *p;
- int job_index, format;
- FILE *stream;
-{
- PROCESS *first, *last, *show;
- int es, name_padding;
- char *temp;
-
- if (p == 0)
- return;
-
- first = last = p;
- while (last->next != first)
- last = last->next;
-
- for (;;)
- {
- if (p != first)
- fprintf (stream, format ? " " : " |");
-
- if (format != JLIST_STANDARD)
- fprintf (stream, "%5ld", (long)p->pid);
-
- fprintf (stream, " ");
-
- if (format > -1 && job_index >= 0)
- {
- show = format ? p : last;
- temp = printable_job_status (job_index, show, format);
-
- if (p != first)
- {
- if (format)
- {
- if (show->running == first->running &&
- WSTATUS (show->status) == WSTATUS (first->status))
- temp = "";
- }
- else
- temp = (char *)NULL;
- }
-
- if (temp)
- {
- fprintf (stream, "%s", temp);
-
- es = STRLEN (temp);
- if (es == 0)
- es = 2; /* strlen ("| ") */
- name_padding = LONGEST_SIGNAL_DESC - es;
-
- fprintf (stream, "%*s", name_padding, "");
-
- if ((WIFSTOPPED (show->status) == 0) &&
- (WIFCONTINUED (show->status) == 0) &&
- WIFCORED (show->status))
- fprintf (stream, "(core dumped) ");
- }
- }
-
- if (p != first && format)
- fprintf (stream, "| ");
-
- if (p->command)
- fprintf (stream, "%s", p->command);
-
- if (p == last && job_index >= 0)
- {
- temp = current_working_directory ();
-
- if (RUNNING (job_index) && (IS_FOREGROUND (job_index) == 0))
- fprintf (stream, " &");
-
- if (strcmp (temp, jobs[job_index]->wd) != 0)
- fprintf (stream,
- " (wd: %s)", polite_directory_format (jobs[job_index]->wd));
- }
-
- if (format || (p == last))
- {
- /* We need to add a CR only if this is an interactive shell, and
- we're reporting the status of a completed job asynchronously.
- We can't really check whether this particular job is being
- reported asynchronously, so just add the CR if the shell is
- currently interactive and asynchronous notification is enabled. */
- if (asynchronous_notification && interactive)
- fprintf (stream, "\r\n");
- else
- fprintf (stream, "\n");
- }
-
- if (p == last)
- break;
- p = p->next;
- }
- fflush (stream);
-}
-
-/* Print information to STREAM about jobs[JOB_INDEX] according to FORMAT.
- Must be called with SIGCHLD blocked or queued with queue_sigchld */
-static void
-pretty_print_job (job_index, format, stream)
- int job_index, format;
- FILE *stream;
-{
- register PROCESS *p;
-
- /* Format only pid information about the process group leader? */
- if (format == JLIST_PID_ONLY)
- {
- fprintf (stream, "%ld\n", (long)jobs[job_index]->pipe->pid);
- return;
- }
-
- if (format == JLIST_CHANGED_ONLY)
- {
- if (IS_NOTIFIED (job_index))
- return;
- format = JLIST_STANDARD;
- }
-
- if (format != JLIST_NONINTERACTIVE)
- fprintf (stream, "[%d]%c ", job_index + 1,
- (job_index == js.j_current) ? '+':
- (job_index == js.j_previous) ? '-' : ' ');
-
- if (format == JLIST_NONINTERACTIVE)
- format = JLIST_LONG;
-
- p = jobs[job_index]->pipe;
-
- print_pipeline (p, job_index, format, stream);
-
- /* We have printed information about this job. When the job's
- status changes, waitchld () sets the notification flag to 0. */
- jobs[job_index]->flags |= J_NOTIFIED;
-}
-
-static int
-print_job (job, format, state, job_index)
- JOB *job;
- int format, state, job_index;
-{
- if (state == -1 || (JOB_STATE)state == job->state)
- pretty_print_job (job_index, format, stdout);
- return (0);
-}
-
-void
-list_one_job (job, format, ignore, job_index)
- JOB *job;
- int format, ignore, job_index;
-{
- pretty_print_job (job_index, format, stdout);
-}
-
-void
-list_stopped_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JSTOPPED);
-}
-
-void
-list_running_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JRUNNING);
-}
-
-/* List jobs. If FORMAT is non-zero, then the long form of the information
- is printed, else just a short version. */
-void
-list_all_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, -1);
-}
-
-/* Fork, handling errors. Returns the pid of the newly made child, or 0.
- COMMAND is just for remembering the name of the command; we don't do
- anything else with it. ASYNC_P says what to do with the tty. If
- non-zero, then don't give it away. */
-pid_t
-make_child (command, async_p)
- char *command;
- int async_p;
-{
- sigset_t set, oset;
- pid_t pid;
-
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGINT);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- making_children ();
-
-#if defined (BUFFERED_INPUT)
- /* If default_buffered_input is active, we are reading a script. If
- the command is asynchronous, we have already duplicated /dev/null
- as fd 0, but have not changed the buffered stream corresponding to
- the old fd 0. We don't want to sync the stream in this case. */
- if (default_buffered_input != -1 &&
- (!async_p || default_buffered_input > 0))
- sync_buffered_stream (default_buffered_input);
-#endif /* BUFFERED_INPUT */
-
- /* Create the child, handle severe errors. */
- if ((pid = fork ()) < 0)
- {
- sys_error ("fork");
-
- /* Kill all of the processes in the current pipeline. */
- terminate_current_pipeline ();
-
- /* Discard the current pipeline, if any. */
- if (the_pipeline)
- kill_current_pipeline ();
-
- throw_to_top_level (); /* Reset signals, etc. */
- }
-
- if (pid == 0)
- {
- /* In the child. Give this child the right process group, set the
- signals to the default state for a new process. */
- pid_t mypid;
-
- mypid = getpid ();
-#if defined (BUFFERED_INPUT)
- /* Close default_buffered_input if it's > 0. We don't close it if it's
- 0 because that's the file descriptor used when redirecting input,
- and it's wrong to close the file in that case. */
- unset_bash_input (0);
-#endif /* BUFFERED_INPUT */
-
- /* Restore top-level signal mask. */
- sigprocmask (SIG_SETMASK, &top_level_mask, (sigset_t *)NULL);
-
- if (job_control)
- {
- /* All processes in this pipeline belong in the same
- process group. */
-
- if (pipeline_pgrp == 0) /* This is the first child. */
- pipeline_pgrp = mypid;
-
- /* Check for running command in backquotes. */
- if (pipeline_pgrp == shell_pgrp)
- ignore_tty_job_signals ();
- else
- default_tty_job_signals ();
-
- /* Set the process group before trying to mess with the terminal's
- process group. This is mandated by POSIX. */
- /* This is in accordance with the Posix 1003.1 standard,
- section B.7.2.4, which says that trying to set the terminal
- process group with tcsetpgrp() to an unused pgrp value (like
- this would have for the first child) is an error. Section
- B.4.3.3, p. 237 also covers this, in the context of job control
- shells. */
- if (setpgid (mypid, pipeline_pgrp) < 0)
- sys_error ("child setpgid (%ld to %ld)", (long)mypid, (long)pipeline_pgrp);
-
- /* By convention (and assumption above), if
- pipeline_pgrp == shell_pgrp, we are making a child for
- command substitution.
- In this case, we don't want to give the terminal to the
- shell's process group (we could be in the middle of a
- pipeline, for example). */
- if (async_p == 0 && pipeline_pgrp != shell_pgrp)
- give_terminal_to (pipeline_pgrp, 0);
-
-#if defined (PGRP_PIPE)
- if (pipeline_pgrp == mypid)
- pipe_read (pgrp_pipe);
-#endif
- }
- else /* Without job control... */
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
-
- /* If these signals are set to SIG_DFL, we encounter the curious
- situation of an interactive ^Z to a running process *working*
- and stopping the process, but being unable to do anything with
- that process to change its state. On the other hand, if they
- are set to SIG_IGN, jobs started from scripts do not stop when
- the shell running the script gets a SIGTSTP and stops. */
-
- default_tty_job_signals ();
- }
-
-#if defined (PGRP_PIPE)
- /* Release the process group pipe, since our call to setpgid ()
- is done. The last call to pipe_close is done in stop_pipeline. */
- pipe_close (pgrp_pipe);
-#endif /* PGRP_PIPE */
-
- if (async_p)
- last_asynchronous_pid = mypid;
-#if defined (RECYCLES_PIDS)
- else if (last_asynchronous_pid == mypid)
- /* Avoid pid aliasing. 1 seems like a safe, unusual pid value. */
- last_asynchronous_pid = 1;
-#endif
- }
- else
- {
- /* In the parent. Remember the pid of the child just created
- as the proper pgrp if this is the first child. */
-
- if (job_control)
- {
- if (pipeline_pgrp == 0)
- {
- pipeline_pgrp = pid;
- /* Don't twiddle terminal pgrps in the parent! This is the bug,
- not the good thing of twiddling them in the child! */
- /* give_terminal_to (pipeline_pgrp, 0); */
- }
- /* This is done on the recommendation of the Rationale section of
- the POSIX 1003.1 standard, where it discusses job control and
- shells. It is done to avoid possible race conditions. (Ref.
- 1003.1 Rationale, section B.4.3.3, page 236). */
- setpgid (pid, pipeline_pgrp);
- }
- else
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
- }
-
- /* Place all processes into the jobs array regardless of the
- state of job_control. */
- add_process (command, pid);
-
- if (async_p)
- last_asynchronous_pid = pid;
-#if defined (RECYCLES_PIDS)
- else if (last_asynchronous_pid == pid)
- /* Avoid pid aliasing. 1 seems like a safe, unusual pid value. */
- last_asynchronous_pid = 1;
-#endif
-
-#if !defined (RECYCLES_PIDS)
- /* Only check for saved status if we've saved more than CHILD_MAX
- statuses, unless the system recycles pids. */
- if ((js.c_reaped + bgpids.npid) >= js.c_childmax)
-#endif
- bgp_delete (pid); /* new process, discard any saved status */
-
- last_made_pid = pid;
-
- /* keep stats */
- js.c_totforked++;
- js.c_living++;
-
- /* Unblock SIGINT and SIGCHLD unless creating a pipeline, in which case
- SIGCHLD remains blocked until all commands in the pipeline have been
- created. */
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return (pid);
-}
-
-/* These two functions are called only in child processes. */
-void
-ignore_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
-}
-
-void
-default_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_DFL);
- set_signal_handler (SIGTTIN, SIG_DFL);
- set_signal_handler (SIGTTOU, SIG_DFL);
-}
-
-/* When we end a job abnormally, or if we stop a job, we set the tty to the
- state kept in here. When a job ends normally, we set the state in here
- to the state of the tty. */
-
-static TTYSTRUCT shell_tty_info;
-
-#if defined (NEW_TTY_DRIVER)
-static struct tchars shell_tchars;
-static struct ltchars shell_ltchars;
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (NEW_TTY_DRIVER) && defined (DRAIN_OUTPUT)
-/* Since the BSD tty driver does not allow us to change the tty modes
- while simultaneously waiting for output to drain and preserving
- typeahead, we have to drain the output ourselves before calling
- ioctl. We cheat by finding the length of the output queue, and
- using select to wait for an appropriate length of time. This is
- a hack, and should be labeled as such (it's a hastily-adapted
- mutation of a `usleep' implementation). It's only reason for
- existing is the flaw in the BSD tty driver. */
-
-static int ttspeeds[] =
-{
- 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200,
- 1800, 2400, 4800, 9600, 19200, 38400
-};
-
-static void
-draino (fd, ospeed)
- int fd, ospeed;
-{
- register int delay = ttspeeds[ospeed];
- int n;
-
- if (!delay)
- return;
-
- while ((ioctl (fd, TIOCOUTQ, &n) == 0) && n)
- {
- if (n > (delay / 100))
- {
- struct timeval tv;
-
- n *= 10; /* 2 bits more for conservativeness. */
- tv.tv_sec = n / delay;
- tv.tv_usec = ((n % delay) * 1000000) / delay;
- select (fd, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv);
- }
- else
- break;
- }
-}
-#endif /* NEW_TTY_DRIVER && DRAIN_OUTPUT */
-
-/* Return the fd from which we are actually getting input. */
-#define input_tty() (shell_tty != -1) ? shell_tty : fileno (stderr)
-
-/* Fill the contents of shell_tty_info with the current tty info. */
-int
-get_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
- ioctl (tty, TIOCGETP, &shell_tty_info);
- ioctl (tty, TIOCGETC, &shell_tchars);
- ioctl (tty, TIOCGLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCGETA, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- {
-#if 0
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcgetattr", (long)getpid (), shell_level);
-#endif
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- if (check_window_size)
- get_new_window_size (0);
- }
- return 0;
-}
-
-/* Make the current tty use the state in shell_tty_info. */
-int
-set_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
-# if defined (DRAIN_OUTPUT)
- draino (tty, shell_tty_info.sg_ospeed);
-# endif /* DRAIN_OUTPUT */
- ioctl (tty, TIOCSETN, &shell_tty_info);
- ioctl (tty, TIOCSETC, &shell_tchars);
- ioctl (tty, TIOCSLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCSETAW, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- {
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcsetattr", (long)getpid (), shell_level);
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- }
- return 0;
-}
-
-/* Given an index into the jobs array JOB, return the PROCESS struct of the last
- process in that job's pipeline. This is the one whose exit status
- counts. Must be called with SIGCHLD blocked or queued. */
-static PROCESS *
-find_last_proc (job, block)
- int job;
- int block;
-{
- register PROCESS *p;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- p = jobs[job]->pipe;
- while (p->next != jobs[job]->pipe)
- p = p->next;
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return (p);
-}
-
-static pid_t
-find_last_pid (job, block)
- int job;
- int block;
-{
- PROCESS *p;
-
- p = find_last_proc (job, block);
- /* Possible race condition here. */
- return p->pid;
-}
-
-/* Wait for a particular child of the shell to finish executing.
- This low-level function prints an error message if PID is not
- a child of this shell. It returns -1 if it fails, or whatever
- wait_for returns otherwise. If the child is not found in the
- jobs table, it returns 127. */
-int
-wait_for_single_pid (pid)
- pid_t pid;
-{
- register PROCESS *child;
- sigset_t set, oset;
- int r, job;
-
- BLOCK_CHILD (set, oset);
- child = find_pipeline (pid, 0, (int *)NULL);
- UNBLOCK_CHILD (oset);
-
- if (child == 0)
- {
- r = bgp_search (pid);
- if (r >= 0)
- return r;
- }
-
- if (child == 0)
- {
- internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
- return (127);
- }
-
- r = wait_for (pid);
-
- /* POSIX.2: if we just waited for a job, we can remove it from the jobs
- table. */
- BLOCK_CHILD (set, oset);
- job = find_job (pid, 0, NULL);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- /* If running in posix mode, remove the job from the jobs table immediately */
- if (posixly_correct)
- cleanup_dead_jobs ();
-
- return r;
-}
-
-/* Wait for all of the backgrounds of this shell to finish. */
-void
-wait_for_background_pids ()
-{
- register int i, r, waited_for;
- sigset_t set, oset;
- pid_t pid;
-
- for (waited_for = 0;;)
- {
- BLOCK_CHILD (set, oset);
-
- /* find first running job; if none running in foreground, break */
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("wait_for_background_pids: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
- break;
- }
- if (i == js.j_jobslots)
- {
- UNBLOCK_CHILD (oset);
- break;
- }
-
- /* now wait for the last pid in that job. */
- pid = find_last_pid (i, 0);
- UNBLOCK_CHILD (oset);
- QUIT;
- errno = 0; /* XXX */
- r = wait_for_single_pid (pid);
- if (r == -1)
- {
- /* If we're mistaken about job state, compensate. */
- if (errno == ECHILD)
- mark_all_jobs_as_dead ();
- }
- else
- waited_for++;
- }
-
- /* POSIX.2 says the shell can discard the statuses of all completed jobs if
- `wait' is called with no arguments. */
- mark_dead_jobs_as_notified (1);
- cleanup_dead_jobs ();
- bgp_clear ();
-}
-
-/* Make OLD_SIGINT_HANDLER the SIGINT signal handler. */
-#define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
-static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
-
-static void
-restore_sigint_handler ()
-{
- if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- set_signal_handler (SIGINT, old_sigint_handler);
- old_sigint_handler = INVALID_SIGNAL_HANDLER;
- }
-}
-
-static int wait_sigint_received;
-
-/* Handle SIGINT while we are waiting for children in a script to exit.
- The `wait' builtin should be interruptible, but all others should be
- effectively ignored (i.e. not cause the shell to exit). */
-static sighandler
-wait_sigint_handler (sig)
- int sig;
-{
- SigHandler *sigint_handler;
-
- if (interrupt_immediately ||
- (this_shell_builtin && this_shell_builtin == wait_builtin))
- {
- last_command_exit_value = EXECUTION_FAILURE;
- restore_sigint_handler ();
- /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
- what POSIX.2 says (see builtins/wait.def for more info). */
- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
- signal_is_trapped (SIGINT) &&
- ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
- {
- interrupt_immediately = 0;
- trap_handler (SIGINT); /* set pending_traps[SIGINT] */
- wait_signal_received = SIGINT;
- longjmp (wait_intr_buf, 1);
- }
-
- ADDINTERRUPT;
- QUIT;
- }
-
- /* XXX - should this be interrupt_state? If it is, the shell will act
- as if it got the SIGINT interrupt. */
- wait_sigint_received = 1;
-
- /* Otherwise effectively ignore the SIGINT and allow the running job to
- be killed. */
- SIGRETURN (0);
-}
-
-static int
-process_exit_signal (status)
- WAIT status;
-{
- return (WIFSIGNALED (status) ? WTERMSIG (status) : 0);
-}
-
-static int
-process_exit_status (status)
- WAIT status;
-{
- if (WIFSIGNALED (status))
- return (128 + WTERMSIG (status));
- else if (WIFSTOPPED (status) == 0)
- return (WEXITSTATUS (status));
- else
- return (EXECUTION_SUCCESS);
-}
-
-/* Return the exit status of the last process in the pipeline for job JOB.
- This is the exit status of the entire job. */
-static WAIT
-raw_job_exit_status (job)
- int job;
-{
- register PROCESS *p;
- int fail;
-
- if (pipefail_opt)
- {
- fail = 0;
- p = jobs[job]->pipe;
- do
- {
- if (p->status != EXECUTION_SUCCESS) fail = p->status;
- p = p->next;
- }
- while (p != jobs[job]->pipe);
- return fail;
- }
-
- for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
- ;
- return (p->status);
-}
-
-/* Return the exit status of job JOB. This is the exit status of the last
- (rightmost) process in the job's pipeline, modified if the job was killed
- by a signal or stopped. */
-static int
-job_exit_status (job)
- int job;
-{
- return (process_exit_status (raw_job_exit_status (job)));
-}
-
-static int
-job_exit_signal (job)
- int job;
-{
- return (process_exit_signal (raw_job_exit_status (job)));
-}
-
-#define FIND_CHILD(pid, child) \
- do \
- { \
- child = find_pipeline (pid, 0, (int *)NULL); \
- if (child == 0) \
- { \
- give_terminal_to (shell_pgrp, 0); \
- UNBLOCK_CHILD (oset); \
- internal_error (_("wait_for: No record of process %ld"), (long)pid); \
- restore_sigint_handler (); \
- return (termination_state = 127); \
- } \
- } \
- while (0)
-
-/* Wait for pid (one of our children) to terminate, then
- return the termination state. Returns 127 if PID is not found in
- the jobs table. Returns -1 if waitchld() returns -1, indicating
- that there are no unwaited-for child processes. */
-int
-wait_for (pid)
- pid_t pid;
-{
- int job, termination_state, r;
- WAIT s;
- register PROCESS *child;
- sigset_t set, oset;
- register PROCESS *p;
-
- /* In the case that this code is interrupted, and we longjmp () out of it,
- we are relying on the code in throw_to_top_level () to restore the
- top-level signal mask. */
- BLOCK_CHILD (set, oset);
-
- /* Ignore interrupts while waiting for a job run without job control
- to finish. We don't want the shell to exit if an interrupt is
- received, only if one of the jobs run is killed via SIGINT. If
- job control is not set, the job will be run in the same pgrp as
- the shell, and the shell will see any signals the job gets. */
-
- /* This is possibly a race condition -- should it go in stop_pipeline? */
- wait_sigint_received = 0;
- if (job_control == 0)
- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-
- termination_state = last_command_exit_value;
-
- if (interactive && job_control == 0)
- QUIT;
-
- /* If we say wait_for (), then we have a record of this child somewhere.
- If it and none of its peers are running, don't call waitchld(). */
-
- job = NO_JOB;
- do
- {
- FIND_CHILD (pid, child);
-
- /* If this child is part of a job, then we are really waiting for the
- job to finish. Otherwise, we are waiting for the child to finish.
- We check for JDEAD in case the job state has been set by waitchld
- after receipt of a SIGCHLD. */
- if (job == NO_JOB)
- job = find_job (pid, 0, NULL);
-
- /* waitchld() takes care of setting the state of the job. If the job
- has already exited before this is called, sigchld_handler will have
- called waitchld and the state will be set to JDEAD. */
-
- if (PRUNNING(child) || (job != NO_JOB && RUNNING (job)))
- {
-#if defined (WAITPID_BROKEN) /* SCOv4 */
- sigset_t suspend_set;
- sigemptyset (&suspend_set);
- sigsuspend (&suspend_set);
-#else /* !WAITPID_BROKEN */
-# if defined (MUST_UNBLOCK_CHLD)
- struct sigaction act, oact;
- sigset_t nullset, chldset;
-
- sigemptyset (&nullset);
- sigemptyset (&chldset);
- sigprocmask (SIG_SETMASK, &nullset, &chldset);
- act.sa_handler = SIG_DFL;
- sigemptyset (&act.sa_mask);
- sigemptyset (&oact.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGCHLD, &act, &oact);
-# endif
- queue_sigchld = 1;
- r = waitchld (pid, 1);
-# if defined (MUST_UNBLOCK_CHLD)
- sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
- sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
-# endif
- queue_sigchld = 0;
- if (r == -1 && errno == ECHILD && this_shell_builtin == wait_builtin)
- {
- termination_state = -1;
- goto wait_for_return;
- }
-
- /* If child is marked as running, but waitpid() returns -1/ECHILD,
- there is something wrong. Somewhere, wait should have returned
- that child's pid. Mark the child as not running and the job,
- if it exists, as JDEAD. */
- if (r == -1 && errno == ECHILD)
- {
- child->running = PS_DONE;
- child->status = 0; /* XXX -- can't find true status */
- if (job != NO_JOB)
- {
- jobs[job]->state = JDEAD;
- js.c_reaped++;
- js.j_ndead++;
- }
- }
-#endif /* WAITPID_BROKEN */
- }
-
- /* If the shell is interactive, and job control is disabled, see
- if the foreground process has died due to SIGINT and jump out
- of the wait loop if it has. waitchld has already restored the
- old SIGINT signal handler. */
- if (interactive && job_control == 0)
- QUIT;
- }
- while (PRUNNING (child) || (job != NO_JOB && RUNNING (job)));
-
- /* The exit state of the command is either the termination state of the
- child, or the termination state of the job. If a job, the status
- of the last child in the pipeline is the significant one. If the command
- or job was terminated by a signal, note that value also. */
- termination_state = (job != NO_JOB) ? job_exit_status (job)
- : process_exit_status (child->status);
- last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job)
- : process_exit_signal (child->status);
-
- /* XXX */
- if ((job != NO_JOB && JOBSTATE (job) == JSTOPPED) || WIFSTOPPED (child->status))
- termination_state = 128 + WSTOPSIG (child->status);
-
- if (job == NO_JOB || IS_JOBCONTROL (job))
- {
- /* XXX - under what circumstances is a job not present in the jobs
- table (job == NO_JOB)?
- 1. command substitution
-
- In the case of command substitution, at least, it's probably not
- the right thing to give the terminal to the shell's process group,
- even though there is code in subst.c:command_substitute to work
- around it.
-
- Things that don't:
- $PROMPT_COMMAND execution
- process substitution
- */
-#if 0
-if (job == NO_JOB)
- itrace("wait_for: job == NO_JOB, giving the terminal to shell_pgrp (%ld)", (long)shell_pgrp);
-#endif
-
- give_terminal_to (shell_pgrp, 0);
- }
-
- /* If the command did not exit cleanly, or the job is just
- being stopped, then reset the tty state back to what it
- was before this command. Reset the tty state and notify
- the user of the job termination only if the shell is
- interactive. Clean up any dead jobs in either case. */
- if (job != NO_JOB)
- {
- if (interactive_shell && subshell_environment == 0)
- {
- /* This used to use `child->status'. That's wrong, however, for
- pipelines. `child' is the first process in the pipeline. It's
- likely that the process we want to check for abnormal termination
- or stopping is the last process in the pipeline, especially if
- it's long-lived and the first process is short-lived. Since we
- know we have a job here, we can check all the processes in this
- job's pipeline and see if one of them stopped or terminated due
- to a signal. We might want to change this later to just check
- the last process in the pipeline. If no process exits due to a
- signal, S is left as the status of the last job in the pipeline. */
- p = jobs[job]->pipe;
- do
- {
- s = p->status;
- if (WIFSIGNALED(s) || WIFSTOPPED(s))
- break;
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (WIFSIGNALED (s) || WIFSTOPPED (s))
- {
- set_tty_state ();
-
- /* If the current job was stopped or killed by a signal, and
- the user has requested it, get a possibly new window size */
- if (check_window_size && (job == js.j_current || IS_FOREGROUND (job)))
- get_new_window_size (0);
- }
- else
- get_tty_state ();
-
- /* If job control is enabled, the job was started with job
- control, the job was the foreground job, and it was killed
- by SIGINT, then print a newline to compensate for the kernel
- printing the ^C without a trailing newline. */
- if (job_control && IS_JOBCONTROL (job) && IS_FOREGROUND (job) &&
- WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
- {
- /* If SIGINT is not trapped and the shell is in a for, while,
- or until loop, act as if the shell received SIGINT as
- well, so the loop can be broken. This doesn't call the
- SIGINT signal handler; maybe it should. */
- if (signal_is_trapped (SIGINT) == 0 && loop_level)
- ADDINTERRUPT;
- else
- {
- putchar ('\n');
- fflush (stdout);
- }
- }
- }
-
- /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
- signal handler path */
- if (DEADJOB (job) && IS_FOREGROUND (job) /*&& subshell_environment == 0*/)
- setjstatus (job);
-
- /* If this job is dead, notify the user of the status. If the shell
- is interactive, this will display a message on the terminal. If
- the shell is not interactive, make sure we turn on the notify bit
- so we don't get an unwanted message about the job's termination,
- and so delete_job really clears the slot in the jobs table. */
- notify_and_cleanup ();
- }
-
-wait_for_return:
-
- UNBLOCK_CHILD (oset);
-
- /* Restore the original SIGINT signal handler before we return. */
- restore_sigint_handler ();
-
- return (termination_state);
-}
-
-/* Wait for the last process in the pipeline for JOB. Returns whatever
- wait_for returns: the last process's termination state or -1 if there
- are no unwaited-for child processes or an error occurs. */
-int
-wait_for_job (job)
- int job;
-{
- pid_t pid;
- int r;
- sigset_t set, oset;
-
- BLOCK_CHILD(set, oset);
- if (JOBSTATE (job) == JSTOPPED)
- internal_warning (_("wait_for_job: job %d is stopped"), job+1);
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD(oset);
- r = wait_for (pid);
-
- /* POSIX.2: we can remove the job from the jobs table if we just waited
- for it. */
- BLOCK_CHILD (set, oset);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- return r;
-}
-
-/* Print info about dead jobs, and then delete them from the list
- of known jobs. This does not actually delete jobs when the
- shell is not interactive, because the dead jobs are not marked
- as notified. */
-void
-notify_and_cleanup ()
-{
- if (jobs_list_frozen)
- return;
-
- if (interactive || interactive_shell == 0 || sourcelevel)
- notify_of_job_status ();
-
- cleanup_dead_jobs ();
-}
-
-/* Make dead jobs disappear from the jobs array without notification.
- This is used when the shell is not interactive. */
-void
-reap_dead_jobs ()
-{
- mark_dead_jobs_as_notified (0);
- cleanup_dead_jobs ();
-}
-
-/* Return the next closest (chronologically) job to JOB which is in
- STATE. STATE can be JSTOPPED, JRUNNING. NO_JOB is returned if
- there is no next recent job. */
-static int
-most_recent_job_in_state (job, state)
- int job;
- JOB_STATE state;
-{
- register int i, result;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- for (result = NO_JOB, i = job - 1; i >= 0; i--)
- {
- if (jobs[i] && (JOBSTATE (i) == state))
- {
- result = i;
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Return the newest *stopped* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_stopped (job)
- int job;
-{
- return (most_recent_job_in_state (job, JSTOPPED));
-}
-
-/* Return the newest *running* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_running (job)
- int job;
-{
- return (most_recent_job_in_state (job, JRUNNING));
-}
-
-/* Make JOB be the current job, and make previous be useful. Must be
- called with SIGCHLD blocked. */
-static void
-set_current_job (job)
- int job;
-{
- int candidate;
-
- if (js.j_current != job)
- {
- js.j_previous = js.j_current;
- js.j_current = job;
- }
-
- /* First choice for previous job is the old current job. */
- if (js.j_previous != js.j_current &&
- js.j_previous != NO_JOB &&
- jobs[js.j_previous] &&
- STOPPED (js.j_previous))
- return;
-
- /* Second choice: Newest stopped job that is older than
- the current job. */
- candidate = NO_JOB;
- if (STOPPED (js.j_current))
- {
- candidate = job_last_stopped (js.j_current);
-
- if (candidate != NO_JOB)
- {
- js.j_previous = candidate;
- return;
- }
- }
-
- /* If we get here, there is either only one stopped job, in which case it is
- the current job and the previous job should be set to the newest running
- job, or there are only running jobs and the previous job should be set to
- the newest running job older than the current job. We decide on which
- alternative to use based on whether or not JOBSTATE(js.j_current) is
- JSTOPPED. */
-
- candidate = RUNNING (js.j_current) ? job_last_running (js.j_current)
- : job_last_running (js.j_jobslots);
-
- if (candidate != NO_JOB)
- {
- js.j_previous = candidate;
- return;
- }
-
- /* There is only a single job, and it is both `+' and `-'. */
- js.j_previous = js.j_current;
-}
-
-/* Make current_job be something useful, if it isn't already. */
-
-/* Here's the deal: The newest non-running job should be `+', and the
- next-newest non-running job should be `-'. If there is only a single
- stopped job, the js.j_previous is the newest non-running job. If there
- are only running jobs, the newest running job is `+' and the
- next-newest running job is `-'. Must be called with SIGCHLD blocked. */
-
-static void
-reset_current ()
-{
- int candidate;
-
- if (js.j_jobslots && js.j_current != NO_JOB && jobs[js.j_current] && STOPPED (js.j_current))
- candidate = js.j_current;
- else
- {
- candidate = NO_JOB;
-
- /* First choice: the previous job. */
- if (js.j_previous != NO_JOB && jobs[js.j_previous] && STOPPED (js.j_previous))
- candidate = js.j_previous;
-
- /* Second choice: the most recently stopped job. */
- if (candidate == NO_JOB)
- candidate = job_last_stopped (js.j_jobslots);
-
- /* Third choice: the newest running job. */
- if (candidate == NO_JOB)
- candidate = job_last_running (js.j_jobslots);
- }
-
- /* If we found a job to use, then use it. Otherwise, there
- are no jobs period. */
- if (candidate != NO_JOB)
- set_current_job (candidate);
- else
- js.j_current = js.j_previous = NO_JOB;
-}
-
-/* Set up the job structures so we know the job and its processes are
- all running. */
-static void
-set_job_running (job)
- int job;
-{
- register PROCESS *p;
-
- /* Each member of the pipeline is now running. */
- p = jobs[job]->pipe;
-
- do
- {
- if (WIFSTOPPED (p->status))
- p->running = PS_RUNNING; /* XXX - could be PS_STOPPED */
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- /* This means that the job is running. */
- JOBSTATE (job) = JRUNNING;
-}
-
-/* Start a job. FOREGROUND if non-zero says to do that. Otherwise,
- start the job in the background. JOB is a zero-based index into
- JOBS. Returns -1 if it is unable to start a job, and the return
- status of the job otherwise. */
-int
-start_job (job, foreground)
- int job, foreground;
-{
- register PROCESS *p;
- int already_running;
- sigset_t set, oset;
- char *wd, *s;
- static TTYSTRUCT save_stty;
-
- BLOCK_CHILD (set, oset);
-
- if (DEADJOB (job))
- {
- internal_error (_("%s: job has terminated"), this_command_name);
- UNBLOCK_CHILD (oset);
- return (-1);
- }
-
- already_running = RUNNING (job);
-
- if (foreground == 0 && already_running)
- {
- internal_error (_("%s: job %d already in background"), this_command_name, job + 1);
- UNBLOCK_CHILD (oset);
- return (0); /* XPG6/SUSv3 says this is not an error */
- }
-
- wd = current_working_directory ();
-
- /* You don't know about the state of this job. Do you? */
- jobs[job]->flags &= ~J_NOTIFIED;
-
- if (foreground)
- {
- set_current_job (job);
- jobs[job]->flags |= J_FOREGROUND;
- }
-
- /* Tell the outside world what we're doing. */
- p = jobs[job]->pipe;
-
- if (foreground == 0)
- {
- /* POSIX.2 says `bg' doesn't give any indication about current or
- previous job. */
- if (posixly_correct == 0)
- s = (job == js.j_current) ? "+ ": ((job == js.j_previous) ? "- " : " ");
- else
- s = " ";
- printf ("[%d]%s", job + 1, s);
- }
-
- do
- {
- printf ("%s%s",
- p->command ? p->command : "",
- p->next != jobs[job]->pipe? " | " : "");
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (foreground == 0)
- printf (" &");
-
- if (strcmp (wd, jobs[job]->wd) != 0)
- printf (" (wd: %s)", polite_directory_format (jobs[job]->wd));
-
- printf ("\n");
-
- /* Run the job. */
- if (already_running == 0)
- set_job_running (job);
-
- /* Save the tty settings before we start the job in the foreground. */
- if (foreground)
- {
- get_tty_state ();
- save_stty = shell_tty_info;
- /* Give the terminal to this job. */
- if (IS_JOBCONTROL (job))
- give_terminal_to (jobs[job]->pgrp, 0);
- }
- else
- jobs[job]->flags &= ~J_FOREGROUND;
-
- /* If the job is already running, then don't bother jump-starting it. */
- if (already_running == 0)
- {
- jobs[job]->flags |= J_NOTIFIED;
- killpg (jobs[job]->pgrp, SIGCONT);
- }
-
- if (foreground)
- {
- pid_t pid;
- int s;
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD (oset);
- s = wait_for (pid);
- shell_tty_info = save_stty;
- set_tty_state ();
- return (s);
- }
- else
- {
- reset_current ();
- UNBLOCK_CHILD (oset);
- return (0);
- }
-}
-
-/* Give PID SIGNAL. This determines what job the pid belongs to (if any).
- If PID does belong to a job, and the job is stopped, then CONTinue the
- job after giving it SIGNAL. Returns -1 on failure. If GROUP is non-null,
- then kill the process group associated with PID. */
-int
-kill_pid (pid, sig, group)
- pid_t pid;
- int sig, group;
-{
- register PROCESS *p;
- int job, result, negative;
- sigset_t set, oset;
-
- if (pid < -1)
- {
- pid = -pid;
- group = negative = 1;
- }
- else
- negative = 0;
-
- result = EXECUTION_SUCCESS;
- if (group)
- {
- BLOCK_CHILD (set, oset);
- p = find_pipeline (pid, 0, &job);
-
- if (job != NO_JOB)
- {
- jobs[job]->flags &= ~J_NOTIFIED;
-
- /* Kill process in backquotes or one started without job control? */
-
- /* If we're passed a pid < -1, just call killpg and see what happens */
- if (negative && jobs[job]->pgrp == shell_pgrp)
- result = killpg (pid, sig);
- /* If we're killing using job control notification, for example,
- without job control active, we have to do things ourselves. */
- else if (jobs[job]->pgrp == shell_pgrp)
- {
- p = jobs[job]->pipe;
- do
- {
- if (PALIVE (p) == 0)
- continue; /* avoid pid recycling problem */
- kill (p->pid, sig);
- if (PEXITED (p) && (sig == SIGTERM || sig == SIGHUP))
- kill (p->pid, SIGCONT);
- p = p->next;
- }
- while (p != jobs[job]->pipe);
- }
- else
- {
- result = killpg (jobs[job]->pgrp, sig);
- if (p && STOPPED (job) && (sig == SIGTERM || sig == SIGHUP))
- killpg (jobs[job]->pgrp, SIGCONT);
- /* If we're continuing a stopped job via kill rather than bg or
- fg, emulate the `bg' behavior. */
- if (p && STOPPED (job) && (sig == SIGCONT))
- {
- set_job_running (job);
- jobs[job]->flags &= ~J_FOREGROUND;
- jobs[job]->flags |= J_NOTIFIED;
- }
- }
- }
- else
- result = killpg (pid, sig);
-
- UNBLOCK_CHILD (oset);
- }
- else
- result = kill (pid, sig);
-
- return (result);
-}
-
-/* sigchld_handler () flushes at least one of the children that we are
- waiting for. It gets run when we have gotten a SIGCHLD signal. */
-static sighandler
-sigchld_handler (sig)
- int sig;
-{
- int n, oerrno;
-
- oerrno = errno;
- REINSTALL_SIGCHLD_HANDLER;
- sigchld++;
- n = 0;
- if (queue_sigchld == 0)
- n = waitchld (-1, 0);
- errno = oerrno;
- SIGRETURN (n);
-}
-
-/* waitchld() reaps dead or stopped children. It's called by wait_for and
- sigchld_handler, and runs until there aren't any children terminating any
- more.
- If BLOCK is 1, this is to be a blocking wait for a single child, although
- an arriving SIGCHLD could cause the wait to be non-blocking. It returns
- the number of children reaped, or -1 if there are no unwaited-for child
- processes. */
-static int
-waitchld (wpid, block)
- pid_t wpid;
- int block;
-{
- WAIT status;
- PROCESS *child;
- pid_t pid;
- int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
- static int wcontinued = WCONTINUED; /* run-time fix for glibc problem */
-
- call_set_current = children_exited = 0;
- last_stopped_job = NO_JOB;
-
- do
- {
- /* We don't want to be notified about jobs stopping if job control
- is not active. XXX - was interactive_shell instead of job_control */
- waitpid_flags = (job_control && subshell_environment == 0)
- ? (WUNTRACED|wcontinued)
- : 0;
- if (sigchld || block == 0)
- waitpid_flags |= WNOHANG;
- pid = WAITPID (-1, &status, waitpid_flags);
-
- /* WCONTINUED may be rejected by waitpid as invalid even when defined */
- if (wcontinued && pid < 0 && errno == EINVAL)
- {
- wcontinued = 0;
- continue; /* jump back to the test and retry without WCONTINUED */
- }
-
- /* The check for WNOHANG is to make sure we decrement sigchld only
- if it was non-zero before we called waitpid. */
- if (sigchld > 0 && (waitpid_flags & WNOHANG))
- sigchld--;
-
- /* If waitpid returns -1 with errno == ECHILD, there are no more
- unwaited-for child processes of this shell. */
- if (pid < 0 && errno == ECHILD)
- {
- if (children_exited == 0)
- return -1;
- else
- break;
- }
-
- /* If waitpid returns 0, there are running children. If it returns -1,
- the only other error POSIX says it can return is EINTR. */
- if (pid <= 0)
- continue; /* jumps right to the test */
-
- /* children_exited is used to run traps on SIGCHLD. We don't want to
- run the trap if a process is just being continued. */
- if (WIFCONTINUED(status) == 0)
- children_exited++;
-
- /* Locate our PROCESS for this pid. */
- child = find_process (pid, 1, &job); /* want living procs only */
-
- /* It is not an error to have a child terminate that we did
- not have a record of. This child could have been part of
- a pipeline in backquote substitution. Even so, I'm not
- sure child is ever non-zero. */
- if (child == 0)
- continue;
-
- /* Remember status, and whether or not the process is running. */
- child->status = status;
- child->running = WIFCONTINUED(status) ? PS_RUNNING : PS_DONE;
-
- if (PEXITED (child))
- {
- js.c_totreaped++;
- if (job != NO_JOB)
- js.c_reaped++;
- }
-
- if (job == NO_JOB)
- continue;
-
- call_set_current += set_job_status_and_cleanup (job);
-
- if (STOPPED (job))
- last_stopped_job = job;
- else if (DEADJOB (job) && last_stopped_job == job)
- last_stopped_job = NO_JOB;
- }
- while ((sigchld || block == 0) && pid > (pid_t)0);
-
- /* If a job was running and became stopped, then set the current
- job. Otherwise, don't change a thing. */
- if (call_set_current)
- {
- if (last_stopped_job != NO_JOB)
- set_current_job (last_stopped_job);
- else
- reset_current ();
- }
-
- /* Call a SIGCHLD trap handler for each child that exits, if one is set. */
- if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
- trap_list[SIGCHLD] != (char *)IGNORE_SIG)
- run_sigchld_trap (children_exited);
-
- /* We have successfully recorded the useful information about this process
- that has just changed state. If we notify asynchronously, and the job
- that this process belongs to is no longer running, then notify the user
- of that fact now. */
- if (asynchronous_notification && interactive)
- notify_of_job_status ();
-
- return (children_exited);
-}
-
-/* Set the status of JOB and perform any necessary cleanup if the job is
- marked as JDEAD.
-
- Currently, the cleanup activity is restricted to handling any SIGINT
- received while waiting for a foreground job to finish. */
-static int
-set_job_status_and_cleanup (job)
- int job;
-{
- PROCESS *child;
- int tstatus, job_state, any_stopped, any_tstped, call_set_current;
- SigHandler *temp_handler;
-
- child = jobs[job]->pipe;
- jobs[job]->flags &= ~J_NOTIFIED;
-
- call_set_current = 0;
-
- /*
- * COMPUTE JOB STATUS
- */
-
- /* If all children are not running, but any of them is stopped, then
- the job is stopped, not dead. */
- job_state = any_stopped = any_tstped = 0;
- do
- {
- job_state |= PRUNNING (child);
-#if 0
- if (PEXITED (child) && (WIFSTOPPED (child->status)))
-#else
- /* Only checking for WIFSTOPPED now, not for PS_DONE */
- if (PSTOPPED (child))
-#endif
- {
- any_stopped = 1;
- any_tstped |= interactive && job_control &&
- (WSTOPSIG (child->status) == SIGTSTP);
- }
- child = child->next;
- }
- while (child != jobs[job]->pipe);
-
- /* If job_state != 0, the job is still running, so don't bother with
- setting the process exit status and job state unless we're
- transitioning from stopped to running. */
- if (job_state != 0 && JOBSTATE(job) != JSTOPPED)
- return 0;
-
- /*
- * SET JOB STATUS
- */
-
- /* The job is either stopped or dead. Set the state of the job accordingly. */
- if (any_stopped)
- {
- jobs[job]->state = JSTOPPED;
- jobs[job]->flags &= ~J_FOREGROUND;
- call_set_current++;
- /* Suspending a job with SIGTSTP breaks all active loops. */
- if (any_tstped && loop_level)
- breaking = loop_level;
- }
- else if (job_state != 0) /* was stopped, now running */
- {
- jobs[job]->state = JRUNNING;
- call_set_current++;
- }
- else
- {
- jobs[job]->state = JDEAD;
- js.j_ndead++;
-
-#if 0
- if (IS_FOREGROUND (job))
- setjstatus (job);
-#endif
-
- /* If this job has a cleanup function associated with it, call it
- with `cleanarg' as the single argument, then set the function
- pointer to NULL so it is not inadvertently called twice. The
- cleanup function is responsible for deallocating cleanarg. */
- if (jobs[job]->j_cleanup)
- {
- (*jobs[job]->j_cleanup) (jobs[job]->cleanarg);
- jobs[job]->j_cleanup = (sh_vptrfunc_t *)NULL;
- }
- }
-
- /*
- * CLEANUP
- *
- * Currently, we just do special things if we got a SIGINT while waiting
- * for a foreground job to complete
- */
-
- if (JOBSTATE (job) == JDEAD)
- {
- /* If we're running a shell script and we get a SIGINT with a
- SIGINT trap handler, but the foreground job handles it and
- does not exit due to SIGINT, run the trap handler but do not
- otherwise act as if we got the interrupt. */
- if (wait_sigint_received && interactive_shell == 0 &&
- WIFSIGNALED (child->status) == 0 && IS_FOREGROUND (job) &&
- signal_is_trapped (SIGINT))
- {
- int old_frozen;
- wait_sigint_received = 0;
- last_command_exit_value = process_exit_status (child->status);
-
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- }
-
- /* If the foreground job is killed by SIGINT when job control is not
- active, we need to perform some special handling.
-
- The check of wait_sigint_received is a way to determine if the
- SIGINT came from the keyboard (in which case the shell has already
- seen it, and wait_sigint_received is non-zero, because keyboard
- signals are sent to process groups) or via kill(2) to the foreground
- process by another process (or itself). If the shell did receive the
- SIGINT, it needs to perform normal SIGINT processing. */
- else if (wait_sigint_received && (WTERMSIG (child->status) == SIGINT) &&
- IS_FOREGROUND (job) && IS_JOBCONTROL (job) == 0)
- {
- int old_frozen;
-
- wait_sigint_received = 0;
-
- /* If SIGINT is trapped, set the exit status so that the trap
- handler can see it. */
- if (signal_is_trapped (SIGINT))
- last_command_exit_value = process_exit_status (child->status);
-
- /* If the signal is trapped, let the trap handler get it no matter
- what and simply return if the trap handler returns.
- maybe_call_trap_handler() may cause dead jobs to be removed from
- the job table because of a call to execute_command. We work
- around this by setting JOBS_LIST_FROZEN. */
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- if (tstatus == 0 && old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- /* wait_sigint_handler () has already seen SIGINT and
- allowed the wait builtin to jump out. We need to
- call the original SIGINT handler, if necessary. If
- the original handler is SIG_DFL, we need to resend
- the signal to ourselves. */
-
- temp_handler = old_sigint_handler;
-
- /* Bogus. If we've reset the signal handler as the result
- of a trap caught on SIGINT, then old_sigint_handler
- will point to trap_handler, which now knows nothing about
- SIGINT (if we reset the sighandler to the default).
- In this case, we have to fix things up. What a crock. */
- if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
- temp_handler = trap_to_sighandler (SIGINT);
- restore_sigint_handler ();
- if (temp_handler == SIG_DFL)
- termination_unwind_protect (SIGINT);
- else if (temp_handler != SIG_IGN)
- (*temp_handler) (SIGINT);
- }
- }
- }
-
- return call_set_current;
-}
-
-/* Build the array of values for the $PIPESTATUS variable from the set of
- exit statuses of all processes in the job J. */
-static void
-setjstatus (j)
- int j;
-{
-#if defined (ARRAY_VARS)
- register int i;
- register PROCESS *p;
-
- for (i = 1, p = jobs[j]->pipe; p->next != jobs[j]->pipe; p = p->next, i++)
- ;
- i++;
- if (statsize < i)
- {
- pstatuses = (int *)xrealloc (pstatuses, i * sizeof (int));
- statsize = i;
- }
- i = 0;
- p = jobs[j]->pipe;
- do
- {
- pstatuses[i++] = process_exit_status (p->status);
- p = p->next;
- }
- while (p != jobs[j]->pipe);
-
- pstatuses[i] = -1; /* sentinel */
- set_pipestatus_array (pstatuses, i);
-#endif
-}
-
-static void
-run_sigchld_trap (nchild)
- int nchild;
-{
- char *trap_command;
- int i;
-
- /* Turn off the trap list during the call to parse_and_execute ()
- to avoid potentially infinite recursive calls. Preserve the
- values of last_command_exit_value, last_made_pid, and the_pipeline
- around the execution of the trap commands. */
- trap_command = savestring (trap_list[SIGCHLD]);
-
- begin_unwind_frame ("SIGCHLD trap");
- unwind_protect_int (last_command_exit_value);
- unwind_protect_int (last_command_exit_signal);
- unwind_protect_var (last_made_pid);
- unwind_protect_int (interrupt_immediately);
- unwind_protect_int (jobs_list_frozen);
- unwind_protect_pointer (the_pipeline);
- unwind_protect_pointer (subst_assign_varlist);
-
- /* We have to add the commands this way because they will be run
- in reverse order of adding. We don't want maybe_set_sigchld_trap ()
- to reference freed memory. */
- add_unwind_protect (xfree, trap_command);
- add_unwind_protect (maybe_set_sigchld_trap, trap_command);
-
- subst_assign_varlist = (WORD_LIST *)NULL;
- the_pipeline = (PROCESS *)NULL;
-
- restore_default_signal (SIGCHLD);
- jobs_list_frozen = 1;
- for (i = 0; i < nchild; i++)
- {
- interrupt_immediately = 1;
- parse_and_execute (savestring (trap_command), "trap", SEVAL_NOHIST|SEVAL_RESETLINE);
- }
-
- run_unwind_frame ("SIGCHLD trap");
-}
-
-/* Function to call when you want to notify people of changes
- in job status. This prints out all jobs which are pending
- notification to stderr, and marks those printed as already
- notified, thus making them candidates for cleanup. */
-static void
-notify_of_job_status ()
-{
- register int job, termsig;
- char *dir;
- sigset_t set, oset;
- WAIT s;
-
- if (jobs == 0 || js.j_jobslots == 0)
- return;
-
- if (old_ttou != 0)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGTTOU);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
- }
- else
- queue_sigchld++;
-
- /* XXX could use js.j_firstj here */
- for (job = 0, dir = (char *)NULL; job < js.j_jobslots; job++)
- {
- if (jobs[job] && IS_NOTIFIED (job) == 0)
- {
- s = raw_job_exit_status (job);
- termsig = WTERMSIG (s);
-
- /* POSIX.2 says we have to hang onto the statuses of at most the
- last CHILD_MAX background processes if the shell is running a
- script. If the shell is running a script, either from a file
- or standard input, don't print anything unless the job was
- killed by a signal. */
- if (startup_state == 0 && WIFSIGNALED (s) == 0 &&
- ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
- continue;
-
-#if 0
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2, we were started to run `-c command', so
- don't print anything. */
- if ((job_control == 0 && interactive_shell) || startup_state == 2)
-#else
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2 and subshell_environment has the
- SUBSHELL_COMSUB bit turned on, we were started to run a command
- substitution, so don't print anything. */
- if ((job_control == 0 && interactive_shell) ||
- (startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
-#endif
- {
- /* POSIX.2 compatibility: if the shell is not interactive,
- hang onto the job corresponding to the last asynchronous
- pid until the user has been notified of its status or does
- a `wait'. */
- if (DEADJOB (job) && (interactive_shell || (find_last_pid (job, 0) != last_asynchronous_pid)))
- jobs[job]->flags |= J_NOTIFIED;
- continue;
- }
-
- /* Print info on jobs that are running in the background,
- and on foreground jobs that were killed by anything
- except SIGINT (and possibly SIGPIPE). */
- switch (JOBSTATE (job))
- {
- case JDEAD:
- if (interactive_shell == 0 && termsig && WIFSIGNALED (s) &&
- termsig != SIGINT &&
-#if defined (DONT_REPORT_SIGPIPE)
- termsig != SIGPIPE &&
-#endif
- signal_is_trapped (termsig) == 0)
- {
- /* Don't print `0' for a line number. */
- fprintf (stderr, "%s: line %d: ", get_name_for_error (), (line_number == 0) ? 1 : line_number);
- pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
- }
- else if (IS_FOREGROUND (job))
- {
-#if !defined (DONT_REPORT_SIGPIPE)
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
-#else
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
-#endif
- {
- fprintf (stderr, "%s", j_strsignal (termsig));
-
- if (WIFCORED (s))
- fprintf (stderr, " (core dumped)");
-
- fprintf (stderr, "\n");
- }
- }
- else if (job_control) /* XXX job control test added */
- {
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && strcmp (dir, jobs[job]->wd) != 0)
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- }
-
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JSTOPPED:
- fprintf (stderr, "\n");
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && (strcmp (dir, jobs[job]->wd) != 0))
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JRUNNING:
- case JMIXED:
- break;
-
- default:
- programming_error ("notify_of_job_status");
- }
- }
- }
- if (old_ttou != 0)
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- else
- queue_sigchld--;
-}
-
-/* Initialize the job control mechanism, and set up the tty stuff. */
-int
-initialize_job_control (force)
- int force;
-{
- shell_pgrp = getpgid (0);
-
- if (shell_pgrp == -1)
- {
- sys_error ("initialize_job_control: getpgrp failed");
- exit (1);
- }
-
- /* We can only have job control if we are interactive. */
- if (interactive == 0)
- {
- job_control = 0;
- original_pgrp = NO_PID;
- shell_tty = fileno (stderr);
- }
- else
- {
- /* Get our controlling terminal. If job_control is set, or
- interactive is set, then this is an interactive shell no
- matter where fd 2 is directed. */
- shell_tty = dup (fileno (stderr)); /* fd 2 */
-
- shell_tty = move_to_high_fd (shell_tty, 1, -1);
-
- /* Compensate for a bug in systems that compiled the BSD
- rlogind with DEBUG defined, like NeXT and Alliant. */
- if (shell_pgrp == 0)
- {
- shell_pgrp = getpid ();
- setpgid (0, shell_pgrp);
- tcsetpgrp (shell_tty, shell_pgrp);
- }
-
- while ((terminal_pgrp = tcgetpgrp (shell_tty)) != -1)
- {
- if (shell_pgrp != terminal_pgrp)
- {
- SigHandler *ottin;
-
- ottin = set_signal_handler(SIGTTIN, SIG_DFL);
- kill (0, SIGTTIN);
- set_signal_handler (SIGTTIN, ottin);
- continue;
- }
- break;
- }
-
- /* Make sure that we are using the new line discipline. */
- if (set_new_line_discipline (shell_tty) < 0)
- {
- sys_error ("initialize_job_control: line discipline");
- job_control = 0;
- }
- else
- {
- original_pgrp = shell_pgrp;
- shell_pgrp = getpid ();
-
- if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
- {
- sys_error ("initialize_job_control: setpgid");
- shell_pgrp = original_pgrp;
- }
-
- job_control = 1;
-
- /* If (and only if) we just set our process group to our pid,
- thereby becoming a process group leader, and the terminal
- is not in the same process group as our (new) process group,
- then set the terminal's process group to our (new) process
- group. If that fails, set our process group back to what it
- was originally (so we can still read from the terminal) and
- turn off job control. */
- if (shell_pgrp != original_pgrp && shell_pgrp != terminal_pgrp)
- {
- if (give_terminal_to (shell_pgrp, 0) < 0)
- {
- setpgid (0, original_pgrp);
- shell_pgrp = original_pgrp;
- job_control = 0;
- }
- }
- }
- if (job_control == 0)
- internal_error (_("no job control in this shell"));
- }
-
- if (shell_tty != fileno (stderr))
- SET_CLOSE_ON_EXEC (shell_tty);
-
- set_signal_handler (SIGCHLD, sigchld_handler);
-
- change_flag ('m', job_control ? '-' : '+');
-
- if (interactive)
- get_tty_state ();
-
- if (js.c_childmax < 0)
- js.c_childmax = getmaxchild ();
- if (js.c_childmax < 0)
- js.c_childmax = DEFAULT_CHILD_MAX;
-
- return job_control;
-}
-
-#ifdef DEBUG
-void
-debug_print_pgrps ()
-{
- itrace("original_pgrp = %ld shell_pgrp = %ld terminal_pgrp = %ld",
- (long)original_pgrp, (long)shell_pgrp, (long)terminal_pgrp);
- itrace("tcgetpgrp(%d) -> %ld, getpgid(0) -> %ld",
- shell_tty, (long)tcgetpgrp (shell_tty), (long)getpgid(0));
-}
-#endif
-
-/* Set the line discipline to the best this system has to offer.
- Return -1 if this is not possible. */
-static int
-set_new_line_discipline (tty)
- int tty;
-{
-#if defined (NEW_TTY_DRIVER)
- int ldisc;
-
- if (ioctl (tty, TIOCGETD, &ldisc) < 0)
- return (-1);
-
- if (ldisc != NTTYDISC)
- {
- ldisc = NTTYDISC;
-
- if (ioctl (tty, TIOCSETD, &ldisc) < 0)
- return (-1);
- }
- return (0);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
-# if defined (TERMIO_LDISC) && (NTTYDISC)
- if (ioctl (tty, TCGETA, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (ioctl (tty, TCSETAW, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIO_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
-# if defined (TERMIOS_LDISC) && defined (NTTYDISC)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIOS_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIOS_TTY_DRIVER */
-
-#if !defined (NEW_TTY_DRIVER) && !defined (TERMIO_TTY_DRIVER) && !defined (TERMIOS_TTY_DRIVER)
- return (-1);
-#endif
-}
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
- struct winsize win;
-
- if ((ioctl (shell_tty, TIOCGWINSZ, &win) == 0) &&
- win.ws_row > 0 && win.ws_col > 0)
- {
-#if defined (aixpc)
- shell_tty_info.c_winsize = win; /* structure copying */
-#endif
- sh_set_lines_and_columns (win.ws_row, win.ws_col);
-#if defined (READLINE)
- rl_set_screen_size (win.ws_row, win.ws_col);
-#endif
- }
-}
-
-static sighandler
-sigwinch_sighandler (sig)
- int sig;
-{
-#if defined (MUST_REINSTALL_SIGHANDLERS)
- set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif /* MUST_REINSTALL_SIGHANDLERS */
- get_new_window_size (1);
- SIGRETURN (0);
-}
-#else
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
-}
-#endif /* TIOCGWINSZ && SIGWINCH */
-
-void
-set_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- old_winch = set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif
-}
-
-void
-unset_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- set_signal_handler (SIGWINCH, old_winch);
-#endif
-}
-
-/* Setup this shell to handle C-C, etc. */
-void
-initialize_job_signals ()
-{
- if (interactive)
- {
- set_signal_handler (SIGINT, sigint_sighandler);
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_sigwinch_handler ();
- }
- else if (job_control)
- {
- old_tstp = set_signal_handler (SIGTSTP, sigstop_sighandler);
- old_ttin = set_signal_handler (SIGTTIN, sigstop_sighandler);
- old_ttou = set_signal_handler (SIGTTOU, sigstop_sighandler);
- }
- /* Leave these things alone for non-interactive shells without job
- control. */
-}
-
-/* Here we handle CONT signals. */
-static sighandler
-sigcont_sighandler (sig)
- int sig;
-{
- initialize_job_signals ();
- set_signal_handler (SIGCONT, old_cont);
- kill (getpid (), SIGCONT);
-
- SIGRETURN (0);
-}
-
-/* Here we handle stop signals while we are running not as a login shell. */
-static sighandler
-sigstop_sighandler (sig)
- int sig;
-{
- set_signal_handler (SIGTSTP, old_tstp);
- set_signal_handler (SIGTTOU, old_ttou);
- set_signal_handler (SIGTTIN, old_ttin);
-
- old_cont = set_signal_handler (SIGCONT, sigcont_sighandler);
-
- give_terminal_to (shell_pgrp, 0);
-
- kill (getpid (), sig);
-
- SIGRETURN (0);
-}
-
-/* Give the terminal to PGRP. */
-int
-give_terminal_to (pgrp, force)
- pid_t pgrp;
- int force;
-{
- sigset_t set, oset;
- int r;
-
- r = 0;
- if (job_control || force)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGTTOU);
- sigaddset (&set, SIGTTIN);
- sigaddset (&set, SIGTSTP);
- sigaddset (&set, SIGCHLD);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- if (tcsetpgrp (shell_tty, pgrp) < 0)
- {
- /* Maybe we should print an error message? */
-#if 0
- sys_error ("tcsetpgrp(%d) failed: pid %ld to pgrp %ld",
- shell_tty, (long)getpid(), (long)pgrp);
-#endif
- r = -1;
- }
- else
- terminal_pgrp = pgrp;
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return r;
-}
-
-/* Clear out any jobs in the job array. This is intended to be used by
- children of the shell, who should not have any job structures as baggage
- when they start executing (forking subshells for parenthesized execution
- and functions with pipes are the two that spring to mind). If RUNNING_ONLY
- is nonzero, only running jobs are removed from the table. */
-void
-delete_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX - need to set j_lastj, j_firstj appropriately if running_only != 0. */
- if (js.j_jobslots)
- {
- js.j_current = js.j_previous = NO_JOB;
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("delete_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- delete_job (i, 1);
- }
- if (running_only == 0)
- {
- free ((char *)jobs);
- js.j_jobslots = 0;
- js.j_firstj = js.j_lastj = js.j_njobs = 0;
- }
- }
-
- if (running_only == 0)
- bgp_clear ();
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all jobs in the job array so that they don't get a SIGHUP when the
- shell gets one. If RUNNING_ONLY is nonzero, mark only running jobs. */
-void
-nohup_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- if (js.j_jobslots)
- {
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- nohup_job (i);
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-int
-count_all_jobs ()
-{
- int i, n;
- sigset_t set, oset;
-
- /* This really counts all non-dead jobs. */
- BLOCK_CHILD (set, oset);
- /* XXX could use js.j_firstj here */
- for (i = n = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("count_all_jobs: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i] && DEADJOB(i) == 0)
- n++;
- }
- UNBLOCK_CHILD (oset);
- return n;
-}
-
-static void
-mark_all_jobs_as_dead ()
-{
- register int i;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- if (jobs[i])
- {
- jobs[i]->state = JDEAD;
- js.j_ndead++;
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all dead jobs as notified, so delete_job () cleans them out
- of the job table properly. POSIX.2 says we need to save the
- status of the last CHILD_MAX jobs, so we count the number of dead
- jobs and mark only enough as notified to save CHILD_MAX statuses. */
-static void
-mark_dead_jobs_as_notified (force)
- int force;
-{
- register int i, ndead, ndeadproc;
- sigset_t set, oset;
-
- if (js.j_jobslots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- /* If FORCE is non-zero, we don't have to keep CHILD_MAX statuses
- around; just run through the array. */
- if (force)
- {
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- jobs[i]->flags |= J_NOTIFIED;
- }
- UNBLOCK_CHILD (oset);
- return;
- }
-
- /* Mark enough dead jobs as notified to keep CHILD_MAX processes left in the
- array with the corresponding not marked as notified. This is a better
- way to avoid pid aliasing and reuse problems than keeping the POSIX-
- mandated CHILD_MAX jobs around. delete_job() takes care of keeping the
- bgpids list regulated. */
-
- /* Count the number of dead jobs */
- /* XXX could use js.j_firstj here */
- for (i = ndead = ndeadproc = 0; i < js.j_jobslots; i++)
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- if (jobs[i] && DEADJOB (i))
- {
- ndead++;
- ndeadproc += processes_in_job (i);
- }
- }
-
-#ifdef DEBUG
- if (ndeadproc != js.c_reaped)
- itrace("mark_dead_jobs_as_notified: ndeadproc (%d) != js.c_reaped (%d)", ndeadproc, js.c_reaped);
- if (ndead != js.j_ndead)
- itrace("mark_dead_jobs_as_notified: ndead (%d) != js.j_ndead (%d)", ndead, js.j_ndead);
-#endif
-
- if (js.c_childmax < 0)
- js.c_childmax = getmaxchild ();
- if (js.c_childmax < 0)
- js.c_childmax = DEFAULT_CHILD_MAX;
-
- /* Don't do anything if the number of dead processes is less than CHILD_MAX
- and we're not forcing a cleanup. */
- if (ndeadproc <= js.c_childmax)
- {
- UNBLOCK_CHILD (oset);
- return;
- }
-
-#if 0
-itrace("mark_dead_jobs_as_notified: child_max = %d ndead = %d ndeadproc = %d", js.c_childmax, ndead, ndeadproc);
-#endif
-
- /* Mark enough dead jobs as notified that we keep CHILD_MAX jobs in
- the list. This isn't exactly right yet; changes need to be made
- to stop_pipeline so we don't mark the newer jobs after we've
- created CHILD_MAX slots in the jobs array. This needs to be
- integrated with a way to keep the jobs array from growing without
- bound. Maybe we wrap back around to 0 after we reach some max
- limit, and there are sufficient job slots free (keep track of total
- size of jobs array (js.j_jobslots) and running count of number of jobs
- in jobs array. Then keep a job index corresponding to the `oldest job'
- and start this loop there, wrapping around as necessary. In effect,
- we turn the list into a circular buffer. */
- /* XXX could use js.j_firstj here */
- for (i = 0; i < js.j_jobslots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- {
-#if defined (DEBUG)
- if (i < js.j_firstj && jobs[i])
- itrace("mark_dead_jobs_as_notified: job %d non-null before js.j_firstj (%d)", i, js.j_firstj);
-#endif
- /* If marking this job as notified would drop us down below
- child_max, don't mark it so we can keep at least child_max
- statuses. XXX -- need to check what Posix actually says
- about keeping statuses. */
- if ((ndeadproc -= processes_in_job (i)) <= js.c_childmax)
- break;
- jobs[i]->flags |= J_NOTIFIED;
- }
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Here to allow other parts of the shell (like the trap stuff) to
- unfreeze the jobs list. */
-void
-unfreeze_jobs_list ()
-{
- jobs_list_frozen = 0;
-}
-
-/* Allow or disallow job control to take place. Returns the old value
- of job_control. */
-int
-set_job_control (arg)
- int arg;
-{
- int old;
-
- old = job_control;
- job_control = arg;
-
- /* If we're turning on job control, reset pipeline_pgrp so make_child will
- put new child processes into the right pgrp */
- if (job_control != old && job_control)
- pipeline_pgrp = 0;
-
- return (old);
-}
-
-/* Turn off all traces of job control. This is run by children of the shell
- which are going to do shellsy things, like wait (), etc. */
-void
-without_job_control ()
-{
- stop_making_children ();
- start_pipeline ();
-#if defined (PGRP_PIPE)
- pipe_close (pgrp_pipe);
-#endif
- delete_all_jobs (0);
- set_job_control (0);
-}
-
-/* If this shell is interactive, terminate all stopped jobs and
- restore the original terminal process group. This is done
- before the `exec' builtin calls shell_execve. */
-void
-end_job_control ()
-{
- if (interactive_shell) /* XXX - should it be interactive? */
- {
- terminate_stopped_jobs ();
-
- if (original_pgrp >= 0)
- give_terminal_to (original_pgrp, 1);
- }
-
- if (original_pgrp >= 0)
- setpgid (0, original_pgrp);
-}
-
-/* Restart job control by closing shell tty and reinitializing. This is
- called after an exec fails in an interactive shell and we do not exit. */
-void
-restart_job_control ()
-{
- if (shell_tty != -1)
- close (shell_tty);
- initialize_job_control (0);
-}
-
-/* Set the handler to run when the shell receives a SIGCHLD signal. */
-void
-set_sigchld_handler ()
-{
- set_signal_handler (SIGCHLD, sigchld_handler);
-}
-
-#if defined (PGRP_PIPE)
-/* Read from the read end of a pipe. This is how the process group leader
- blocks until all of the processes in a pipeline have been made. */
-static void
-pipe_read (pp)
- int *pp;
-{
- char ch;
-
- if (pp[1] >= 0)
- {
- close (pp[1]);
- pp[1] = -1;
- }
-
- if (pp[0] >= 0)
- {
- while (read (pp[0], &ch, 1) == -1 && errno == EINTR)
- ;
- }
-}
-
-/* Close the read and write ends of PP, an array of file descriptors. */
-static void
-pipe_close (pp)
- int *pp;
-{
- if (pp[0] >= 0)
- close (pp[0]);
-
- if (pp[1] >= 0)
- close (pp[1]);
-
- pp[0] = pp[1] = -1;
-}
-
-/* Functional interface closes our local-to-job-control pipes. */
-void
-close_pgrp_pipe ()
-{
- pipe_close (pgrp_pipe);
-}
-
-#endif /* PGRP_PIPE */
+++ /dev/null
-*** display.c.orig Thu May 27 22:57:51 2004
---- display.c Tue Nov 2 23:59:42 2004
-***************
-*** 125,129 ****
---- 125,134 ----
-
- /* Pseudo-global variables declared here. */
-+
- /* The visible cursor position. If you print some text, adjust this. */
-+ /* NOTE: _rl_last_c_pos is used as a buffer index when not in a locale
-+ supporting multibyte characters, and an absolute cursor position when
-+ in such a locale. This is an artifact of the donated multibyte support.
-+ Care must be taken when modifying its value. */
- int _rl_last_c_pos = 0;
- int _rl_last_v_pos = 0;
-***************
-*** 202,206 ****
- {
- char *r, *ret, *p;
-! int l, rl, last, ignoring, ninvis, invfl, ind, pind, physchars;
-
- /* Short-circuit if we can. */
---- 207,211 ----
- {
- char *r, *ret, *p;
-! int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars;
-
- /* Short-circuit if we can. */
-***************
-*** 223,226 ****
---- 228,232 ----
-
- invfl = 0; /* invisible chars in first line of prompt */
-+ invflset = 0; /* we only want to set invfl once */
-
- for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++)
-***************
-*** 250,254 ****
- *r++ = *p++;
- if (!ignoring)
-! rl += ind - pind;
- else
- ninvis += ind - pind;
---- 256,263 ----
- *r++ = *p++;
- if (!ignoring)
-! {
-! rl += ind - pind;
-! physchars += _rl_col_width (pmt, pind, ind);
-! }
- else
- ninvis += ind - pind;
-***************
-*** 260,273 ****
- *r++ = *p;
- if (!ignoring)
-! rl++; /* visible length byte counter */
- else
- ninvis++; /* invisible chars byte counter */
- }
-
-! if (rl >= _rl_screenwidth)
-! invfl = ninvis;
-!
-! if (ignoring == 0)
-! physchars++;
- }
- }
---- 269,285 ----
- *r++ = *p;
- if (!ignoring)
-! {
-! rl++; /* visible length byte counter */
-! physchars++;
-! }
- else
- ninvis++; /* invisible chars byte counter */
- }
-
-! if (invflset == 0 && rl >= _rl_screenwidth)
-! {
-! invfl = ninvis;
-! invflset = 1;
-! }
- }
- }
-***************
-*** 352,356 ****
- &prompt_last_invisible,
- (int *)NULL,
-! (int *)NULL);
- c = *t; *t = '\0';
- /* The portion of the prompt string up to and including the
---- 364,368 ----
- &prompt_last_invisible,
- (int *)NULL,
-! &prompt_physical_chars);
- c = *t; *t = '\0';
- /* The portion of the prompt string up to and including the
-***************
-*** 359,363 ****
- (int *)NULL,
- &prompt_invis_chars_first_line,
-! &prompt_physical_chars);
- *t = c;
- return (prompt_prefix_length);
---- 371,375 ----
- (int *)NULL,
- &prompt_invis_chars_first_line,
-! (int *)NULL);
- *t = c;
- return (prompt_prefix_length);
-***************
-*** 418,422 ****
- register char *line;
- int c_pos, inv_botlin, lb_botlin, lb_linenum;
-! int newlines, lpos, temp, modmark;
- char *prompt_this_line;
- #if defined (HANDLE_MULTIBYTE)
---- 430,434 ----
- register char *line;
- int c_pos, inv_botlin, lb_botlin, lb_linenum;
-! int newlines, lpos, temp, modmark, n0, num;
- char *prompt_this_line;
- #if defined (HANDLE_MULTIBYTE)
-***************
-*** 574,577 ****
---- 586,590 ----
- #if defined (HANDLE_MULTIBYTE)
- memset (_rl_wrapped_line, 0, vis_lbsize);
-+ num = 0;
- #endif
-
-***************
-*** 592,596 ****
---- 605,624 ----
- prompts that exceed two physical lines?
- Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
-+ #if defined (HANDLE_MULTIBYTE)
-+ n0 = num;
-+ temp = local_prompt ? strlen (local_prompt) : 0;
-+ while (num < temp)
-+ {
-+ if (_rl_col_width (local_prompt, n0, num) > _rl_screenwidth)
-+ {
-+ num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
-+ break;
-+ }
-+ num++;
-+ }
-+ temp = num +
-+ #else
- temp = ((newlines + 1) * _rl_screenwidth) +
-+ #endif /* !HANDLE_MULTIBYTE */
- ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
- : ((newlines == 1) ? wrap_offset : 0))
-***************
-*** 598,602 ****
---- 626,634 ----
-
- inv_lbreaks[++newlines] = temp;
-+ #if defined (HANDLE_MULTIBYTE)
-+ lpos -= _rl_col_width (local_prompt, n0, num);
-+ #else
- lpos -= _rl_screenwidth;
-+ #endif
- }
-
-***************
-*** 807,811 ****
- if (_rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
- {
-! int nleft, pos, changed_screen_line;
-
- if (!rl_display_fixed || forced_display)
---- 839,843 ----
- if (_rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
- {
-! int nleft, pos, changed_screen_line, tx;
-
- if (!rl_display_fixed || forced_display)
-***************
-*** 852,855 ****
---- 884,892 ----
- (_rl_last_c_pos < visible_first_line_len))
- {
-+ #if defined (HANDLE_MULTIBYTE)
-+ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-+ nleft = _rl_screenwidth - _rl_last_c_pos;
-+ else
-+ #endif
- nleft = _rl_screenwidth + wrap_offset - _rl_last_c_pos;
- if (nleft)
-***************
-*** 888,892 ****
- but the buffer position needs to be adjusted to account
- for invisible characters. */
-! if (cursor_linenum == 0 && wrap_offset)
- _rl_last_c_pos += wrap_offset;
- }
---- 925,929 ----
- but the buffer position needs to be adjusted to account
- for invisible characters. */
-! if ((MB_CUR_MAX == 1 || rl_byte_oriented) && cursor_linenum == 0 && wrap_offset)
- _rl_last_c_pos += wrap_offset;
- }
-***************
-*** 926,934 ****
- if (wrap_offset && cursor_linenum == 0 && nleft < _rl_last_c_pos)
- {
-- _rl_backspace (_rl_last_c_pos - nleft);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! _rl_last_c_pos = _rl_col_width (&visible_line[pos], 0, nleft);
- else
-! _rl_last_c_pos = nleft;
- }
-
---- 963,972 ----
- if (wrap_offset && cursor_linenum == 0 && nleft < _rl_last_c_pos)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! tx = _rl_col_width (&visible_line[pos], 0, nleft);
- else
-! tx = nleft;
-! _rl_backspace (_rl_last_c_pos - tx); /* XXX */
-! _rl_last_c_pos = tx;
- }
-
-***************
-*** 1091,1095 ****
- emulators. In this calculation, TEMP is the physical screen
- position of the cursor. */
-! temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);
- if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode
- && _rl_last_v_pos == current_line - 1)
---- 1129,1136 ----
- emulators. In this calculation, TEMP is the physical screen
- position of the cursor. */
-! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! temp = _rl_last_c_pos;
-! else
-! temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);
- if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode
- && _rl_last_v_pos == current_line - 1)
-***************
-*** 1297,1301 ****
- {
- _rl_move_vert (current_line);
-! if (current_line == 0 && visible_wrap_offset)
- _rl_last_c_pos += visible_wrap_offset;
- }
---- 1338,1342 ----
- {
- _rl_move_vert (current_line);
-! if ((MB_CUR_MAX == 1 || rl_byte_oriented) && current_line == 0 && visible_wrap_offset)
- _rl_last_c_pos += visible_wrap_offset;
- }
-***************
-*** 1388,1392 ****
- _rl_last_c_pos += col_lendiff;
- }
-! else if (*ols == 0 && lendiff > 0)
- {
- /* At the end of a line the characters do not have to
---- 1429,1433 ----
- _rl_last_c_pos += col_lendiff;
- }
-! else if ((MB_CUR_MAX == 1 || rl_byte_oriented != 0) && *ols == 0 && lendiff > 0)
- {
- /* At the end of a line the characters do not have to
+++ /dev/null
-/* display.c -- readline redisplay facility. */
-
-/* Copyright (C) 1987-2004 Free Software Foundation, Inc.
-
- This file is part of the GNU Readline Library, a library for
- reading lines of text with interactive input and history editing.
-
- The GNU Readline Library is free software; you can redistribute it
- and/or modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2, or
- (at your option) any later version.
-
- The GNU Readline Library is distributed in the hope that it will be
- useful, but WITHOUT ANY WARRANTY; without even the implied warranty
- of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- The GNU General Public License is often shipped with GNU software, and
- is generally kept in a file called COPYING or LICENSE. If you do not
- have a copy of the license, write to the Free Software Foundation,
- 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-#define READLINE_LIBRARY
-
-#if defined (HAVE_CONFIG_H)
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif /* HAVE_UNISTD_H */
-
-#include "posixstat.h"
-
-#if defined (HAVE_STDLIB_H)
-# include <stdlib.h>
-#else
-# include "ansi_stdlib.h"
-#endif /* HAVE_STDLIB_H */
-
-#include <stdio.h>
-
-/* System-specific feature definitions and include files. */
-#include "rldefs.h"
-#include "rlmbutil.h"
-
-/* Termcap library stuff. */
-#include "tcap.h"
-
-/* Some standard library routines. */
-#include "readline.h"
-#include "history.h"
-
-#include "rlprivate.h"
-#include "xmalloc.h"
-
-#if !defined (strchr) && !defined (__STDC__)
-extern char *strchr (), *strrchr ();
-#endif /* !strchr && !__STDC__ */
-
-#if defined (HACK_TERMCAP_MOTION)
-extern char *_rl_term_forward_char;
-#endif
-
-static void update_line PARAMS((char *, char *, int, int, int, int));
-static void space_to_eol PARAMS((int));
-static void delete_chars PARAMS((int));
-static void insert_some_chars PARAMS((char *, int, int));
-static void cr PARAMS((void));
-
-#if defined (HANDLE_MULTIBYTE)
-static int _rl_col_width PARAMS((const char *, int, int));
-static int *_rl_wrapped_line;
-#else
-# define _rl_col_width(l, s, e) (((e) <= (s)) ? 0 : (e) - (s))
-#endif
-
-static int *inv_lbreaks, *vis_lbreaks;
-static int inv_lbsize, vis_lbsize;
-
-/* Heuristic used to decide whether it is faster to move from CUR to NEW
- by backing up or outputting a carriage return and moving forward. */
-#define CR_FASTER(new, cur) (((new) + 1) < ((cur) - (new)))
-
-/* **************************************************************** */
-/* */
-/* Display stuff */
-/* */
-/* **************************************************************** */
-
-/* This is the stuff that is hard for me. I never seem to write good
- display routines in C. Let's see how I do this time. */
-
-/* (PWP) Well... Good for a simple line updater, but totally ignores
- the problems of input lines longer than the screen width.
-
- update_line and the code that calls it makes a multiple line,
- automatically wrapping line update. Careful attention needs
- to be paid to the vertical position variables. */
-
-/* Keep two buffers; one which reflects the current contents of the
- screen, and the other to draw what we think the new contents should
- be. Then compare the buffers, and make whatever changes to the
- screen itself that we should. Finally, make the buffer that we
- just drew into be the one which reflects the current contents of the
- screen, and place the cursor where it belongs.
-
- Commands that want to can fix the display themselves, and then let
- this function know that the display has been fixed by setting the
- RL_DISPLAY_FIXED variable. This is good for efficiency. */
-
-/* Application-specific redisplay function. */
-rl_voidfunc_t *rl_redisplay_function = rl_redisplay;
-
-/* Global variables declared here. */
-/* What YOU turn on when you have handled all redisplay yourself. */
-int rl_display_fixed = 0;
-
-int _rl_suppress_redisplay = 0;
-
-/* The stuff that gets printed out before the actual text of the line.
- This is usually pointing to rl_prompt. */
-char *rl_display_prompt = (char *)NULL;
-
-/* Pseudo-global variables declared here. */
-/* The visible cursor position. If you print some text, adjust this. */
-int _rl_last_c_pos = 0;
-int _rl_last_v_pos = 0;
-
-/* Number of lines currently on screen minus 1. */
-int _rl_vis_botlin = 0;
-
-/* Variables used only in this file. */
-/* The last left edge of text that was displayed. This is used when
- doing horizontal scrolling. It shifts in thirds of a screenwidth. */
-static int last_lmargin;
-
-/* The line display buffers. One is the line currently displayed on
- the screen. The other is the line about to be displayed. */
-static char *visible_line = (char *)NULL;
-static char *invisible_line = (char *)NULL;
-
-/* A buffer for `modeline' messages. */
-static char msg_buf[128];
-
-/* Non-zero forces the redisplay even if we thought it was unnecessary. */
-static int forced_display;
-
-/* Default and initial buffer size. Can grow. */
-static int line_size = 1024;
-
-/* Variables to keep track of the expanded prompt string, which may
- include invisible characters. */
-
-static char *local_prompt, *local_prompt_prefix;
-static int prompt_visible_length, prompt_prefix_length;
-
-/* The number of invisible characters in the line currently being
- displayed on the screen. */
-static int visible_wrap_offset;
-
-/* The number of invisible characters in the prompt string. Static so it
- can be shared between rl_redisplay and update_line */
-static int wrap_offset;
-
-/* The index of the last invisible character in the prompt string. */
-static int prompt_last_invisible;
-
-/* The length (buffer offset) of the first line of the last (possibly
- multi-line) buffer displayed on the screen. */
-static int visible_first_line_len;
-
-/* Number of invisible characters on the first physical line of the prompt.
- Only valid when the number of physical characters in the prompt exceeds
- (or is equal to) _rl_screenwidth. */
-static int prompt_invis_chars_first_line;
-
-static int prompt_last_screen_line;
-
-static int prompt_physical_chars;
-
-/* Expand the prompt string S and return the number of visible
- characters in *LP, if LP is not null. This is currently more-or-less
- a placeholder for expansion. LIP, if non-null is a place to store the
- index of the last invisible character in the returned string. NIFLP,
- if non-zero, is a place to store the number of invisible characters in
- the first prompt line. The previous are used as byte counts -- indexes
- into a character buffer. */
-
-/* Current implementation:
- \001 (^A) start non-visible characters
- \002 (^B) end non-visible characters
- all characters except \001 and \002 (following a \001) are copied to
- the returned string; all characters except those between \001 and
- \002 are assumed to be `visible'. */
-
-static char *
-expand_prompt (pmt, lp, lip, niflp, vlp)
- char *pmt;
- int *lp, *lip, *niflp, *vlp;
-{
- char *r, *ret, *p;
- int l, rl, last, ignoring, ninvis, invfl, invflset, ind, pind, physchars;
-
- /* Short-circuit if we can. */
- if ((MB_CUR_MAX <= 1 || rl_byte_oriented) && strchr (pmt, RL_PROMPT_START_IGNORE) == 0)
- {
- r = savestring (pmt);
- if (lp)
- *lp = strlen (r);
- if (lip)
- *lip = 0;
- if (niflp)
- *niflp = 0;
- if (vlp)
- *vlp = lp ? *lp : strlen (r);
- return r;
- }
-
- l = strlen (pmt);
- r = ret = (char *)xmalloc (l + 1);
-
- invfl = 0; /* invisible chars in first line of prompt */
- invflset = 0; /* we only want to set invfl once */
-
- for (rl = ignoring = last = ninvis = physchars = 0, p = pmt; p && *p; p++)
- {
- /* This code strips the invisible character string markers
- RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE */
- if (*p == RL_PROMPT_START_IGNORE)
- {
- ignoring++;
- continue;
- }
- else if (ignoring && *p == RL_PROMPT_END_IGNORE)
- {
- ignoring = 0;
- last = r - ret - 1;
- continue;
- }
- else
- {
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- pind = p - pmt;
- ind = _rl_find_next_mbchar (pmt, pind, 1, MB_FIND_NONZERO);
- l = ind - pind;
- while (l--)
- *r++ = *p++;
- if (!ignoring)
- {
- rl += ind - pind;
- physchars += _rl_col_width (pmt, pind, ind);
- }
- else
- ninvis += ind - pind;
- p--; /* compensate for later increment */
- }
- else
-#endif
- {
- *r++ = *p;
- if (!ignoring)
- {
- rl++; /* visible length byte counter */
- physchars++;
- }
- else
- ninvis++; /* invisible chars byte counter */
- }
-
- if (invflset == 0 && rl >= _rl_screenwidth)
- {
- invfl = ninvis;
- invflset = 1;
- }
- }
- }
-
- if (rl < _rl_screenwidth)
- invfl = ninvis;
-
- *r = '\0';
- if (lp)
- *lp = rl;
- if (lip)
- *lip = last;
- if (niflp)
- *niflp = invfl;
- if (vlp)
- *vlp = physchars;
- return ret;
-}
-
-/* Just strip out RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE from
- PMT and return the rest of PMT. */
-char *
-_rl_strip_prompt (pmt)
- char *pmt;
-{
- char *ret;
-
- ret = expand_prompt (pmt, (int *)NULL, (int *)NULL, (int *)NULL, (int *)NULL);
- return ret;
-}
-
-/*
- * Expand the prompt string into the various display components, if
- * necessary.
- *
- * local_prompt = expanded last line of string in rl_display_prompt
- * (portion after the final newline)
- * local_prompt_prefix = portion before last newline of rl_display_prompt,
- * expanded via expand_prompt
- * prompt_visible_length = number of visible characters in local_prompt
- * prompt_prefix_length = number of visible characters in local_prompt_prefix
- *
- * This function is called once per call to readline(). It may also be
- * called arbitrarily to expand the primary prompt.
- *
- * The return value is the number of visible characters on the last line
- * of the (possibly multi-line) prompt.
- */
-int
-rl_expand_prompt (prompt)
- char *prompt;
-{
- char *p, *t;
- int c;
-
- /* Clear out any saved values. */
- FREE (local_prompt);
- FREE (local_prompt_prefix);
-
- local_prompt = local_prompt_prefix = (char *)0;
- prompt_last_invisible = prompt_visible_length = 0;
-
- if (prompt == 0 || *prompt == 0)
- return (0);
-
- p = strrchr (prompt, '\n');
- if (!p)
- {
- /* The prompt is only one logical line, though it might wrap. */
- local_prompt = expand_prompt (prompt, &prompt_visible_length,
- &prompt_last_invisible,
- &prompt_invis_chars_first_line,
- &prompt_physical_chars);
- local_prompt_prefix = (char *)0;
- return (prompt_visible_length);
- }
- else
- {
- /* The prompt spans multiple lines. */
- t = ++p;
- local_prompt = expand_prompt (p, &prompt_visible_length,
- &prompt_last_invisible,
- (int *)NULL,
- &prompt_physical_chars);
- c = *t; *t = '\0';
- /* The portion of the prompt string up to and including the
- final newline is now null-terminated. */
- local_prompt_prefix = expand_prompt (prompt, &prompt_prefix_length,
- (int *)NULL,
- &prompt_invis_chars_first_line,
- (int *)NULL);
- *t = c;
- return (prompt_prefix_length);
- }
-}
-
-/* Initialize the VISIBLE_LINE and INVISIBLE_LINE arrays, and their associated
- arrays of line break markers. MINSIZE is the minimum size of VISIBLE_LINE
- and INVISIBLE_LINE; if it is greater than LINE_SIZE, LINE_SIZE is
- increased. If the lines have already been allocated, this ensures that
- they can hold at least MINSIZE characters. */
-static void
-init_line_structures (minsize)
- int minsize;
-{
- register int n;
-
- if (invisible_line == 0) /* initialize it */
- {
- if (line_size < minsize)
- line_size = minsize;
- visible_line = (char *)xmalloc (line_size);
- invisible_line = (char *)xmalloc (line_size);
- }
- else if (line_size < minsize) /* ensure it can hold MINSIZE chars */
- {
- line_size *= 2;
- if (line_size < minsize)
- line_size = minsize;
- visible_line = (char *)xrealloc (visible_line, line_size);
- invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
-
- for (n = minsize; n < line_size; n++)
- {
- visible_line[n] = 0;
- invisible_line[n] = 1;
- }
-
- if (vis_lbreaks == 0)
- {
- /* should be enough. */
- inv_lbsize = vis_lbsize = 256;
- inv_lbreaks = (int *)xmalloc (inv_lbsize * sizeof (int));
- vis_lbreaks = (int *)xmalloc (vis_lbsize * sizeof (int));
-#if defined (HANDLE_MULTIBYTE)
- _rl_wrapped_line = (int *)xmalloc (vis_lbsize * sizeof (int));
-#endif
- inv_lbreaks[0] = vis_lbreaks[0] = 0;
- }
-}
-
-/* Basic redisplay algorithm. */
-void
-rl_redisplay ()
-{
- register int in, out, c, linenum, cursor_linenum;
- register char *line;
- int c_pos, inv_botlin, lb_botlin, lb_linenum;
- int newlines, lpos, temp, modmark, n0, num;
- char *prompt_this_line;
-#if defined (HANDLE_MULTIBYTE)
- wchar_t wc;
- size_t wc_bytes;
- int wc_width;
- mbstate_t ps;
- int _rl_wrapped_multicolumn = 0;
-#endif
-
- if (!readline_echoing_p)
- return;
-
- if (!rl_display_prompt)
- rl_display_prompt = "";
-
- if (invisible_line == 0)
- {
- init_line_structures (0);
- rl_on_new_line ();
- }
-
- /* Draw the line into the buffer. */
- c_pos = -1;
-
- line = invisible_line;
- out = inv_botlin = 0;
-
- /* Mark the line as modified or not. We only do this for history
- lines. */
- modmark = 0;
- if (_rl_mark_modified_lines && current_history () && rl_undo_list)
- {
- line[out++] = '*';
- line[out] = '\0';
- modmark = 1;
- }
-
- /* If someone thought that the redisplay was handled, but the currently
- visible line has a different modification state than the one about
- to become visible, then correct the caller's misconception. */
- if (visible_line[0] != invisible_line[0])
- rl_display_fixed = 0;
-
- /* If the prompt to be displayed is the `primary' readline prompt (the
- one passed to readline()), use the values we have already expanded.
- If not, use what's already in rl_display_prompt. WRAP_OFFSET is the
- number of non-visible characters in the prompt string. */
- if (rl_display_prompt == rl_prompt || local_prompt)
- {
- int local_len = local_prompt ? strlen (local_prompt) : 0;
- if (local_prompt_prefix && forced_display)
- _rl_output_some_chars (local_prompt_prefix, strlen (local_prompt_prefix));
-
- if (local_len > 0)
- {
- temp = local_len + out + 2;
- if (temp >= line_size)
- {
- line_size = (temp + 1024) - (temp % 1024);
- visible_line = (char *)xrealloc (visible_line, line_size);
- line = invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
- strncpy (line + out, local_prompt, local_len);
- out += local_len;
- }
- line[out] = '\0';
- wrap_offset = local_len - prompt_visible_length;
- }
- else
- {
- int pmtlen;
- prompt_this_line = strrchr (rl_display_prompt, '\n');
- if (!prompt_this_line)
- prompt_this_line = rl_display_prompt;
- else
- {
- prompt_this_line++;
- pmtlen = prompt_this_line - rl_display_prompt; /* temp var */
- if (forced_display)
- {
- _rl_output_some_chars (rl_display_prompt, pmtlen);
- /* Make sure we are at column zero even after a newline,
- regardless of the state of terminal output processing. */
- if (pmtlen < 2 || prompt_this_line[-2] != '\r')
- cr ();
- }
- }
-
- prompt_physical_chars = pmtlen = strlen (prompt_this_line);
- temp = pmtlen + out + 2;
- if (temp >= line_size)
- {
- line_size = (temp + 1024) - (temp % 1024);
- visible_line = (char *)xrealloc (visible_line, line_size);
- line = invisible_line = (char *)xrealloc (invisible_line, line_size);
- }
- strncpy (line + out, prompt_this_line, pmtlen);
- out += pmtlen;
- line[out] = '\0';
- wrap_offset = prompt_invis_chars_first_line = 0;
- }
-
-#define CHECK_INV_LBREAKS() \
- do { \
- if (newlines >= (inv_lbsize - 2)) \
- { \
- inv_lbsize *= 2; \
- inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
- } \
- } while (0)
-
-#if defined (HANDLE_MULTIBYTE)
-#define CHECK_LPOS() \
- do { \
- lpos++; \
- if (lpos >= _rl_screenwidth) \
- { \
- if (newlines >= (inv_lbsize - 2)) \
- { \
- inv_lbsize *= 2; \
- inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
- _rl_wrapped_line = (int *)xrealloc (_rl_wrapped_line, inv_lbsize * sizeof (int)); \
- } \
- inv_lbreaks[++newlines] = out; \
- _rl_wrapped_line[newlines] = _rl_wrapped_multicolumn; \
- lpos = 0; \
- } \
- } while (0)
-#else
-#define CHECK_LPOS() \
- do { \
- lpos++; \
- if (lpos >= _rl_screenwidth) \
- { \
- if (newlines >= (inv_lbsize - 2)) \
- { \
- inv_lbsize *= 2; \
- inv_lbreaks = (int *)xrealloc (inv_lbreaks, inv_lbsize * sizeof (int)); \
- } \
- inv_lbreaks[++newlines] = out; \
- lpos = 0; \
- } \
- } while (0)
-#endif
-
- /* inv_lbreaks[i] is where line i starts in the buffer. */
- inv_lbreaks[newlines = 0] = 0;
-#if 0
- lpos = out - wrap_offset;
-#else
- lpos = prompt_physical_chars + modmark;
-#endif
-
-#if defined (HANDLE_MULTIBYTE)
- memset (_rl_wrapped_line, 0, vis_lbsize);
- num = 0;
-#endif
-
- /* prompt_invis_chars_first_line is the number of invisible characters in
- the first physical line of the prompt.
- wrap_offset - prompt_invis_chars_first_line is the number of invis
- chars on the second line. */
-
- /* what if lpos is already >= _rl_screenwidth before we start drawing the
- contents of the command line? */
- while (lpos >= _rl_screenwidth)
- {
- /* fix from Darin Johnson <darin@acuson.com> for prompt string with
- invisible characters that is longer than the screen width. The
- prompt_invis_chars_first_line variable could be made into an array
- saying how many invisible characters there are per line, but that's
- probably too much work for the benefit gained. How many people have
- prompts that exceed two physical lines?
- Additional logic fix from Edward Catmur <ed@catmur.co.uk> */
-#if defined (HANDLE_MULTIBYTE)
- n0 = num;
- temp = local_prompt ? strlen (local_prompt) : 0;
- while (num < temp)
- {
- if (_rl_col_width (local_prompt, n0, num) > _rl_screenwidth)
- {
- num = _rl_find_prev_mbchar (local_prompt, num, MB_FIND_ANY);
- break;
- }
- num++;
- }
- temp = num +
-#else
- temp = ((newlines + 1) * _rl_screenwidth) +
-#endif /* !HANDLE_MULTIBYTE */
- ((local_prompt_prefix == 0) ? ((newlines == 0) ? prompt_invis_chars_first_line
- : ((newlines == 1) ? wrap_offset : 0))
- : ((newlines == 0) ? wrap_offset :0));
-
- inv_lbreaks[++newlines] = temp;
-#if defined (HANDLE_MULTIBYTE)
- lpos -= _rl_col_width (local_prompt, n0, num);
-#else
- lpos -= _rl_screenwidth;
-#endif
- }
-
- prompt_last_screen_line = newlines;
-
- /* Draw the rest of the line (after the prompt) into invisible_line, keeping
- track of where the cursor is (c_pos), the number of the line containing
- the cursor (lb_linenum), the last line number (lb_botlin and inv_botlin).
- It maintains an array of line breaks for display (inv_lbreaks).
- This handles expanding tabs for display and displaying meta characters. */
- lb_linenum = 0;
-#if defined (HANDLE_MULTIBYTE)
- in = 0;
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- memset (&ps, 0, sizeof (mbstate_t));
- wc_bytes = mbrtowc (&wc, rl_line_buffer, rl_end, &ps);
- }
- else
- wc_bytes = 1;
- while (in < rl_end)
-#else
- for (in = 0; in < rl_end; in++)
-#endif
- {
- c = (unsigned char)rl_line_buffer[in];
-
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- if (MB_INVALIDCH (wc_bytes))
- {
- /* Byte sequence is invalid or shortened. Assume that the
- first byte represents a character. */
- wc_bytes = 1;
- /* Assume that a character occupies a single column. */
- wc_width = 1;
- memset (&ps, 0, sizeof (mbstate_t));
- }
- else if (MB_NULLWCH (wc_bytes))
- break; /* Found '\0' */
- else
- {
- temp = wcwidth (wc);
- wc_width = (temp >= 0) ? temp : 1;
- }
- }
-#endif
-
- if (out + 8 >= line_size) /* XXX - 8 for \t */
- {
- line_size *= 2;
- visible_line = (char *)xrealloc (visible_line, line_size);
- invisible_line = (char *)xrealloc (invisible_line, line_size);
- line = invisible_line;
- }
-
- if (in == rl_point)
- {
- c_pos = out;
- lb_linenum = newlines;
- }
-
-#if defined (HANDLE_MULTIBYTE)
- if (META_CHAR (c) && _rl_output_meta_chars == 0) /* XXX - clean up */
-#else
- if (META_CHAR (c))
-#endif
- {
- if (_rl_output_meta_chars == 0)
- {
- sprintf (line + out, "\\%o", c);
-
- if (lpos + 4 >= _rl_screenwidth)
- {
- temp = _rl_screenwidth - lpos;
- CHECK_INV_LBREAKS ();
- inv_lbreaks[++newlines] = out + temp;
- lpos = 4 - temp;
- }
- else
- lpos += 4;
-
- out += 4;
- }
- else
- {
- line[out++] = c;
- CHECK_LPOS();
- }
- }
-#if defined (DISPLAY_TABS)
- else if (c == '\t')
- {
- register int newout;
-
-#if 0
- newout = (out | (int)7) + 1;
-#else
- newout = out + 8 - lpos % 8;
-#endif
- temp = newout - out;
- if (lpos + temp >= _rl_screenwidth)
- {
- register int temp2;
- temp2 = _rl_screenwidth - lpos;
- CHECK_INV_LBREAKS ();
- inv_lbreaks[++newlines] = out + temp2;
- lpos = temp - temp2;
- while (out < newout)
- line[out++] = ' ';
- }
- else
- {
- while (out < newout)
- line[out++] = ' ';
- lpos += temp;
- }
- }
-#endif
- else if (c == '\n' && _rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
- {
- line[out++] = '\0'; /* XXX - sentinel */
- CHECK_INV_LBREAKS ();
- inv_lbreaks[++newlines] = out;
- lpos = 0;
- }
- else if (CTRL_CHAR (c) || c == RUBOUT)
- {
- line[out++] = '^';
- CHECK_LPOS();
- line[out++] = CTRL_CHAR (c) ? UNCTRL (c) : '?';
- CHECK_LPOS();
- }
- else
- {
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- register int i;
-
- _rl_wrapped_multicolumn = 0;
-
- if (_rl_screenwidth < lpos + wc_width)
- for (i = lpos; i < _rl_screenwidth; i++)
- {
- /* The space will be removed in update_line() */
- line[out++] = ' ';
- _rl_wrapped_multicolumn++;
- CHECK_LPOS();
- }
- if (in == rl_point)
- {
- c_pos = out;
- lb_linenum = newlines;
- }
- for (i = in; i < in+wc_bytes; i++)
- line[out++] = rl_line_buffer[i];
- for (i = 0; i < wc_width; i++)
- CHECK_LPOS();
- }
- else
- {
- line[out++] = c;
- CHECK_LPOS();
- }
-#else
- line[out++] = c;
- CHECK_LPOS();
-#endif
- }
-
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- in += wc_bytes;
- wc_bytes = mbrtowc (&wc, rl_line_buffer + in, rl_end - in, &ps);
- }
- else
- in++;
-#endif
-
- }
- line[out] = '\0';
- if (c_pos < 0)
- {
- c_pos = out;
- lb_linenum = newlines;
- }
-
- inv_botlin = lb_botlin = newlines;
- CHECK_INV_LBREAKS ();
- inv_lbreaks[newlines+1] = out;
- cursor_linenum = lb_linenum;
-
- /* C_POS == position in buffer where cursor should be placed.
- CURSOR_LINENUM == line number where the cursor should be placed. */
-
- /* PWP: now is when things get a bit hairy. The visible and invisible
- line buffers are really multiple lines, which would wrap every
- (screenwidth - 1) characters. Go through each in turn, finding
- the changed region and updating it. The line order is top to bottom. */
-
- /* If we can move the cursor up and down, then use multiple lines,
- otherwise, let long lines display in a single terminal line, and
- horizontally scroll it. */
-
- if (_rl_horizontal_scroll_mode == 0 && _rl_term_up && *_rl_term_up)
- {
- int nleft, pos, changed_screen_line;
-
- if (!rl_display_fixed || forced_display)
- {
- forced_display = 0;
-
- /* If we have more than a screenful of material to display, then
- only display a screenful. We should display the last screen,
- not the first. */
- if (out >= _rl_screenchars)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- out = _rl_find_prev_mbchar (line, _rl_screenchars, MB_FIND_ANY);
- else
- out = _rl_screenchars - 1;
- }
-
- /* The first line is at character position 0 in the buffer. The
- second and subsequent lines start at inv_lbreaks[N], offset by
- OFFSET (which has already been calculated above). */
-
-#define W_OFFSET(line, offset) ((line) == 0 ? offset : 0)
-#define VIS_LLEN(l) ((l) > _rl_vis_botlin ? 0 : (vis_lbreaks[l+1] - vis_lbreaks[l]))
-#define INV_LLEN(l) (inv_lbreaks[l+1] - inv_lbreaks[l])
-#define VIS_CHARS(line) (visible_line + vis_lbreaks[line])
-#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? "" : VIS_CHARS(line)
-#define INV_LINE(line) (invisible_line + inv_lbreaks[line])
-
- /* For each line in the buffer, do the updating display. */
- for (linenum = 0; linenum <= inv_botlin; linenum++)
- {
- update_line (VIS_LINE(linenum), INV_LINE(linenum), linenum,
- VIS_LLEN(linenum), INV_LLEN(linenum), inv_botlin);
-
- /* If this is the line with the prompt, we might need to
- compensate for invisible characters in the new line. Do
- this only if there is not more than one new line (which
- implies that we completely overwrite the old visible line)
- and the new line is shorter than the old. Make sure we are
- at the end of the new line before clearing. */
- if (linenum == 0 &&
- inv_botlin == 0 && _rl_last_c_pos == out &&
- (wrap_offset > visible_wrap_offset) &&
- (_rl_last_c_pos < visible_first_line_len))
- {
- nleft = _rl_screenwidth + wrap_offset - _rl_last_c_pos;
- if (nleft)
- _rl_clear_to_eol (nleft);
- }
-
- /* Since the new first line is now visible, save its length. */
- if (linenum == 0)
- visible_first_line_len = (inv_botlin > 0) ? inv_lbreaks[1] : out - wrap_offset;
- }
-
- /* We may have deleted some lines. If so, clear the left over
- blank ones at the bottom out. */
- if (_rl_vis_botlin > inv_botlin)
- {
- char *tt;
- for (; linenum <= _rl_vis_botlin; linenum++)
- {
- tt = VIS_CHARS (linenum);
- _rl_move_vert (linenum);
- _rl_move_cursor_relative (0, tt);
- _rl_clear_to_eol
- ((linenum == _rl_vis_botlin) ? strlen (tt) : _rl_screenwidth);
- }
- }
- _rl_vis_botlin = inv_botlin;
-
- /* CHANGED_SCREEN_LINE is set to 1 if we have moved to a
- different screen line during this redisplay. */
- changed_screen_line = _rl_last_v_pos != cursor_linenum;
- if (changed_screen_line)
- {
- _rl_move_vert (cursor_linenum);
- /* If we moved up to the line with the prompt using _rl_term_up,
- the physical cursor position on the screen stays the same,
- but the buffer position needs to be adjusted to account
- for invisible characters. */
- if (cursor_linenum == 0 && wrap_offset)
- _rl_last_c_pos += wrap_offset;
- }
-
- /* We have to reprint the prompt if it contains invisible
- characters, since it's not generally OK to just reprint
- the characters from the current cursor position. But we
- only need to reprint it if the cursor is before the last
- invisible character in the prompt string. */
- nleft = prompt_visible_length + wrap_offset;
- if (cursor_linenum == 0 && wrap_offset > 0 && _rl_last_c_pos > 0 &&
- _rl_last_c_pos <= prompt_last_invisible && local_prompt)
- {
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- if (_rl_term_cr)
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif
- _rl_output_some_chars (local_prompt, nleft);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (local_prompt, 0, nleft);
- else
- _rl_last_c_pos = nleft;
- }
-
- /* Where on that line? And where does that line start
- in the buffer? */
- pos = inv_lbreaks[cursor_linenum];
- /* nleft == number of characters in the line buffer between the
- start of the line and the cursor position. */
- nleft = c_pos - pos;
-
- /* Since _rl_backspace() doesn't know about invisible characters in the
- prompt, and there's no good way to tell it, we compensate for
- those characters here and call _rl_backspace() directly. */
- if (wrap_offset && cursor_linenum == 0 && nleft < _rl_last_c_pos)
- {
- _rl_backspace (_rl_last_c_pos - nleft);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (&visible_line[pos], 0, nleft);
- else
- _rl_last_c_pos = nleft;
- }
-
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_move_cursor_relative (nleft, &invisible_line[pos]);
- else if (nleft != _rl_last_c_pos)
- _rl_move_cursor_relative (nleft, &invisible_line[pos]);
- }
- }
- else /* Do horizontal scrolling. */
- {
-#define M_OFFSET(margin, offset) ((margin) == 0 ? offset : 0)
- int lmargin, ndisp, nleft, phys_c_pos, t;
-
- /* Always at top line. */
- _rl_last_v_pos = 0;
-
- /* Compute where in the buffer the displayed line should start. This
- will be LMARGIN. */
-
- /* The number of characters that will be displayed before the cursor. */
- ndisp = c_pos - wrap_offset;
- nleft = prompt_visible_length + wrap_offset;
- /* Where the new cursor position will be on the screen. This can be
- longer than SCREENWIDTH; if it is, lmargin will be adjusted. */
- phys_c_pos = c_pos - (last_lmargin ? last_lmargin : wrap_offset);
- t = _rl_screenwidth / 3;
-
- /* If the number of characters had already exceeded the screenwidth,
- last_lmargin will be > 0. */
-
- /* If the number of characters to be displayed is more than the screen
- width, compute the starting offset so that the cursor is about
- two-thirds of the way across the screen. */
- if (phys_c_pos > _rl_screenwidth - 2)
- {
- lmargin = c_pos - (2 * t);
- if (lmargin < 0)
- lmargin = 0;
- /* If the left margin would be in the middle of a prompt with
- invisible characters, don't display the prompt at all. */
- if (wrap_offset && lmargin > 0 && lmargin < nleft)
- lmargin = nleft;
- }
- else if (ndisp < _rl_screenwidth - 2) /* XXX - was -1 */
- lmargin = 0;
- else if (phys_c_pos < 1)
- {
- /* If we are moving back towards the beginning of the line and
- the last margin is no longer correct, compute a new one. */
- lmargin = ((c_pos - 1) / t) * t; /* XXX */
- if (wrap_offset && lmargin > 0 && lmargin < nleft)
- lmargin = nleft;
- }
- else
- lmargin = last_lmargin;
-
- /* If the first character on the screen isn't the first character
- in the display line, indicate this with a special character. */
- if (lmargin > 0)
- line[lmargin] = '<';
-
- /* If SCREENWIDTH characters starting at LMARGIN do not encompass
- the whole line, indicate that with a special character at the
- right edge of the screen. If LMARGIN is 0, we need to take the
- wrap offset into account. */
- t = lmargin + M_OFFSET (lmargin, wrap_offset) + _rl_screenwidth;
- if (t < out)
- line[t - 1] = '>';
-
- if (!rl_display_fixed || forced_display || lmargin != last_lmargin)
- {
- forced_display = 0;
- update_line (&visible_line[last_lmargin],
- &invisible_line[lmargin],
- 0,
- _rl_screenwidth + visible_wrap_offset,
- _rl_screenwidth + (lmargin ? 0 : wrap_offset),
- 0);
-
- /* If the visible new line is shorter than the old, but the number
- of invisible characters is greater, and we are at the end of
- the new line, we need to clear to eol. */
- t = _rl_last_c_pos - M_OFFSET (lmargin, wrap_offset);
- if ((M_OFFSET (lmargin, wrap_offset) > visible_wrap_offset) &&
- (_rl_last_c_pos == out) &&
- t < visible_first_line_len)
- {
- nleft = _rl_screenwidth - t;
- _rl_clear_to_eol (nleft);
- }
- visible_first_line_len = out - lmargin - M_OFFSET (lmargin, wrap_offset);
- if (visible_first_line_len > _rl_screenwidth)
- visible_first_line_len = _rl_screenwidth;
-
- _rl_move_cursor_relative (c_pos - lmargin, &invisible_line[lmargin]);
- last_lmargin = lmargin;
- }
- }
- fflush (rl_outstream);
-
- /* Swap visible and non-visible lines. */
- {
- char *vtemp = visible_line;
- int *itemp = vis_lbreaks, ntemp = vis_lbsize;
-
- visible_line = invisible_line;
- invisible_line = vtemp;
-
- vis_lbreaks = inv_lbreaks;
- inv_lbreaks = itemp;
-
- vis_lbsize = inv_lbsize;
- inv_lbsize = ntemp;
-
- rl_display_fixed = 0;
- /* If we are displaying on a single line, and last_lmargin is > 0, we
- are not displaying any invisible characters, so set visible_wrap_offset
- to 0. */
- if (_rl_horizontal_scroll_mode && last_lmargin)
- visible_wrap_offset = 0;
- else
- visible_wrap_offset = wrap_offset;
- }
-}
-
-/* PWP: update_line() is based on finding the middle difference of each
- line on the screen; vis:
-
- /old first difference
- /beginning of line | /old last same /old EOL
- v v v v
-old: eddie> Oh, my little gruntle-buggy is to me, as lurgid as
-new: eddie> Oh, my little buggy says to me, as lurgid as
- ^ ^ ^ ^
- \beginning of line | \new last same \new end of line
- \new first difference
-
- All are character pointers for the sake of speed. Special cases for
- no differences, as well as for end of line additions must be handled.
-
- Could be made even smarter, but this works well enough */
-static void
-update_line (old, new, current_line, omax, nmax, inv_botlin)
- register char *old, *new;
- int current_line, omax, nmax, inv_botlin;
-{
- register char *ofd, *ols, *oe, *nfd, *nls, *ne;
- int temp, lendiff, wsatend, od, nd;
- int current_invis_chars;
- int col_lendiff, col_temp;
-#if defined (HANDLE_MULTIBYTE)
- mbstate_t ps_new, ps_old;
- int new_offset, old_offset, tmp;
-#endif
-
- /* If we're at the right edge of a terminal that supports xn, we're
- ready to wrap around, so do so. This fixes problems with knowing
- the exact cursor position and cut-and-paste with certain terminal
- emulators. In this calculation, TEMP is the physical screen
- position of the cursor. */
- temp = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);
- if (temp == _rl_screenwidth && _rl_term_autowrap && !_rl_horizontal_scroll_mode
- && _rl_last_v_pos == current_line - 1)
- {
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- wchar_t wc;
- mbstate_t ps;
- int tempwidth, bytes;
- size_t ret;
-
- /* This fixes only double-column characters, but if the wrapped
- character comsumes more than three columns, spaces will be
- inserted in the string buffer. */
- if (_rl_wrapped_line[current_line] > 0)
- _rl_clear_to_eol (_rl_wrapped_line[current_line]);
-
- memset (&ps, 0, sizeof (mbstate_t));
- ret = mbrtowc (&wc, new, MB_CUR_MAX, &ps);
- if (MB_INVALIDCH (ret))
- {
- tempwidth = 1;
- ret = 1;
- }
- else if (MB_NULLWCH (ret))
- tempwidth = 0;
- else
- tempwidth = wcwidth (wc);
-
- if (tempwidth > 0)
- {
- int count;
- bytes = ret;
- for (count = 0; count < bytes; count++)
- putc (new[count], rl_outstream);
- _rl_last_c_pos = tempwidth;
- _rl_last_v_pos++;
- memset (&ps, 0, sizeof (mbstate_t));
- ret = mbrtowc (&wc, old, MB_CUR_MAX, &ps);
- if (ret != 0 && bytes != 0)
- {
- if (MB_INVALIDCH (ret))
- memmove (old+bytes, old+1, strlen (old+1));
- else
- memmove (old+bytes, old+ret, strlen (old+ret));
- memcpy (old, new, bytes);
- }
- }
- else
- {
- putc (' ', rl_outstream);
- _rl_last_c_pos = 1;
- _rl_last_v_pos++;
- if (old[0] && new[0])
- old[0] = new[0];
- }
- }
- else
-#endif
- {
- if (new[0])
- putc (new[0], rl_outstream);
- else
- putc (' ', rl_outstream);
- _rl_last_c_pos = 1; /* XXX */
- _rl_last_v_pos++;
- if (old[0] && new[0])
- old[0] = new[0];
- }
- }
-
-
- /* Find first difference. */
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- /* See if the old line is a subset of the new line, so that the
- only change is adding characters. */
- temp = (omax < nmax) ? omax : nmax;
- if (memcmp (old, new, temp) == 0)
- {
- ofd = old + temp;
- nfd = new + temp;
- }
- else
- {
- memset (&ps_new, 0, sizeof(mbstate_t));
- memset (&ps_old, 0, sizeof(mbstate_t));
-
- if (omax == nmax && STREQN (new, old, omax))
- {
- ofd = old + omax;
- nfd = new + nmax;
- }
- else
- {
- new_offset = old_offset = 0;
- for (ofd = old, nfd = new;
- (ofd - old < omax) && *ofd &&
- _rl_compare_chars(old, old_offset, &ps_old, new, new_offset, &ps_new); )
- {
- old_offset = _rl_find_next_mbchar (old, old_offset, 1, MB_FIND_ANY);
- new_offset = _rl_find_next_mbchar (new, new_offset, 1, MB_FIND_ANY);
- ofd = old + old_offset;
- nfd = new + new_offset;
- }
- }
- }
- }
- else
-#endif
- for (ofd = old, nfd = new;
- (ofd - old < omax) && *ofd && (*ofd == *nfd);
- ofd++, nfd++)
- ;
-
- /* Move to the end of the screen line. ND and OD are used to keep track
- of the distance between ne and new and oe and old, respectively, to
- move a subtraction out of each loop. */
- for (od = ofd - old, oe = ofd; od < omax && *oe; oe++, od++);
- for (nd = nfd - new, ne = nfd; nd < nmax && *ne; ne++, nd++);
-
- /* If no difference, continue to next line. */
- if (ofd == oe && nfd == ne)
- return;
-
- wsatend = 1; /* flag for trailing whitespace */
-
-#if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- ols = old + _rl_find_prev_mbchar (old, oe - old, MB_FIND_ANY);
- nls = new + _rl_find_prev_mbchar (new, ne - new, MB_FIND_ANY);
- while ((ols > ofd) && (nls > nfd))
- {
- memset (&ps_old, 0, sizeof (mbstate_t));
- memset (&ps_new, 0, sizeof (mbstate_t));
-
-#if 0
- /* On advice from jir@yamato.ibm.com */
- _rl_adjust_point (old, ols - old, &ps_old);
- _rl_adjust_point (new, nls - new, &ps_new);
-#endif
-
- if (_rl_compare_chars (old, ols - old, &ps_old, new, nls - new, &ps_new) == 0)
- break;
-
- if (*ols == ' ')
- wsatend = 0;
-
- ols = old + _rl_find_prev_mbchar (old, ols - old, MB_FIND_ANY);
- nls = new + _rl_find_prev_mbchar (new, nls - new, MB_FIND_ANY);
- }
- }
- else
- {
-#endif /* HANDLE_MULTIBYTE */
- ols = oe - 1; /* find last same */
- nls = ne - 1;
- while ((ols > ofd) && (nls > nfd) && (*ols == *nls))
- {
- if (*ols != ' ')
- wsatend = 0;
- ols--;
- nls--;
- }
-#if defined (HANDLE_MULTIBYTE)
- }
-#endif
-
- if (wsatend)
- {
- ols = oe;
- nls = ne;
- }
-#if defined (HANDLE_MULTIBYTE)
- /* This may not work for stateful encoding, but who cares? To handle
- stateful encoding properly, we have to scan each string from the
- beginning and compare. */
- else if (_rl_compare_chars (ols, 0, NULL, nls, 0, NULL) == 0)
-#else
- else if (*ols != *nls)
-#endif
- {
- if (*ols) /* don't step past the NUL */
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- ols = old + _rl_find_next_mbchar (old, ols - old, 1, MB_FIND_ANY);
- else
- ols++;
- }
- if (*nls)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- nls = new + _rl_find_next_mbchar (new, nls - new, 1, MB_FIND_ANY);
- else
- nls++;
- }
- }
-
- /* count of invisible characters in the current invisible line. */
- current_invis_chars = W_OFFSET (current_line, wrap_offset);
- if (_rl_last_v_pos != current_line)
- {
- _rl_move_vert (current_line);
- if (current_line == 0 && visible_wrap_offset)
- _rl_last_c_pos += visible_wrap_offset;
- }
-
- /* If this is the first line and there are invisible characters in the
- prompt string, and the prompt string has not changed, and the current
- cursor position is before the last invisible character in the prompt,
- and the index of the character to move to is past the end of the prompt
- string, then redraw the entire prompt string. We can only do this
- reliably if the terminal supports a `cr' capability.
-
- This is not an efficiency hack -- there is a problem with redrawing
- portions of the prompt string if they contain terminal escape
- sequences (like drawing the `unbold' sequence without a corresponding
- `bold') that manifests itself on certain terminals. */
-
- lendiff = local_prompt ? strlen (local_prompt) : 0;
- od = ofd - old; /* index of first difference in visible line */
- if (current_line == 0 && !_rl_horizontal_scroll_mode &&
- _rl_term_cr && lendiff > prompt_visible_length && _rl_last_c_pos > 0 &&
- od >= lendiff && _rl_last_c_pos <= prompt_last_invisible)
- {
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif
- _rl_output_some_chars (local_prompt, lendiff);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (local_prompt, 0, lendiff);
- else
- _rl_last_c_pos = lendiff;
- }
-
- _rl_move_cursor_relative (od, old);
-
- /* if (len (new) > len (old))
- lendiff == difference in buffer
- col_lendiff == difference on screen
- When not using multibyte characters, these are equal */
- lendiff = (nls - nfd) - (ols - ofd);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_lendiff = _rl_col_width (new, nfd - new, nls - new) - _rl_col_width (old, ofd - old, ols - old);
- else
- col_lendiff = lendiff;
-
- /* If we are changing the number of invisible characters in a line, and
- the spot of first difference is before the end of the invisible chars,
- lendiff needs to be adjusted. */
- if (current_line == 0 && !_rl_horizontal_scroll_mode &&
- current_invis_chars != visible_wrap_offset)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- lendiff += visible_wrap_offset - current_invis_chars;
- col_lendiff += visible_wrap_offset - current_invis_chars;
- }
- else
- {
- lendiff += visible_wrap_offset - current_invis_chars;
- col_lendiff = lendiff;
- }
- }
-
- /* Insert (diff (len (old), len (new)) ch. */
- temp = ne - nfd;
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_temp = _rl_col_width (new, nfd - new, ne - new);
- else
- col_temp = temp;
-
- if (col_lendiff > 0) /* XXX - was lendiff */
- {
- /* Non-zero if we're increasing the number of lines. */
- int gl = current_line >= _rl_vis_botlin && inv_botlin > _rl_vis_botlin;
- /* Sometimes it is cheaper to print the characters rather than
- use the terminal's capabilities. If we're growing the number
- of lines, make sure we actually cause the new line to wrap
- around on auto-wrapping terminals. */
- if (_rl_terminal_can_insert && ((2 * col_temp) >= col_lendiff || _rl_term_IC) && (!_rl_term_autowrap || !gl))
- {
- /* If lendiff > prompt_visible_length and _rl_last_c_pos == 0 and
- _rl_horizontal_scroll_mode == 1, inserting the characters with
- _rl_term_IC or _rl_term_ic will screw up the screen because of the
- invisible characters. We need to just draw them. */
- if (*ols && (!_rl_horizontal_scroll_mode || _rl_last_c_pos > 0 ||
- lendiff <= prompt_visible_length || !current_invis_chars))
- {
- insert_some_chars (nfd, lendiff, col_lendiff);
- _rl_last_c_pos += col_lendiff;
- }
- else if ((MB_CUR_MAX == 1 || rl_byte_oriented != 0) && *ols == 0 && lendiff > 0)
- {
- /* At the end of a line the characters do not have to
- be "inserted". They can just be placed on the screen. */
- /* However, this screws up the rest of this block, which
- assumes you've done the insert because you can. */
- _rl_output_some_chars (nfd, lendiff);
- _rl_last_c_pos += col_lendiff;
- }
- else
- {
- /* We have horizontal scrolling and we are not inserting at
- the end. We have invisible characters in this line. This
- is a dumb update. */
- _rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += col_temp;
- return;
- }
- /* Copy (new) chars to screen from first diff to last match. */
- temp = nls - nfd;
- if ((temp - lendiff) > 0)
- {
- _rl_output_some_chars (nfd + lendiff, temp - lendiff);
-#if 1
- /* XXX -- this bears closer inspection. Fixes a redisplay bug
- reported against bash-3.0-alpha by Andreas Schwab involving
- multibyte characters and prompt strings with invisible
- characters, but was previously disabled. */
- _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-col_lendiff);
-#else
- _rl_last_c_pos += _rl_col_width (nfd+lendiff, 0, temp-lendiff);
-#endif
- }
- }
- else
- {
- /* cannot insert chars, write to EOL */
- _rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += col_temp;
- }
- }
- else /* Delete characters from line. */
- {
- /* If possible and inexpensive to use terminal deletion, then do so. */
- if (_rl_term_dc && (2 * col_temp) >= -col_lendiff)
- {
- /* If all we're doing is erasing the invisible characters in the
- prompt string, don't bother. It screws up the assumptions
- about what's on the screen. */
- if (_rl_horizontal_scroll_mode && _rl_last_c_pos == 0 &&
- -lendiff == visible_wrap_offset)
- col_lendiff = 0;
-
- if (col_lendiff)
- delete_chars (-col_lendiff); /* delete (diff) characters */
-
- /* Copy (new) chars to screen from first diff to last match */
- temp = nls - nfd;
- if (temp > 0)
- {
- _rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
- }
- }
- /* Otherwise, print over the existing material. */
- else
- {
- if (temp > 0)
- {
- _rl_output_some_chars (nfd, temp);
- _rl_last_c_pos += col_temp;
- }
- lendiff = (oe - old) - (ne - new);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- col_lendiff = _rl_col_width (old, 0, oe - old) - _rl_col_width (new, 0, ne - new);
- else
- col_lendiff = lendiff;
-
- if (col_lendiff)
- {
- if (_rl_term_autowrap && current_line < inv_botlin)
- space_to_eol (col_lendiff);
- else
- _rl_clear_to_eol (col_lendiff);
- }
- }
- }
-}
-
-/* Tell the update routines that we have moved onto a new (empty) line. */
-int
-rl_on_new_line ()
-{
- if (visible_line)
- visible_line[0] = '\0';
-
- _rl_last_c_pos = _rl_last_v_pos = 0;
- _rl_vis_botlin = last_lmargin = 0;
- if (vis_lbreaks)
- vis_lbreaks[0] = vis_lbreaks[1] = 0;
- visible_wrap_offset = 0;
- return 0;
-}
-
-/* Tell the update routines that we have moved onto a new line with the
- prompt already displayed. Code originally from the version of readline
- distributed with CLISP. rl_expand_prompt must have already been called
- (explicitly or implicitly). This still doesn't work exactly right. */
-int
-rl_on_new_line_with_prompt ()
-{
- int prompt_size, i, l, real_screenwidth, newlines;
- char *prompt_last_line, *lprompt;
-
- /* Initialize visible_line and invisible_line to ensure that they can hold
- the already-displayed prompt. */
- prompt_size = strlen (rl_prompt) + 1;
- init_line_structures (prompt_size);
-
- /* Make sure the line structures hold the already-displayed prompt for
- redisplay. */
- lprompt = local_prompt ? local_prompt : rl_prompt;
- strcpy (visible_line, lprompt);
- strcpy (invisible_line, lprompt);
-
- /* If the prompt contains newlines, take the last tail. */
- prompt_last_line = strrchr (rl_prompt, '\n');
- if (!prompt_last_line)
- prompt_last_line = rl_prompt;
-
- l = strlen (prompt_last_line);
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (prompt_last_line, 0, l);
- else
- _rl_last_c_pos = l;
-
- /* Dissect prompt_last_line into screen lines. Note that here we have
- to use the real screenwidth. Readline's notion of screenwidth might be
- one less, see terminal.c. */
- real_screenwidth = _rl_screenwidth + (_rl_term_autowrap ? 0 : 1);
- _rl_last_v_pos = l / real_screenwidth;
- /* If the prompt length is a multiple of real_screenwidth, we don't know
- whether the cursor is at the end of the last line, or already at the
- beginning of the next line. Output a newline just to be safe. */
- if (l > 0 && (l % real_screenwidth) == 0)
- _rl_output_some_chars ("\n", 1);
- last_lmargin = 0;
-
- newlines = 0; i = 0;
- while (i <= l)
- {
- _rl_vis_botlin = newlines;
- vis_lbreaks[newlines++] = i;
- i += real_screenwidth;
- }
- vis_lbreaks[newlines] = l;
- visible_wrap_offset = 0;
-
- rl_display_prompt = rl_prompt; /* XXX - make sure it's set */
-
- return 0;
-}
-
-/* Actually update the display, period. */
-int
-rl_forced_update_display ()
-{
- if (visible_line)
- {
- register char *temp = visible_line;
-
- while (*temp)
- *temp++ = '\0';
- }
- rl_on_new_line ();
- forced_display++;
- (*rl_redisplay_function) ();
- return 0;
-}
-
-/* Move the cursor from _rl_last_c_pos to NEW, which are buffer indices.
- DATA is the contents of the screen line of interest; i.e., where
- the movement is being done. */
-void
-_rl_move_cursor_relative (new, data)
- int new;
- const char *data;
-{
- register int i;
-
- /* If we don't have to do anything, then return. */
-#if defined (HANDLE_MULTIBYTE)
- /* If we have multibyte characters, NEW is indexed by the buffer point in
- a multibyte string, but _rl_last_c_pos is the display position. In
- this case, NEW's display position is not obvious and must be
- calculated. */
- if (MB_CUR_MAX == 1 || rl_byte_oriented)
- {
- if (_rl_last_c_pos == new)
- return;
- }
- else if (_rl_last_c_pos == _rl_col_width (data, 0, new))
- return;
-#else
- if (_rl_last_c_pos == new) return;
-#endif
-
- /* It may be faster to output a CR, and then move forwards instead
- of moving backwards. */
- /* i == current physical cursor position. */
- i = _rl_last_c_pos - W_OFFSET(_rl_last_v_pos, visible_wrap_offset);
- if (new == 0 || CR_FASTER (new, _rl_last_c_pos) ||
- (_rl_term_autowrap && i == _rl_screenwidth))
- {
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif /* !__MSDOS__ */
- _rl_last_c_pos = 0;
- }
-
- if (_rl_last_c_pos < new)
- {
- /* Move the cursor forward. We do it by printing the command
- to move the cursor forward if there is one, else print that
- portion of the output buffer again. Which is cheaper? */
-
- /* The above comment is left here for posterity. It is faster
- to print one character (non-control) than to print a control
- sequence telling the terminal to move forward one character.
- That kind of control is for people who don't know what the
- data is underneath the cursor. */
-#if defined (HACK_TERMCAP_MOTION)
- if (_rl_term_forward_char)
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- int width;
- width = _rl_col_width (data, _rl_last_c_pos, new);
- for (i = 0; i < width; i++)
- tputs (_rl_term_forward_char, 1, _rl_output_character_function);
- }
- else
- {
- for (i = _rl_last_c_pos; i < new; i++)
- tputs (_rl_term_forward_char, 1, _rl_output_character_function);
- }
- }
- else if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- tputs (_rl_term_cr, 1, _rl_output_character_function);
- for (i = 0; i < new; i++)
- putc (data[i], rl_outstream);
- }
- else
- for (i = _rl_last_c_pos; i < new; i++)
- putc (data[i], rl_outstream);
-
-#else /* !HACK_TERMCAP_MOTION */
-
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- {
- tputs (_rl_term_cr, 1, _rl_output_character_function);
- for (i = 0; i < new; i++)
- putc (data[i], rl_outstream);
- }
- else
- for (i = _rl_last_c_pos; i < new; i++)
- putc (data[i], rl_outstream);
-
-#endif /* !HACK_TERMCAP_MOTION */
-
- }
-#if defined (HANDLE_MULTIBYTE)
- /* NEW points to the buffer point, but _rl_last_c_pos is the display point.
- The byte length of the string is probably bigger than the column width
- of the string, which means that if NEW == _rl_last_c_pos, then NEW's
- display point is less than _rl_last_c_pos. */
- else if (_rl_last_c_pos >= new)
-#else
- else if (_rl_last_c_pos > new)
-#endif
- {
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_backspace (_rl_last_c_pos - _rl_col_width (data, 0, new));
- else
- _rl_backspace (_rl_last_c_pos - new);
- }
-
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
- _rl_last_c_pos = _rl_col_width (data, 0, new);
- else
- _rl_last_c_pos = new;
-}
-
-/* PWP: move the cursor up or down. */
-void
-_rl_move_vert (to)
- int to;
-{
- register int delta, i;
-
- if (_rl_last_v_pos == to || to > _rl_screenheight)
- return;
-
- if ((delta = to - _rl_last_v_pos) > 0)
- {
- for (i = 0; i < delta; i++)
- putc ('\n', rl_outstream);
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif
- _rl_last_c_pos = 0;
- }
- else
- { /* delta < 0 */
- if (_rl_term_up && *_rl_term_up)
- for (i = 0; i < -delta; i++)
- tputs (_rl_term_up, 1, _rl_output_character_function);
- }
-
- _rl_last_v_pos = to; /* Now TO is here */
-}
-
-/* Physically print C on rl_outstream. This is for functions which know
- how to optimize the display. Return the number of characters output. */
-int
-rl_show_char (c)
- int c;
-{
- int n = 1;
- if (META_CHAR (c) && (_rl_output_meta_chars == 0))
- {
- fprintf (rl_outstream, "M-");
- n += 2;
- c = UNMETA (c);
- }
-
-#if defined (DISPLAY_TABS)
- if ((CTRL_CHAR (c) && c != '\t') || c == RUBOUT)
-#else
- if (CTRL_CHAR (c) || c == RUBOUT)
-#endif /* !DISPLAY_TABS */
- {
- fprintf (rl_outstream, "C-");
- n += 2;
- c = CTRL_CHAR (c) ? UNCTRL (c) : '?';
- }
-
- putc (c, rl_outstream);
- fflush (rl_outstream);
- return n;
-}
-
-int
-rl_character_len (c, pos)
- register int c, pos;
-{
- unsigned char uc;
-
- uc = (unsigned char)c;
-
- if (META_CHAR (uc))
- return ((_rl_output_meta_chars == 0) ? 4 : 1);
-
- if (uc == '\t')
- {
-#if defined (DISPLAY_TABS)
- return (((pos | 7) + 1) - pos);
-#else
- return (2);
-#endif /* !DISPLAY_TABS */
- }
-
- if (CTRL_CHAR (c) || c == RUBOUT)
- return (2);
-
- return ((ISPRINT (uc)) ? 1 : 2);
-}
-
-/* How to print things in the "echo-area". The prompt is treated as a
- mini-modeline. */
-
-#if defined (USE_VARARGS)
-int
-#if defined (PREFER_STDARG)
-rl_message (const char *format, ...)
-#else
-rl_message (va_alist)
- va_dcl
-#endif
-{
- va_list args;
-#if defined (PREFER_VARARGS)
- char *format;
-#endif
-
-#if defined (PREFER_STDARG)
- va_start (args, format);
-#else
- va_start (args);
- format = va_arg (args, char *);
-#endif
-
-#if defined (HAVE_VSNPRINTF)
- vsnprintf (msg_buf, sizeof (msg_buf) - 1, format, args);
-#else
- vsprintf (msg_buf, format, args);
- msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */
-#endif
- va_end (args);
-
- rl_display_prompt = msg_buf;
- (*rl_redisplay_function) ();
- return 0;
-}
-#else /* !USE_VARARGS */
-int
-rl_message (format, arg1, arg2)
- char *format;
-{
- sprintf (msg_buf, format, arg1, arg2);
- msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */
- rl_display_prompt = msg_buf;
- (*rl_redisplay_function) ();
- return 0;
-}
-#endif /* !USE_VARARGS */
-
-/* How to clear things from the "echo-area". */
-int
-rl_clear_message ()
-{
- rl_display_prompt = rl_prompt;
- (*rl_redisplay_function) ();
- return 0;
-}
-
-int
-rl_reset_line_state ()
-{
- rl_on_new_line ();
-
- rl_display_prompt = rl_prompt ? rl_prompt : "";
- forced_display = 1;
- return 0;
-}
-
-/* These are getting numerous enough that it's time to create a struct. */
-
-static char *saved_local_prompt;
-static char *saved_local_prefix;
-static int saved_last_invisible;
-static int saved_visible_length;
-static int saved_invis_chars_first_line;
-static int saved_physical_chars;
-
-void
-rl_save_prompt ()
-{
- saved_local_prompt = local_prompt;
- saved_local_prefix = local_prompt_prefix;
- saved_last_invisible = prompt_last_invisible;
- saved_visible_length = prompt_visible_length;
- saved_invis_chars_first_line = prompt_invis_chars_first_line;
- saved_physical_chars = prompt_physical_chars;
-
- local_prompt = local_prompt_prefix = (char *)0;
- prompt_last_invisible = prompt_visible_length = 0;
- prompt_invis_chars_first_line = prompt_physical_chars = 0;
-}
-
-void
-rl_restore_prompt ()
-{
- FREE (local_prompt);
- FREE (local_prompt_prefix);
-
- local_prompt = saved_local_prompt;
- local_prompt_prefix = saved_local_prefix;
- prompt_last_invisible = saved_last_invisible;
- prompt_visible_length = saved_visible_length;
- prompt_invis_chars_first_line = saved_invis_chars_first_line;
- prompt_physical_chars = saved_physical_chars;
-}
-
-char *
-_rl_make_prompt_for_search (pchar)
- int pchar;
-{
- int len;
- char *pmt;
-
- rl_save_prompt ();
-
- if (saved_local_prompt == 0)
- {
- len = (rl_prompt && *rl_prompt) ? strlen (rl_prompt) : 0;
- pmt = (char *)xmalloc (len + 2);
- if (len)
- strcpy (pmt, rl_prompt);
- pmt[len] = pchar;
- pmt[len+1] = '\0';
- }
- else
- {
- len = *saved_local_prompt ? strlen (saved_local_prompt) : 0;
- pmt = (char *)xmalloc (len + 2);
- if (len)
- strcpy (pmt, saved_local_prompt);
- pmt[len] = pchar;
- pmt[len+1] = '\0';
- local_prompt = savestring (pmt);
- prompt_last_invisible = saved_last_invisible;
- prompt_visible_length = saved_visible_length + 1;
- }
-
- return pmt;
-}
-
-/* Quick redisplay hack when erasing characters at the end of the line. */
-void
-_rl_erase_at_end_of_line (l)
- int l;
-{
- register int i;
-
- _rl_backspace (l);
- for (i = 0; i < l; i++)
- putc (' ', rl_outstream);
- _rl_backspace (l);
- for (i = 0; i < l; i++)
- visible_line[--_rl_last_c_pos] = '\0';
- rl_display_fixed++;
-}
-
-/* Clear to the end of the line. COUNT is the minimum
- number of character spaces to clear, */
-void
-_rl_clear_to_eol (count)
- int count;
-{
- if (_rl_term_clreol)
- tputs (_rl_term_clreol, 1, _rl_output_character_function);
- else if (count)
- space_to_eol (count);
-}
-
-/* Clear to the end of the line using spaces. COUNT is the minimum
- number of character spaces to clear, */
-static void
-space_to_eol (count)
- int count;
-{
- register int i;
-
- for (i = 0; i < count; i++)
- putc (' ', rl_outstream);
-
- _rl_last_c_pos += count;
-}
-
-void
-_rl_clear_screen ()
-{
- if (_rl_term_clrpag)
- tputs (_rl_term_clrpag, 1, _rl_output_character_function);
- else
- rl_crlf ();
-}
-
-/* Insert COUNT characters from STRING to the output stream at column COL. */
-static void
-insert_some_chars (string, count, col)
- char *string;
- int count, col;
-{
- /* DEBUGGING */
- if (MB_CUR_MAX == 1 || rl_byte_oriented)
- if (count != col)
- fprintf(stderr, "readline: debug: insert_some_chars: count (%d) != col (%d)\n", count, col);
-
- /* If IC is defined, then we do not have to "enter" insert mode. */
- if (_rl_term_IC)
- {
- char *buffer;
-
- buffer = tgoto (_rl_term_IC, 0, col);
- tputs (buffer, 1, _rl_output_character_function);
- _rl_output_some_chars (string, count);
- }
- else
- {
- register int i;
-
- /* If we have to turn on insert-mode, then do so. */
- if (_rl_term_im && *_rl_term_im)
- tputs (_rl_term_im, 1, _rl_output_character_function);
-
- /* If there is a special command for inserting characters, then
- use that first to open up the space. */
- if (_rl_term_ic && *_rl_term_ic)
- {
- for (i = col; i--; )
- tputs (_rl_term_ic, 1, _rl_output_character_function);
- }
-
- /* Print the text. */
- _rl_output_some_chars (string, count);
-
- /* If there is a string to turn off insert mode, we had best use
- it now. */
- if (_rl_term_ei && *_rl_term_ei)
- tputs (_rl_term_ei, 1, _rl_output_character_function);
- }
-}
-
-/* Delete COUNT characters from the display line. */
-static void
-delete_chars (count)
- int count;
-{
- if (count > _rl_screenwidth) /* XXX */
- return;
-
- if (_rl_term_DC && *_rl_term_DC)
- {
- char *buffer;
- buffer = tgoto (_rl_term_DC, count, count);
- tputs (buffer, count, _rl_output_character_function);
- }
- else
- {
- if (_rl_term_dc && *_rl_term_dc)
- while (count--)
- tputs (_rl_term_dc, 1, _rl_output_character_function);
- }
-}
-
-void
-_rl_update_final ()
-{
- int full_lines;
-
- full_lines = 0;
- /* If the cursor is the only thing on an otherwise-blank last line,
- compensate so we don't print an extra CRLF. */
- if (_rl_vis_botlin && _rl_last_c_pos == 0 &&
- visible_line[vis_lbreaks[_rl_vis_botlin]] == 0)
- {
- _rl_vis_botlin--;
- full_lines = 1;
- }
- _rl_move_vert (_rl_vis_botlin);
- /* If we've wrapped lines, remove the final xterm line-wrap flag. */
- if (full_lines && _rl_term_autowrap && (VIS_LLEN(_rl_vis_botlin) == _rl_screenwidth))
- {
- char *last_line;
-
- last_line = &visible_line[vis_lbreaks[_rl_vis_botlin]];
- _rl_move_cursor_relative (_rl_screenwidth - 1, last_line);
- _rl_clear_to_eol (0);
- putc (last_line[_rl_screenwidth - 1], rl_outstream);
- }
- _rl_vis_botlin = 0;
- rl_crlf ();
- fflush (rl_outstream);
- rl_display_fixed++;
-}
-
-/* Move to the start of the current line. */
-static void
-cr ()
-{
- if (_rl_term_cr)
- {
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif
- _rl_last_c_pos = 0;
- }
-}
-
-/* Redraw the last line of a multi-line prompt that may possibly contain
- terminal escape sequences. Called with the cursor at column 0 of the
- line to draw the prompt on. */
-static void
-redraw_prompt (t)
- char *t;
-{
- char *oldp, *oldl, *oldlprefix;
- int oldlen, oldlast, oldplen, oldninvis, oldphyschars;
-
- /* Geez, I should make this a struct. */
- oldp = rl_display_prompt;
- oldl = local_prompt;
- oldlprefix = local_prompt_prefix;
- oldlen = prompt_visible_length;
- oldplen = prompt_prefix_length;
- oldlast = prompt_last_invisible;
- oldninvis = prompt_invis_chars_first_line;
- oldphyschars = prompt_physical_chars;
-
- rl_display_prompt = t;
- local_prompt = expand_prompt (t, &prompt_visible_length,
- &prompt_last_invisible,
- &prompt_invis_chars_first_line,
- &prompt_physical_chars);
- local_prompt_prefix = (char *)NULL;
- rl_forced_update_display ();
-
- rl_display_prompt = oldp;
- local_prompt = oldl;
- local_prompt_prefix = oldlprefix;
- prompt_visible_length = oldlen;
- prompt_prefix_length = oldplen;
- prompt_last_invisible = oldlast;
- prompt_invis_chars_first_line = oldninvis;
- prompt_physical_chars = oldphyschars;
-}
-
-/* Redisplay the current line after a SIGWINCH is received. */
-void
-_rl_redisplay_after_sigwinch ()
-{
- char *t;
-
- /* Clear the current line and put the cursor at column 0. Make sure
- the right thing happens if we have wrapped to a new screen line. */
- if (_rl_term_cr)
- {
-#if defined (__MSDOS__)
- putc ('\r', rl_outstream);
-#else
- tputs (_rl_term_cr, 1, _rl_output_character_function);
-#endif
- _rl_last_c_pos = 0;
-#if defined (__MSDOS__)
- space_to_eol (_rl_screenwidth);
- putc ('\r', rl_outstream);
-#else
- if (_rl_term_clreol)
- tputs (_rl_term_clreol, 1, _rl_output_character_function);
- else
- {
- space_to_eol (_rl_screenwidth);
- tputs (_rl_term_cr, 1, _rl_output_character_function);
- }
-#endif
- if (_rl_last_v_pos > 0)
- _rl_move_vert (0);
- }
- else
- rl_crlf ();
-
- /* Redraw only the last line of a multi-line prompt. */
- t = strrchr (rl_display_prompt, '\n');
- if (t)
- redraw_prompt (++t);
- else
- rl_forced_update_display ();
-}
-
-void
-_rl_clean_up_for_exit ()
-{
- if (readline_echoing_p)
- {
- _rl_move_vert (_rl_vis_botlin);
- _rl_vis_botlin = 0;
- fflush (rl_outstream);
- rl_restart_output (1, 0);
- }
-}
-
-void
-_rl_erase_entire_line ()
-{
- cr ();
- _rl_clear_to_eol (0);
- cr ();
- fflush (rl_outstream);
-}
-
-/* return the `current display line' of the cursor -- the number of lines to
- move up to get to the first screen line of the current readline line. */
-int
-_rl_current_display_line ()
-{
- int ret, nleft;
-
- /* Find out whether or not there might be invisible characters in the
- editing buffer. */
- if (rl_display_prompt == rl_prompt)
- nleft = _rl_last_c_pos - _rl_screenwidth - rl_visible_prompt_length;
- else
- nleft = _rl_last_c_pos - _rl_screenwidth;
-
- if (nleft > 0)
- ret = 1 + nleft / _rl_screenwidth;
- else
- ret = 0;
-
- return ret;
-}
-
-#if defined (HANDLE_MULTIBYTE)
-/* Calculate the number of screen columns occupied by STR from START to END.
- In the case of multibyte characters with stateful encoding, we have to
- scan from the beginning of the string to take the state into account. */
-static int
-_rl_col_width (str, start, end)
- const char *str;
- int start, end;
-{
- wchar_t wc;
- mbstate_t ps = {0};
- int tmp, point, width, max;
-
- if (end <= start)
- return 0;
-
- point = 0;
- max = end;
-
- while (point < start)
- {
- tmp = mbrlen (str + point, max, &ps);
- if (MB_INVALIDCH ((size_t)tmp))
- {
- /* In this case, the bytes are invalid or too short to compose a
- multibyte character, so we assume that the first byte represents
- a single character. */
- point++;
- max--;
-
- /* Clear the state of the byte sequence, because in this case the
- effect of mbstate is undefined. */
- memset (&ps, 0, sizeof (mbstate_t));
- }
- else if (MB_NULLWCH (tmp))
- break; /* Found '\0' */
- else
- {
- point += tmp;
- max -= tmp;
- }
- }
-
- /* If START is not a byte that starts a character, then POINT will be
- greater than START. In this case, assume that (POINT - START) gives
- a byte count that is the number of columns of difference. */
- width = point - start;
-
- while (point < end)
- {
- tmp = mbrtowc (&wc, str + point, max, &ps);
- if (MB_INVALIDCH ((size_t)tmp))
- {
- /* In this case, the bytes are invalid or too short to compose a
- multibyte character, so we assume that the first byte represents
- a single character. */
- point++;
- max--;
-
- /* and assume that the byte occupies a single column. */
- width++;
-
- /* Clear the state of the byte sequence, because in this case the
- effect of mbstate is undefined. */
- memset (&ps, 0, sizeof (mbstate_t));
- }
- else if (MB_NULLWCH (tmp))
- break; /* Found '\0' */
- else
- {
- point += tmp;
- max -= tmp;
- tmp = wcwidth(wc);
- width += (tmp >= 0) ? tmp : 1;
- }
- }
-
- width += point - end;
-
- return width;
-}
-#endif /* HANDLE_MULTIBYTE */
+++ /dev/null
-# This makefile for Readline library documentation is in -*- text -*- mode.
-# Emacs likes it that way.
-RM = rm -f
-
-MAKEINFO = makeinfo
-TEXI2DVI = texi2dvi
-TEXI2HTML = texi2html
-QUIETPS = #set this to -q to shut up dvips
-DVIPS = dvips -D 300 $(QUIETPS) -o $@ # tricky
-
-INSTALL_DATA = cp
-infodir = /usr/local/info
-
-RLSRC = rlman.texinfo rluser.texinfo rltech.texinfo
-HISTSRC = hist.texinfo hsuser.texinfo hstech.texinfo
-
-DVIOBJ = readline.dvi history.dvi
-INFOOBJ = readline.info history.info
-PSOBJ = readline.ps history.ps
-HTMLOBJ = readline.html history.html
-
-all: info dvi html ps
-nodvi: info html
-
-readline.dvi: $(RLSRC)
- $(TEXI2DVI) rlman.texinfo
- mv rlman.dvi readline.dvi
-
-readline.info: $(RLSRC)
- $(MAKEINFO) --no-split -o $@ rlman.texinfo
-
-history.dvi: ${HISTSRC}
- $(TEXI2DVI) hist.texinfo
- mv hist.dvi history.dvi
-
-history.info: ${HISTSRC}
- $(MAKEINFO) --no-split -o $@ hist.texinfo
-
-readline.ps: readline.dvi
- $(RM) $@
- $(DVIPS) readline.dvi
-
-history.ps: history.dvi
- $(RM) $@
- $(DVIPS) history.dvi
-
-readline.html: ${RLSRC}
- $(TEXI2HTML) rlman.texinfo
- sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman.html > readline.html
- sed -e 's:rlman.html:readline.html:' -e 's:rlman_toc.html:readline_toc.html:' rlman_toc.html > readline_toc.html
- $(RM) rlman.html rlman_toc.html
-
-history.html: ${HISTSRC}
- $(TEXI2HTML) hist.texinfo
- sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist.html > history.html
- sed -e 's:hist.html:history.html:' -e 's:hist_toc.html:history_toc.html:' hist_toc.html > history_toc.html
- $(RM) hist.html hist_toc.html
-
-info: $(INFOOBJ)
-dvi: $(DVIOBJ)
-ps: $(PSOBJ)
-html: $(HTMLOBJ)
-
-clean:
- $(RM) *.aux *.cp *.fn *.ky *.log *.pg *.toc *.tp *.vr *.cps *.pgs \
- *.fns *.kys *.tps *.vrs *.o core
-
-distclean: clean
-mostlyclean: clean
-
-maintainer-clean: clean
- $(RM) *.dvi *.info *.info-* *.ps *.html
-
-install: info
- ${INSTALL_DATA} readline.info $(infodir)/readline.info
- ${INSTALL_DATA} history.info $(infodir)/history.info
+++ /dev/null
-*** ../bash-3.0/lib/readline/mbutil.c Wed Jan 14 09:44:52 2004
---- lib/readline/mbutil.c Wed Aug 18 22:25:57 2004
-***************
-*** 127,135 ****
- {
- tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-! while (wcwidth (wc) == 0)
- {
- point += tmp;
- tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-! if (tmp == (size_t)(0) || tmp == (size_t)(-1) || tmp == (size_t)(-2))
- break;
- }
---- 127,135 ----
- {
- tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-! while (tmp > 0 && wcwidth (wc) == 0)
- {
- point += tmp;
- tmp = mbrtowc (&wc, string + point, strlen (string + point), &ps);
-! if (MB_NULLWCH (tmp) || MB_INVALIDCH (tmp))
- break;
- }
+++ /dev/null
-/* The thing that makes children, remembers them, and contains wait loops. */
-
-/* This file works with both POSIX and BSD systems. It implements job
- control. */
-
-/* Copyright (C) 1989-2003 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-
- Bash is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2, or (at your option) any later
- version.
-
- Bash is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with Bash; see the file COPYING. If not, write to the Free Software
- Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-
-#include "config.h"
-
-#include "bashtypes.h"
-#include "trap.h"
-#include <stdio.h>
-#include <signal.h>
-#include <errno.h>
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-
-#include "posixtime.h"
-
-#if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_WAIT3) && !defined (_POSIX_VERSION) && !defined (RLIMTYPE)
-# include <sys/resource.h>
-#endif /* !_POSIX_VERSION && HAVE_SYS_RESOURCE_H && HAVE_WAIT3 && !RLIMTYPE */
-
-#if defined (HAVE_SYS_FILE_H)
-# include <sys/file.h>
-#endif
-
-#include "filecntl.h"
-#include <sys/ioctl.h>
-#include <sys/param.h>
-
-#if defined (BUFFERED_INPUT)
-# include "input.h"
-#endif
-
-/* Need to include this up here for *_TTY_DRIVER definitions. */
-#include "shtty.h"
-
-/* Define this if your output is getting swallowed. It's a no-op on
- machines with the termio or termios tty drivers. */
-/* #define DRAIN_OUTPUT */
-
-/* For the TIOCGPGRP and TIOCSPGRP ioctl parameters on HP-UX */
-#if defined (hpux) && !defined (TERMIOS_TTY_DRIVER)
-# include <bsdtty.h>
-#endif /* hpux && !TERMIOS_TTY_DRIVER */
-
-#if !defined (STRUCT_WINSIZE_IN_SYS_IOCTL)
-/* For struct winsize on SCO */
-/* sys/ptem.h has winsize but needs mblk_t from sys/stream.h */
-# if defined (HAVE_SYS_PTEM_H) && defined (TIOCGWINSZ) && defined (SIGWINCH)
-# if defined (HAVE_SYS_STREAM_H)
-# include <sys/stream.h>
-# endif
-# include <sys/ptem.h>
-# endif /* HAVE_SYS_PTEM_H && TIOCGWINSZ && SIGWINCH */
-#endif /* !STRUCT_WINSIZE_IN_SYS_IOCTL */
-
-#include "bashansi.h"
-#include "bashintl.h"
-#include "shell.h"
-#include "jobs.h"
-#include "flags.h"
-
-#include "builtins/builtext.h"
-#include "builtins/common.h"
-
-#if !defined (errno)
-extern int errno;
-#endif /* !errno */
-
-#define DEFAULT_CHILD_MAX 32
-#define MAX_JOBS_IN_ARRAY 4096 /* testing */
-
-/* Take care of system dependencies that must be handled when waiting for
- children. The arguments to the WAITPID macro match those to the Posix.1
- waitpid() function. */
-
-#if defined (ultrix) && defined (mips) && defined (_POSIX_VERSION)
-# define WAITPID(pid, statusp, options) \
- wait3 ((union wait *)statusp, options, (struct rusage *)0)
-#else
-# if defined (_POSIX_VERSION) || defined (HAVE_WAITPID)
-# define WAITPID(pid, statusp, options) \
- waitpid ((pid_t)pid, statusp, options)
-# else
-# if defined (HAVE_WAIT3)
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (struct rusage *)0)
-# else
-# define WAITPID(pid, statusp, options) \
- wait3 (statusp, options, (int *)0)
-# endif /* HAVE_WAIT3 */
-# endif /* !_POSIX_VERSION && !HAVE_WAITPID*/
-#endif /* !(Ultrix && mips && _POSIX_VERSION) */
-
-/* getpgrp () varies between systems. Even systems that claim to be
- Posix.1 compatible lie sometimes (Ultrix, SunOS4, apollo). */
-#if defined (GETPGRP_VOID)
-# define getpgid(p) getpgrp ()
-#else
-# define getpgid(p) getpgrp (p)
-#endif /* !GETPGRP_VOID */
-
-/* If the system needs it, REINSTALL_SIGCHLD_HANDLER will reinstall the
- handler for SIGCHLD. */
-#if defined (MUST_REINSTALL_SIGHANDLERS)
-# define REINSTALL_SIGCHLD_HANDLER signal (SIGCHLD, sigchld_handler)
-#else
-# define REINSTALL_SIGCHLD_HANDLER
-#endif /* !MUST_REINSTALL_SIGHANDLERS */
-
-/* Some systems let waitpid(2) tell callers about stopped children. */
-#if !defined (WCONTINUED)
-# define WCONTINUED 0
-#endif
-#if !defined (WIFCONTINUED)
-# define WIFCONTINUED(s) (0)
-#endif
-
-/* The number of additional slots to allocate when we run out. */
-#define JOB_SLOTS 8
-
-typedef int sh_job_map_func_t __P((JOB *, int, int, int));
-
-#if defined (READLINE)
-extern void rl_set_screen_size __P((int, int));
-#endif
-
-/* Variables used here but defined in other files. */
-extern int subshell_environment, line_number;
-extern int posixly_correct, shell_level;
-extern int interrupt_immediately;
-extern int last_command_exit_value, last_command_exit_signal;
-extern int loop_level, breaking;
-extern int sourcelevel;
-extern sh_builtin_func_t *this_shell_builtin;
-extern char *shell_name, *this_command_name;
-extern sigset_t top_level_mask;
-extern procenv_t wait_intr_buf;
-extern int wait_signal_received;
-extern WORD_LIST *subst_assign_varlist;
-
-/* The array of known jobs. */
-JOB **jobs = (JOB **)NULL;
-
-/* The number of slots currently allocated to JOBS. */
-int job_slots = 0;
-
-/* The controlling tty for this shell. */
-int shell_tty = -1;
-
-/* The shell's process group. */
-pid_t shell_pgrp = NO_PID;
-
-/* The terminal's process group. */
-pid_t terminal_pgrp = NO_PID;
-
-/* The process group of the shell's parent. */
-pid_t original_pgrp = NO_PID;
-
-/* The process group of the pipeline currently being made. */
-pid_t pipeline_pgrp = (pid_t)0;
-
-#if defined (PGRP_PIPE)
-/* Pipes which each shell uses to communicate with the process group leader
- until all of the processes in a pipeline have been started. Then the
- process leader is allowed to continue. */
-int pgrp_pipe[2] = { -1, -1 };
-#endif
-
-/* The job which is current; i.e. the one that `%+' stands for. */
-int current_job = NO_JOB;
-
-/* The previous job; i.e. the one that `%-' stands for. */
-int previous_job = NO_JOB;
-
-/* Last child made by the shell. */
-pid_t last_made_pid = NO_PID;
-
-/* Pid of the last asynchronous child. */
-pid_t last_asynchronous_pid = NO_PID;
-
-/* The pipeline currently being built. */
-PROCESS *the_pipeline = (PROCESS *)NULL;
-
-/* If this is non-zero, do job control. */
-int job_control = 1;
-
-/* Call this when you start making children. */
-int already_making_children = 0;
-
-/* If this is non-zero, $LINES and $COLUMNS are reset after every process
- exits from get_tty_state(). */
-int check_window_size;
-
-/* Functions local to this file. */
-
-static void get_new_window_size __P((int));
-
-static void run_sigchld_trap __P((int));
-
-static sighandler wait_sigint_handler __P((int));
-static sighandler sigchld_handler __P((int));
-static sighandler sigwinch_sighandler __P((int));
-static sighandler sigcont_sighandler __P((int));
-static sighandler sigstop_sighandler __P((int));
-
-static int waitchld __P((pid_t, int));
-
-static PROCESS *find_pipeline __P((pid_t, int, int *));
-
-static char *current_working_directory __P((void));
-static char *job_working_directory __P((void));
-static char *j_strsignal __P((int));
-static char *printable_job_status __P((int, PROCESS *, int));
-
-static pid_t find_last_pid __P((int, int));
-
-static int set_new_line_discipline __P((int));
-static int map_over_jobs __P((sh_job_map_func_t *, int, int));
-static int job_last_stopped __P((int));
-static int job_last_running __P((int));
-static int most_recent_job_in_state __P((int, JOB_STATE));
-static int find_job __P((pid_t, int));
-static int print_job __P((JOB *, int, int, int));
-static int process_exit_status __P((WAIT));
-static int process_exit_signal __P((WAIT));
-static int job_exit_status __P((int));
-static int job_exit_signal __P((int));
-static int set_job_status_and_cleanup __P((int));
-
-static WAIT raw_job_exit_status __P((int));
-
-static void notify_of_job_status __P((void));
-static void cleanup_dead_jobs __P((void));
-static int compact_jobs_list __P((int));
-static void discard_pipeline __P((PROCESS *));
-static void add_process __P((char *, pid_t));
-static void print_pipeline __P((PROCESS *, int, int, FILE *));
-static void pretty_print_job __P((int, int, FILE *));
-static void set_current_job __P((int));
-static void reset_current __P((void));
-static void set_job_running __P((int));
-static void setjstatus __P((int));
-static void mark_all_jobs_as_dead __P((void));
-static void mark_dead_jobs_as_notified __P((int));
-static void restore_sigint_handler __P((void));
-#if defined (PGRP_PIPE)
-static void pipe_read __P((int *));
-static void pipe_close __P((int *));
-#endif
-
-#if defined (ARRAY_VARS)
-static int *pstatuses; /* list of pipeline statuses */
-static int statsize;
-#endif
-
-/* Used to synchronize between wait_for and other functions and the SIGCHLD
- signal handler. */
-static int sigchld;
-static int queue_sigchld;
-
-#define QUEUE_SIGCHLD(os) (os) = sigchld, queue_sigchld++
-
-#define UNQUEUE_SIGCHLD(os) \
- do { \
- queue_sigchld--; \
- if (queue_sigchld == 0 && os != sigchld) \
- waitchld (-1, 0); \
- } while (0)
-
-static SigHandler *old_tstp, *old_ttou, *old_ttin;
-static SigHandler *old_cont = (SigHandler *)SIG_DFL;
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static SigHandler *old_winch = (SigHandler *)SIG_DFL;
-#endif
-
-/* A place to temporarily save the current pipeline. */
-static PROCESS *saved_pipeline;
-static int saved_already_making_children;
-
-/* Set this to non-zero whenever you don't want the jobs list to change at
- all: no jobs deleted and no status change notifications. This is used,
- for example, when executing SIGCHLD traps, which may run arbitrary
- commands. */
-static int jobs_list_frozen;
-
-static char retcode_name_buffer[64];
-
-static long child_max = -1L;
-
-#if !defined (_POSIX_VERSION)
-
-/* These are definitions to map POSIX 1003.1 functions onto existing BSD
- library functions and system calls. */
-#define setpgid(pid, pgrp) setpgrp (pid, pgrp)
-#define tcsetpgrp(fd, pgrp) ioctl ((fd), TIOCSPGRP, &(pgrp))
-
-pid_t
-tcgetpgrp (fd)
- int fd;
-{
- pid_t pgrp;
-
- /* ioctl will handle setting errno correctly. */
- if (ioctl (fd, TIOCGPGRP, &pgrp) < 0)
- return (-1);
- return (pgrp);
-}
-
-#endif /* !_POSIX_VERSION */
-
-/* Return the working directory for the current process. Unlike
- job_working_directory, this does not call malloc (), nor do any
- of the functions it calls. This is so that it can safely be called
- from a signal handler. */
-static char *
-current_working_directory ()
-{
- char *dir;
- static char d[PATH_MAX];
-
- dir = get_string_value ("PWD");
-
- if (dir == 0 && the_current_working_directory && no_symbolic_links)
- dir = the_current_working_directory;
-
- if (dir == 0)
- {
- dir = getcwd (d, sizeof(d));
- if (dir)
- dir = d;
- }
-
- return (dir == 0) ? "<unknown>" : dir;
-}
-
-/* Return the working directory for the current process. */
-static char *
-job_working_directory ()
-{
- char *dir;
-
- dir = get_string_value ("PWD");
- if (dir)
- return (savestring (dir));
-
- dir = get_working_directory ("job-working-directory");
- if (dir)
- return (dir);
-
- return (savestring ("<unknown>"));
-}
-
-void
-making_children ()
-{
- if (already_making_children)
- return;
-
- already_making_children = 1;
- start_pipeline ();
-}
-
-void
-stop_making_children ()
-{
- already_making_children = 0;
-}
-
-void
-cleanup_the_pipeline ()
-{
- if (the_pipeline)
- {
- discard_pipeline (the_pipeline);
- the_pipeline = (PROCESS *)NULL;
- }
-}
-
-void
-save_pipeline (clear)
- int clear;
-{
- saved_pipeline = the_pipeline;
- saved_already_making_children = already_making_children;
- if (clear)
- the_pipeline = (PROCESS *)NULL;
-}
-
-void
-restore_pipeline (discard)
- int discard;
-{
- PROCESS *old_pipeline;
-
- old_pipeline = the_pipeline;
- the_pipeline = saved_pipeline;
- already_making_children = saved_already_making_children;
- if (discard)
- discard_pipeline (old_pipeline);
-}
-
-/* Start building a pipeline. */
-void
-start_pipeline ()
-{
- if (the_pipeline)
- {
- cleanup_the_pipeline ();
- pipeline_pgrp = 0;
-#if defined (PGRP_PIPE)
- pipe_close (pgrp_pipe);
-#endif
- }
-
-#if defined (PGRP_PIPE)
- if (job_control)
- {
- if (pipe (pgrp_pipe) == -1)
- sys_error ("start_pipeline: pgrp pipe");
- }
-#endif
-}
-
-/* Stop building a pipeline. Install the process list in the job array.
- This returns the index of the newly installed job.
- DEFERRED is a command structure to be executed upon satisfactory
- execution exit of this pipeline. */
-int
-stop_pipeline (async, deferred)
- int async;
- COMMAND *deferred;
-{
- register int i, j;
- JOB *newjob;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
-#if defined (PGRP_PIPE)
- /* The parent closes the process group synchronization pipe. */
- pipe_close (pgrp_pipe);
-#endif
-
- cleanup_dead_jobs ();
-
- if (job_slots == 0)
- {
- job_slots = JOB_SLOTS;
- jobs = (JOB **)xmalloc (job_slots * sizeof (JOB *));
-
- /* Now blank out these new entries. */
- for (i = 0; i < job_slots; i++)
- jobs[i] = (JOB *)NULL;
- }
-
- /* Scan from the last slot backward, looking for the next free one. */
- /* XXX - revisit this interactive assumption */
- if (interactive)
- {
- for (i = job_slots; i; i--)
- if (jobs[i - 1])
- break;
- }
- else
- {
- /* If we're not interactive, we don't need to monotonically increase
- the job number (in fact, we don't care about the job number at all),
- so we can simply scan for the first free slot. This helps to keep
- us from continuously reallocating the jobs array when running
- certain kinds of shell loops, and saves time spent searching. */
- for (i = 0; i < job_slots; i++)
- if (jobs[i] == 0)
- break;
- }
-
- /* Do we need more room? */
-
- /* First try compaction */
- if (subshell_environment && interactive_shell && i == job_slots && job_slots >= MAX_JOBS_IN_ARRAY)
- i = compact_jobs_list (0);
-
- /* If we can't compact, reallocate */
- if (i == job_slots)
- {
- job_slots += JOB_SLOTS;
- jobs = (JOB **)xrealloc (jobs, ((1 + job_slots) * sizeof (JOB *)));
-
- for (j = i; j < job_slots; j++)
- jobs[j] = (JOB *)NULL;
- }
-
- /* Add the current pipeline to the job list. */
- if (the_pipeline)
- {
- register PROCESS *p;
- int any_alive, any_stopped;
-
- newjob = (JOB *)xmalloc (sizeof (JOB));
-
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- p->next = (PROCESS *)NULL;
- newjob->pipe = REVERSE_LIST (the_pipeline, PROCESS *);
- for (p = newjob->pipe; p->next; p = p->next)
- ;
- p->next = newjob->pipe;
-
- the_pipeline = (PROCESS *)NULL;
- newjob->pgrp = pipeline_pgrp;
- pipeline_pgrp = 0;
-
- newjob->flags = 0;
-
- /* Flag to see if in another pgrp. */
- if (job_control)
- newjob->flags |= J_JOBCONTROL;
-
- /* Set the state of this pipeline. */
- p = newjob->pipe;
- any_alive = any_stopped = 0;
- do
- {
- any_alive |= p->running;
- any_stopped |= WIFSTOPPED (p->status);
- p = p->next;
- }
- while (p != newjob->pipe);
-
- newjob->state = any_alive ? JRUNNING : (any_stopped ? JSTOPPED : JDEAD);
- newjob->wd = job_working_directory ();
- newjob->deferred = deferred;
-
- newjob->j_cleanup = (sh_vptrfunc_t *)NULL;
- newjob->cleanarg = (PTR_T) NULL;
-
- jobs[i] = newjob;
- if (newjob->state == JDEAD && (newjob->flags & J_FOREGROUND))
- setjstatus (i);
- }
- else
- newjob = (JOB *)NULL;
-
- if (async)
- {
- if (newjob)
- newjob->flags &= ~J_FOREGROUND;
- reset_current ();
- }
- else
- {
- if (newjob)
- {
- newjob->flags |= J_FOREGROUND;
- /*
- * !!!!! NOTE !!!!! (chet@ins.cwru.edu)
- *
- * The currently-accepted job control wisdom says to set the
- * terminal's process group n+1 times in an n-step pipeline:
- * once in the parent and once in each child. This is where
- * the parent gives it away.
- *
- */
- if (job_control && newjob->pgrp)
- give_terminal_to (newjob->pgrp, 0);
- }
- }
-
- stop_making_children ();
- UNBLOCK_CHILD (oset);
- return (current_job);
-}
-
-/* Delete all DEAD jobs that the user had received notification about. */
-static void
-cleanup_dead_jobs ()
-{
- register int i;
- int os;
-
- if (job_slots == 0 || jobs_list_frozen)
- return;
-
- QUEUE_SIGCHLD(os);
-
- for (i = 0; i < job_slots; i++)
- if (jobs[i] && DEADJOB (i) && IS_NOTIFIED (i))
- delete_job (i, 0);
-
- UNQUEUE_SIGCHLD(os);
-}
-
-/* Compact the jobs list by removing dead jobs. Assumed that we have filled
- the jobs array to some predefined maximum. Called when the shell is not
- the foreground process (subshell_environment != 0). Returns the first
- available slot in the compacted list. If that value is job_slots, then
- the list needs to be reallocated. The jobs array is in new memory if
- this returns > 0 and < job_slots. FLAGS is reserved for future use. */
-static int
-compact_jobs_list (flags)
- int flags;
-{
- sigset_t set, oset;
- register int i, j;
- int nremove, ndel;
- JOB **newlist;
-
- if (job_slots == 0 || jobs_list_frozen)
- return job_slots;
-
- if (child_max < 0)
- child_max = getmaxchild ();
-
- /* Take out at most a quarter of the jobs in the jobs array, but leave at
- least child_max */
- nremove = job_slots >> 2;
- if ((job_slots - nremove) < child_max)
- nremove = job_slots - child_max;
-
- /* need to increase jobs list to at least CHILD_MAX entries */
- if (nremove < 0)
- return job_slots;
-
- BLOCK_CHILD (set, oset);
-
- for (ndel = i = 0; i < job_slots; i++)
- if (jobs[i])
- {
- if (DEADJOB (i) && (find_last_pid (i, 0) != last_asynchronous_pid))
- {
- delete_job (i, 0);
- ndel++;
- if (ndel == nremove)
- break;
- }
- }
-
- if (ndel == 0)
- {
- UNBLOCK_CHILD (oset);
- return job_slots;
- }
-
- newlist = (JOB **)xmalloc ((1 + job_slots) * sizeof (JOB *));
- for (i = j = 0; i < job_slots; i++)
- if (jobs[i])
- newlist[j++] = jobs[i];
-
- ndel = j;
- for ( ; j < job_slots; j++)
- newlist[j] = (JOB *)NULL;
-
- free (jobs);
- jobs = newlist;
-
- UNBLOCK_CHILD (oset);
-
- return ndel;
-}
-
-/* Delete the job at INDEX from the job list. Must be called
- with SIGCHLD blocked. */
-void
-delete_job (job_index, warn_stopped)
- int job_index, warn_stopped;
-{
- register JOB *temp;
-
- if (job_slots == 0 || jobs_list_frozen)
- return;
-
- if (warn_stopped && subshell_environment == 0 && STOPPED (job_index))
- internal_warning (_("deleting stopped job %d with process group %ld"), job_index+1, (long)jobs[job_index]->pgrp);
-
- temp = jobs[job_index];
- if (job_index == current_job || job_index == previous_job)
- reset_current ();
-
- jobs[job_index] = (JOB *)NULL;
-
- free (temp->wd);
- discard_pipeline (temp->pipe);
-
- if (temp->deferred)
- dispose_command (temp->deferred);
-
- free (temp);
-}
-
-/* Must be called with SIGCHLD blocked. */
-void
-nohup_job (job_index)
- int job_index;
-{
- register JOB *temp;
-
- if (job_slots == 0)
- return;
-
- if (temp = jobs[job_index])
- temp->flags |= J_NOHUP;
-}
-
-/* Get rid of the data structure associated with a process chain. */
-static void
-discard_pipeline (chain)
- register PROCESS *chain;
-{
- register PROCESS *this, *next;
-
- this = chain;
- do
- {
- next = this->next;
- FREE (this->command);
- free (this);
- this = next;
- }
- while (this != chain);
-}
-
-/* Add this process to the chain being built in the_pipeline.
- NAME is the command string that will be exec'ed later.
- PID is the process id of the child. */
-static void
-add_process (name, pid)
- char *name;
- pid_t pid;
-{
- PROCESS *t, *p;
-
- t = (PROCESS *)xmalloc (sizeof (PROCESS));
- t->next = the_pipeline;
- t->pid = pid;
- WSTATUS (t->status) = 0;
- t->running = PS_RUNNING;
- t->command = name;
- the_pipeline = t;
-
- if (t->next == 0)
- t->next = t;
- else
- {
- p = t->next;
- while (p->next != t->next)
- p = p->next;
- p->next = t;
- }
-}
-
-#if 0
-/* Take the last job and make it the first job. Must be called with
- SIGCHLD blocked. */
-int
-rotate_the_pipeline ()
-{
- PROCESS *p;
-
- if (the_pipeline->next == the_pipeline)
- return;
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- the_pipeline = p;
-}
-
-/* Reverse the order of the processes in the_pipeline. Must be called with
- SIGCHLD blocked. */
-int
-reverse_the_pipeline ()
-{
- PROCESS *p, *n;
-
- if (the_pipeline->next == the_pipeline)
- return;
-
- for (p = the_pipeline; p->next != the_pipeline; p = p->next)
- ;
- p->next = (PROCESS *)NULL;
-
- n = REVERSE_LIST (the_pipeline, PROCESS *);
-
- the_pipeline = n;
- for (p = the_pipeline; p->next; p = p->next)
- ;
- p->next = the_pipeline;
-}
-#endif
-
-/* Map FUNC over the list of jobs. If FUNC returns non-zero,
- then it is time to stop mapping, and that is the return value
- for map_over_jobs. FUNC is called with a JOB, arg1, arg2,
- and INDEX. */
-static int
-map_over_jobs (func, arg1, arg2)
- sh_job_map_func_t *func;
- int arg1, arg2;
-{
- register int i;
- int result;
- sigset_t set, oset;
-
- if (job_slots == 0)
- return 0;
-
- BLOCK_CHILD (set, oset);
-
- for (i = result = 0; i < job_slots; i++)
- {
- if (jobs[i])
- {
- result = (*func)(jobs[i], arg1, arg2, i);
- if (result)
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Cause all the jobs in the current pipeline to exit. */
-void
-terminate_current_pipeline ()
-{
- if (pipeline_pgrp && pipeline_pgrp != shell_pgrp)
- {
- killpg (pipeline_pgrp, SIGTERM);
- killpg (pipeline_pgrp, SIGCONT);
- }
-}
-
-/* Cause all stopped jobs to exit. */
-void
-terminate_stopped_jobs ()
-{
- register int i;
-
- for (i = 0; i < job_slots; i++)
- {
- if (jobs[i] && STOPPED (i))
- {
- killpg (jobs[i]->pgrp, SIGTERM);
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-/* Cause all jobs, running or stopped, to receive a hangup signal. If
- a job is marked J_NOHUP, don't send the SIGHUP. */
-void
-hangup_all_jobs ()
-{
- register int i;
-
- for (i = 0; i < job_slots; i++)
- {
- if (jobs[i])
- {
- if ((jobs[i]->flags & J_NOHUP) == 0)
- killpg (jobs[i]->pgrp, SIGHUP);
- if (STOPPED (i))
- killpg (jobs[i]->pgrp, SIGCONT);
- }
- }
-}
-
-void
-kill_current_pipeline ()
-{
- stop_making_children ();
- start_pipeline ();
-}
-
-/* Return the pipeline that PID belongs to. Note that the pipeline
- doesn't have to belong to a job. Must be called with SIGCHLD blocked. */
-static PROCESS *
-find_pipeline (pid, running_only, jobp)
- pid_t pid;
- int running_only;
- int *jobp; /* index into jobs list or NO_JOB */
-{
- int job;
- register PROCESS *p;
-
- /* See if this process is in the pipeline that we are building. */
- if (jobp)
- *jobp = NO_JOB;
- if (the_pipeline)
- {
- p = the_pipeline;
- do
- {
- /* Return it if we found it. */
- if (p->pid == pid)
- {
- if ((running_only && PRUNNING(p)) || (running_only == 0))
- return (p);
- }
-
- p = p->next;
- }
- while (p != the_pipeline);
- }
-
- job = find_job (pid, running_only);
- if (jobp)
- *jobp = job;
- return (job == NO_JOB) ? (PROCESS *)NULL : jobs[job]->pipe;
-}
-
-/* Return the job index that PID belongs to, or NO_JOB if it doesn't
- belong to any job. Must be called with SIGCHLD blocked. */
-static int
-find_job (pid, running_only)
- pid_t pid;
- int running_only;
-{
- register int i;
- register PROCESS *p;
-
- for (i = 0; i < job_slots; i++)
- {
- if (jobs[i])
- {
- p = jobs[i]->pipe;
-
- do
- {
- if (p->pid == pid)
- {
- if ((running_only && PRUNNING(p)) || (running_only == 0))
- return (i);
- }
-
- p = p->next;
- }
- while (p != jobs[i]->pipe);
- }
- }
-
- return (NO_JOB);
-}
-
-/* Find a job given a PID. If BLOCK is non-zero, block SIGCHLD as
- required by find_job. */
-int
-get_job_by_pid (pid, block)
- pid_t pid;
- int block;
-{
- int job;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0);
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return job;
-}
-
-/* Print descriptive information about the job with leader pid PID. */
-void
-describe_pid (pid)
- pid_t pid;
-{
- int job;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- job = find_job (pid, 0);
-
- if (job != NO_JOB)
- printf ("[%d] %ld\n", job + 1, (long)pid);
- else
- programming_error (_("describe_pid: %ld: no such pid"), (long)pid);
-
- UNBLOCK_CHILD (oset);
-}
-
-static char *
-j_strsignal (s)
- int s;
-{
- char *x;
-
- x = strsignal (s);
- if (x == 0)
- {
- x = retcode_name_buffer;
- sprintf (x, "Signal %d", s);
- }
- return x;
-}
-
-static char *
-printable_job_status (j, p, format)
- int j;
- PROCESS *p;
- int format;
-{
- static char *temp;
- int es;
-
- temp = "Done";
-
- if (STOPPED (j) && format == 0)
- {
- if (posixly_correct == 0 || p == 0 || (WIFSTOPPED (p->status) == 0))
- temp = "Stopped";
- else
- {
- temp = retcode_name_buffer;
- sprintf (temp, "Stopped(%s)", signal_name (WSTOPSIG (p->status)));
- }
- }
- else if (RUNNING (j))
- temp = "Running";
- else
- {
- if (WIFSTOPPED (p->status))
- temp = j_strsignal (WSTOPSIG (p->status));
- else if (WIFSIGNALED (p->status))
- temp = j_strsignal (WTERMSIG (p->status));
- else if (WIFEXITED (p->status))
- {
- temp = retcode_name_buffer;
- es = WEXITSTATUS (p->status);
- if (es == 0)
- strcpy (temp, "Done");
- else if (posixly_correct)
- sprintf (temp, "Done(%d)", es);
- else
- sprintf (temp, "Exit %d", es);
- }
- else
- temp = "Unknown status";
- }
-
- return temp;
-}
-
-/* This is the way to print out information on a job if you
- know the index. FORMAT is:
-
- JLIST_NORMAL) [1]+ Running emacs
- JLIST_LONG ) [1]+ 2378 Running emacs
- -1 ) [1]+ 2378 emacs
-
- JLIST_NORMAL) [1]+ Stopped ls | more
- JLIST_LONG ) [1]+ 2369 Stopped ls
- 2367 | more
- JLIST_PID_ONLY)
- Just list the pid of the process group leader (really
- the process group).
- JLIST_CHANGED_ONLY)
- Use format JLIST_NORMAL, but list only jobs about which
- the user has not been notified. */
-
-/* Print status for pipeline P. If JOB_INDEX is >= 0, it is the index into
- the JOBS array corresponding to this pipeline. FORMAT is as described
- above. Must be called with SIGCHLD blocked.
-
- If you're printing a pipeline that's not in the jobs array, like the
- current pipeline as it's being created, pass -1 for JOB_INDEX */
-static void
-print_pipeline (p, job_index, format, stream)
- PROCESS *p;
- int job_index, format;
- FILE *stream;
-{
- PROCESS *first, *last, *show;
- int es, name_padding;
- char *temp;
-
- if (p == 0)
- return;
-
- first = last = p;
- while (last->next != first)
- last = last->next;
-
- for (;;)
- {
- if (p != first)
- fprintf (stream, format ? " " : " |");
-
- if (format != JLIST_STANDARD)
- fprintf (stream, "%5ld", (long)p->pid);
-
- fprintf (stream, " ");
-
- if (format > -1 && job_index >= 0)
- {
- show = format ? p : last;
- temp = printable_job_status (job_index, show, format);
-
- if (p != first)
- {
- if (format)
- {
- if (show->running == first->running &&
- WSTATUS (show->status) == WSTATUS (first->status))
- temp = "";
- }
- else
- temp = (char *)NULL;
- }
-
- if (temp)
- {
- fprintf (stream, "%s", temp);
-
- es = STRLEN (temp);
- if (es == 0)
- es = 2; /* strlen ("| ") */
- name_padding = LONGEST_SIGNAL_DESC - es;
-
- fprintf (stream, "%*s", name_padding, "");
-
- if ((WIFSTOPPED (show->status) == 0) &&
- (WIFCONTINUED (show->status) == 0) &&
- WIFCORED (show->status))
- fprintf (stream, "(core dumped) ");
- }
- }
-
- if (p != first && format)
- fprintf (stream, "| ");
-
- if (p->command)
- fprintf (stream, "%s", p->command);
-
- if (p == last && job_index >= 0)
- {
- temp = current_working_directory ();
-
- if (RUNNING (job_index) && (IS_FOREGROUND (job_index) == 0))
- fprintf (stream, " &");
-
- if (strcmp (temp, jobs[job_index]->wd) != 0)
- fprintf (stream,
- " (wd: %s)", polite_directory_format (jobs[job_index]->wd));
- }
-
- if (format || (p == last))
- {
- /* We need to add a CR only if this is an interactive shell, and
- we're reporting the status of a completed job asynchronously.
- We can't really check whether this particular job is being
- reported asynchronously, so just add the CR if the shell is
- currently interactive and asynchronous notification is enabled. */
- if (asynchronous_notification && interactive)
- fprintf (stream, "\r\n");
- else
- fprintf (stream, "\n");
- }
-
- if (p == last)
- break;
- p = p->next;
- }
- fflush (stream);
-}
-
-/* Print information to STREAM about jobs[JOB_INDEX] according to FORMAT.
- Must be called with SIGCHLD blocked or queued with queue_sigchld */
-static void
-pretty_print_job (job_index, format, stream)
- int job_index, format;
- FILE *stream;
-{
- register PROCESS *p;
-
- /* Format only pid information about the process group leader? */
- if (format == JLIST_PID_ONLY)
- {
- fprintf (stream, "%ld\n", (long)jobs[job_index]->pipe->pid);
- return;
- }
-
- if (format == JLIST_CHANGED_ONLY)
- {
- if (IS_NOTIFIED (job_index))
- return;
- format = JLIST_STANDARD;
- }
-
- if (format != JLIST_NONINTERACTIVE)
- fprintf (stream, "[%d]%c ", job_index + 1,
- (job_index == current_job) ? '+':
- (job_index == previous_job) ? '-' : ' ');
-
- if (format == JLIST_NONINTERACTIVE)
- format = JLIST_LONG;
-
- p = jobs[job_index]->pipe;
-
- print_pipeline (p, job_index, format, stream);
-
- /* We have printed information about this job. When the job's
- status changes, waitchld () sets the notification flag to 0. */
- jobs[job_index]->flags |= J_NOTIFIED;
-}
-
-static int
-print_job (job, format, state, job_index)
- JOB *job;
- int format, state, job_index;
-{
- if (state == -1 || (JOB_STATE)state == job->state)
- pretty_print_job (job_index, format, stdout);
- return (0);
-}
-
-void
-list_one_job (job, format, ignore, job_index)
- JOB *job;
- int format, ignore, job_index;
-{
- pretty_print_job (job_index, format, stdout);
-}
-
-void
-list_stopped_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JSTOPPED);
-}
-
-void
-list_running_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, (int)JRUNNING);
-}
-
-/* List jobs. If FORMAT is non-zero, then the long form of the information
- is printed, else just a short version. */
-void
-list_all_jobs (format)
- int format;
-{
- cleanup_dead_jobs ();
- map_over_jobs (print_job, format, -1);
-}
-
-/* Fork, handling errors. Returns the pid of the newly made child, or 0.
- COMMAND is just for remembering the name of the command; we don't do
- anything else with it. ASYNC_P says what to do with the tty. If
- non-zero, then don't give it away. */
-pid_t
-make_child (command, async_p)
- char *command;
- int async_p;
-{
- sigset_t set, oset;
- pid_t pid;
-
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGINT);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- making_children ();
-
-#if defined (BUFFERED_INPUT)
- /* If default_buffered_input is active, we are reading a script. If
- the command is asynchronous, we have already duplicated /dev/null
- as fd 0, but have not changed the buffered stream corresponding to
- the old fd 0. We don't want to sync the stream in this case. */
- if (default_buffered_input != -1 &&
- (!async_p || default_buffered_input > 0))
- sync_buffered_stream (default_buffered_input);
-#endif /* BUFFERED_INPUT */
-
- /* Create the child, handle severe errors. */
- if ((pid = fork ()) < 0)
- {
- sys_error ("fork");
-
- /* Kill all of the processes in the current pipeline. */
- terminate_current_pipeline ();
-
- /* Discard the current pipeline, if any. */
- if (the_pipeline)
- kill_current_pipeline ();
-
- throw_to_top_level (); /* Reset signals, etc. */
- }
-
- if (pid == 0)
- {
- /* In the child. Give this child the right process group, set the
- signals to the default state for a new process. */
- pid_t mypid;
-
- mypid = getpid ();
-#if defined (BUFFERED_INPUT)
- /* Close default_buffered_input if it's > 0. We don't close it if it's
- 0 because that's the file descriptor used when redirecting input,
- and it's wrong to close the file in that case. */
- unset_bash_input (0);
-#endif /* BUFFERED_INPUT */
-
- /* Restore top-level signal mask. */
- sigprocmask (SIG_SETMASK, &top_level_mask, (sigset_t *)NULL);
-
- if (job_control)
- {
- /* All processes in this pipeline belong in the same
- process group. */
-
- if (pipeline_pgrp == 0) /* This is the first child. */
- pipeline_pgrp = mypid;
-
- /* Check for running command in backquotes. */
- if (pipeline_pgrp == shell_pgrp)
- ignore_tty_job_signals ();
- else
- default_tty_job_signals ();
-
- /* Set the process group before trying to mess with the terminal's
- process group. This is mandated by POSIX. */
- /* This is in accordance with the Posix 1003.1 standard,
- section B.7.2.4, which says that trying to set the terminal
- process group with tcsetpgrp() to an unused pgrp value (like
- this would have for the first child) is an error. Section
- B.4.3.3, p. 237 also covers this, in the context of job control
- shells. */
- if (setpgid (mypid, pipeline_pgrp) < 0)
- sys_error ("child setpgid (%ld to %ld)", (long)mypid, (long)pipeline_pgrp);
-
- /* By convention (and assumption above), if
- pipeline_pgrp == shell_pgrp, we are making a child for
- command substitution.
- In this case, we don't want to give the terminal to the
- shell's process group (we could be in the middle of a
- pipeline, for example). */
- if (async_p == 0 && pipeline_pgrp != shell_pgrp)
- give_terminal_to (pipeline_pgrp, 0);
-
-#if defined (PGRP_PIPE)
- if (pipeline_pgrp == mypid)
- pipe_read (pgrp_pipe);
-#endif
- }
- else /* Without job control... */
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
-
- /* If these signals are set to SIG_DFL, we encounter the curious
- situation of an interactive ^Z to a running process *working*
- and stopping the process, but being unable to do anything with
- that process to change its state. On the other hand, if they
- are set to SIG_IGN, jobs started from scripts do not stop when
- the shell running the script gets a SIGTSTP and stops. */
-
- default_tty_job_signals ();
- }
-
-#if defined (PGRP_PIPE)
- /* Release the process group pipe, since our call to setpgid ()
- is done. The last call to pipe_close is done in stop_pipeline. */
- pipe_close (pgrp_pipe);
-#endif /* PGRP_PIPE */
-
- if (async_p)
- last_asynchronous_pid = getpid ();
- }
- else
- {
- /* In the parent. Remember the pid of the child just created
- as the proper pgrp if this is the first child. */
-
- if (job_control)
- {
- if (pipeline_pgrp == 0)
- {
- pipeline_pgrp = pid;
- /* Don't twiddle terminal pgrps in the parent! This is the bug,
- not the good thing of twiddling them in the child! */
- /* give_terminal_to (pipeline_pgrp, 0); */
- }
- /* This is done on the recommendation of the Rationale section of
- the POSIX 1003.1 standard, where it discusses job control and
- shells. It is done to avoid possible race conditions. (Ref.
- 1003.1 Rationale, section B.4.3.3, page 236). */
- setpgid (pid, pipeline_pgrp);
- }
- else
- {
- if (pipeline_pgrp == 0)
- pipeline_pgrp = shell_pgrp;
- }
-
- /* Place all processes into the jobs array regardless of the
- state of job_control. */
- add_process (command, pid);
-
- if (async_p)
- last_asynchronous_pid = pid;
-
- last_made_pid = pid;
-
- /* Unblock SIGINT and SIGCHLD. */
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return (pid);
-}
-
-/* These two functions are called only in child processes. */
-void
-ignore_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
-}
-
-void
-default_tty_job_signals ()
-{
- set_signal_handler (SIGTSTP, SIG_DFL);
- set_signal_handler (SIGTTIN, SIG_DFL);
- set_signal_handler (SIGTTOU, SIG_DFL);
-}
-
-/* When we end a job abnormally, or if we stop a job, we set the tty to the
- state kept in here. When a job ends normally, we set the state in here
- to the state of the tty. */
-
-static TTYSTRUCT shell_tty_info;
-
-#if defined (NEW_TTY_DRIVER)
-static struct tchars shell_tchars;
-static struct ltchars shell_ltchars;
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (NEW_TTY_DRIVER) && defined (DRAIN_OUTPUT)
-/* Since the BSD tty driver does not allow us to change the tty modes
- while simultaneously waiting for output to drain and preserving
- typeahead, we have to drain the output ourselves before calling
- ioctl. We cheat by finding the length of the output queue, and
- using select to wait for an appropriate length of time. This is
- a hack, and should be labeled as such (it's a hastily-adapted
- mutation of a `usleep' implementation). It's only reason for
- existing is the flaw in the BSD tty driver. */
-
-static int ttspeeds[] =
-{
- 0, 50, 75, 110, 134, 150, 200, 300, 600, 1200,
- 1800, 2400, 4800, 9600, 19200, 38400
-};
-
-static void
-draino (fd, ospeed)
- int fd, ospeed;
-{
- register int delay = ttspeeds[ospeed];
- int n;
-
- if (!delay)
- return;
-
- while ((ioctl (fd, TIOCOUTQ, &n) == 0) && n)
- {
- if (n > (delay / 100))
- {
- struct timeval tv;
-
- n *= 10; /* 2 bits more for conservativeness. */
- tv.tv_sec = n / delay;
- tv.tv_usec = ((n % delay) * 1000000) / delay;
- select (fd, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv);
- }
- else
- break;
- }
-}
-#endif /* NEW_TTY_DRIVER && DRAIN_OUTPUT */
-
-/* Return the fd from which we are actually getting input. */
-#define input_tty() (shell_tty != -1) ? shell_tty : fileno (stderr)
-
-/* Fill the contents of shell_tty_info with the current tty info. */
-int
-get_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
- ioctl (tty, TIOCGETP, &shell_tty_info);
- ioctl (tty, TIOCGETC, &shell_tchars);
- ioctl (tty, TIOCGLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCGETA, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- {
-#if 0
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcgetattr", (long)getpid (), shell_level);
-#endif
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- if (check_window_size)
- get_new_window_size (0);
- }
- return 0;
-}
-
-/* Make the current tty use the state in shell_tty_info. */
-int
-set_tty_state ()
-{
- int tty;
-
- tty = input_tty ();
- if (tty != -1)
- {
-#if defined (NEW_TTY_DRIVER)
-# if defined (DRAIN_OUTPUT)
- draino (tty, shell_tty_info.sg_ospeed);
-# endif /* DRAIN_OUTPUT */
- ioctl (tty, TIOCSETN, &shell_tty_info);
- ioctl (tty, TIOCSETC, &shell_tchars);
- ioctl (tty, TIOCSLTC, &shell_ltchars);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
- ioctl (tty, TCSETAW, &shell_tty_info);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- {
- /* Only print an error message if we're really interactive at
- this time. */
- if (interactive)
- sys_error ("[%ld: %d] tcsetattr", (long)getpid (), shell_level);
- return -1;
- }
-#endif /* TERMIOS_TTY_DRIVER */
- }
- return 0;
-}
-
-/* Given an index into the jobs array JOB, return the pid of the last
- process in that job's pipeline. This is the one whose exit status
- counts. Must be called with SIGCHLD blocked or queued. */
-static pid_t
-find_last_pid (job, block)
- int job;
- int block;
-{
- register PROCESS *p;
- sigset_t set, oset;
-
- if (block)
- BLOCK_CHILD (set, oset);
-
- p = jobs[job]->pipe;
- while (p->next != jobs[job]->pipe)
- p = p->next;
-
- if (block)
- UNBLOCK_CHILD (oset);
-
- return (p->pid);
-}
-
-/* Wait for a particular child of the shell to finish executing.
- This low-level function prints an error message if PID is not
- a child of this shell. It returns -1 if it fails, or whatever
- wait_for returns otherwise. If the child is not found in the
- jobs table, it returns 127. */
-int
-wait_for_single_pid (pid)
- pid_t pid;
-{
- register PROCESS *child;
- sigset_t set, oset;
- int r, job;
-
- BLOCK_CHILD (set, oset);
- child = find_pipeline (pid, 0, (int *)NULL);
- UNBLOCK_CHILD (oset);
-
- if (child == 0)
- {
- internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
- return (127);
- }
-
- r = wait_for (pid);
-
- /* POSIX.2: if we just waited for a job, we can remove it from the jobs
- table. */
- BLOCK_CHILD (set, oset);
- job = find_job (pid, 0);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- return r;
-}
-
-/* Wait for all of the backgrounds of this shell to finish. */
-void
-wait_for_background_pids ()
-{
- register int i, r, waited_for;
- sigset_t set, oset;
- pid_t pid;
-
- for (waited_for = 0;;)
- {
- BLOCK_CHILD (set, oset);
-
- /* find first running job; if none running in foreground, break */
- for (i = 0; i < job_slots; i++)
- if (jobs[i] && RUNNING (i) && IS_FOREGROUND (i) == 0)
- break;
-
- if (i == job_slots)
- {
- UNBLOCK_CHILD (oset);
- break;
- }
-
- /* now wait for the last pid in that job. */
- pid = find_last_pid (i, 0);
- UNBLOCK_CHILD (oset);
- QUIT;
- errno = 0; /* XXX */
- r = wait_for_single_pid (pid);
- if (r == -1)
- {
- /* If we're mistaken about job state, compensate. */
- if (errno == ECHILD)
- mark_all_jobs_as_dead ();
- }
- else
- waited_for++;
- }
-
- /* POSIX.2 says the shell can discard the statuses of all completed jobs if
- `wait' is called with no arguments. */
- mark_dead_jobs_as_notified (1);
- cleanup_dead_jobs ();
-}
-
-/* Make OLD_SIGINT_HANDLER the SIGINT signal handler. */
-#define INVALID_SIGNAL_HANDLER (SigHandler *)wait_for_background_pids
-static SigHandler *old_sigint_handler = INVALID_SIGNAL_HANDLER;
-
-static void
-restore_sigint_handler ()
-{
- if (old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- set_signal_handler (SIGINT, old_sigint_handler);
- old_sigint_handler = INVALID_SIGNAL_HANDLER;
- }
-}
-
-static int wait_sigint_received;
-
-/* Handle SIGINT while we are waiting for children in a script to exit.
- The `wait' builtin should be interruptible, but all others should be
- effectively ignored (i.e. not cause the shell to exit). */
-static sighandler
-wait_sigint_handler (sig)
- int sig;
-{
- SigHandler *sigint_handler;
-
- if (interrupt_immediately ||
- (this_shell_builtin && this_shell_builtin == wait_builtin))
- {
- last_command_exit_value = EXECUTION_FAILURE;
- restore_sigint_handler ();
- /* If we got a SIGINT while in `wait', and SIGINT is trapped, do
- what POSIX.2 says (see builtins/wait.def for more info). */
- if (this_shell_builtin && this_shell_builtin == wait_builtin &&
- signal_is_trapped (SIGINT) &&
- ((sigint_handler = trap_to_sighandler (SIGINT)) == trap_handler))
- {
- interrupt_immediately = 0;
- trap_handler (SIGINT); /* set pending_traps[SIGINT] */
- wait_signal_received = SIGINT;
- longjmp (wait_intr_buf, 1);
- }
-
- ADDINTERRUPT;
- QUIT;
- }
-
- /* XXX - should this be interrupt_state? If it is, the shell will act
- as if it got the SIGINT interrupt. */
- wait_sigint_received = 1;
-
- /* Otherwise effectively ignore the SIGINT and allow the running job to
- be killed. */
- SIGRETURN (0);
-}
-
-static int
-process_exit_signal (status)
- WAIT status;
-{
- return (WIFSIGNALED (status) ? WTERMSIG (status) : 0);
-}
-
-static int
-process_exit_status (status)
- WAIT status;
-{
- if (WIFSIGNALED (status))
- return (128 + WTERMSIG (status));
- else if (WIFSTOPPED (status) == 0)
- return (WEXITSTATUS (status));
- else
- return (EXECUTION_SUCCESS);
-}
-
-/* Return the exit status of the last process in the pipeline for job JOB.
- This is the exit status of the entire job. */
-static WAIT
-raw_job_exit_status (job)
- int job;
-{
- register PROCESS *p;
- int fail;
-
- if (pipefail_opt)
- {
- fail = 0;
- for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
- if (p->status != EXECUTION_SUCCESS) fail = p->status;
- return fail;
- }
-
- for (p = jobs[job]->pipe; p->next != jobs[job]->pipe; p = p->next)
- ;
- return (p->status);
-}
-
-/* Return the exit status of job JOB. This is the exit status of the last
- (rightmost) process in the job's pipeline, modified if the job was killed
- by a signal or stopped. */
-static int
-job_exit_status (job)
- int job;
-{
- return (process_exit_status (raw_job_exit_status (job)));
-}
-
-static int
-job_exit_signal (job)
- int job;
-{
- return (process_exit_signal (raw_job_exit_status (job)));
-}
-
-#define FIND_CHILD(pid, child) \
- do \
- { \
- child = find_pipeline (pid, 0, (int *)NULL); \
- if (child == 0) \
- { \
- give_terminal_to (shell_pgrp, 0); \
- UNBLOCK_CHILD (oset); \
- internal_error (_("wait_for: No record of process %ld"), (long)pid); \
- restore_sigint_handler (); \
- return (termination_state = 127); \
- } \
- } \
- while (0)
-
-/* Wait for pid (one of our children) to terminate, then
- return the termination state. Returns 127 if PID is not found in
- the jobs table. Returns -1 if waitchld() returns -1, indicating
- that there are no unwaited-for child processes. */
-int
-wait_for (pid)
- pid_t pid;
-{
- int job, termination_state, r;
- WAIT s;
- register PROCESS *child;
- sigset_t set, oset;
- register PROCESS *p;
-
- /* In the case that this code is interrupted, and we longjmp () out of it,
- we are relying on the code in throw_to_top_level () to restore the
- top-level signal mask. */
- BLOCK_CHILD (set, oset);
-
- /* Ignore interrupts while waiting for a job run without job control
- to finish. We don't want the shell to exit if an interrupt is
- received, only if one of the jobs run is killed via SIGINT. If
- job control is not set, the job will be run in the same pgrp as
- the shell, and the shell will see any signals the job gets. */
-
- /* This is possibly a race condition -- should it go in stop_pipeline? */
- wait_sigint_received = 0;
- if (job_control == 0)
- old_sigint_handler = set_signal_handler (SIGINT, wait_sigint_handler);
-
- termination_state = last_command_exit_value;
-
- if (interactive && job_control == 0)
- QUIT;
-
- /* If we say wait_for (), then we have a record of this child somewhere.
- If it and none of its peers are running, don't call waitchld(). */
-
- job = NO_JOB;
- do
- {
- FIND_CHILD (pid, child);
-
- /* If this child is part of a job, then we are really waiting for the
- job to finish. Otherwise, we are waiting for the child to finish.
- We check for JDEAD in case the job state has been set by waitchld
- after receipt of a SIGCHLD. */
- if (job == NO_JOB)
- job = find_job (pid, 0);
-
- /* waitchld() takes care of setting the state of the job. If the job
- has already exited before this is called, sigchld_handler will have
- called waitchld and the state will be set to JDEAD. */
-
- if (child->running || (job != NO_JOB && RUNNING (job)))
- {
-#if defined (WAITPID_BROKEN) /* SCOv4 */
- sigset_t suspend_set;
- sigemptyset (&suspend_set);
- sigsuspend (&suspend_set);
-#else /* !WAITPID_BROKEN */
-# if defined (MUST_UNBLOCK_CHLD)
- struct sigaction act, oact;
- sigset_t nullset, chldset;
-
- sigemptyset (&nullset);
- sigemptyset (&chldset);
- sigprocmask (SIG_SETMASK, &nullset, &chldset);
- act.sa_handler = SIG_DFL;
- sigemptyset (&act.sa_mask);
- sigemptyset (&oact.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGCHLD, &act, &oact);
-# endif
- queue_sigchld = 1;
- r = waitchld (pid, 1);
-# if defined (MUST_UNBLOCK_CHLD)
- sigaction (SIGCHLD, &oact, (struct sigaction *)NULL);
- sigprocmask (SIG_SETMASK, &chldset, (sigset_t *)NULL);
-# endif
- queue_sigchld = 0;
- if (r == -1 && errno == ECHILD && this_shell_builtin == wait_builtin)
- {
- termination_state = -1;
- goto wait_for_return;
- }
-
- /* If child is marked as running, but waitpid() returns -1/ECHILD,
- there is something wrong. Somewhere, wait should have returned
- that child's pid. Mark the child as not running and the job,
- if it exists, as JDEAD. */
- if (r == -1 && errno == ECHILD)
- {
- child->running = PS_DONE;
- child->status = 0; /* XXX -- can't find true status */
- if (job != NO_JOB)
- jobs[job]->state = JDEAD;
- }
-#endif /* WAITPID_BROKEN */
- }
-
- /* If the shell is interactive, and job control is disabled, see
- if the foreground process has died due to SIGINT and jump out
- of the wait loop if it has. waitchld has already restored the
- old SIGINT signal handler. */
- if (interactive && job_control == 0)
- QUIT;
- }
- while (child->running || (job != NO_JOB && RUNNING (job)));
-
- /* The exit state of the command is either the termination state of the
- child, or the termination state of the job. If a job, the status
- of the last child in the pipeline is the significant one. If the command
- or job was terminated by a signal, note that value also. */
- termination_state = (job != NO_JOB) ? job_exit_status (job)
- : process_exit_status (child->status);
- last_command_exit_signal = (job != NO_JOB) ? job_exit_signal (job)
- : process_exit_signal (child->status);
-
- if (job == NO_JOB || IS_JOBCONTROL (job))
- {
- /* XXX - under what circumstances is a job not present in the jobs
- table (job == NO_JOB)?
- 1. command substitution
-
- In the case of command substitution, at least, it's probably not
- the right thing to give the terminal to the shell's process group,
- even though there is code in subst.c:command_substitute to work
- around it.
-
- Things that don't:
- $PROMPT_COMMAND execution
- process substitution
- */
-#if 0
-if (job == NO_JOB)
- itrace("wait_for: job == NO_JOB, giving the terminal to shell_pgrp (%ld)", (long)shell_pgrp);
-#endif
-
- give_terminal_to (shell_pgrp, 0);
- }
-
- /* If the command did not exit cleanly, or the job is just
- being stopped, then reset the tty state back to what it
- was before this command. Reset the tty state and notify
- the user of the job termination only if the shell is
- interactive. Clean up any dead jobs in either case. */
- if (job != NO_JOB)
- {
- if (interactive_shell && subshell_environment == 0)
- {
- /* This used to use `child->status'. That's wrong, however, for
- pipelines. `child' is the first process in the pipeline. It's
- likely that the process we want to check for abnormal termination
- or stopping is the last process in the pipeline, especially if
- it's long-lived and the first process is short-lived. Since we
- know we have a job here, we can check all the processes in this
- job's pipeline and see if one of them stopped or terminated due
- to a signal. We might want to change this later to just check
- the last process in the pipeline. If no process exits due to a
- signal, S is left as the status of the last job in the pipeline. */
- p = jobs[job]->pipe;
- do
- {
- s = p->status;
- if (WIFSIGNALED(s) || WIFSTOPPED(s))
- break;
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (WIFSIGNALED (s) || WIFSTOPPED (s))
- {
- set_tty_state ();
-
- /* If the current job was stopped or killed by a signal, and
- the user has requested it, get a possibly new window size */
- if (check_window_size && (job == current_job || IS_FOREGROUND (job)))
- get_new_window_size (0);
- }
- else
- get_tty_state ();
-
- /* If job control is enabled, the job was started with job
- control, the job was the foreground job, and it was killed
- by SIGINT, then print a newline to compensate for the kernel
- printing the ^C without a trailing newline. */
- if (job_control && IS_JOBCONTROL (job) && IS_FOREGROUND (job) &&
- WIFSIGNALED (s) && WTERMSIG (s) == SIGINT)
- {
- /* If SIGINT is not trapped and the shell is in a for, while,
- or until loop, act as if the shell received SIGINT as
- well, so the loop can be broken. This doesn't call the
- SIGINT signal handler; maybe it should. */
- if (signal_is_trapped (SIGINT) == 0 && loop_level)
- ADDINTERRUPT;
- else
- {
- putchar ('\n');
- fflush (stdout);
- }
- }
- }
-
- /* Moved here from set_job_status_and_cleanup, which is in the SIGCHLD
- signal handler path */
- if (DEADJOB (job) && IS_FOREGROUND (job) /*&& subshell_environment == 0*/)
- setjstatus (job);
-
- /* If this job is dead, notify the user of the status. If the shell
- is interactive, this will display a message on the terminal. If
- the shell is not interactive, make sure we turn on the notify bit
- so we don't get an unwanted message about the job's termination,
- and so delete_job really clears the slot in the jobs table. */
- notify_and_cleanup ();
- }
-
-wait_for_return:
-
- UNBLOCK_CHILD (oset);
-
- /* Restore the original SIGINT signal handler before we return. */
- restore_sigint_handler ();
-
- return (termination_state);
-}
-
-/* Wait for the last process in the pipeline for JOB. Returns whatever
- wait_for returns: the last process's termination state or -1 if there
- are no unwaited-for child processes or an error occurs. */
-int
-wait_for_job (job)
- int job;
-{
- pid_t pid;
- int r;
- sigset_t set, oset;
-
- BLOCK_CHILD(set, oset);
- if (JOBSTATE (job) == JSTOPPED)
- internal_warning (_("wait_for_job: job %d is stopped"), job+1);
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD(oset);
- r = wait_for (pid);
-
- /* POSIX.2: we can remove the job from the jobs table if we just waited
- for it. */
- BLOCK_CHILD (set, oset);
- if (job != NO_JOB && jobs[job] && DEADJOB (job))
- jobs[job]->flags |= J_NOTIFIED;
- UNBLOCK_CHILD (oset);
-
- return r;
-}
-
-/* Print info about dead jobs, and then delete them from the list
- of known jobs. This does not actually delete jobs when the
- shell is not interactive, because the dead jobs are not marked
- as notified. */
-void
-notify_and_cleanup ()
-{
- if (jobs_list_frozen)
- return;
-
- if (interactive || interactive_shell == 0 || sourcelevel)
- notify_of_job_status ();
-
- cleanup_dead_jobs ();
-}
-
-/* Make dead jobs disappear from the jobs array without notification.
- This is used when the shell is not interactive. */
-void
-reap_dead_jobs ()
-{
- mark_dead_jobs_as_notified (0);
- cleanup_dead_jobs ();
-}
-
-/* Return the next closest (chronologically) job to JOB which is in
- STATE. STATE can be JSTOPPED, JRUNNING. NO_JOB is returned if
- there is no next recent job. */
-static int
-most_recent_job_in_state (job, state)
- int job;
- JOB_STATE state;
-{
- register int i, result;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- for (result = NO_JOB, i = job - 1; i >= 0; i--)
- {
- if (jobs[i] && (JOBSTATE (i) == state))
- {
- result = i;
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-
- return (result);
-}
-
-/* Return the newest *stopped* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_stopped (job)
- int job;
-{
- return (most_recent_job_in_state (job, JSTOPPED));
-}
-
-/* Return the newest *running* job older than JOB, or NO_JOB if not
- found. */
-static int
-job_last_running (job)
- int job;
-{
- return (most_recent_job_in_state (job, JRUNNING));
-}
-
-/* Make JOB be the current job, and make previous be useful. Must be
- called with SIGCHLD blocked. */
-static void
-set_current_job (job)
- int job;
-{
- int candidate;
-
- if (current_job != job)
- {
- previous_job = current_job;
- current_job = job;
- }
-
- /* First choice for previous_job is the old current_job. */
- if (previous_job != current_job &&
- previous_job != NO_JOB &&
- jobs[previous_job] &&
- STOPPED (previous_job))
- return;
-
- /* Second choice: Newest stopped job that is older than
- the current job. */
- candidate = NO_JOB;
- if (STOPPED (current_job))
- {
- candidate = job_last_stopped (current_job);
-
- if (candidate != NO_JOB)
- {
- previous_job = candidate;
- return;
- }
- }
-
- /* If we get here, there is either only one stopped job, in which case it is
- the current job and the previous job should be set to the newest running
- job, or there are only running jobs and the previous job should be set to
- the newest running job older than the current job. We decide on which
- alternative to use based on whether or not JOBSTATE(current_job) is
- JSTOPPED. */
-
- candidate = RUNNING (current_job) ? job_last_running (current_job)
- : job_last_running (job_slots);
-
- if (candidate != NO_JOB)
- {
- previous_job = candidate;
- return;
- }
-
- /* There is only a single job, and it is both `+' and `-'. */
- previous_job = current_job;
-}
-
-/* Make current_job be something useful, if it isn't already. */
-
-/* Here's the deal: The newest non-running job should be `+', and the
- next-newest non-running job should be `-'. If there is only a single
- stopped job, the previous_job is the newest non-running job. If there
- are only running jobs, the newest running job is `+' and the
- next-newest running job is `-'. Must be called with SIGCHLD blocked. */
-
-static void
-reset_current ()
-{
- int candidate;
-
- if (job_slots && current_job != NO_JOB && jobs[current_job] && STOPPED (current_job))
- candidate = current_job;
- else
- {
- candidate = NO_JOB;
-
- /* First choice: the previous job. */
- if (previous_job != NO_JOB && jobs[previous_job] && STOPPED (previous_job))
- candidate = previous_job;
-
- /* Second choice: the most recently stopped job. */
- if (candidate == NO_JOB)
- candidate = job_last_stopped (job_slots);
-
- /* Third choice: the newest running job. */
- if (candidate == NO_JOB)
- candidate = job_last_running (job_slots);
- }
-
- /* If we found a job to use, then use it. Otherwise, there
- are no jobs period. */
- if (candidate != NO_JOB)
- set_current_job (candidate);
- else
- current_job = previous_job = NO_JOB;
-}
-
-/* Set up the job structures so we know the job and its processes are
- all running. */
-static void
-set_job_running (job)
- int job;
-{
- register PROCESS *p;
-
- /* Each member of the pipeline is now running. */
- p = jobs[job]->pipe;
-
- do
- {
- if (WIFSTOPPED (p->status))
- p->running = PS_RUNNING; /* XXX - could be PS_STOPPED */
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- /* This means that the job is running. */
- JOBSTATE (job) = JRUNNING;
-}
-
-/* Start a job. FOREGROUND if non-zero says to do that. Otherwise,
- start the job in the background. JOB is a zero-based index into
- JOBS. Returns -1 if it is unable to start a job, and the return
- status of the job otherwise. */
-int
-start_job (job, foreground)
- int job, foreground;
-{
- register PROCESS *p;
- int already_running;
- sigset_t set, oset;
- char *wd;
- static TTYSTRUCT save_stty;
-
- BLOCK_CHILD (set, oset);
-
- if (DEADJOB (job))
- {
- internal_error (_("%s: job has terminated"), this_command_name);
- UNBLOCK_CHILD (oset);
- return (-1);
- }
-
- already_running = RUNNING (job);
-
- if (foreground == 0 && already_running)
- {
- internal_error (_("%s: job %d already in background"), this_command_name, job + 1);
- UNBLOCK_CHILD (oset);
- return (-1);
- }
-
- wd = current_working_directory ();
-
- /* You don't know about the state of this job. Do you? */
- jobs[job]->flags &= ~J_NOTIFIED;
-
- if (foreground)
- {
- set_current_job (job);
- jobs[job]->flags |= J_FOREGROUND;
- }
-
- /* Tell the outside world what we're doing. */
- p = jobs[job]->pipe;
-
- if (foreground == 0)
- fprintf (stderr, "[%d]%c ", job + 1,
- (job == current_job) ? '+': ((job == previous_job) ? '-' : ' '));
-
- do
- {
- fprintf (stderr, "%s%s",
- p->command ? p->command : "",
- p->next != jobs[job]->pipe? " | " : "");
- p = p->next;
- }
- while (p != jobs[job]->pipe);
-
- if (foreground == 0)
- fprintf (stderr, " &");
-
- if (strcmp (wd, jobs[job]->wd) != 0)
- fprintf (stderr, " (wd: %s)", polite_directory_format (jobs[job]->wd));
-
- fprintf (stderr, "\n");
-
- /* Run the job. */
- if (already_running == 0)
- set_job_running (job);
-
- /* Save the tty settings before we start the job in the foreground. */
- if (foreground)
- {
- get_tty_state ();
- save_stty = shell_tty_info;
- /* Give the terminal to this job. */
- if (IS_JOBCONTROL (job))
- give_terminal_to (jobs[job]->pgrp, 0);
- }
- else
- jobs[job]->flags &= ~J_FOREGROUND;
-
- /* If the job is already running, then don't bother jump-starting it. */
- if (already_running == 0)
- {
- jobs[job]->flags |= J_NOTIFIED;
- killpg (jobs[job]->pgrp, SIGCONT);
- }
-
- if (foreground)
- {
- pid_t pid;
- int s;
-
- pid = find_last_pid (job, 0);
- UNBLOCK_CHILD (oset);
- s = wait_for (pid);
- shell_tty_info = save_stty;
- set_tty_state ();
- return (s);
- }
- else
- {
- reset_current ();
- UNBLOCK_CHILD (oset);
- return (0);
- }
-}
-
-/* Give PID SIGNAL. This determines what job the pid belongs to (if any).
- If PID does belong to a job, and the job is stopped, then CONTinue the
- job after giving it SIGNAL. Returns -1 on failure. If GROUP is non-null,
- then kill the process group associated with PID. */
-int
-kill_pid (pid, sig, group)
- pid_t pid;
- int sig, group;
-{
- register PROCESS *p;
- int job, result;
- sigset_t set, oset;
-
- result = EXECUTION_SUCCESS;
- if (group)
- {
- BLOCK_CHILD (set, oset);
- p = find_pipeline (pid, 0, &job);
-
- if (job != NO_JOB)
- {
- jobs[job]->flags &= ~J_NOTIFIED;
-
- /* Kill process in backquotes or one started without job control? */
- if (jobs[job]->pgrp == shell_pgrp)
- {
- p = jobs[job]->pipe;
-
- do
- {
- kill (p->pid, sig);
- if (p->running == PS_DONE && (sig == SIGTERM || sig == SIGHUP))
- kill (p->pid, SIGCONT);
- p = p->next;
- }
- while (p != jobs[job]->pipe);
- }
- else
- {
- result = killpg (jobs[job]->pgrp, sig);
- if (p && STOPPED (job) && (sig == SIGTERM || sig == SIGHUP))
- killpg (jobs[job]->pgrp, SIGCONT);
- /* If we're continuing a stopped job via kill rather than bg or
- fg, emulate the `bg' behavior. */
- if (p && STOPPED (job) && (sig == SIGCONT))
- {
- set_job_running (job);
- jobs[job]->flags &= ~J_FOREGROUND;
- jobs[job]->flags |= J_NOTIFIED;
- }
- }
- }
- else
- result = killpg (pid, sig);
-
- UNBLOCK_CHILD (oset);
- }
- else
- result = kill (pid, sig);
-
- return (result);
-}
-
-/* sigchld_handler () flushes at least one of the children that we are
- waiting for. It gets run when we have gotten a SIGCHLD signal. */
-static sighandler
-sigchld_handler (sig)
- int sig;
-{
- int n, oerrno;
-
- oerrno = errno;
- REINSTALL_SIGCHLD_HANDLER;
- sigchld++;
- n = 0;
- if (queue_sigchld == 0)
- n = waitchld (-1, 0);
- errno = oerrno;
- SIGRETURN (n);
-}
-
-/* waitchld() reaps dead or stopped children. It's called by wait_for and
- sigchld_handler, and runs until there aren't any children terminating any
- more.
- If BLOCK is 1, this is to be a blocking wait for a single child, although
- an arriving SIGCHLD could cause the wait to be non-blocking. It returns
- the number of children reaped, or -1 if there are no unwaited-for child
- processes. */
-static int
-waitchld (wpid, block)
- pid_t wpid;
- int block;
-{
- WAIT status;
- PROCESS *child;
- pid_t pid;
- int call_set_current, last_stopped_job, job, children_exited, waitpid_flags;
-
- call_set_current = children_exited = 0;
- last_stopped_job = NO_JOB;
-
- do
- {
- /* We don't want to be notified about jobs stopping if job control
- is not active. XXX - was interactive_shell instead of job_control */
- waitpid_flags = (job_control && subshell_environment == 0)
- ? (WUNTRACED|WCONTINUED)
- : 0;
- if (sigchld || block == 0)
- waitpid_flags |= WNOHANG;
- pid = WAITPID (-1, &status, waitpid_flags);
-
- /* The check for WNOHANG is to make sure we decrement sigchld only
- if it was non-zero before we called waitpid. */
- if (sigchld > 0 && (waitpid_flags & WNOHANG))
- sigchld--;
-
- /* If waitpid returns -1 with errno == ECHILD, there are no more
- unwaited-for child processes of this shell. */
- if (pid < 0 && errno == ECHILD)
- {
- if (children_exited == 0)
- return -1;
- else
- break;
- }
-
- /* If waitpid returns 0, there are running children. If it returns -1,
- the only other error POSIX says it can return is EINTR. */
- if (pid <= 0)
- continue; /* jumps right to the test */
-
- /* children_exited is used to run traps on SIGCHLD. We don't want to
- run the trap if a process is just being continued. */
- if (WIFCONTINUED(status) == 0)
- children_exited++;
-
- /* Locate our PROCESS for this pid. */
- child = find_pipeline (pid, 1, &job); /* want running procs only */
-
- /* It is not an error to have a child terminate that we did
- not have a record of. This child could have been part of
- a pipeline in backquote substitution. Even so, I'm not
- sure child is ever non-zero. */
- if (child == 0)
- continue;
-
- while (child->pid != pid)
- child = child->next;
-
- /* Remember status, and whether or not the process is running. */
- child->status = status;
- child->running = WIFCONTINUED(status) ? PS_RUNNING : PS_DONE;
-
- if (job == NO_JOB)
- continue;
-
- call_set_current += set_job_status_and_cleanup (job);
-
- if (STOPPED (job))
- last_stopped_job = job;
- else if (DEADJOB (job) && last_stopped_job == job)
- last_stopped_job = NO_JOB;
- }
- while ((sigchld || block == 0) && pid > (pid_t)0);
-
- /* If a job was running and became stopped, then set the current
- job. Otherwise, don't change a thing. */
- if (call_set_current)
- {
- if (last_stopped_job != NO_JOB)
- set_current_job (last_stopped_job);
- else
- reset_current ();
- }
-
- /* Call a SIGCHLD trap handler for each child that exits, if one is set. */
- if (job_control && signal_is_trapped (SIGCHLD) && children_exited &&
- trap_list[SIGCHLD] != (char *)IGNORE_SIG)
- run_sigchld_trap (children_exited);
-
- /* We have successfully recorded the useful information about this process
- that has just changed state. If we notify asynchronously, and the job
- that this process belongs to is no longer running, then notify the user
- of that fact now. */
- if (asynchronous_notification && interactive)
- notify_of_job_status ();
-
- return (children_exited);
-}
-
-/* Set the status of JOB and perform any necessary cleanup if the job is
- marked as JDEAD.
-
- Currently, the cleanup activity is restricted to handling any SIGINT
- received while waiting for a foreground job to finish. */
-static int
-set_job_status_and_cleanup (job)
- int job;
-{
- PROCESS *child;
- int tstatus, job_state, any_stopped, any_tstped, call_set_current;
- SigHandler *temp_handler;
-
- child = jobs[job]->pipe;
- jobs[job]->flags &= ~J_NOTIFIED;
-
- call_set_current = 0;
-
- /*
- * COMPUTE JOB STATUS
- */
-
- /* If all children are not running, but any of them is stopped, then
- the job is stopped, not dead. */
- job_state = any_stopped = any_tstped = 0;
- do
- {
- job_state |= child->running;
- if (child->running == PS_DONE && (WIFSTOPPED (child->status)))
- {
- any_stopped = 1;
- any_tstped |= interactive && job_control &&
- (WSTOPSIG (child->status) == SIGTSTP);
- }
- child = child->next;
- }
- while (child != jobs[job]->pipe);
-
- /* If job_state != 0, the job is still running, so don't bother with
- setting the process exit status and job state unless we're
- transitioning from stopped to running. */
- if (job_state != 0 && JOBSTATE(job) != JSTOPPED)
- return 0;
-
- /*
- * SET JOB STATUS
- */
-
- /* The job is either stopped or dead. Set the state of the job accordingly. */
- if (any_stopped)
- {
- jobs[job]->state = JSTOPPED;
- jobs[job]->flags &= ~J_FOREGROUND;
- call_set_current++;
- /* Suspending a job with SIGTSTP breaks all active loops. */
- if (any_tstped && loop_level)
- breaking = loop_level;
- }
- else if (job_state != 0) /* was stopped, now running */
- {
- jobs[job]->state = JRUNNING;
- call_set_current++;
- }
- else
- {
- jobs[job]->state = JDEAD;
-
-#if 0
- if (IS_FOREGROUND (job))
- setjstatus (job);
-#endif
-
- /* If this job has a cleanup function associated with it, call it
- with `cleanarg' as the single argument, then set the function
- pointer to NULL so it is not inadvertently called twice. The
- cleanup function is responsible for deallocating cleanarg. */
- if (jobs[job]->j_cleanup)
- {
- (*jobs[job]->j_cleanup) (jobs[job]->cleanarg);
- jobs[job]->j_cleanup = (sh_vptrfunc_t *)NULL;
- }
- }
-
- /*
- * CLEANUP
- *
- * Currently, we just do special things if we got a SIGINT while waiting
- * for a foreground job to complete
- */
-
- if (jobs[job]->state == JDEAD)
- {
- /* If we're running a shell script and we get a SIGINT with a
- SIGINT trap handler, but the foreground job handles it and
- does not exit due to SIGINT, run the trap handler but do not
- otherwise act as if we got the interrupt. */
- if (wait_sigint_received && interactive_shell == 0 &&
- WIFSIGNALED (child->status) == 0 && IS_FOREGROUND (job) &&
- signal_is_trapped (SIGINT))
- {
- int old_frozen;
- wait_sigint_received = 0;
- last_command_exit_value = process_exit_status (child->status);
-
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- }
-
- /* If the foreground job is killed by SIGINT when job control is not
- active, we need to perform some special handling.
-
- The check of wait_sigint_received is a way to determine if the
- SIGINT came from the keyboard (in which case the shell has already
- seen it, and wait_sigint_received is non-zero, because keyboard
- signals are sent to process groups) or via kill(2) to the foreground
- process by another process (or itself). If the shell did receive the
- SIGINT, it needs to perform normal SIGINT processing. */
- else if (wait_sigint_received && (WTERMSIG (child->status) == SIGINT) &&
- IS_FOREGROUND (job) && IS_JOBCONTROL (job) == 0)
- {
- int old_frozen;
-
- wait_sigint_received = 0;
-
- /* If SIGINT is trapped, set the exit status so that the trap
- handler can see it. */
- if (signal_is_trapped (SIGINT))
- last_command_exit_value = process_exit_status (child->status);
-
- /* If the signal is trapped, let the trap handler get it no matter
- what and simply return if the trap handler returns.
- maybe_call_trap_handler() may cause dead jobs to be removed from
- the job table because of a call to execute_command. We work
- around this by setting JOBS_LIST_FROZEN. */
- old_frozen = jobs_list_frozen;
- jobs_list_frozen = 1;
- tstatus = maybe_call_trap_handler (SIGINT);
- jobs_list_frozen = old_frozen;
- if (tstatus == 0 && old_sigint_handler != INVALID_SIGNAL_HANDLER)
- {
- /* wait_sigint_handler () has already seen SIGINT and
- allowed the wait builtin to jump out. We need to
- call the original SIGINT handler, if necessary. If
- the original handler is SIG_DFL, we need to resend
- the signal to ourselves. */
-
- temp_handler = old_sigint_handler;
-
- /* Bogus. If we've reset the signal handler as the result
- of a trap caught on SIGINT, then old_sigint_handler
- will point to trap_handler, which now knows nothing about
- SIGINT (if we reset the sighandler to the default).
- In this case, we have to fix things up. What a crock. */
- if (temp_handler == trap_handler && signal_is_trapped (SIGINT) == 0)
- temp_handler = trap_to_sighandler (SIGINT);
- restore_sigint_handler ();
- if (temp_handler == SIG_DFL)
- termination_unwind_protect (SIGINT);
- else if (temp_handler != SIG_IGN)
- (*temp_handler) (SIGINT);
- }
- }
- }
-
- return call_set_current;
-}
-
-/* Build the array of values for the $PIPESTATUS variable from the set of
- exit statuses of all processes in the job J. */
-static void
-setjstatus (j)
- int j;
-{
-#if defined (ARRAY_VARS)
- register int i;
- register PROCESS *p;
-
- for (i = 1, p = jobs[j]->pipe; p->next != jobs[j]->pipe; p = p->next, i++)
- ;
- i++;
- if (statsize < i)
- {
- pstatuses = (int *)xrealloc (pstatuses, i * sizeof (int));
- statsize = i;
- }
- i = 0;
- p = jobs[j]->pipe;
- do
- {
- pstatuses[i++] = process_exit_status (p->status);
- p = p->next;
- }
- while (p != jobs[j]->pipe);
-
- pstatuses[i] = -1; /* sentinel */
- set_pipestatus_array (pstatuses, i);
-#endif
-}
-
-static void
-run_sigchld_trap (nchild)
- int nchild;
-{
- char *trap_command;
- int i;
-
- /* Turn off the trap list during the call to parse_and_execute ()
- to avoid potentially infinite recursive calls. Preserve the
- values of last_command_exit_value, last_made_pid, and the_pipeline
- around the execution of the trap commands. */
- trap_command = savestring (trap_list[SIGCHLD]);
-
- begin_unwind_frame ("SIGCHLD trap");
- unwind_protect_int (last_command_exit_value);
- unwind_protect_int (last_command_exit_signal);
- unwind_protect_var (last_made_pid);
- unwind_protect_int (interrupt_immediately);
- unwind_protect_int (jobs_list_frozen);
- unwind_protect_pointer (the_pipeline);
- unwind_protect_pointer (subst_assign_varlist);
-
- /* We have to add the commands this way because they will be run
- in reverse order of adding. We don't want maybe_set_sigchld_trap ()
- to reference freed memory. */
- add_unwind_protect (xfree, trap_command);
- add_unwind_protect (maybe_set_sigchld_trap, trap_command);
-
- subst_assign_varlist = (WORD_LIST *)NULL;
- the_pipeline = (PROCESS *)NULL;
-
- restore_default_signal (SIGCHLD);
- jobs_list_frozen = 1;
- for (i = 0; i < nchild; i++)
- {
- interrupt_immediately = 1;
- parse_and_execute (savestring (trap_command), "trap", SEVAL_NOHIST|SEVAL_RESETLINE);
- }
-
- run_unwind_frame ("SIGCHLD trap");
-}
-
-/* Function to call when you want to notify people of changes
- in job status. This prints out all jobs which are pending
- notification to stderr, and marks those printed as already
- notified, thus making them candidates for cleanup. */
-static void
-notify_of_job_status ()
-{
- register int job, termsig;
- char *dir;
- sigset_t set, oset;
- WAIT s;
-
- if (jobs == 0 || job_slots == 0)
- return;
-
- if (old_ttou != 0)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigaddset (&set, SIGTTOU);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
- }
- else
- queue_sigchld++;
-
- for (job = 0, dir = (char *)NULL; job < job_slots; job++)
- {
- if (jobs[job] && IS_NOTIFIED (job) == 0)
- {
- s = raw_job_exit_status (job);
- termsig = WTERMSIG (s);
-
- /* POSIX.2 says we have to hang onto the statuses of at most the
- last CHILD_MAX background processes if the shell is running a
- script. If the shell is not interactive, don't print anything
- unless the job was killed by a signal. */
- if (startup_state == 0 && WIFSIGNALED (s) == 0 &&
- ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
- continue;
-
-#if 0
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2, we were started to run `-c command', so
- don't print anything. */
- if ((job_control == 0 && interactive_shell) || startup_state == 2)
-#else
- /* If job control is disabled, don't print the status messages.
- Mark dead jobs as notified so that they get cleaned up. If
- startup_state == 2 and subshell_environment has the
- SUBSHELL_COMSUB bit turned on, we were started to run a command
- substitution, so don't print anything. */
- if ((job_control == 0 && interactive_shell) ||
- (startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
-#endif
- {
- /* POSIX.2 compatibility: if the shell is not interactive,
- hang onto the job corresponding to the last asynchronous
- pid until the user has been notified of its status or does
- a `wait'. */
- if (DEADJOB (job) && (interactive_shell || (find_last_pid (job, 0) != last_asynchronous_pid)))
- jobs[job]->flags |= J_NOTIFIED;
- continue;
- }
-
- /* Print info on jobs that are running in the background,
- and on foreground jobs that were killed by anything
- except SIGINT (and possibly SIGPIPE). */
- switch (JOBSTATE (job))
- {
- case JDEAD:
- if (interactive_shell == 0 && termsig && WIFSIGNALED (s) &&
- termsig != SIGINT &&
-#if defined (DONT_REPORT_SIGPIPE)
- termsig != SIGPIPE &&
-#endif
- signal_is_trapped (termsig) == 0)
- {
- /* Don't print `0' for a line number. */
- fprintf (stderr, "%s: line %d: ", get_name_for_error (), (line_number == 0) ? 1 : line_number);
- pretty_print_job (job, JLIST_NONINTERACTIVE, stderr);
- }
- else if (IS_FOREGROUND (job))
- {
-#if !defined (DONT_REPORT_SIGPIPE)
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
-#else
- if (termsig && WIFSIGNALED (s) && termsig != SIGINT && termsig != SIGPIPE)
-#endif
- {
- fprintf (stderr, "%s", j_strsignal (termsig));
-
- if (WIFCORED (s))
- fprintf (stderr, " (core dumped)");
-
- fprintf (stderr, "\n");
- }
- }
- else
- {
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && strcmp (dir, jobs[job]->wd) != 0)
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- }
-
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JSTOPPED:
- fprintf (stderr, "\n");
- if (dir == 0)
- dir = current_working_directory ();
- pretty_print_job (job, JLIST_STANDARD, stderr);
- if (dir && (strcmp (dir, jobs[job]->wd) != 0))
- fprintf (stderr,
- "(wd now: %s)\n", polite_directory_format (dir));
- jobs[job]->flags |= J_NOTIFIED;
- break;
-
- case JRUNNING:
- case JMIXED:
- break;
-
- default:
- programming_error ("notify_of_job_status");
- }
- }
- }
- if (old_ttou != 0)
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- else
- queue_sigchld--;
-}
-
-/* Initialize the job control mechanism, and set up the tty stuff. */
-int
-initialize_job_control (force)
- int force;
-{
- shell_pgrp = getpgid (0);
-
- if (shell_pgrp == -1)
- {
- sys_error ("initialize_job_control: getpgrp failed");
- exit (1);
- }
-
- /* We can only have job control if we are interactive. */
- if (interactive == 0)
- {
- job_control = 0;
- original_pgrp = NO_PID;
- shell_tty = fileno (stderr);
- }
- else
- {
- /* Get our controlling terminal. If job_control is set, or
- interactive is set, then this is an interactive shell no
- matter where fd 2 is directed. */
- shell_tty = dup (fileno (stderr)); /* fd 2 */
-
- shell_tty = move_to_high_fd (shell_tty, 1, -1);
-
- /* Compensate for a bug in systems that compiled the BSD
- rlogind with DEBUG defined, like NeXT and Alliant. */
- if (shell_pgrp == 0)
- {
- shell_pgrp = getpid ();
- setpgid (0, shell_pgrp);
- tcsetpgrp (shell_tty, shell_pgrp);
- }
-
- while ((terminal_pgrp = tcgetpgrp (shell_tty)) != -1)
- {
- if (shell_pgrp != terminal_pgrp)
- {
- SigHandler *ottin;
-
- ottin = set_signal_handler(SIGTTIN, SIG_DFL);
- kill (0, SIGTTIN);
- set_signal_handler (SIGTTIN, ottin);
- continue;
- }
- break;
- }
-
- /* Make sure that we are using the new line discipline. */
- if (set_new_line_discipline (shell_tty) < 0)
- {
- sys_error ("initialize_job_control: line discipline");
- job_control = 0;
- }
- else
- {
- original_pgrp = shell_pgrp;
- shell_pgrp = getpid ();
-
- if ((original_pgrp != shell_pgrp) && (setpgid (0, shell_pgrp) < 0))
- {
- sys_error ("initialize_job_control: setpgid");
- shell_pgrp = original_pgrp;
- }
-
- job_control = 1;
-
- /* If (and only if) we just set our process group to our pid,
- thereby becoming a process group leader, and the terminal
- is not in the same process group as our (new) process group,
- then set the terminal's process group to our (new) process
- group. If that fails, set our process group back to what it
- was originally (so we can still read from the terminal) and
- turn off job control. */
- if (shell_pgrp != original_pgrp && shell_pgrp != terminal_pgrp)
- {
- if (give_terminal_to (shell_pgrp, 0) < 0)
- {
- setpgid (0, original_pgrp);
- shell_pgrp = original_pgrp;
- job_control = 0;
- }
- }
- }
- if (job_control == 0)
- internal_error (_("no job control in this shell"));
- }
-
- if (shell_tty != fileno (stderr))
- SET_CLOSE_ON_EXEC (shell_tty);
-
- set_signal_handler (SIGCHLD, sigchld_handler);
-
- change_flag ('m', job_control ? '-' : '+');
-
- if (interactive)
- get_tty_state ();
-
- return job_control;
-}
-
-#ifdef DEBUG
-void
-debug_print_pgrps ()
-{
- itrace("original_pgrp = %ld shell_pgrp = %ld terminal_pgrp = %ld",
- (long)original_pgrp, (long)shell_pgrp, (long)terminal_pgrp);
- itrace("tcgetpgrp(%d) -> %ld, getpgid(0) -> %ld",
- shell_tty, (long)tcgetpgrp (shell_tty), (long)getpgid(0));
-}
-#endif
-
-/* Set the line discipline to the best this system has to offer.
- Return -1 if this is not possible. */
-static int
-set_new_line_discipline (tty)
- int tty;
-{
-#if defined (NEW_TTY_DRIVER)
- int ldisc;
-
- if (ioctl (tty, TIOCGETD, &ldisc) < 0)
- return (-1);
-
- if (ldisc != NTTYDISC)
- {
- ldisc = NTTYDISC;
-
- if (ioctl (tty, TIOCSETD, &ldisc) < 0)
- return (-1);
- }
- return (0);
-#endif /* NEW_TTY_DRIVER */
-
-#if defined (TERMIO_TTY_DRIVER)
-# if defined (TERMIO_LDISC) && (NTTYDISC)
- if (ioctl (tty, TCGETA, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (ioctl (tty, TCSETAW, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIO_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIO_TTY_DRIVER */
-
-#if defined (TERMIOS_TTY_DRIVER)
-# if defined (TERMIOS_LDISC) && defined (NTTYDISC)
- if (tcgetattr (tty, &shell_tty_info) < 0)
- return (-1);
-
- if (shell_tty_info.c_line != NTTYDISC)
- {
- shell_tty_info.c_line = NTTYDISC;
- if (tcsetattr (tty, TCSADRAIN, &shell_tty_info) < 0)
- return (-1);
- }
-# endif /* TERMIOS_LDISC && NTTYDISC */
- return (0);
-#endif /* TERMIOS_TTY_DRIVER */
-
-#if !defined (NEW_TTY_DRIVER) && !defined (TERMIO_TTY_DRIVER) && !defined (TERMIOS_TTY_DRIVER)
- return (-1);
-#endif
-}
-
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
- struct winsize win;
-
- if ((ioctl (shell_tty, TIOCGWINSZ, &win) == 0) &&
- win.ws_row > 0 && win.ws_col > 0)
- {
-#if defined (aixpc)
- shell_tty_info.c_winsize = win; /* structure copying */
-#endif
- sh_set_lines_and_columns (win.ws_row, win.ws_col);
-#if defined (READLINE)
- rl_set_screen_size (win.ws_row, win.ws_col);
-#endif
- }
-}
-
-static sighandler
-sigwinch_sighandler (sig)
- int sig;
-{
-#if defined (MUST_REINSTALL_SIGHANDLERS)
- set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif /* MUST_REINSTALL_SIGHANDLERS */
- get_new_window_size (1);
- SIGRETURN (0);
-}
-#else
-static void
-get_new_window_size (from_sig)
- int from_sig;
-{
-}
-#endif /* TIOCGWINSZ && SIGWINCH */
-
-void
-set_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- old_winch = set_signal_handler (SIGWINCH, sigwinch_sighandler);
-#endif
-}
-
-void
-unset_sigwinch_handler ()
-{
-#if defined (TIOCGWINSZ) && defined (SIGWINCH)
- set_signal_handler (SIGWINCH, old_winch);
-#endif
-}
-
-/* Setup this shell to handle C-C, etc. */
-void
-initialize_job_signals ()
-{
- if (interactive)
- {
- set_signal_handler (SIGINT, sigint_sighandler);
- set_signal_handler (SIGTSTP, SIG_IGN);
- set_signal_handler (SIGTTOU, SIG_IGN);
- set_signal_handler (SIGTTIN, SIG_IGN);
- set_sigwinch_handler ();
- }
- else if (job_control)
- {
- old_tstp = set_signal_handler (SIGTSTP, sigstop_sighandler);
- old_ttin = set_signal_handler (SIGTTIN, sigstop_sighandler);
- old_ttou = set_signal_handler (SIGTTOU, sigstop_sighandler);
- }
- /* Leave these things alone for non-interactive shells without job
- control. */
-}
-
-/* Here we handle CONT signals. */
-static sighandler
-sigcont_sighandler (sig)
- int sig;
-{
- initialize_job_signals ();
- set_signal_handler (SIGCONT, old_cont);
- kill (getpid (), SIGCONT);
-
- SIGRETURN (0);
-}
-
-/* Here we handle stop signals while we are running not as a login shell. */
-static sighandler
-sigstop_sighandler (sig)
- int sig;
-{
- set_signal_handler (SIGTSTP, old_tstp);
- set_signal_handler (SIGTTOU, old_ttou);
- set_signal_handler (SIGTTIN, old_ttin);
-
- old_cont = set_signal_handler (SIGCONT, sigcont_sighandler);
-
- give_terminal_to (shell_pgrp, 0);
-
- kill (getpid (), sig);
-
- SIGRETURN (0);
-}
-
-/* Give the terminal to PGRP. */
-int
-give_terminal_to (pgrp, force)
- pid_t pgrp;
- int force;
-{
- sigset_t set, oset;
- int r;
-
- r = 0;
- if (job_control || force)
- {
- sigemptyset (&set);
- sigaddset (&set, SIGTTOU);
- sigaddset (&set, SIGTTIN);
- sigaddset (&set, SIGTSTP);
- sigaddset (&set, SIGCHLD);
- sigemptyset (&oset);
- sigprocmask (SIG_BLOCK, &set, &oset);
-
- if (tcsetpgrp (shell_tty, pgrp) < 0)
- {
- /* Maybe we should print an error message? */
-#if 0
- sys_error ("tcsetpgrp(%d) failed: pid %ld to pgrp %ld",
- shell_tty, (long)getpid(), (long)pgrp);
-#endif
- r = -1;
- }
- else
- terminal_pgrp = pgrp;
- sigprocmask (SIG_SETMASK, &oset, (sigset_t *)NULL);
- }
-
- return r;
-}
-
-/* Clear out any jobs in the job array. This is intended to be used by
- children of the shell, who should not have any job structures as baggage
- when they start executing (forking subshells for parenthesized execution
- and functions with pipes are the two that spring to mind). If RUNNING_ONLY
- is nonzero, only running jobs are removed from the table. */
-void
-delete_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- if (job_slots)
- {
- current_job = previous_job = NO_JOB;
-
- for (i = 0; i < job_slots; i++)
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- delete_job (i, 1);
-
- if (running_only == 0)
- {
- free ((char *)jobs);
- job_slots = 0;
- }
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all jobs in the job array so that they don't get a SIGHUP when the
- shell gets one. If RUNNING_ONLY is nonzero, mark only running jobs. */
-void
-nohup_all_jobs (running_only)
- int running_only;
-{
- register int i;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
-
- if (job_slots)
- {
- for (i = 0; i < job_slots; i++)
- if (jobs[i] && (running_only == 0 || (running_only && RUNNING(i))))
- nohup_job (i);
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-int
-count_all_jobs ()
-{
- int i, n;
- sigset_t set, oset;
-
- BLOCK_CHILD (set, oset);
- for (i = n = 0; i < job_slots; i++)
- if (jobs[i] && DEADJOB(i) == 0)
- n++;
- UNBLOCK_CHILD (oset);
- return n;
-}
-
-static void
-mark_all_jobs_as_dead ()
-{
- register int i;
- sigset_t set, oset;
-
- if (job_slots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- for (i = 0; i < job_slots; i++)
- if (jobs[i])
- jobs[i]->state = JDEAD;
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Mark all dead jobs as notified, so delete_job () cleans them out
- of the job table properly. POSIX.2 says we need to save the
- status of the last CHILD_MAX jobs, so we count the number of dead
- jobs and mark only enough as notified to save CHILD_MAX statuses. */
-static void
-mark_dead_jobs_as_notified (force)
- int force;
-{
- register int i, ndead;
- sigset_t set, oset;
-
- if (job_slots == 0)
- return;
-
- BLOCK_CHILD (set, oset);
-
- /* If FORCE is non-zero, we don't have to keep CHILD_MAX statuses
- around; just run through the array. */
- if (force)
- {
- for (i = 0; i < job_slots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- jobs[i]->flags |= J_NOTIFIED;
- }
- UNBLOCK_CHILD (oset);
- return;
- }
-
- /* Mark enough dead jobs as notified to keep CHILD_MAX jobs left in the
- array not marked as notified. */
-
- /* Count the number of dead jobs */
- for (i = ndead = 0; i < job_slots; i++)
- {
- if (jobs[i] && DEADJOB (i))
- ndead++;
- }
-
- if (child_max < 0)
- child_max = getmaxchild ();
- if (child_max < 0)
- child_max = DEFAULT_CHILD_MAX;
-
- /* Don't do anything if the number of dead jobs is less than CHILD_MAX and
- we're not forcing a cleanup. */
- if (ndead <= child_max)
- {
- UNBLOCK_CHILD (oset);
- return;
- }
-
- /* Mark enough dead jobs as notified that we keep CHILD_MAX jobs in
- the list. This isn't exactly right yet; changes need to be made
- to stop_pipeline so we don't mark the newer jobs after we've
- created CHILD_MAX slots in the jobs array. */
- for (i = 0; i < job_slots; i++)
- {
- if (jobs[i] && DEADJOB (i) && (interactive_shell || (find_last_pid (i, 0) != last_asynchronous_pid)))
- {
- jobs[i]->flags |= J_NOTIFIED;
- if (--ndead <= child_max)
- break;
- }
- }
-
- UNBLOCK_CHILD (oset);
-}
-
-/* Here to allow other parts of the shell (like the trap stuff) to
- unfreeze the jobs list. */
-void
-unfreeze_jobs_list ()
-{
- jobs_list_frozen = 0;
-}
-
-/* Allow or disallow job control to take place. Returns the old value
- of job_control. */
-int
-set_job_control (arg)
- int arg;
-{
- int old;
-
- old = job_control;
- job_control = arg;
-
- /* If we're turning on job control, reset pipeline_pgrp so make_child will
- put new child processes into the right pgrp */
- if (job_control != old && job_control)
- pipeline_pgrp = 0;
-
- return (old);
-}
-
-/* Turn off all traces of job control. This is run by children of the shell
- which are going to do shellsy things, like wait (), etc. */
-void
-without_job_control ()
-{
- stop_making_children ();
- start_pipeline ();
- delete_all_jobs (0);
- set_job_control (0);
-}
-
-/* If this shell is interactive, terminate all stopped jobs and
- restore the original terminal process group. This is done
- before the `exec' builtin calls shell_execve. */
-void
-end_job_control ()
-{
- if (interactive_shell) /* XXX - should it be interactive? */
- {
- terminate_stopped_jobs ();
-
- if (original_pgrp >= 0)
- give_terminal_to (original_pgrp, 1);
- }
-
- if (original_pgrp >= 0)
- setpgid (0, original_pgrp);
-}
-
-/* Restart job control by closing shell tty and reinitializing. This is
- called after an exec fails in an interactive shell and we do not exit. */
-void
-restart_job_control ()
-{
- if (shell_tty != -1)
- close (shell_tty);
- initialize_job_control (0);
-}
-
-/* Set the handler to run when the shell receives a SIGCHLD signal. */
-void
-set_sigchld_handler ()
-{
- set_signal_handler (SIGCHLD, sigchld_handler);
-}
-
-#if defined (PGRP_PIPE)
-/* Read from the read end of a pipe. This is how the process group leader
- blocks until all of the processes in a pipeline have been made. */
-static void
-pipe_read (pp)
- int *pp;
-{
- char ch;
-
- if (pp[1] >= 0)
- {
- close (pp[1]);
- pp[1] = -1;
- }
-
- if (pp[0] >= 0)
- {
- while (read (pp[0], &ch, 1) == -1 && errno == EINTR)
- ;
- }
-}
-
-/* Close the read and write ends of PP, an array of file descriptors. */
-static void
-pipe_close (pp)
- int *pp;
-{
- if (pp[0] >= 0)
- close (pp[0]);
-
- if (pp[1] >= 0)
- close (pp[1]);
-
- pp[0] = pp[1] = -1;
-}
-
-/* Functional interface closes our local-to-job-control pipes. */
-void
-close_pgrp_pipe ()
-{
- pipe_close (pgrp_pipe);
-}
-
-#endif /* PGRP_PIPE */
+++ /dev/null
-/* Yacc grammar for bash. */
-
-/* Copyright (C) 1989-2005 Free Software Foundation, Inc.
-
- This file is part of GNU Bash, the Bourne Again SHell.
-
- Bash is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free
- Software Foundation; either version 2, or (at your option) any later
- version.
-
- Bash is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- for more details.
-
- You should have received a copy of the GNU General Public License along
- with Bash; see the file LICENSE. If not, write to the Free Software
- Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */
-
-%{
-#include "config.h"
-
-#include "bashtypes.h"
-#include "bashansi.h"
-
-#include "filecntl.h"
-
-#if defined (HAVE_UNISTD_H)
-# include <unistd.h>
-#endif
-
-#if defined (HAVE_LOCALE_H)
-# include <locale.h>
-#endif
-
-#include <stdio.h>
-#include "chartypes.h"
-#include <signal.h>
-
-#include "memalloc.h"
-
-#include "bashintl.h"
-
-#define NEED_STRFTIME_DECL /* used in externs.h */
-
-#include "shell.h"
-#include "trap.h"
-#include "flags.h"
-#include "parser.h"
-#include "mailcheck.h"
-#include "test.h"
-#include "builtins.h"
-#include "builtins/common.h"
-#include "builtins/builtext.h"
-
-#include "shmbutil.h"
-
-#if defined (READLINE)
-# include "bashline.h"
-# include <readline/readline.h>
-#endif /* READLINE */
-
-#if defined (HISTORY)
-# include "bashhist.h"
-# include <readline/history.h>
-#endif /* HISTORY */
-
-#if defined (JOB_CONTROL)
-# include "jobs.h"
-#endif /* JOB_CONTROL */
-
-#if defined (ALIAS)
-# include "alias.h"
-#else
-typedef void *alias_t;
-#endif /* ALIAS */
-
-#if defined (PROMPT_STRING_DECODE)
-# ifndef _MINIX
-# include <sys/param.h>
-# endif
-# include <time.h>
-# if defined (TM_IN_SYS_TIME)
-# include <sys/types.h>
-# include <sys/time.h>
-# endif /* TM_IN_SYS_TIME */
-# include "maxpath.h"
-#endif /* PROMPT_STRING_DECODE */
-
-#define RE_READ_TOKEN -99
-#define NO_EXPANSION -100
-
-#ifdef DEBUG
-# define YYDEBUG 1
-#else
-# define YYDEBUG 0
-#endif
-
-#if defined (HANDLE_MULTIBYTE)
-# define last_shell_getc_is_singlebyte \
- ((shell_input_line_index > 1) \
- ? shell_input_line_property[shell_input_line_index - 1] \
- : 1)
-# define MBTEST(x) ((x) && last_shell_getc_is_singlebyte)
-#else
-# define last_shell_getc_is_singlebyte 1
-# define MBTEST(x) ((x))
-#endif
-
-#if defined (EXTENDED_GLOB)
-extern int extended_glob;
-#endif
-
-extern int eof_encountered;
-extern int no_line_editing, running_under_emacs;
-extern int current_command_number;
-extern int sourcelevel;
-extern int posixly_correct;
-extern int last_command_exit_value;
-extern int interrupt_immediately;
-extern char *shell_name, *current_host_name;
-extern char *dist_version;
-extern int patch_level;
-extern int dump_translatable_strings, dump_po_strings;
-extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin;
-#if defined (BUFFERED_INPUT)
-extern int bash_input_fd_changed;
-#endif
-
-extern int errno;
-/* **************************************************************** */
-/* */
-/* "Forward" declarations */
-/* */
-/* **************************************************************** */
-
-#ifdef DEBUG
-static void debug_parser __P((int));
-#endif
-
-static int yy_getc __P((void));
-static int yy_ungetc __P((int));
-
-#if defined (READLINE)
-static int yy_readline_get __P((void));
-static int yy_readline_unget __P((int));
-#endif
-
-static int yy_string_get __P((void));
-static int yy_string_unget __P((int));
-static int yy_stream_get __P((void));
-static int yy_stream_unget __P((int));
-
-static int shell_getc __P((int));
-static void shell_ungetc __P((int));
-static void discard_until __P((int));
-
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
-static void push_string __P((char *, int, alias_t *));
-static void pop_string __P((void));
-static void free_string_list __P((void));
-#endif
-
-static char *read_a_line __P((int));
-
-static int reserved_word_acceptable __P((int));
-static int yylex __P((void));
-static int alias_expand_token __P((char *));
-static int time_command_acceptable __P((void));
-static int special_case_tokens __P((char *));
-static int read_token __P((int));
-static char *parse_matched_pair __P((int, int, int, int *, int));
-#if defined (ARRAY_VARS)
-static char *parse_compound_assignment __P((int *));
-#endif
-#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
-static int parse_dparen __P((int));
-static int parse_arith_cmd __P((char **, int));
-#endif
-#if defined (COND_COMMAND)
-static void cond_error __P((void));
-static COND_COM *cond_expr __P((void));
-static COND_COM *cond_or __P((void));
-static COND_COM *cond_and __P((void));
-static COND_COM *cond_term __P((void));
-static int cond_skip_newlines __P((void));
-static COMMAND *parse_cond_command __P((void));
-#endif
-#if defined (ARRAY_VARS)
-static int token_is_assignment __P((char *, int));
-static int token_is_ident __P((char *, int));
-#endif
-static int read_token_word __P((int));
-static void discard_parser_constructs __P((int));
-
-static char *error_token_from_token __P((int));
-static char *error_token_from_text __P((void));
-static void print_offending_line __P((void));
-static void report_syntax_error __P((char *));
-
-static void handle_eof_input_unit __P((void));
-static void prompt_again __P((void));
-#if 0
-static void reset_readline_prompt __P((void));
-#endif
-static void print_prompt __P((void));
-
-#if defined (HISTORY)
-char *history_delimiting_chars __P((void));
-#endif
-
-#if defined (HANDLE_MULTIBYTE)
-static void set_line_mbstate __P((void));
-static char *shell_input_line_property = NULL;
-#else
-# define set_line_mbstate()
-#endif
-
-extern int yyerror __P((const char *));
-
-#ifdef DEBUG
-extern int yydebug;
-#endif
-
-/* Default prompt strings */
-char *primary_prompt = PPROMPT;
-char *secondary_prompt = SPROMPT;
-
-/* PROMPT_STRING_POINTER points to one of these, never to an actual string. */
-char *ps1_prompt, *ps2_prompt;
-
-/* Handle on the current prompt string. Indirectly points through
- ps1_ or ps2_prompt. */
-char **prompt_string_pointer = (char **)NULL;
-char *current_prompt_string;
-
-/* Non-zero means we expand aliases in commands. */
-int expand_aliases = 0;
-
-/* If non-zero, the decoded prompt string undergoes parameter and
- variable substitution, command substitution, arithmetic substitution,
- string expansion, process substitution, and quote removal in
- decode_prompt_string. */
-int promptvars = 1;
-
-/* If non-zero, $'...' and $"..." are expanded when they appear within
- a ${...} expansion, even when the expansion appears within double
- quotes. */
-int extended_quote = 1;
-
-/* The decoded prompt string. Used if READLINE is not defined or if
- editing is turned off. Analogous to current_readline_prompt. */
-static char *current_decoded_prompt;
-
-/* The number of lines read from input while creating the current command. */
-int current_command_line_count;
-
-/* Variables to manage the task of reading here documents, because we need to
- defer the reading until after a complete command has been collected. */
-static REDIRECT *redir_stack[10];
-int need_here_doc;
-
-/* Where shell input comes from. History expansion is performed on each
- line when the shell is interactive. */
-static char *shell_input_line = (char *)NULL;
-static int shell_input_line_index;
-static int shell_input_line_size; /* Amount allocated for shell_input_line. */
-static int shell_input_line_len; /* strlen (shell_input_line) */
-
-/* Either zero or EOF. */
-static int shell_input_line_terminator;
-
-/* The line number in a script on which a function definition starts. */
-static int function_dstart;
-
-/* The line number in a script on which a function body starts. */
-static int function_bstart;
-
-/* The line number in a script at which an arithmetic for command starts. */
-static int arith_for_lineno;
-
-/* The line number in a script where the word in a `case WORD', `select WORD'
- or `for WORD' begins. This is a nested command maximum, since the array
- index is decremented after a case, select, or for command is parsed. */
-#define MAX_CASE_NEST 128
-static int word_lineno[MAX_CASE_NEST];
-static int word_top = -1;
-
-/* If non-zero, it is the token that we want read_token to return
- regardless of what text is (or isn't) present to be read. This
- is reset by read_token. If token_to_read == WORD or
- ASSIGNMENT_WORD, yylval.word should be set to word_desc_to_read. */
-static int token_to_read;
-static WORD_DESC *word_desc_to_read;
-
-static REDIRECTEE redir;
-%}
-
-%union {
- WORD_DESC *word; /* the word that we read. */
- int number; /* the number that we read. */
- WORD_LIST *word_list;
- COMMAND *command;
- REDIRECT *redirect;
- ELEMENT element;
- PATTERN_LIST *pattern;
-}
-
-/* Reserved words. Members of the first group are only recognized
- in the case that they are preceded by a list_terminator. Members
- of the second group are for [[...]] commands. Members of the
- third group are recognized only under special circumstances. */
-%token IF THEN ELSE ELIF FI CASE ESAC FOR SELECT WHILE UNTIL DO DONE FUNCTION
-%token COND_START COND_END COND_ERROR
-%token IN BANG TIME TIMEOPT
-
-/* More general tokens. yylex () knows how to make these. */
-%token <word> WORD ASSIGNMENT_WORD
-%token <number> NUMBER
-%token <word_list> ARITH_CMD ARITH_FOR_EXPRS
-%token <command> COND_CMD
-%token AND_AND OR_OR GREATER_GREATER LESS_LESS LESS_AND LESS_LESS_LESS
-%token GREATER_AND SEMI_SEMI LESS_LESS_MINUS AND_GREATER LESS_GREATER
-%token GREATER_BAR
-
-/* The types that the various syntactical units return. */
-
-%type <command> inputunit command pipeline pipeline_command
-%type <command> list list0 list1 compound_list simple_list simple_list1
-%type <command> simple_command shell_command
-%type <command> for_command select_command case_command group_command
-%type <command> arith_command
-%type <command> cond_command
-%type <command> arith_for_command
-%type <command> function_def function_body if_command elif_clause subshell
-%type <redirect> redirection redirection_list
-%type <element> simple_command_element
-%type <word_list> word_list pattern
-%type <pattern> pattern_list case_clause_sequence case_clause
-%type <number> timespec
-%type <number> list_terminator
-
-%start inputunit
-
-%left '&' ';' '\n' yacc_EOF
-%left AND_AND OR_OR
-%right '|'
-%%
-
-inputunit: simple_list simple_list_terminator
- {
- /* Case of regular command. Discard the error
- safety net,and return the command just parsed. */
- global_command = $1;
- eof_encountered = 0;
- /* discard_parser_constructs (0); */
- YYACCEPT;
- }
- | '\n'
- {
- /* Case of regular command, but not a very
- interesting one. Return a NULL command. */
- global_command = (COMMAND *)NULL;
- YYACCEPT;
- }
- | error '\n'
- {
- /* Error during parsing. Return NULL command. */
- global_command = (COMMAND *)NULL;
- eof_encountered = 0;
- /* discard_parser_constructs (1); */
- if (interactive)
- {
- YYACCEPT;
- }
- else
- {
- YYABORT;
- }
- }
- | yacc_EOF
- {
- /* Case of EOF seen by itself. Do ignoreeof or
- not. */
- global_command = (COMMAND *)NULL;
- handle_eof_input_unit ();
- YYACCEPT;
- }
- ;
-
-word_list: WORD
- { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
- | word_list WORD
- { $$ = make_word_list ($2, $1); }
- ;
-
-redirection: '>' WORD
- {
- redir.filename = $2;
- $$ = make_redirection (1, r_output_direction, redir);
- }
- | '<' WORD
- {
- redir.filename = $2;
- $$ = make_redirection (0, r_input_direction, redir);
- }
- | NUMBER '>' WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_output_direction, redir);
- }
- | NUMBER '<' WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_input_direction, redir);
- }
- | GREATER_GREATER WORD
- {
- redir.filename = $2;
- $$ = make_redirection (1, r_appending_to, redir);
- }
- | NUMBER GREATER_GREATER WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_appending_to, redir);
- }
- | LESS_LESS WORD
- {
- redir.filename = $2;
- $$ = make_redirection (0, r_reading_until, redir);
- redir_stack[need_here_doc++] = $$;
- }
- | NUMBER LESS_LESS WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_reading_until, redir);
- redir_stack[need_here_doc++] = $$;
- }
- | LESS_LESS_LESS WORD
- {
- redir.filename = $2;
- $$ = make_redirection (0, r_reading_string, redir);
- }
- | NUMBER LESS_LESS_LESS WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_reading_string, redir);
- }
- | LESS_AND NUMBER
- {
- redir.dest = $2;
- $$ = make_redirection (0, r_duplicating_input, redir);
- }
- | NUMBER LESS_AND NUMBER
- {
- redir.dest = $3;
- $$ = make_redirection ($1, r_duplicating_input, redir);
- }
- | GREATER_AND NUMBER
- {
- redir.dest = $2;
- $$ = make_redirection (1, r_duplicating_output, redir);
- }
- | NUMBER GREATER_AND NUMBER
- {
- redir.dest = $3;
- $$ = make_redirection ($1, r_duplicating_output, redir);
- }
- | LESS_AND WORD
- {
- redir.filename = $2;
- $$ = make_redirection (0, r_duplicating_input_word, redir);
- }
- | NUMBER LESS_AND WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_duplicating_input_word, redir);
- }
- | GREATER_AND WORD
- {
- redir.filename = $2;
- $$ = make_redirection (1, r_duplicating_output_word, redir);
- }
- | NUMBER GREATER_AND WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_duplicating_output_word, redir);
- }
- | LESS_LESS_MINUS WORD
- {
- redir.filename = $2;
- $$ = make_redirection
- (0, r_deblank_reading_until, redir);
- redir_stack[need_here_doc++] = $$;
- }
- | NUMBER LESS_LESS_MINUS WORD
- {
- redir.filename = $3;
- $$ = make_redirection
- ($1, r_deblank_reading_until, redir);
- redir_stack[need_here_doc++] = $$;
- }
- | GREATER_AND '-'
- {
- redir.dest = 0;
- $$ = make_redirection (1, r_close_this, redir);
- }
- | NUMBER GREATER_AND '-'
- {
- redir.dest = 0;
- $$ = make_redirection ($1, r_close_this, redir);
- }
- | LESS_AND '-'
- {
- redir.dest = 0;
- $$ = make_redirection (0, r_close_this, redir);
- }
- | NUMBER LESS_AND '-'
- {
- redir.dest = 0;
- $$ = make_redirection ($1, r_close_this, redir);
- }
- | AND_GREATER WORD
- {
- redir.filename = $2;
- $$ = make_redirection (1, r_err_and_out, redir);
- }
- | NUMBER LESS_GREATER WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_input_output, redir);
- }
- | LESS_GREATER WORD
- {
- redir.filename = $2;
- $$ = make_redirection (0, r_input_output, redir);
- }
- | GREATER_BAR WORD
- {
- redir.filename = $2;
- $$ = make_redirection (1, r_output_force, redir);
- }
- | NUMBER GREATER_BAR WORD
- {
- redir.filename = $3;
- $$ = make_redirection ($1, r_output_force, redir);
- }
- ;
-
-simple_command_element: WORD
- { $$.word = $1; $$.redirect = 0; }
- | ASSIGNMENT_WORD
- { $$.word = $1; $$.redirect = 0; }
- | redirection
- { $$.redirect = $1; $$.word = 0; }
- ;
-
-redirection_list: redirection
- {
- $$ = $1;
- }
- | redirection_list redirection
- {
- register REDIRECT *t;
-
- for (t = $1; t->next; t = t->next)
- ;
- t->next = $2;
- $$ = $1;
- }
- ;
-
-simple_command: simple_command_element
- { $$ = make_simple_command ($1, (COMMAND *)NULL); }
- | simple_command simple_command_element
- { $$ = make_simple_command ($2, $1); }
- ;
-
-command: simple_command
- { $$ = clean_simple_command ($1); }
- | shell_command
- { $$ = $1; }
- | shell_command redirection_list
- {
- COMMAND *tc;
-
- tc = $1;
- if (tc->redirects)
- {
- register REDIRECT *t;
- for (t = tc->redirects; t->next; t = t->next)
- ;
- t->next = $2;
- }
- else
- tc->redirects = $2;
- $$ = $1;
- }
- | function_def
- { $$ = $1; }
- ;
-
-shell_command: for_command
- { $$ = $1; }
- | case_command
- { $$ = $1; }
- | WHILE compound_list DO compound_list DONE
- { $$ = make_while_command ($2, $4); }
- | UNTIL compound_list DO compound_list DONE
- { $$ = make_until_command ($2, $4); }
- | select_command
- { $$ = $1; }
- | if_command
- { $$ = $1; }
- | subshell
- { $$ = $1; }
- | group_command
- { $$ = $1; }
- | arith_command
- { $$ = $1; }
- | cond_command
- { $$ = $1; }
- | arith_for_command
- { $$ = $1; }
- ;
-
-for_command: FOR WORD newline_list DO compound_list DONE
- {
- $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD newline_list '{' compound_list '}'
- {
- $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD ';' newline_list DO compound_list DONE
- {
- $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD ';' newline_list '{' compound_list '}'
- {
- $$ = make_for_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD newline_list IN word_list list_terminator newline_list DO compound_list DONE
- {
- $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD newline_list IN word_list list_terminator newline_list '{' compound_list '}'
- {
- $$ = make_for_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD newline_list IN list_terminator newline_list DO compound_list DONE
- {
- $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | FOR WORD newline_list IN list_terminator newline_list '{' compound_list '}'
- {
- $$ = make_for_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- ;
-
-arith_for_command: FOR ARITH_FOR_EXPRS list_terminator newline_list DO compound_list DONE
- {
- $$ = make_arith_for_command ($2, $6, arith_for_lineno);
- if (word_top > 0) word_top--;
- }
- | FOR ARITH_FOR_EXPRS list_terminator newline_list '{' compound_list '}'
- {
- $$ = make_arith_for_command ($2, $6, arith_for_lineno);
- if (word_top > 0) word_top--;
- }
- | FOR ARITH_FOR_EXPRS DO compound_list DONE
- {
- $$ = make_arith_for_command ($2, $4, arith_for_lineno);
- if (word_top > 0) word_top--;
- }
- | FOR ARITH_FOR_EXPRS '{' compound_list '}'
- {
- $$ = make_arith_for_command ($2, $4, arith_for_lineno);
- if (word_top > 0) word_top--;
- }
- ;
-
-select_command: SELECT WORD newline_list DO list DONE
- {
- $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | SELECT WORD newline_list '{' list '}'
- {
- $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | SELECT WORD ';' newline_list DO list DONE
- {
- $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | SELECT WORD ';' newline_list '{' list '}'
- {
- $$ = make_select_command ($2, add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), $6, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | SELECT WORD newline_list IN word_list list_terminator newline_list DO list DONE
- {
- $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | SELECT WORD newline_list IN word_list list_terminator newline_list '{' list '}'
- {
- $$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- ;
-
-case_command: CASE WORD newline_list IN newline_list ESAC
- {
- $$ = make_case_command ($2, (PATTERN_LIST *)NULL, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | CASE WORD newline_list IN case_clause_sequence newline_list ESAC
- {
- $$ = make_case_command ($2, $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- | CASE WORD newline_list IN case_clause ESAC
- {
- $$ = make_case_command ($2, $5, word_lineno[word_top]);
- if (word_top > 0) word_top--;
- }
- ;
-
-function_def: WORD '(' ')' newline_list function_body
- { $$ = make_function_def ($1, $5, function_dstart, function_bstart); }
-
- | FUNCTION WORD '(' ')' newline_list function_body
- { $$ = make_function_def ($2, $6, function_dstart, function_bstart); }
-
- | FUNCTION WORD newline_list function_body
- { $$ = make_function_def ($2, $4, function_dstart, function_bstart); }
- ;
-
-
-function_body: shell_command
- { $$ = $1; }
- | shell_command redirection_list
- {
- COMMAND *tc;
-
- tc = $1;
- /* According to Posix.2 3.9.5, redirections
- specified after the body of a function should
- be attached to the function and performed when
- the function is executed, not as part of the
- function definition command. */
- /* XXX - I don't think it matters, but we might
- want to change this in the future to avoid
- problems differentiating between a function
- definition with a redirection and a function
- definition containing a single command with a
- redirection. The two are semantically equivalent,
- though -- the only difference is in how the
- command printing code displays the redirections. */
- if (tc->redirects)
- {
- register REDIRECT *t;
- for (t = tc->redirects; t->next; t = t->next)
- ;
- t->next = $2;
- }
- else
- tc->redirects = $2;
- $$ = $1;
- }
- ;
-
-subshell: '(' compound_list ')'
- {
- $$ = make_subshell_command ($2);
- $$->flags |= CMD_WANT_SUBSHELL;
- }
- ;
-
-if_command: IF compound_list THEN compound_list FI
- { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
- | IF compound_list THEN compound_list ELSE compound_list FI
- { $$ = make_if_command ($2, $4, $6); }
- | IF compound_list THEN compound_list elif_clause FI
- { $$ = make_if_command ($2, $4, $5); }
- ;
-
-
-group_command: '{' compound_list '}'
- { $$ = make_group_command ($2); }
- ;
-
-arith_command: ARITH_CMD
- { $$ = make_arith_command ($1); }
- ;
-
-cond_command: COND_START COND_CMD COND_END
- { $$ = $2; }
- ;
-
-elif_clause: ELIF compound_list THEN compound_list
- { $$ = make_if_command ($2, $4, (COMMAND *)NULL); }
- | ELIF compound_list THEN compound_list ELSE compound_list
- { $$ = make_if_command ($2, $4, $6); }
- | ELIF compound_list THEN compound_list elif_clause
- { $$ = make_if_command ($2, $4, $5); }
- ;
-
-case_clause: pattern_list
- | case_clause_sequence pattern_list
- { $2->next = $1; $$ = $2; }
- ;
-
-pattern_list: newline_list pattern ')' compound_list
- { $$ = make_pattern_list ($2, $4); }
- | newline_list pattern ')' newline_list
- { $$ = make_pattern_list ($2, (COMMAND *)NULL); }
- | newline_list '(' pattern ')' compound_list
- { $$ = make_pattern_list ($3, $5); }
- | newline_list '(' pattern ')' newline_list
- { $$ = make_pattern_list ($3, (COMMAND *)NULL); }
- ;
-
-case_clause_sequence: pattern_list SEMI_SEMI
- | case_clause_sequence pattern_list SEMI_SEMI
- { $2->next = $1; $$ = $2; }
- ;
-
-pattern: WORD
- { $$ = make_word_list ($1, (WORD_LIST *)NULL); }
- | pattern '|' WORD
- { $$ = make_word_list ($3, $1); }
- ;
-
-/* A list allows leading or trailing newlines and
- newlines as operators (equivalent to semicolons).
- It must end with a newline or semicolon.
- Lists are used within commands such as if, for, while. */
-
-list: newline_list list0
- {
- $$ = $2;
- if (need_here_doc)
- gather_here_documents ();
- }
- ;
-
-compound_list: list
- | newline_list list1
- {
- $$ = $2;
- }
- ;
-
-list0: list1 '\n' newline_list
- | list1 '&' newline_list
- {
- if ($1->type == cm_connection)
- $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
- else
- $$ = command_connect ($1, (COMMAND *)NULL, '&');
- }
- | list1 ';' newline_list
-
- ;
-
-list1: list1 AND_AND newline_list list1
- { $$ = command_connect ($1, $4, AND_AND); }
- | list1 OR_OR newline_list list1
- { $$ = command_connect ($1, $4, OR_OR); }
- | list1 '&' newline_list list1
- {
- if ($1->type == cm_connection)
- $$ = connect_async_list ($1, $4, '&');
- else
- $$ = command_connect ($1, $4, '&');
- }
- | list1 ';' newline_list list1
- { $$ = command_connect ($1, $4, ';'); }
- | list1 '\n' newline_list list1
- { $$ = command_connect ($1, $4, ';'); }
- | pipeline_command
- { $$ = $1; }
- ;
-
-simple_list_terminator: '\n'
- | yacc_EOF
- ;
-
-list_terminator:'\n'
- { $$ = '\n'; }
- | ';'
- { $$ = ';'; }
- | yacc_EOF
- { $$ = yacc_EOF; }
- ;
-
-newline_list:
- | newline_list '\n'
- ;
-
-/* A simple_list is a list that contains no significant newlines
- and no leading or trailing newlines. Newlines are allowed
- only following operators, where they are not significant.
-
- This is what an inputunit consists of. */
-
-simple_list: simple_list1
- {
- $$ = $1;
- if (need_here_doc)
- gather_here_documents ();
- }
- | simple_list1 '&'
- {
- if ($1->type == cm_connection)
- $$ = connect_async_list ($1, (COMMAND *)NULL, '&');
- else
- $$ = command_connect ($1, (COMMAND *)NULL, '&');
- if (need_here_doc)
- gather_here_documents ();
- }
- | simple_list1 ';'
- {
- $$ = $1;
- if (need_here_doc)
- gather_here_documents ();
- }
- ;
-
-simple_list1: simple_list1 AND_AND newline_list simple_list1
- { $$ = command_connect ($1, $4, AND_AND); }
- | simple_list1 OR_OR newline_list simple_list1
- { $$ = command_connect ($1, $4, OR_OR); }
- | simple_list1 '&' simple_list1
- {
- if ($1->type == cm_connection)
- $$ = connect_async_list ($1, $3, '&');
- else
- $$ = command_connect ($1, $3, '&');
- }
- | simple_list1 ';' simple_list1
- { $$ = command_connect ($1, $3, ';'); }
-
- | pipeline_command
- { $$ = $1; }
- ;
-
-pipeline_command: pipeline
- { $$ = $1; }
- | BANG pipeline
- {
- if ($2)
- $2->flags |= CMD_INVERT_RETURN;
- $$ = $2;
- }
- | timespec pipeline
- {
- if ($2)
- $2->flags |= $1;
- $$ = $2;
- }
- | timespec BANG pipeline
- {
- if ($3)
- $3->flags |= $1|CMD_INVERT_RETURN;
- $$ = $3;
- }
- | BANG timespec pipeline
- {
- if ($3)
- $3->flags |= $2|CMD_INVERT_RETURN;
- $$ = $3;
- }
- | timespec list_terminator
- {
- ELEMENT x;
-
- /* Boy, this is unclean. `time' by itself can
- time a null command. We cheat and push a
- newline back if the list_terminator was a newline
- to avoid the double-newline problem (one to
- terminate this, one to terminate the command) */
- x.word = 0;
- x.redirect = 0;
- $$ = make_simple_command (x, (COMMAND *)NULL);
- $$->flags |= $1;
- /* XXX - let's cheat and push a newline back */
- if ($2 == '\n')
- token_to_read = '\n';
- }
-
- ;
-
-pipeline:
- pipeline '|' newline_list pipeline
- { $$ = command_connect ($1, $4, '|'); }
- | command
- { $$ = $1; }
- ;
-
-timespec: TIME
- { $$ = CMD_TIME_PIPELINE; }
- | TIME TIMEOPT
- { $$ = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
- ;
-%%
-
-/* Possible states for the parser that require it to do special things. */
-#define PST_CASEPAT 0x0001 /* in a case pattern list */
-#define PST_ALEXPNEXT 0x0002 /* expand next word for aliases */
-#define PST_ALLOWOPNBRC 0x0004 /* allow open brace for function def */
-#define PST_NEEDCLOSBRC 0x0008 /* need close brace */
-#define PST_DBLPAREN 0x0010 /* double-paren parsing */
-#define PST_SUBSHELL 0x0020 /* ( ... ) subshell */
-#define PST_CMDSUBST 0x0040 /* $( ... ) command substitution */
-#define PST_CASESTMT 0x0080 /* parsing a case statement */
-#define PST_CONDCMD 0x0100 /* parsing a [[...]] command */
-#define PST_CONDEXPR 0x0200 /* parsing the guts of [[...]] */
-#define PST_ARITHFOR 0x0400 /* parsing an arithmetic for command */
-#define PST_ALEXPAND 0x0800 /* OK to expand aliases - unused */
-#define PST_CMDTOKEN 0x1000 /* command token OK - unused */
-#define PST_COMPASSIGN 0x2000 /* parsing x=(...) compound assignment */
-#define PST_ASSIGNOK 0x4000 /* assignment statement ok in this context */
-
-/* Initial size to allocate for tokens, and the
- amount to grow them by. */
-#define TOKEN_DEFAULT_INITIAL_SIZE 496
-#define TOKEN_DEFAULT_GROW_SIZE 512
-
-/* Should we call prompt_again? */
-#define SHOULD_PROMPT() \
- (interactive && (bash_input.type == st_stdin || bash_input.type == st_stream))
-
-#if defined (ALIAS)
-# define expanding_alias() (pushed_string_list && pushed_string_list->expander)
-#else
-# define expanding_alias() 0
-#endif
-
-/* The token currently being read. */
-static int current_token;
-
-/* The last read token, or NULL. read_token () uses this for context
- checking. */
-static int last_read_token;
-
-/* The token read prior to last_read_token. */
-static int token_before_that;
-
-/* The token read prior to token_before_that. */
-static int two_tokens_ago;
-
-/* The current parser state. */
-static int parser_state;
-
-/* Global var is non-zero when end of file has been reached. */
-int EOF_Reached = 0;
-
-#ifdef DEBUG
-static void
-debug_parser (i)
- int i;
-{
-#if YYDEBUG != 0
- yydebug = i;
-#endif
-}
-#endif
-
-/* yy_getc () returns the next available character from input or EOF.
- yy_ungetc (c) makes `c' the next character to read.
- init_yy_io (get, unget, type, location) makes the function GET the
- installed function for getting the next character, makes UNGET the
- installed function for un-getting a character, sets the type of stream
- (either string or file) from TYPE, and makes LOCATION point to where
- the input is coming from. */
-
-/* Unconditionally returns end-of-file. */
-int
-return_EOF ()
-{
- return (EOF);
-}
-
-/* Variable containing the current get and unget functions.
- See ./input.h for a clearer description. */
-BASH_INPUT bash_input;
-
-/* Set all of the fields in BASH_INPUT to NULL. Free bash_input.name if it
- is non-null, avoiding a memory leak. */
-void
-initialize_bash_input ()
-{
- bash_input.type = st_none;
- FREE (bash_input.name);
- bash_input.name = (char *)NULL;
- bash_input.location.file = (FILE *)NULL;
- bash_input.location.string = (char *)NULL;
- bash_input.getter = (sh_cget_func_t *)NULL;
- bash_input.ungetter = (sh_cunget_func_t *)NULL;
-}
-
-/* Set the contents of the current bash input stream from
- GET, UNGET, TYPE, NAME, and LOCATION. */
-void
-init_yy_io (get, unget, type, name, location)
- sh_cget_func_t *get;
- sh_cunget_func_t *unget;
- enum stream_type type;
- const char *name;
- INPUT_STREAM location;
-{
- bash_input.type = type;
- FREE (bash_input.name);
- bash_input.name = name ? savestring (name) : (char *)NULL;
-
- /* XXX */
-#if defined (CRAY)
- memcpy((char *)&bash_input.location.string, (char *)&location.string, sizeof(location));
-#else
- bash_input.location = location;
-#endif
- bash_input.getter = get;
- bash_input.ungetter = unget;
-}
-
-char *
-yy_input_name ()
-{
- return (bash_input.name ? bash_input.name : "stdin");
-}
-
-/* Call this to get the next character of input. */
-static int
-yy_getc ()
-{
- return (*(bash_input.getter)) ();
-}
-
-/* Call this to unget C. That is, to make C the next character
- to be read. */
-static int
-yy_ungetc (c)
- int c;
-{
- return (*(bash_input.ungetter)) (c);
-}
-
-#if defined (BUFFERED_INPUT)
-#ifdef INCLUDE_UNUSED
-int
-input_file_descriptor ()
-{
- switch (bash_input.type)
- {
- case st_stream:
- return (fileno (bash_input.location.file));
- case st_bstream:
- return (bash_input.location.buffered_fd);
- case st_stdin:
- default:
- return (fileno (stdin));
- }
-}
-#endif
-#endif /* BUFFERED_INPUT */
-
-/* **************************************************************** */
-/* */
-/* Let input be read from readline (). */
-/* */
-/* **************************************************************** */
-
-#if defined (READLINE)
-char *current_readline_prompt = (char *)NULL;
-char *current_readline_line = (char *)NULL;
-int current_readline_line_index = 0;
-
-static int
-yy_readline_get ()
-{
- SigHandler *old_sigint;
- int line_len;
- unsigned char c;
-
- if (!current_readline_line)
- {
- if (!bash_readline_initialized)
- initialize_readline ();
-
-#if defined (JOB_CONTROL)
- if (job_control)
- give_terminal_to (shell_pgrp, 0);
-#endif /* JOB_CONTROL */
-
- old_sigint = (SigHandler *)NULL;
- if (signal_is_ignored (SIGINT) == 0)
- {
- old_sigint = (SigHandler *)set_signal_handler (SIGINT, sigint_sighandler);
- interrupt_immediately++;
- }
-
- current_readline_line = readline (current_readline_prompt ?
- current_readline_prompt : "");
-
- if (signal_is_ignored (SIGINT) == 0 && old_sigint)
- {
- interrupt_immediately--;
- set_signal_handler (SIGINT, old_sigint);
- }
-
-#if 0
- /* Reset the prompt to the decoded value of prompt_string_pointer. */
- reset_readline_prompt ();
-#endif
-
- if (current_readline_line == 0)
- return (EOF);
-
- current_readline_line_index = 0;
- line_len = strlen (current_readline_line);
-
- current_readline_line = (char *)xrealloc (current_readline_line, 2 + line_len);
- current_readline_line[line_len++] = '\n';
- current_readline_line[line_len] = '\0';
- }
-
- if (current_readline_line[current_readline_line_index] == 0)
- {
- free (current_readline_line);
- current_readline_line = (char *)NULL;
- return (yy_readline_get ());
- }
- else
- {
- c = current_readline_line[current_readline_line_index++];
- return (c);
- }
-}
-
-static int
-yy_readline_unget (c)
- int c;
-{
- if (current_readline_line_index && current_readline_line)
- current_readline_line[--current_readline_line_index] = c;
- return (c);
-}
-
-void
-with_input_from_stdin ()
-{
- INPUT_STREAM location;
-
- if (bash_input.type != st_stdin && stream_on_stack (st_stdin) == 0)
- {
- location.string = current_readline_line;
- init_yy_io (yy_readline_get, yy_readline_unget,
- st_stdin, "readline stdin", location);
- }
-}
-
-#else /* !READLINE */
-
-void
-with_input_from_stdin ()
-{
- with_input_from_stream (stdin, "stdin");
-}
-#endif /* !READLINE */
-
-/* **************************************************************** */
-/* */
-/* Let input come from STRING. STRING is zero terminated. */
-/* */
-/* **************************************************************** */
-
-static int
-yy_string_get ()
-{
- register char *string;
- register unsigned char c;
-
- string = bash_input.location.string;
-
- /* If the string doesn't exist, or is empty, EOF found. */
- if (string && *string)
- {
- c = *string++;
- bash_input.location.string = string;
- return (c);
- }
- else
- return (EOF);
-}
-
-static int
-yy_string_unget (c)
- int c;
-{
- *(--bash_input.location.string) = c;
- return (c);
-}
-
-void
-with_input_from_string (string, name)
- char *string;
- const char *name;
-{
- INPUT_STREAM location;
-
- location.string = string;
- init_yy_io (yy_string_get, yy_string_unget, st_string, name, location);
-}
-
-/* **************************************************************** */
-/* */
-/* Let input come from STREAM. */
-/* */
-/* **************************************************************** */
-
-/* These two functions used to test the value of the HAVE_RESTARTABLE_SYSCALLS
- define, and just use getc/ungetc if it was defined, but since bash
- installs its signal handlers without the SA_RESTART flag, some signals
- (like SIGCHLD, SIGWINCH, etc.) received during a read(2) will not cause
- the read to be restarted. We need to restart it ourselves. */
-
-static int
-yy_stream_get ()
-{
- int result;
-
- result = EOF;
- if (bash_input.location.file)
- {
- if (interactive)
- interrupt_immediately++;
- result = getc_with_restart (bash_input.location.file);
- if (interactive)
- interrupt_immediately--;
- }
- return (result);
-}
-
-static int
-yy_stream_unget (c)
- int c;
-{
- return (ungetc_with_restart (c, bash_input.location.file));
-}
-
-void
-with_input_from_stream (stream, name)
- FILE *stream;
- const char *name;
-{
- INPUT_STREAM location;
-
- location.file = stream;
- init_yy_io (yy_stream_get, yy_stream_unget, st_stream, name, location);
-}
-
-typedef struct stream_saver {
- struct stream_saver *next;
- BASH_INPUT bash_input;
- int line;
-#if defined (BUFFERED_INPUT)
- BUFFERED_STREAM *bstream;
-#endif /* BUFFERED_INPUT */
-} STREAM_SAVER;
-
-/* The globally known line number. */
-int line_number = 0;
-
-#if defined (COND_COMMAND)
-static int cond_lineno;
-static int cond_token;
-#endif
-
-STREAM_SAVER *stream_list = (STREAM_SAVER *)NULL;
-
-void
-push_stream (reset_lineno)
- int reset_lineno;
-{
- STREAM_SAVER *saver = (STREAM_SAVER *)xmalloc (sizeof (STREAM_SAVER));
-
- xbcopy ((char *)&bash_input, (char *)&(saver->bash_input), sizeof (BASH_INPUT));
-
-#if defined (BUFFERED_INPUT)
- saver->bstream = (BUFFERED_STREAM *)NULL;
- /* If we have a buffered stream, clear out buffers[fd]. */
- if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
- saver->bstream = set_buffered_stream (bash_input.location.buffered_fd,
- (BUFFERED_STREAM *)NULL);
-#endif /* BUFFERED_INPUT */
-
- saver->line = line_number;
- bash_input.name = (char *)NULL;
- saver->next = stream_list;
- stream_list = saver;
- EOF_Reached = 0;
- if (reset_lineno)
- line_number = 0;
-}
-
-void
-pop_stream ()
-{
- if (!stream_list)
- EOF_Reached = 1;
- else
- {
- STREAM_SAVER *saver = stream_list;
-
- EOF_Reached = 0;
- stream_list = stream_list->next;
-
- init_yy_io (saver->bash_input.getter,
- saver->bash_input.ungetter,
- saver->bash_input.type,
- saver->bash_input.name,
- saver->bash_input.location);
-
-#if defined (BUFFERED_INPUT)
- /* If we have a buffered stream, restore buffers[fd]. */
- /* If the input file descriptor was changed while this was on the
- save stack, update the buffered fd to the new file descriptor and
- re-establish the buffer <-> bash_input fd correspondence. */
- if (bash_input.type == st_bstream && bash_input.location.buffered_fd >= 0)
- {
- if (bash_input_fd_changed)
- {
- bash_input_fd_changed = 0;
- if (default_buffered_input >= 0)
- {
- bash_input.location.buffered_fd = default_buffered_input;
- saver->bstream->b_fd = default_buffered_input;
- SET_CLOSE_ON_EXEC (default_buffered_input);
- }
- }
- /* XXX could free buffered stream returned as result here. */
- set_buffered_stream (bash_input.location.buffered_fd, saver->bstream);
- }
-#endif /* BUFFERED_INPUT */
-
- line_number = saver->line;
-
- FREE (saver->bash_input.name);
- free (saver);
- }
-}
-
-/* Return 1 if a stream of type TYPE is saved on the stack. */
-int
-stream_on_stack (type)
- enum stream_type type;
-{
- register STREAM_SAVER *s;
-
- for (s = stream_list; s; s = s->next)
- if (s->bash_input.type == type)
- return 1;
- return 0;
-}
-
-/* Save the current token state and return it in a malloced array. */
-int *
-save_token_state ()
-{
- int *ret;
-
- ret = (int *)xmalloc (3 * sizeof (int));
- ret[0] = last_read_token;
- ret[1] = token_before_that;
- ret[2] = two_tokens_ago;
- return ret;
-}
-
-void
-restore_token_state (ts)
- int *ts;
-{
- if (ts == 0)
- return;
- last_read_token = ts[0];
- token_before_that = ts[1];
- two_tokens_ago = ts[2];
-}
-
-/*
- * This is used to inhibit alias expansion and reserved word recognition
- * inside case statement pattern lists. A `case statement pattern list' is:
- *
- * everything between the `in' in a `case word in' and the next ')'
- * or `esac'
- * everything between a `;;' and the next `)' or `esac'
- */
-
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
-
-#define END_OF_ALIAS 0
-
-/*
- * Pseudo-global variables used in implementing token-wise alias expansion.
- */
-
-/*
- * Pushing and popping strings. This works together with shell_getc to
- * implement alias expansion on a per-token basis.
- */
-
-typedef struct string_saver {
- struct string_saver *next;
- int expand_alias; /* Value to set expand_alias to when string is popped. */
- char *saved_line;
-#if defined (ALIAS)
- alias_t *expander; /* alias that caused this line to be pushed. */
-#endif
- int saved_line_size, saved_line_index, saved_line_terminator;
-} STRING_SAVER;
-
-STRING_SAVER *pushed_string_list = (STRING_SAVER *)NULL;
-
-/*
- * Push the current shell_input_line onto a stack of such lines and make S
- * the current input. Used when expanding aliases. EXPAND is used to set
- * the value of expand_next_token when the string is popped, so that the
- * word after the alias in the original line is handled correctly when the
- * alias expands to multiple words. TOKEN is the token that was expanded
- * into S; it is saved and used to prevent infinite recursive expansion.
- */
-static void
-push_string (s, expand, ap)
- char *s;
- int expand;
- alias_t *ap;
-{
- STRING_SAVER *temp = (STRING_SAVER *)xmalloc (sizeof (STRING_SAVER));
-
- temp->expand_alias = expand;
- temp->saved_line = shell_input_line;
- temp->saved_line_size = shell_input_line_size;
- temp->saved_line_index = shell_input_line_index;
- temp->saved_line_terminator = shell_input_line_terminator;
-#if defined (ALIAS)
- temp->expander = ap;
-#endif
- temp->next = pushed_string_list;
- pushed_string_list = temp;
-
-#if defined (ALIAS)
- if (ap)
- ap->flags |= AL_BEINGEXPANDED;
-#endif
-
- shell_input_line = s;
- shell_input_line_size = strlen (s);
- shell_input_line_index = 0;
- shell_input_line_terminator = '\0';
-#if 0
- parser_state &= ~PST_ALEXPNEXT; /* XXX */
-#endif
-
- set_line_mbstate ();
-}
-
-/*
- * Make the top of the pushed_string stack be the current shell input.
- * Only called when there is something on the stack. Called from shell_getc
- * when it thinks it has consumed the string generated by an alias expansion
- * and needs to return to the original input line.
- */
-static void
-pop_string ()
-{
- STRING_SAVER *t;
-
- FREE (shell_input_line);
- shell_input_line = pushed_string_list->saved_line;
- shell_input_line_index = pushed_string_list->saved_line_index;
- shell_input_line_size = pushed_string_list->saved_line_size;
- shell_input_line_terminator = pushed_string_list->saved_line_terminator;
-
- if (pushed_string_list->expand_alias)
- parser_state |= PST_ALEXPNEXT;
- else
- parser_state &= ~PST_ALEXPNEXT;
-
- t = pushed_string_list;
- pushed_string_list = pushed_string_list->next;
-
-#if defined (ALIAS)
- if (t->expander)
- t->expander->flags &= ~AL_BEINGEXPANDED;
-#endif
-
- free ((char *)t);
-
- set_line_mbstate ();
-}
-
-static void
-free_string_list ()
-{
- register STRING_SAVER *t, *t1;
-
- for (t = pushed_string_list; t; )
- {
- t1 = t->next;
- FREE (t->saved_line);
-#if defined (ALIAS)
- if (t->expander)
- t->expander->flags &= ~AL_BEINGEXPANDED;
-#endif
- free ((char *)t);
- t = t1;
- }
- pushed_string_list = (STRING_SAVER *)NULL;
-}
-
-#endif /* ALIAS || DPAREN_ARITHMETIC */
-
-void
-free_pushed_string_input ()
-{
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
- free_string_list ();
-#endif
-}
-
-/* Return a line of text, taken from wherever yylex () reads input.
- If there is no more input, then we return NULL. If REMOVE_QUOTED_NEWLINE
- is non-zero, we remove unquoted \<newline> pairs. This is used by
- read_secondary_line to read here documents. */
-static char *
-read_a_line (remove_quoted_newline)
- int remove_quoted_newline;
-{
- static char *line_buffer = (char *)NULL;
- static int buffer_size = 0;
- int indx = 0, c, peekc, pass_next;
-
-#if defined (READLINE)
- if (no_line_editing && SHOULD_PROMPT ())
-#else
- if (SHOULD_PROMPT ())
-#endif
- print_prompt ();
-
- pass_next = 0;
- while (1)
- {
- /* Allow immediate exit if interrupted during input. */
- QUIT;
-
- c = yy_getc ();
-
- /* Ignore null bytes in input. */
- if (c == 0)
- {
-#if 0
- internal_warning ("read_a_line: ignored null byte in input");
-#endif
- continue;
- }
-
- /* If there is no more input, then we return NULL. */
- if (c == EOF)
- {
- if (interactive && bash_input.type == st_stream)
- clearerr (stdin);
- if (indx == 0)
- return ((char *)NULL);
- c = '\n';
- }
-
- /* `+2' in case the final character in the buffer is a newline. */
- RESIZE_MALLOCED_BUFFER (line_buffer, indx, 2, buffer_size, 128);
-
- /* IF REMOVE_QUOTED_NEWLINES is non-zero, we are reading a
- here document with an unquoted delimiter. In this case,
- the line will be expanded as if it were in double quotes.
- We allow a backslash to escape the next character, but we
- need to treat the backslash specially only if a backslash
- quoting a backslash-newline pair appears in the line. */
- if (pass_next)
- {
- line_buffer[indx++] = c;
- pass_next = 0;
- }
- else if (c == '\\' && remove_quoted_newline)
- {
- peekc = yy_getc ();
- if (peekc == '\n')
- {
- line_number++;
- continue; /* Make the unquoted \<newline> pair disappear. */
- }
- else
- {
- yy_ungetc (peekc);
- pass_next = 1;
- line_buffer[indx++] = c; /* Preserve the backslash. */
- }
- }
- else
- line_buffer[indx++] = c;
-
- if (c == '\n')
- {
- line_buffer[indx] = '\0';
- return (line_buffer);
- }
- }
-}
-
-/* Return a line as in read_a_line (), but insure that the prompt is
- the secondary prompt. This is used to read the lines of a here
- document. REMOVE_QUOTED_NEWLINE is non-zero if we should remove
- newlines quoted with backslashes while reading the line. It is
- non-zero unless the delimiter of the here document was quoted. */
-char *
-read_secondary_line (remove_quoted_newline)
- int remove_quoted_newline;
-{
- prompt_string_pointer = &ps2_prompt;
- if (SHOULD_PROMPT())
- prompt_again ();
- return (read_a_line (remove_quoted_newline));
-}
-
-/* **************************************************************** */
-/* */
-/* YYLEX () */
-/* */
-/* **************************************************************** */
-
-/* Reserved words. These are only recognized as the first word of a
- command. */
-STRING_INT_ALIST word_token_alist[] = {
- { "if", IF },
- { "then", THEN },
- { "else", ELSE },
- { "elif", ELIF },
- { "fi", FI },
- { "case", CASE },
- { "esac", ESAC },
- { "for", FOR },
-#if defined (SELECT_COMMAND)
- { "select", SELECT },
-#endif
- { "while", WHILE },
- { "until", UNTIL },
- { "do", DO },
- { "done", DONE },
- { "in", IN },
- { "function", FUNCTION },
-#if defined (COMMAND_TIMING)
- { "time", TIME },
-#endif
- { "{", '{' },
- { "}", '}' },
- { "!", BANG },
-#if defined (COND_COMMAND)
- { "[[", COND_START },
- { "]]", COND_END },
-#endif
- { (char *)NULL, 0}
-};
-
-/* other tokens that can be returned by read_token() */
-STRING_INT_ALIST other_token_alist[] = {
- /* Multiple-character tokens with special values */
- { "-p", TIMEOPT },
- { "&&", AND_AND },
- { "||", OR_OR },
- { ">>", GREATER_GREATER },
- { "<<", LESS_LESS },
- { "<&", LESS_AND },
- { ">&", GREATER_AND },
- { ";;", SEMI_SEMI },
- { "<<-", LESS_LESS_MINUS },
- { "<<<", LESS_LESS_LESS },
- { "&>", AND_GREATER },
- { "<>", LESS_GREATER },
- { ">|", GREATER_BAR },
- { "EOF", yacc_EOF },
- /* Tokens whose value is the character itself */
- { ">", '>' },
- { "<", '<' },
- { "-", '-' },
- { "{", '{' },
- { "}", '}' },
- { ";", ';' },
- { "(", '(' },
- { ")", ')' },
- { "|", '|' },
- { "&", '&' },
- { "newline", '\n' },
- { (char *)NULL, 0}
-};
-
-/* others not listed here:
- WORD look at yylval.word
- ASSIGNMENT_WORD look at yylval.word
- NUMBER look at yylval.number
- ARITH_CMD look at yylval.word_list
- ARITH_FOR_EXPRS look at yylval.word_list
- COND_CMD look at yylval.command
-*/
-
-/* These are used by read_token_word, but appear up here so that shell_getc
- can use them to decide when to add otherwise blank lines to the history. */
-
-/* The primary delimiter stack. */
-struct dstack dstack = { (char *)NULL, 0, 0 };
-
-/* A temporary delimiter stack to be used when decoding prompt strings.
- This is needed because command substitutions in prompt strings (e.g., PS2)
- can screw up the parser's quoting state. */
-static struct dstack temp_dstack = { (char *)NULL, 0, 0 };
-
-/* Macro for accessing the top delimiter on the stack. Returns the
- delimiter or zero if none. */
-#define current_delimiter(ds) \
- (ds.delimiter_depth ? ds.delimiters[ds.delimiter_depth - 1] : 0)
-
-#define push_delimiter(ds, character) \
- do \
- { \
- if (ds.delimiter_depth + 2 > ds.delimiter_space) \
- ds.delimiters = (char *)xrealloc \
- (ds.delimiters, (ds.delimiter_space += 10) * sizeof (char)); \
- ds.delimiters[ds.delimiter_depth] = character; \
- ds.delimiter_depth++; \
- } \
- while (0)
-
-#define pop_delimiter(ds) ds.delimiter_depth--
-
-/* Return the next shell input character. This always reads characters
- from shell_input_line; when that line is exhausted, it is time to
- read the next line. This is called by read_token when the shell is
- processing normal command input. */
-
-/* This implements one-character lookahead/lookbehind across physical input
- lines, to avoid something being lost because it's pushed back with
- shell_ungetc when we're at the start of a line. */
-static int eol_ungetc_lookahead = 0;
-
-static int
-shell_getc (remove_quoted_newline)
- int remove_quoted_newline;
-{
- register int i;
- int c;
- unsigned char uc;
- static int mustpop = 0;
-
- QUIT;
-
- if (eol_ungetc_lookahead)
- {
- c = eol_ungetc_lookahead;
- eol_ungetc_lookahead = 0;
- return (c);
- }
-
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
- /* If shell_input_line[shell_input_line_index] == 0, but there is
- something on the pushed list of strings, then we don't want to go
- off and get another line. We let the code down below handle it. */
-
- if (!shell_input_line || ((!shell_input_line[shell_input_line_index]) &&
- (pushed_string_list == (STRING_SAVER *)NULL)))
-#else /* !ALIAS && !DPAREN_ARITHMETIC */
- if (!shell_input_line || !shell_input_line[shell_input_line_index])
-#endif /* !ALIAS && !DPAREN_ARITHMETIC */
- {
- line_number++;
-
- restart_read:
-
- /* Allow immediate exit if interrupted during input. */
- QUIT;
-
- i = 0;
- shell_input_line_terminator = 0;
-
- /* If the shell is interatctive, but not currently printing a prompt
- (interactive_shell && interactive == 0), we don't want to print
- notifies or cleanup the jobs -- we want to defer it until we do
- print the next prompt. */
- if (interactive_shell == 0 || SHOULD_PROMPT())
- {
-#if defined (JOB_CONTROL)
- /* This can cause a problem when reading a command as the result
- of a trap, when the trap is called from flush_child. This call
- had better not cause jobs to disappear from the job table in
- that case, or we will have big trouble. */
- notify_and_cleanup ();
-#else /* !JOB_CONTROL */
- cleanup_dead_jobs ();
-#endif /* !JOB_CONTROL */
- }
-
-#if defined (READLINE)
- if (no_line_editing && SHOULD_PROMPT())
-#else
- if (SHOULD_PROMPT())
-#endif
- print_prompt ();
-
- if (bash_input.type == st_stream)
- clearerr (stdin);
-
- while (1)
- {
- c = yy_getc ();
-
- /* Allow immediate exit if interrupted during input. */
- QUIT;
-
- if (c == '\0')
- {
-#if 0
- internal_warning ("shell_getc: ignored null byte in input");
-#endif
- continue;
- }
-
- RESIZE_MALLOCED_BUFFER (shell_input_line, i, 2, shell_input_line_size, 256);
-
- if (c == EOF)
- {
- if (bash_input.type == st_stream)
- clearerr (stdin);
-
- if (i == 0)
- shell_input_line_terminator = EOF;
-
- shell_input_line[i] = '\0';
- break;
- }
-
- shell_input_line[i++] = c;
-
- if (c == '\n')
- {
- shell_input_line[--i] = '\0';
- current_command_line_count++;
- break;
- }
- }
-
- shell_input_line_index = 0;
- shell_input_line_len = i; /* == strlen (shell_input_line) */
-
- set_line_mbstate ();
-
-#if defined (HISTORY)
- if (remember_on_history && shell_input_line && shell_input_line[0])
- {
- char *expansions;
-# if defined (BANG_HISTORY)
- int old_hist;
-
- /* If the current delimiter is a single quote, we should not be
- performing history expansion, even if we're on a different
- line from the original single quote. */
- old_hist = history_expansion_inhibited;
- if (current_delimiter (dstack) == '\'')
- history_expansion_inhibited = 1;
-# endif
- expansions = pre_process_line (shell_input_line, 1, 1);
-# if defined (BANG_HISTORY)
- history_expansion_inhibited = old_hist;
-# endif
- if (expansions != shell_input_line)
- {
- free (shell_input_line);
- shell_input_line = expansions;
- shell_input_line_len = shell_input_line ?
- strlen (shell_input_line) : 0;
- if (!shell_input_line_len)
- current_command_line_count--;
-
- /* We have to force the xrealloc below because we don't know
- the true allocated size of shell_input_line anymore. */
- shell_input_line_size = shell_input_line_len;
-
- set_line_mbstate ();
- }
- }
- /* Try to do something intelligent with blank lines encountered while
- entering multi-line commands. XXX - this is grotesque */
- else if (remember_on_history && shell_input_line &&
- shell_input_line[0] == '\0' &&
- current_command_line_count > 1)
- {
- if (current_delimiter (dstack))
- /* We know shell_input_line[0] == 0 and we're reading some sort of
- quoted string. This means we've got a line consisting of only
- a newline in a quoted string. We want to make sure this line
- gets added to the history. */
- maybe_add_history (shell_input_line);
- else
- {
- char *hdcs;
- hdcs = history_delimiting_chars ();
- if (hdcs && hdcs[0] == ';')
- maybe_add_history (shell_input_line);
- }
- }
-
-#endif /* HISTORY */
-
- if (shell_input_line)
- {
- /* Lines that signify the end of the shell's input should not be
- echoed. */
- if (echo_input_at_read && (shell_input_line[0] ||
- shell_input_line_terminator != EOF))
- fprintf (stderr, "%s\n", shell_input_line);
- }
- else
- {
- shell_input_line_size = 0;
- prompt_string_pointer = ¤t_prompt_string;
- if (SHOULD_PROMPT ())
- prompt_again ();
- goto restart_read;
- }
-
- /* Add the newline to the end of this string, iff the string does
- not already end in an EOF character. */
- if (shell_input_line_terminator != EOF)
- {
- if (shell_input_line_len + 3 > shell_input_line_size)
- shell_input_line = (char *)xrealloc (shell_input_line,
- 1 + (shell_input_line_size += 2));
-
- shell_input_line[shell_input_line_len] = '\n';
- shell_input_line[shell_input_line_len + 1] = '\0';
-
- set_line_mbstate ();
- }
- }
-
- uc = shell_input_line[shell_input_line_index];
-
- if (uc)
- shell_input_line_index++;
-
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
- /* If UC is NULL, we have reached the end of the current input string. If
- pushed_string_list is non-empty, it's time to pop to the previous string
- because we have fully consumed the result of the last alias expansion.
- Do it transparently; just return the next character of the string popped
- to. */
- if (!uc && (pushed_string_list != (STRING_SAVER *)NULL))
- {
- pop_string ();
- uc = shell_input_line[shell_input_line_index];
- if (uc)
- shell_input_line_index++;
- }
-#endif /* ALIAS || DPAREN_ARITHMETIC */
-
- if MBTEST(uc == '\\' && remove_quoted_newline && shell_input_line[shell_input_line_index] == '\n')
- {
- if (SHOULD_PROMPT ())
- prompt_again ();
- line_number++;
- goto restart_read;
- }
-
- if (!uc && shell_input_line_terminator == EOF)
- return ((shell_input_line_index != 0) ? '\n' : EOF);
-
- return (uc);
-}
-
-/* Put C back into the input for the shell. This might need changes for
- HANDLE_MULTIBYTE around EOLs. Since we (currently) never push back a
- character different than we read, shell_input_line_property doesn't need
- to change when manipulating shell_input_line. The define for
- last_shell_getc_is_singlebyte should take care of it, though. */
-static void
-shell_ungetc (c)
- int c;
-{
- if (shell_input_line && shell_input_line_index)
- shell_input_line[--shell_input_line_index] = c;
- else
- eol_ungetc_lookahead = c;
-}
-
-#ifdef INCLUDE_UNUSED
-/* Back the input pointer up by one, effectively `ungetting' a character. */
-static void
-shell_ungetchar ()
-{
- if (shell_input_line && shell_input_line_index)
- shell_input_line_index--;
-}
-#endif
-
-/* Discard input until CHARACTER is seen, then push that character back
- onto the input stream. */
-static void
-discard_until (character)
- int character;
-{
- int c;
-
- while ((c = shell_getc (0)) != EOF && c != character)
- ;
-
- if (c != EOF)
- shell_ungetc (c);
-}
-
-void
-execute_prompt_command (command)
- char *command;
-{
- char *last_lastarg;
- sh_parser_state_t ps;
-
- save_parser_state (&ps);
- last_lastarg = get_string_value ("_");
- if (last_lastarg)
- last_lastarg = savestring (last_lastarg);
-
- parse_and_execute (savestring (command), "PROMPT_COMMAND", SEVAL_NONINT|SEVAL_NOHIST);
-
- restore_parser_state (&ps);
- bind_variable ("_", last_lastarg, 0);
- FREE (last_lastarg);
-
- if (token_to_read == '\n') /* reset_parser was called */
- token_to_read = 0;
-}
-
-/* Place to remember the token. We try to keep the buffer
- at a reasonable size, but it can grow. */
-static char *token = (char *)NULL;
-
-/* Current size of the token buffer. */
-static int token_buffer_size;
-
-/* Command to read_token () explaining what we want it to do. */
-#define READ 0
-#define RESET 1
-#define prompt_is_ps1 \
- (!prompt_string_pointer || prompt_string_pointer == &ps1_prompt)
-
-/* Function for yyparse to call. yylex keeps track of
- the last two tokens read, and calls read_token. */
-static int
-yylex ()
-{
- if (interactive && (current_token == 0 || current_token == '\n'))
- {
- /* Before we print a prompt, we might have to check mailboxes.
- We do this only if it is time to do so. Notice that only here
- is the mail alarm reset; nothing takes place in check_mail ()
- except the checking of mail. Please don't change this. */
- if (prompt_is_ps1 && time_to_check_mail ())
- {
- check_mail ();
- reset_mail_timer ();
- }
-
- /* Avoid printing a prompt if we're not going to read anything, e.g.
- after resetting the parser with read_token (RESET). */
- if (token_to_read == 0 && SHOULD_PROMPT ())
- prompt_again ();
- }
-
- two_tokens_ago = token_before_that;
- token_before_that = last_read_token;
- last_read_token = current_token;
- current_token = read_token (READ);
- return (current_token);
-}
-
-/* When non-zero, we have read the required tokens
- which allow ESAC to be the next one read. */
-static int esacs_needed_count;
-
-void
-gather_here_documents ()
-{
- int r = 0;
- while (need_here_doc)
- {
- make_here_document (redir_stack[r++]);
- need_here_doc--;
- }
-}
-
-/* When non-zero, an open-brace used to create a group is awaiting a close
- brace partner. */
-static int open_brace_count;
-
-#define command_token_position(token) \
- (((token) == ASSIGNMENT_WORD) || \
- ((token) != SEMI_SEMI && reserved_word_acceptable(token)))
-
-#define assignment_acceptable(token) \
- (command_token_position(token) && ((parser_state & PST_CASEPAT) == 0))
-
-/* Check to see if TOKEN is a reserved word and return the token
- value if it is. */
-#define CHECK_FOR_RESERVED_WORD(tok) \
- do { \
- if (!dollar_present && !quoted && \
- reserved_word_acceptable (last_read_token)) \
- { \
- int i; \
- for (i = 0; word_token_alist[i].word != (char *)NULL; i++) \
- if (STREQ (tok, word_token_alist[i].word)) \
- { \
- if ((parser_state & PST_CASEPAT) && (word_token_alist[i].token != ESAC)) \
- break; \
- if (word_token_alist[i].token == TIME && time_command_acceptable () == 0) \
- break; \
- if (word_token_alist[i].token == ESAC) \
- parser_state &= ~(PST_CASEPAT|PST_CASESTMT); \
- else if (word_token_alist[i].token == CASE) \
- parser_state |= PST_CASESTMT; \
- else if (word_token_alist[i].token == COND_END) \
- parser_state &= ~(PST_CONDCMD|PST_CONDEXPR); \
- else if (word_token_alist[i].token == COND_START) \
- parser_state |= PST_CONDCMD; \
- else if (word_token_alist[i].token == '{') \
- open_brace_count++; \
- else if (word_token_alist[i].token == '}' && open_brace_count) \
- open_brace_count--; \
- return (word_token_alist[i].token); \
- } \
- } \
- } while (0)
-
-#if defined (ALIAS)
-
- /* OK, we have a token. Let's try to alias expand it, if (and only if)
- it's eligible.
-
- It is eligible for expansion if EXPAND_ALIASES is set, and
- the token is unquoted and the last token read was a command
- separator (or expand_next_token is set), and we are currently
- processing an alias (pushed_string_list is non-empty) and this
- token is not the same as the current or any previously
- processed alias.
-
- Special cases that disqualify:
- In a pattern list in a case statement (parser_state & PST_CASEPAT). */
-
-static char *
-mk_alexpansion (s)
- char *s;
-{
- int l;
- char *r;
-
- l = strlen (s);
- r = xmalloc (l + 2);
- strcpy (r, s);
- if (r[l -1] != ' ')
- r[l++] = ' ';
- r[l] = '\0';
- return r;
-}
-
-static int
-alias_expand_token (tokstr)
- char *tokstr;
-{
- char *expanded;
- alias_t *ap;
-
- if (((parser_state & PST_ALEXPNEXT) || command_token_position (last_read_token)) &&
- (parser_state & PST_CASEPAT) == 0)
- {
- ap = find_alias (tokstr);
-
- /* Currently expanding this token. */
- if (ap && (ap->flags & AL_BEINGEXPANDED))
- return (NO_EXPANSION);
-
- /* mk_alexpansion puts an extra space on the end of the alias expansion,
- so the lookahead by the parser works right. If this gets changed,
- make sure the code in shell_getc that deals with reaching the end of
- an expanded alias is changed with it. */
- expanded = ap ? mk_alexpansion (ap->value) : (char *)NULL;
-
- if (expanded)
- {
- push_string (expanded, ap->flags & AL_EXPANDNEXT, ap);
- return (RE_READ_TOKEN);
- }
- else
- /* This is an eligible token that does not have an expansion. */
- return (NO_EXPANSION);
- }
- return (NO_EXPANSION);
-}
-#endif /* ALIAS */
-
-static int
-time_command_acceptable ()
-{
-#if defined (COMMAND_TIMING)
- switch (last_read_token)
- {
- case 0:
- case ';':
- case '\n':
- case AND_AND:
- case OR_OR:
- case '&':
- case DO:
- case THEN:
- case ELSE:
- case '{': /* } */
- case '(': /* ) */
- return 1;
- default:
- return 0;
- }
-#else
- return 0;
-#endif /* COMMAND_TIMING */
-}
-
-/* Handle special cases of token recognition:
- IN is recognized if the last token was WORD and the token
- before that was FOR or CASE or SELECT.
-
- DO is recognized if the last token was WORD and the token
- before that was FOR or SELECT.
-
- ESAC is recognized if the last token caused `esacs_needed_count'
- to be set
-
- `{' is recognized if the last token as WORD and the token
- before that was FUNCTION, or if we just parsed an arithmetic
- `for' command.
-
- `}' is recognized if there is an unclosed `{' present.
-
- `-p' is returned as TIMEOPT if the last read token was TIME.
-
- ']]' is returned as COND_END if the parser is currently parsing
- a conditional expression ((parser_state & PST_CONDEXPR) != 0)
-
- `time' is returned as TIME if and only if it is immediately
- preceded by one of `;', `\n', `||', `&&', or `&'.
-*/
-
-static int
-special_case_tokens (tokstr)
- char *tokstr;
-{
- if ((last_read_token == WORD) &&
-#if defined (SELECT_COMMAND)
- ((token_before_that == FOR) || (token_before_that == CASE) || (token_before_that == SELECT)) &&
-#else
- ((token_before_that == FOR) || (token_before_that == CASE)) &&
-#endif
- (tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0))
- {
- if (token_before_that == CASE)
- {
- parser_state |= PST_CASEPAT;
- esacs_needed_count++;
- }
- return (IN);
- }
-
- if (last_read_token == WORD &&
-#if defined (SELECT_COMMAND)
- (token_before_that == FOR || token_before_that == SELECT) &&
-#else
- (token_before_that == FOR) &&
-#endif
- (tokstr[0] == 'd' && tokstr[1] == 'o' && tokstr[2] == '\0'))
- return (DO);
-
- /* Ditto for ESAC in the CASE case.
- Specifically, this handles "case word in esac", which is a legal
- construct, certainly because someone will pass an empty arg to the
- case construct, and we don't want it to barf. Of course, we should
- insist that the case construct has at least one pattern in it, but
- the designers disagree. */
- if (esacs_needed_count)
- {
- esacs_needed_count--;
- if (STREQ (tokstr, "esac"))
- {
- parser_state &= ~PST_CASEPAT;
- return (ESAC);
- }
- }
-
- /* The start of a shell function definition. */
- if (parser_state & PST_ALLOWOPNBRC)
- {
- parser_state &= ~PST_ALLOWOPNBRC;
- if (tokstr[0] == '{' && tokstr[1] == '\0') /* } */
- {
- open_brace_count++;
- function_bstart = line_number;
- return ('{'); /* } */
- }
- }
-
- /* We allow a `do' after a for ((...)) without an intervening
- list_terminator */
- if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == 'd' && tokstr[1] == 'o' && !tokstr[2])
- return (DO);
- if (last_read_token == ARITH_FOR_EXPRS && tokstr[0] == '{' && tokstr[1] == '\0') /* } */
- {
- open_brace_count++;
- return ('{'); /* } */
- }
-
- if (open_brace_count && reserved_word_acceptable (last_read_token) && tokstr[0] == '}' && !tokstr[1])
- {
- open_brace_count--; /* { */
- return ('}');
- }
-
-#if defined (COMMAND_TIMING)
- /* Handle -p after `time'. */
- if (last_read_token == TIME && tokstr[0] == '-' && tokstr[1] == 'p' && !tokstr[2])
- return (TIMEOPT);
-#endif
-
-#if 0
-#if defined (COMMAND_TIMING)
- if (STREQ (token, "time") && ((parser_state & PST_CASEPAT) == 0) && time_command_acceptable ())
- return (TIME);
-#endif /* COMMAND_TIMING */
-#endif
-
-#if defined (COND_COMMAND) /* [[ */
- if ((parser_state & PST_CONDEXPR) && tokstr[0] == ']' && tokstr[1] == ']' && tokstr[2] == '\0')
- return (COND_END);
-#endif
-
- return (-1);
-}
-
-/* Called from shell.c when Control-C is typed at top level. Or
- by the error rule at top level. */
-void
-reset_parser ()
-{
- dstack.delimiter_depth = 0; /* No delimiters found so far. */
- open_brace_count = 0;
-
- parser_state = 0;
-
-#if defined (ALIAS) || defined (DPAREN_ARITHMETIC)
- if (pushed_string_list)
- free_string_list ();
-#endif /* ALIAS || DPAREN_ARITHMETIC */
-
- if (shell_input_line)
- {
- free (shell_input_line);
- shell_input_line = (char *)NULL;
- shell_input_line_size = shell_input_line_index = 0;
- }
-
- FREE (word_desc_to_read);
- word_desc_to_read = (WORD_DESC *)NULL;
-
- last_read_token = '\n';
- token_to_read = '\n';
-}
-
-/* Read the next token. Command can be READ (normal operation) or
- RESET (to normalize state). */
-static int
-read_token (command)
- int command;
-{
- int character; /* Current character. */
- int peek_char; /* Temporary look-ahead character. */
- int result; /* The thing to return. */
-
- if (command == RESET)
- {
- reset_parser ();
- return ('\n');
- }
-
- if (token_to_read)
- {
- result = token_to_read;
- if (token_to_read == WORD || token_to_read == ASSIGNMENT_WORD)
- {
- yylval.word = word_desc_to_read;
- word_desc_to_read = (WORD_DESC *)NULL;
- }
- token_to_read = 0;
- return (result);
- }
-
-#if defined (COND_COMMAND)
- if ((parser_state & (PST_CONDCMD|PST_CONDEXPR)) == PST_CONDCMD)
- {
- cond_lineno = line_number;
- parser_state |= PST_CONDEXPR;
- yylval.command = parse_cond_command ();
- if (cond_token != COND_END)
- {
- cond_error ();
- return (-1);
- }
- token_to_read = COND_END;
- parser_state &= ~(PST_CONDEXPR|PST_CONDCMD);
- return (COND_CMD);
- }
-#endif
-
-#if defined (ALIAS)
- /* This is a place to jump back to once we have successfully expanded a
- token with an alias and pushed the string with push_string () */
- re_read_token:
-#endif /* ALIAS */
-
- /* Read a single word from input. Start by skipping blanks. */
- while ((character = shell_getc (1)) != EOF && whitespace (character))
- ;
-
- if (character == EOF)
- {
- EOF_Reached = 1;
- return (yacc_EOF);
- }
-
- if MBTEST(character == '#' && (!interactive || interactive_comments))
- {
- /* A comment. Discard until EOL or EOF, and then return a newline. */
- discard_until ('\n');
- shell_getc (0);
- character = '\n'; /* this will take the next if statement and return. */
- }
-
- if (character == '\n')
- {
- /* If we're about to return an unquoted newline, we can go and collect
- the text of any pending here document. */
- if (need_here_doc)
- gather_here_documents ();
-
-#if defined (ALIAS)
- parser_state &= ~PST_ALEXPNEXT;
-#endif /* ALIAS */
-
- parser_state &= ~PST_ASSIGNOK;
-
- return (character);
- }
-
- /* Shell meta-characters. */
- if MBTEST(shellmeta (character) && ((parser_state & PST_DBLPAREN) == 0))
- {
-#if defined (ALIAS)
- /* Turn off alias tokenization iff this character sequence would
- not leave us ready to read a command. */
- if (character == '<' || character == '>')
- parser_state &= ~PST_ALEXPNEXT;
-#endif /* ALIAS */
-
- parser_state &= ~PST_ASSIGNOK;
-
- peek_char = shell_getc (1);
- if (character == peek_char)
- {
- switch (character)
- {
- case '<':
- /* If '<' then we could be at "<<" or at "<<-". We have to
- look ahead one more character. */
- peek_char = shell_getc (1);
- if (peek_char == '-')
- return (LESS_LESS_MINUS);
- else if (peek_char == '<')
- return (LESS_LESS_LESS);
- else
- {
- shell_ungetc (peek_char);
- return (LESS_LESS);
- }
-
- case '>':
- return (GREATER_GREATER);
-
- case ';':
- parser_state |= PST_CASEPAT;
-#if defined (ALIAS)
- parser_state &= ~PST_ALEXPNEXT;
-#endif /* ALIAS */
-
- return (SEMI_SEMI);
-
- case '&':
- return (AND_AND);
-
- case '|':
- return (OR_OR);
-
-#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
- case '(': /* ) */
- result = parse_dparen (character);
- if (result == -2)
- break;
- else
- return result;
-#endif
- }
- }
- else if MBTEST(character == '<' && peek_char == '&')
- return (LESS_AND);
- else if MBTEST(character == '>' && peek_char == '&')
- return (GREATER_AND);
- else if MBTEST(character == '<' && peek_char == '>')
- return (LESS_GREATER);
- else if MBTEST(character == '>' && peek_char == '|')
- return (GREATER_BAR);
- else if MBTEST(peek_char == '>' && character == '&')
- return (AND_GREATER);
-
- shell_ungetc (peek_char);
-
- /* If we look like we are reading the start of a function
- definition, then let the reader know about it so that
- we will do the right thing with `{'. */
- if MBTEST(character == ')' && last_read_token == '(' && token_before_that == WORD)
- {
- parser_state |= PST_ALLOWOPNBRC;
-#if defined (ALIAS)
- parser_state &= ~PST_ALEXPNEXT;
-#endif /* ALIAS */
- function_dstart = line_number;
- }
-
- /* case pattern lists may be preceded by an optional left paren. If
- we're not trying to parse a case pattern list, the left paren
- indicates a subshell. */
- if MBTEST(character == '(' && (parser_state & PST_CASEPAT) == 0) /* ) */
- parser_state |= PST_SUBSHELL;
- /*(*/
- else if MBTEST((parser_state & PST_CASEPAT) && character == ')')
- parser_state &= ~PST_CASEPAT;
- /*(*/
- else if MBTEST((parser_state & PST_SUBSHELL) && character == ')')
- parser_state &= ~PST_SUBSHELL;
-
-#if defined (PROCESS_SUBSTITUTION)
- /* Check for the constructs which introduce process substitution.
- Shells running in `posix mode' don't do process substitution. */
- if MBTEST(posixly_correct || ((character != '>' && character != '<') || peek_char != '(')) /*)*/
-#endif /* PROCESS_SUBSTITUTION */
- return (character);
- }
-
- /* Hack <&- (close stdin) case. Also <&N- (dup and close). */
- if MBTEST(character == '-' && (last_read_token == LESS_AND || last_read_token == GREATER_AND))
- return (character);
-
- /* Okay, if we got this far, we have to read a word. Read one,
- and then check it against the known ones. */
- result = read_token_word (character);
-#if defined (ALIAS)
- if (result == RE_READ_TOKEN)
- goto re_read_token;
-#endif
- return result;
-}
-
-/*
- * Match a $(...) or other grouping construct. This has to handle embedded
- * quoted strings ('', ``, "") and nested constructs. It also must handle
- * reprompting the user, if necessary, after reading a newline (unless the
- * P_NONL flag is passed), and returning correct error values if it reads
- * EOF.
- */
-#define P_FIRSTCLOSE 0x01
-#define P_ALLOWESC 0x02
-#define P_DQUOTE 0x04
-
-static char matched_pair_error;
-static char *
-parse_matched_pair (qc, open, close, lenp, flags)
- int qc; /* `"' if this construct is within double quotes */
- int open, close;
- int *lenp, flags;
-{
- int count, ch, was_dollar;
- int pass_next_character, nestlen, ttranslen, start_lineno;
- char *ret, *nestret, *ttrans;
- int retind, retsize, rflags;
-
- count = 1;
- pass_next_character = was_dollar = 0;
-
- /* RFLAGS is the set of flags we want to pass to recursive calls. */
- rflags = (qc == '"') ? P_DQUOTE : (flags & P_DQUOTE);
-
- ret = (char *)xmalloc (retsize = 64);
- retind = 0;
-
- start_lineno = line_number;
- while (count)
- {
-#if 0
- ch = shell_getc ((qc != '\'' || (flags & P_ALLOWESC)) && pass_next_character == 0);
-#else
- ch = shell_getc (qc != '\'' && pass_next_character == 0);
-#endif
- if (ch == EOF)
- {
- free (ret);
- parser_error (start_lineno, _("unexpected EOF while looking for matching `%c'"), close);
- EOF_Reached = 1; /* XXX */
- return (&matched_pair_error);
- }
-
- /* Possible reprompting. */
- if (ch == '\n' && SHOULD_PROMPT ())
- prompt_again ();
-
- if (pass_next_character) /* last char was backslash */
- {
- pass_next_character = 0;
- if (qc != '\'' && ch == '\n') /* double-quoted \<newline> disappears. */
- {
- if (retind > 0) retind--; /* swallow previously-added backslash */
- continue;
- }
-
- RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
- if MBTEST(ch == CTLESC || ch == CTLNUL)
- ret[retind++] = CTLESC;
- ret[retind++] = ch;
- continue;
- }
- else if MBTEST(ch == CTLESC || ch == CTLNUL) /* special shell escapes */
- {
- RESIZE_MALLOCED_BUFFER (ret, retind, 2, retsize, 64);
- ret[retind++] = CTLESC;
- ret[retind++] = ch;
- continue;
- }
- else if MBTEST(ch == close) /* ending delimiter */
- count--;
-#if 1
- /* handle nested ${...} specially. */
- else if MBTEST(open != close && was_dollar && open == '{' && ch == open) /* } */
- count++;
-#endif
- else if MBTEST(((flags & P_FIRSTCLOSE) == 0) && ch == open) /* nested begin */
- count++;
-
- /* Add this character. */
- RESIZE_MALLOCED_BUFFER (ret, retind, 1, retsize, 64);
- ret[retind++] = ch;
-
- if (open == '\'') /* '' inside grouping construct */
- {
- if MBTEST((flags & P_ALLOWESC) && ch == '\\')
- pass_next_character++;
- continue;
- }
-
- if MBTEST(ch == '\\') /* backslashes */
- pass_next_character++;
-
- if (open != close) /* a grouping construct */
- {
- if MBTEST(shellquote (ch))
- {
- /* '', ``, or "" inside $(...) or other grouping construct. */
- push_delimiter (dstack, ch);
- if MBTEST(was_dollar && ch == '\'') /* $'...' inside group */
- nestret = parse_matched_pair (ch, ch, ch, &nestlen, P_ALLOWESC|rflags);
- else
- nestret = parse_matched_pair (ch, ch, ch, &nestlen, rflags);
- pop_delimiter (dstack);
- if (nestret == &matched_pair_error)
- {
- free (ret);
- return &matched_pair_error;
- }
- if MBTEST(was_dollar && ch == '\'' && (extended_quote || (rflags & P_DQUOTE) == 0))
- {
- /* Translate $'...' here. */
- ttrans = ansiexpand (nestret, 0, nestlen - 1, &ttranslen);
- xfree (nestret);
-
- nestret = sh_single_quote (ttrans);
- free (ttrans);
- nestlen = strlen (nestret);
- retind -= 2; /* back up before the $' */
- }
- else if MBTEST(was_dollar && ch == '"' && (extended_quote || (rflags & P_DQUOTE) == 0))
- {
- /* Locale expand $"..." here. */
- ttrans = localeexpand (nestret, 0, nestlen - 1, start_lineno, &ttranslen);
- xfree (nestret);
-
- nestret = sh_mkdoublequoted (ttrans, ttranslen, 0);
- free (ttrans);
- nestlen = ttranslen + 2;
- retind -= 2; /* back up before the $" */
- }
-
- if (nestlen)
- {
- RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64);
- strcpy (ret + retind, nestret);
- retind += nestlen;
- }
- FREE (nestret);
- }
- }
- /* Parse an old-style command substitution within double quotes as a
- single word. */
- /* XXX - sh and ksh93 don't do this - XXX */
- else if MBTEST(open == '"' && ch == '`')
- {
- nestret = parse_matched_pair (0, '`', '`', &nestlen, rflags);
- if (nestret == &matched_pair_error)
- {
- free (ret);
- return &matched_pair_error;
- }
- if (nestlen)
- {
- RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64);
- strcpy (ret + retind, nestret);
- retind += nestlen;
- }
- FREE (nestret);
- }
- else if MBTEST(was_dollar && (ch == '(' || ch == '{' || ch == '[')) /* ) } ] */
- /* check for $(), $[], or ${} inside quoted string. */
- {
- if (open == ch) /* undo previous increment */
- count--;
- if (ch == '(') /* ) */
- nestret = parse_matched_pair (0, '(', ')', &nestlen, rflags);
- else if (ch == '{') /* } */
- nestret = parse_matched_pair (0, '{', '}', &nestlen, P_FIRSTCLOSE|rflags);
- else if (ch == '[') /* ] */
- nestret = parse_matched_pair (0, '[', ']', &nestlen, rflags);
- if (nestret == &matched_pair_error)
- {
- free (ret);
- return &matched_pair_error;
- }
- if (nestlen)
- {
- RESIZE_MALLOCED_BUFFER (ret, retind, nestlen, retsize, 64);
- strcpy (ret + retind, nestret);
- retind += nestlen;
- }
- FREE (nestret);
- }
- was_dollar = MBTEST(ch == '$');
- }
-
- ret[retind] = '\0';
- if (lenp)
- *lenp = retind;
- return ret;
-}
-
-#if defined (DPAREN_ARITHMETIC) || defined (ARITH_FOR_COMMAND)
-/* Parse a double-paren construct. It can be either an arithmetic
- command, an arithmetic `for' command, or a nested subshell. Returns
- the parsed token, -1 on error, or -2 if we didn't do anything and
- should just go on. */
-static int
-parse_dparen (c)
- int c;
-{
- int cmdtyp, len, sline;
- char *wval, *wv2;
- WORD_DESC *wd;
-
-#if defined (ARITH_FOR_COMMAND)
- if (last_read_token == FOR)
- {
- arith_for_lineno = line_number;
- cmdtyp = parse_arith_cmd (&wval, 0);
- if (cmdtyp == 1)
- {
- wd = alloc_word_desc ();
- wd->word = wval;
- wd = make_word (wval);
- yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
- return (ARITH_FOR_EXPRS);
- }
- else
- return -1; /* ERROR */
- }
-#endif
-
-#if defined (DPAREN_ARITHMETIC)
- if (reserved_word_acceptable (last_read_token))
- {
- sline = line_number;
-
- cmdtyp = parse_arith_cmd (&wval, 0);
- if (cmdtyp == 1) /* arithmetic command */
- {
- wd = alloc_word_desc ();
- wd->word = wval;
- wd->flags = W_QUOTED|W_NOSPLIT|W_NOGLOB|W_DQUOTE;
- yylval.word_list = make_word_list (wd, (WORD_LIST *)NULL);
- return (ARITH_CMD);
- }
- else if (cmdtyp == 0) /* nested subshell */
- {
- push_string (wval, 0, (alias_t *)NULL);
- if ((parser_state & PST_CASEPAT) == 0)
- parser_state |= PST_SUBSHELL;
- return (c);
- }
- else /* ERROR */
- return -1;
- }
-#endif
-
- return -2; /* XXX */
-}
-
-/* We've seen a `(('. Look for the matching `))'. If we get it, return 1.
- If not, assume it's a nested subshell for backwards compatibility and
- return 0. In any case, put the characters we've consumed into a locally-
- allocated buffer and make *ep point to that buffer. Return -1 on an
- error, for example EOF. */
-static int
-parse_arith_cmd (ep, adddq)
- char **ep;
- int adddq;
-{
- int exp_lineno, rval, c;
- char *ttok, *tokstr;
- int ttoklen;
-
- exp_lineno = line_number;
- ttok = parse_matched_pair (0, '(', ')', &ttoklen, 0);
- rval = 1;
- if (ttok == &matched_pair_error)
- return -1;
- /* Check that the next character is the closing right paren. If
- not, this is a syntax error. ( */
- c = shell_getc (0);
- if MBTEST(c != ')')
- rval = 0;
-
- tokstr = (char *)xmalloc (ttoklen + 4);
-
- /* if ADDDQ != 0 then (( ... )) -> "..." */
- if (rval == 1 && adddq) /* arith cmd, add double quotes */
- {
- tokstr[0] = '"';
- strncpy (tokstr + 1, ttok, ttoklen - 1);
- tokstr[ttoklen] = '"';
- tokstr[ttoklen+1] = '\0';
- }
- else if (rval == 1) /* arith cmd, don't add double quotes */
- {
- strncpy (tokstr, ttok, ttoklen - 1);
- tokstr[ttoklen-1] = '\0';
- }
- else /* nested subshell */
- {
- tokstr[0] = '(';
- strncpy (tokstr + 1, ttok, ttoklen - 1);
- tokstr[ttoklen] = ')';
- tokstr[ttoklen+1] = c;
- tokstr[ttoklen+2] = '\0';
- }
-
- *ep = tokstr;
- FREE (ttok);
- return rval;
-}
-#endif /* DPAREN_ARITHMETIC || ARITH_FOR_COMMAND */
-
-#if defined (COND_COMMAND)
-static void
-cond_error ()
-{
- char *etext;
-
- if (EOF_Reached && cond_token != COND_ERROR) /* [[ */
- parser_error (cond_lineno, _("unexpected EOF while looking for `]]'"));
- else if (cond_token != COND_ERROR)
- {
- if (etext = error_token_from_token (cond_token))
- {
- parser_error (cond_lineno, _("syntax error in conditional expression: unexpected token `%s'"), etext);
- free (etext);
- }
- else
- parser_error (cond_lineno, _("syntax error in conditional expression"));
- }
-}
-
-static COND_COM *
-cond_expr ()
-{
- return (cond_or ());
-}
-
-static COND_COM *
-cond_or ()
-{
- COND_COM *l, *r;
-
- l = cond_and ();
- if (cond_token == OR_OR)
- {
- r = cond_or ();
- l = make_cond_node (COND_OR, (WORD_DESC *)NULL, l, r);
- }
- return l;
-}
-
-static COND_COM *
-cond_and ()
-{
- COND_COM *l, *r;
-
- l = cond_term ();
- if (cond_token == AND_AND)
- {
- r = cond_and ();
- l = make_cond_node (COND_AND, (WORD_DESC *)NULL, l, r);
- }
- return l;
-}
-
-static int
-cond_skip_newlines ()
-{
- while ((cond_token = read_token (READ)) == '\n')
- {
- if (SHOULD_PROMPT ())
- prompt_again ();
- }
- return (cond_token);
-}
-
-#define COND_RETURN_ERROR() \
- do { cond_token = COND_ERROR; return ((COND_COM *)NULL); } while (0)
-
-static COND_COM *
-cond_term ()
-{
- WORD_DESC *op;
- COND_COM *term, *tleft, *tright;
- int tok, lineno;
- char *etext;
-
- /* Read a token. It can be a left paren, a `!', a unary operator, or a
- word that should be the first argument of a binary operator. Start by
- skipping newlines, since this is a compound command. */
- tok = cond_skip_newlines ();
- lineno = line_number;
- if (tok == COND_END)
- {
- COND_RETURN_ERROR ();
- }
- else if (tok == '(')
- {
- term = cond_expr ();
- if (cond_token != ')')
- {
- if (term)
- dispose_cond_node (term); /* ( */
- if (etext = error_token_from_token (cond_token))
- {
- parser_error (lineno, _("unexpected token `%s', expected `)'"), etext);
- free (etext);
- }
- else
- parser_error (lineno, _("expected `)'"));
- COND_RETURN_ERROR ();
- }
- term = make_cond_node (COND_EXPR, (WORD_DESC *)NULL, term, (COND_COM *)NULL);
- (void)cond_skip_newlines ();
- }
- else if (tok == BANG || (tok == WORD && (yylval.word->word[0] == '!' && yylval.word->word[1] == '\0')))
- {
- if (tok == WORD)
- dispose_word (yylval.word); /* not needed */
- term = cond_term ();
- if (term)
- term->flags |= CMD_INVERT_RETURN;
- }
- else if (tok == WORD && test_unop (yylval.word->word))
- {
- op = yylval.word;
- tok = read_token (READ);
- if (tok == WORD)
- {
- tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
- term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
- }
- else
- {
- dispose_word (op);
- if (etext = error_token_from_token (tok))
- {
- parser_error (line_number, _("unexpected argument `%s' to conditional unary operator"), etext);
- free (etext);
- }
- else
- parser_error (line_number, _("unexpected argument to conditional unary operator"));
- COND_RETURN_ERROR ();
- }
-
- (void)cond_skip_newlines ();
- }
- else if (tok == WORD) /* left argument to binary operator */
- {
- /* lhs */
- tleft = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
-
- /* binop */
- tok = read_token (READ);
- if (tok == WORD && test_binop (yylval.word->word))
- op = yylval.word;
-#if defined (COND_REGEXP)
- else if (tok == WORD && STREQ (yylval.word->word,"=~"))
- op = yylval.word;
-#endif
- else if (tok == '<' || tok == '>')
- op = make_word_from_token (tok); /* ( */
- /* There should be a check before blindly accepting the `)' that we have
- seen the opening `('. */
- else if (tok == COND_END || tok == AND_AND || tok == OR_OR || tok == ')')
- {
- /* Special case. [[ x ]] is equivalent to [[ -n x ]], just like
- the test command. Similarly for [[ x && expr ]] or
- [[ x || expr ]] or [[ (x) ]]. */
- op = make_word ("-n");
- term = make_cond_node (COND_UNARY, op, tleft, (COND_COM *)NULL);
- cond_token = tok;
- return (term);
- }
- else
- {
- if (etext = error_token_from_token (tok))
- {
- parser_error (line_number, _("unexpected token `%s', conditional binary operator expected"), etext);
- free (etext);
- }
- else
- parser_error (line_number, _("conditional binary operator expected"));
- dispose_cond_node (tleft);
- COND_RETURN_ERROR ();
- }
-
- /* rhs */
- tok = read_token (READ);
- if (tok == WORD)
- {
- tright = make_cond_node (COND_TERM, yylval.word, (COND_COM *)NULL, (COND_COM *)NULL);
- term = make_cond_node (COND_BINARY, op, tleft, tright);
- }
- else
- {
- if (etext = error_token_from_token (tok))
- {
- parser_error (line_number, _("unexpected argument `%s' to conditional binary operator"), etext);
- free (etext);
- }
- else
- parser_error (line_number, _("unexpected argument to conditional binary operator"));
- dispose_cond_node (tleft);
- dispose_word (op);
- COND_RETURN_ERROR ();
- }
-
- (void)cond_skip_newlines ();
- }
- else
- {
- if (tok < 256)
- parser_error (line_number, _("unexpected token `%c' in conditional command"), tok);
- else if (etext = error_token_from_token (tok))
- {
- parser_error (line_number, _("unexpected token `%s' in conditional command"), etext);
- free (etext);
- }
- else
- parser_error (line_number, _("unexpected token %d in conditional command"), tok);
- COND_RETURN_ERROR ();
- }
- return (term);
-}
-
-/* This is kind of bogus -- we slip a mini recursive-descent parser in
- here to handle the conditional statement syntax. */
-static COMMAND *
-parse_cond_command ()
-{
- COND_COM *cexp;
-
- cexp = cond_expr ();
- return (make_cond_command (cexp));
-}
-#endif
-
-#if defined (ARRAY_VARS)
-/* When this is called, it's guaranteed that we don't care about anything
- in t beyond i. We do save and restore the chars, though. */
-static int
-token_is_assignment (t, i)
- char *t;
- int i;
-{
- unsigned char c, c1;
- int r;
-
- c = t[i]; c1 = t[i+1];
- t[i] = '='; t[i+1] = '\0';
- r = assignment (t, (parser_state & PST_COMPASSIGN) != 0);
- t[i] = c; t[i+1] = c1;
- return r;
-}
-
-/* XXX - possible changes here for `+=' */
-static int
-token_is_ident (t, i)
- char *t;
- int i;
-{
- unsigned char c;
- int r;
-
- c = t[i];
- t[i] = '\0';
- r = legal_identifier (t);
- t[i] = c;
- return r;
-}
-#endif
-
-static int
-read_token_word (character)
- int character;
-{
- /* The value for YYLVAL when a WORD is read. */
- WORD_DESC *the_word;
-
- /* Index into the token that we are building. */
- int token_index;
-
- /* ALL_DIGITS becomes zero when we see a non-digit. */
- int all_digit_token;
-
- /* DOLLAR_PRESENT becomes non-zero if we see a `$'. */
- int dollar_present;
-
- /* COMPOUND_ASSIGNMENT becomes non-zero if we are parsing a compound
- assignment. */
- int compound_assignment;
-
- /* QUOTED becomes non-zero if we see one of ("), ('), (`), or (\). */
- int quoted;
-
- /* Non-zero means to ignore the value of the next character, and just
- to add it no matter what. */
- int pass_next_character;
-
- /* The current delimiting character. */
- int cd;
- int result, peek_char;
- char *ttok, *ttrans;
- int ttoklen, ttranslen;
- intmax_t lvalue;
-
- if (token_buffer_size < TOKEN_DEFAULT_INITIAL_SIZE)
- token = (char *)xrealloc (token, token_buffer_size = TOKEN_DEFAULT_INITIAL_SIZE);
-
- token_index = 0;
- all_digit_token = DIGIT (character);
- dollar_present = quoted = pass_next_character = compound_assignment = 0;
-
- for (;;)
- {
- if (character == EOF)
- goto got_token;
-
- if (pass_next_character)
- {
- pass_next_character = 0;
- goto got_character;
- }
-
- cd = current_delimiter (dstack);
-
- /* Handle backslashes. Quote lots of things when not inside of
- double-quotes, quote some things inside of double-quotes. */
- if MBTEST(character == '\\')
- {
- peek_char = shell_getc (0);
-
- /* Backslash-newline is ignored in all cases except
- when quoted with single quotes. */
- if (peek_char == '\n')
- {
- character = '\n';
- goto next_character;
- }
- else
- {
- shell_ungetc (peek_char);
-
- /* If the next character is to be quoted, note it now. */
- if (cd == 0 || cd == '`' ||
- (cd == '"' && peek_char >= 0 && (sh_syntaxtab[peek_char] & CBSDQUOTE)))
- pass_next_character++;
-
- quoted = 1;
- goto got_character;
- }
- }
-
- /* Parse a matched pair of quote characters. */
- if MBTEST(shellquote (character))
- {
- push_delimiter (dstack, character);
- ttok = parse_matched_pair (character, character, character, &ttoklen, 0);
- pop_delimiter (dstack);
- if (ttok == &matched_pair_error)
- return -1; /* Bail immediately. */
- RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
- token_buffer_size, TOKEN_DEFAULT_GROW_SIZE);
- token[token_index++] = character;
- strcpy (token + token_index, ttok);
- token_index += ttoklen;
- all_digit_token = 0;
- quoted = 1;
- dollar_present |= (character == '"' && strchr (ttok, '$') != 0);
- FREE (ttok);
- goto next_character;
- }
-
-#ifdef EXTENDED_GLOB
- /* Parse a ksh-style extended pattern matching specification. */
- if (extended_glob && PATTERN_CHAR (character))
- {
- peek_char = shell_getc (1);
- if MBTEST(peek_char == '(') /* ) */
- {
- push_delimiter (dstack, peek_char);
- ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
- pop_delimiter (dstack);
- if (ttok == &matched_pair_error)
- return -1; /* Bail immediately. */
- RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
- token[token_index++] = character;
- token[token_index++] = peek_char;
- strcpy (token + token_index, ttok);
- token_index += ttoklen;
- FREE (ttok);
- dollar_present = all_digit_token = 0;
- goto next_character;
- }
- else
- shell_ungetc (peek_char);
- }
-#endif /* EXTENDED_GLOB */
-
- /* If the delimiter character is not single quote, parse some of
- the shell expansions that must be read as a single word. */
- if (shellexp (character))
- {
- peek_char = shell_getc (1);
- /* $(...), <(...), >(...), $((...)), ${...}, and $[...] constructs */
- if MBTEST(peek_char == '(' || \
- ((peek_char == '{' || peek_char == '[') && character == '$')) /* ) ] } */
- {
- if (peek_char == '{') /* } */
- ttok = parse_matched_pair (cd, '{', '}', &ttoklen, P_FIRSTCLOSE);
- else if (peek_char == '(') /* ) */
- {
- /* XXX - push and pop the `(' as a delimiter for use by
- the command-oriented-history code. This way newlines
- appearing in the $(...) string get added to the
- history literally rather than causing a possibly-
- incorrect `;' to be added. ) */
- push_delimiter (dstack, peek_char);
- ttok = parse_matched_pair (cd, '(', ')', &ttoklen, 0);
- pop_delimiter (dstack);
- }
- else
- ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
- if (ttok == &matched_pair_error)
- return -1; /* Bail immediately. */
- RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
- token[token_index++] = character;
- token[token_index++] = peek_char;
- strcpy (token + token_index, ttok);
- token_index += ttoklen;
- FREE (ttok);
- dollar_present = 1;
- all_digit_token = 0;
- goto next_character;
- }
- /* This handles $'...' and $"..." new-style quoted strings. */
- else if MBTEST(character == '$' && (peek_char == '\'' || peek_char == '"'))
- {
- int first_line;
-
- first_line = line_number;
- push_delimiter (dstack, peek_char);
- ttok = parse_matched_pair (peek_char, peek_char, peek_char,
- &ttoklen,
- (peek_char == '\'') ? P_ALLOWESC : 0);
- pop_delimiter (dstack);
- if (ttok == &matched_pair_error)
- return -1;
- if (peek_char == '\'')
- {
- ttrans = ansiexpand (ttok, 0, ttoklen - 1, &ttranslen);
- free (ttok);
-
- /* Insert the single quotes and correctly quote any
- embedded single quotes (allowed because P_ALLOWESC was
- passed to parse_matched_pair). */
- ttok = sh_single_quote (ttrans);
- free (ttrans);
- ttranslen = strlen (ttok);
- ttrans = ttok;
- }
- else
- {
- /* Try to locale)-expand the converted string. */
- ttrans = localeexpand (ttok, 0, ttoklen - 1, first_line, &ttranslen);
- free (ttok);
-
- /* Add the double quotes back */
- ttok = sh_mkdoublequoted (ttrans, ttranslen, 0);
- free (ttrans);
- ttranslen += 2;
- ttrans = ttok;
- }
-
- RESIZE_MALLOCED_BUFFER (token, token_index, ttranslen + 2,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
- strcpy (token + token_index, ttrans);
- token_index += ttranslen;
- FREE (ttrans);
- quoted = 1;
- all_digit_token = 0;
- goto next_character;
- }
- /* This could eventually be extended to recognize all of the
- shell's single-character parameter expansions, and set flags.*/
- else if MBTEST(character == '$' && peek_char == '$')
- {
- ttok = (char *)xmalloc (3);
- ttok[0] = ttok[1] = '$';
- ttok[2] = '\0';
- RESIZE_MALLOCED_BUFFER (token, token_index, 3,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
- strcpy (token + token_index, ttok);
- token_index += 2;
- dollar_present = 1;
- all_digit_token = 0;
- FREE (ttok);
- goto next_character;
- }
- else
- shell_ungetc (peek_char);
- }
-
-#if defined (ARRAY_VARS)
- /* Identify possible array subscript assignment; match [...] */
- else if MBTEST(character == '[' && token_index > 0 && assignment_acceptable (last_read_token) && token_is_ident (token, token_index)) /* ] */
- {
- ttok = parse_matched_pair (cd, '[', ']', &ttoklen, 0);
- if (ttok == &matched_pair_error)
- return -1; /* Bail immediately. */
- RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 2,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
- token[token_index++] = character;
- strcpy (token + token_index, ttok);
- token_index += ttoklen;
- FREE (ttok);
- all_digit_token = 0;
- goto next_character;
- }
- /* Identify possible compound array variable assignment. */
- else if MBTEST(character == '=' && token_index > 0 && (assignment_acceptable (last_read_token) || (parser_state & PST_ASSIGNOK)) && token_is_assignment (token, token_index))
- {
- peek_char = shell_getc (1);
- if MBTEST(peek_char == '(') /* ) */
- {
- ttok = parse_compound_assignment (&ttoklen);
-
- RESIZE_MALLOCED_BUFFER (token, token_index, ttoklen + 4,
- token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
-
- token[token_index++] = '=';
- token[token_index++] = '(';
- if (ttok)
- {
- strcpy (token + token_index, ttok);
- token_index += ttoklen;
- }
- token[token_index++] = ')';
- FREE (ttok);
- all_digit_token = 0;
- compound_assignment = 1;
-#if 0
- goto next_character;
-#else
- goto got_token; /* ksh93 seems to do this */
-#endif
- }
- else
- shell_ungetc (peek_char);
- }
-#endif
-
- /* When not parsing a multi-character word construct, shell meta-
- characters break words. */
- if MBTEST(shellbreak (character))
- {
- shell_ungetc (character);
- goto got_token;
- }
-
- got_character:
-
- all_digit_token &= DIGIT (character);
- dollar_present |= character == '$';
-
- if (character == CTLESC || character == CTLNUL)
- token[token_index++] = CTLESC;
-
- token[token_index++] = character;
-
- RESIZE_MALLOCED_BUFFER (token, token_index, 1, token_buffer_size,
- TOKEN_DEFAULT_GROW_SIZE);
-
- next_character:
- if (character == '\n' && SHOULD_PROMPT ())
- prompt_again ();
-
- /* We want to remove quoted newlines (that is, a \<newline> pair)
- unless we are within single quotes or pass_next_character is
- set (the shell equivalent of literal-next). */
- cd = current_delimiter (dstack);
- character = shell_getc (cd != '\'' && pass_next_character == 0);
- } /* end for (;;) */
-
-got_token:
-
- token[token_index] = '\0';
-
- /* Check to see what thing we should return. If the last_read_token
- is a `<', or a `&', or the character which ended this token is
- a '>' or '<', then, and ONLY then, is this input token a NUMBER.
- Otherwise, it is just a word, and should be returned as such. */
- if MBTEST(all_digit_token && (character == '<' || character == '>' || \
- last_read_token == LESS_AND || \
- last_read_token == GREATER_AND))
- {
- if (legal_number (token, &lvalue) && (int)lvalue == lvalue)
- yylval.number = lvalue;
- else
- yylval.number = -1;
- return (NUMBER);
- }
-
- /* Check for special case tokens. */
- result = (last_shell_getc_is_singlebyte) ? special_case_tokens (token) : -1;
- if (result >= 0)
- return result;
-
-#if defined (ALIAS)
- /* Posix.2 does not allow reserved words to be aliased, so check for all
- of them, including special cases, before expanding the current token
- as an alias. */
- if MBTEST(posixly_correct)
- CHECK_FOR_RESERVED_WORD (token);
-
- /* Aliases are expanded iff EXPAND_ALIASES is non-zero, and quoting
- inhibits alias expansion. */
- if (expand_aliases && quoted == 0)
- {
- result = alias_expand_token (token);
- if (result == RE_READ_TOKEN)
- return (RE_READ_TOKEN);
- else if (result == NO_EXPANSION)
- parser_state &= ~PST_ALEXPNEXT;
- }
-
- /* If not in Posix.2 mode, check for reserved words after alias
- expansion. */
- if MBTEST(posixly_correct == 0)
-#endif
- CHECK_FOR_RESERVED_WORD (token);
-
- the_word = (WORD_DESC *)xmalloc (sizeof (WORD_DESC));
- the_word->word = (char *)xmalloc (1 + token_index);
- the_word->flags = 0;
- strcpy (the_word->word, token);
- if (dollar_present)
- the_word->flags |= W_HASDOLLAR;
- if (quoted)
- the_word->flags |= W_QUOTED;
- if (compound_assignment)
- the_word->flags |= W_COMPASSIGN;
- /* A word is an assignment if it appears at the beginning of a
- simple command, or after another assignment word. This is
- context-dependent, so it cannot be handled in the grammar. */
- if (assignment (token, (parser_state & PST_COMPASSIGN) != 0))
- {
- the_word->flags |= W_ASSIGNMENT;
- /* Don't perform word splitting on assignment statements. */
- if (assignment_acceptable (last_read_token) || (parser_state & PST_COMPASSIGN) != 0)
- the_word->flags |= W_NOSPLIT;
- }
-
- if (command_token_position (last_read_token))
- {
- struct builtin *b;
- b = builtin_address_internal (token, 0);
- if (b && (b->flags & ASSIGNMENT_BUILTIN))
- parser_state |= PST_ASSIGNOK;
- }
-
- yylval.word = the_word;
-
- result = ((the_word->flags & (W_ASSIGNMENT|W_NOSPLIT)) == (W_ASSIGNMENT|W_NOSPLIT))
- ? ASSIGNMENT_WORD : WORD;
-
- switch (last_read_token)
- {
- case FUNCTION:
- parser_state |= PST_ALLOWOPNBRC;
- function_dstart = line_number;
- break;
- case CASE:
- case SELECT:
- case FOR:
- if (word_top < MAX_CASE_NEST)
- word_top++;
- word_lineno[word_top] = line_number;
- break;
- }
-
- return (result);
-}
-
-/* Return 1 if TOKSYM is a token that after being read would allow
- a reserved word to be seen, else 0. */
-static int
-reserved_word_acceptable (toksym)
- int toksym;
-{
- switch (toksym)
- {
- case '\n':
- case ';':
- case '(':
- case ')':
- case '|':
- case '&':
- case '{':
- case '}': /* XXX */
- case AND_AND:
- case BANG:
- case DO:
- case DONE:
- case ELIF:
- case ELSE:
- case ESAC:
- case FI:
- case IF:
- case OR_OR:
- case SEMI_SEMI:
- case THEN:
- case TIME:
- case TIMEOPT:
- case UNTIL:
- case WHILE:
- case 0:
- return 1;
- default:
- return 0;
- }
-}
-
-/* Return the index of TOKEN in the alist of reserved words, or -1 if
- TOKEN is not a shell reserved word. */
-int
-find_reserved_word (tokstr)
- char *tokstr;
-{
- int i;
- for (i = 0; word_token_alist[i].word; i++)
- if (STREQ (tokstr, word_token_alist[i].word))
- return i;
- return -1;
-}
-
-#if 0
-#if defined (READLINE)
-/* Called after each time readline is called. This insures that whatever
- the new prompt string is gets propagated to readline's local prompt
- variable. */
-static void
-reset_readline_prompt ()
-{
- char *temp_prompt;
-
- if (prompt_string_pointer)
- {
- temp_prompt = (*prompt_string_pointer)
- ? decode_prompt_string (*prompt_string_pointer)
- : (char *)NULL;
-
- if (temp_prompt == 0)
- {
- temp_prompt = (char *)xmalloc (1);
- temp_prompt[0] = '\0';
- }
-
- FREE (current_readline_prompt);
- current_readline_prompt = temp_prompt;
- }
-}
-#endif /* READLINE */
-#endif /* 0 */
-
-#if defined (HISTORY)
-/* A list of tokens which can be followed by newlines, but not by
- semi-colons. When concatenating multiple lines of history, the
- newline separator for such tokens is replaced with a space. */
-static int no_semi_successors[] = {
- '\n', '{', '(', ')', ';', '&', '|',
- CASE, DO, ELSE, IF, SEMI_SEMI, THEN, UNTIL, WHILE, AND_AND, OR_OR, IN,
- 0
-};
-
-/* If we are not within a delimited expression, try to be smart
- about which separators can be semi-colons and which must be
- newlines. Returns the string that should be added into the
- history entry. */
-char *
-history_delimiting_chars ()
-{
- register int i;
-
- if (dstack.delimiter_depth != 0)
- return ("\n");
-
- /* First, handle some special cases. */
- /*(*/
- /* If we just read `()', assume it's a function definition, and don't
- add a semicolon. If the token before the `)' was not `(', and we're
- not in the midst of parsing a case statement, assume it's a
- parenthesized command and add the semicolon. */
- /*)(*/
- if (token_before_that == ')')
- {
- if (two_tokens_ago == '(') /*)*/ /* function def */
- return " ";
- /* This does not work for subshells inside case statement
- command lists. It's a suboptimal solution. */
- else if (parser_state & PST_CASESTMT) /* case statement pattern */
- return " ";
- else
- return "; "; /* (...) subshell */
- }
- else if (token_before_that == WORD && two_tokens_ago == FUNCTION)
- return " "; /* function def using `function name' without `()' */
-
- else if (token_before_that == WORD && two_tokens_ago == FOR)
- {
- /* Tricky. `for i\nin ...' should not have a semicolon, but
- `for i\ndo ...' should. We do what we can. */
- for (i = shell_input_line_index; whitespace(shell_input_line[i]); i++)
- ;
- if (shell_input_line[i] && shell_input_line[i] == 'i' && shell_input_line[i+1] == 'n')
- return " ";
- return ";";
- }
- else if (two_tokens_ago == CASE && token_before_that == WORD && (parser_state & PST_CASESTMT))
- return " ";
-
- for (i = 0; no_semi_successors[i]; i++)
- {
- if (token_before_that == no_semi_successors[i])
- return (" ");
- }
-
- return ("; ");
-}
-#endif /* HISTORY */
-
-/* Issue a prompt, or prepare to issue a prompt when the next character
- is read. */
-static void
-prompt_again ()
-{
- char *temp_prompt;
-
- if (interactive == 0 || expanding_alias()) /* XXX */
- return;
-
- ps1_prompt = get_string_value ("PS1");
- ps2_prompt = get_string_value ("PS2");
-
- if (!prompt_string_pointer)
- prompt_string_pointer = &ps1_prompt;
-
- temp_prompt = *prompt_string_pointer
- ? decode_prompt_string (*prompt_string_pointer)
- : (char *)NULL;
-
- if (temp_prompt == 0)
- {
- temp_prompt = (char *)xmalloc (1);
- temp_prompt[0] = '\0';
- }
-
- current_prompt_string = *prompt_string_pointer;
- prompt_string_pointer = &ps2_prompt;
-
-#if defined (READLINE)
- if (!no_line_editing)
- {
- FREE (current_readline_prompt);
- current_readline_prompt = temp_prompt;
- }
- else
-#endif /* READLINE */
- {
- FREE (current_decoded_prompt);
- current_decoded_prompt = temp_prompt;
- }
-}
-
-int
-get_current_prompt_level ()
-{
- return ((current_prompt_string && current_prompt_string == ps2_prompt) ? 2 : 1);
-}
-
-void
-set_current_prompt_level (x)
- int x;
-{
- prompt_string_pointer = (x == 2) ? &ps2_prompt : &ps1_prompt;
- current_prompt_string = *prompt_string_pointer;
-}
-
-static void
-print_prompt ()
-{
- fprintf (stderr, "%s", current_decoded_prompt);
- fflush (stderr);
-}
-
-/* Return a string which will be printed as a prompt. The string
- may contain special characters which are decoded as follows:
-
- \a bell (ascii 07)
- \d the date in Day Mon Date format
- \e escape (ascii 033)
- \h the hostname up to the first `.'
- \H the hostname
- \j the number of active jobs
- \l the basename of the shell's tty device name
- \n CRLF
- \r CR
- \s the name of the shell
- \t the time in 24-hour hh:mm:ss format
- \T the time in 12-hour hh:mm:ss format
- \@ the time in 12-hour hh:mm am/pm format
- \A the time in 24-hour hh:mm format
- \D{fmt} the result of passing FMT to strftime(3)
- \u your username
- \v the version of bash (e.g., 2.00)
- \V the release of bash, version + patchlevel (e.g., 2.00.0)
- \w the current working directory
- \W the last element of $PWD
- \! the history number of this command
- \# the command number of this command
- \$ a $ or a # if you are root
- \nnn character code nnn in octal
- \\ a backslash
- \[ begin a sequence of non-printing chars
- \] end a sequence of non-printing chars
-*/
-#define PROMPT_GROWTH 48
-char *
-decode_prompt_string (string)
- char *string;
-{
- WORD_LIST *list;
- char *result, *t;
- struct dstack save_dstack;
- int last_exit_value;
-#if defined (PROMPT_STRING_DECODE)
- int result_size, result_index;
- int c, n;
- char *temp, octal_string[4];
- struct tm *tm;
- time_t the_time;
- char timebuf[128];
- char *timefmt;
-
- result = (char *)xmalloc (result_size = PROMPT_GROWTH);
- result[result_index = 0] = 0;
- temp = (char *)NULL;
-
- while (c = *string++)
- {
- if (posixly_correct && c == '!')
- {
- if (*string == '!')
- {
- temp = savestring ("!");
- goto add_string;
- }
- else
- {
-#if !defined (HISTORY)
- temp = savestring ("1");
-#else /* HISTORY */
- temp = itos (history_number ());
-#endif /* HISTORY */
- string--; /* add_string increments string again. */
- goto add_string;
- }
- }
- if (c == '\\')
- {
- c = *string;
-
- switch (c)
- {
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- strncpy (octal_string, string, 3);
- octal_string[3] = '\0';
-
- n = read_octal (octal_string);
- temp = (char *)xmalloc (3);
-
- if (n == CTLESC || n == CTLNUL)
- {
- temp[0] = CTLESC;
- temp[1] = n;
- temp[2] = '\0';
- }
- else if (n == -1)
- {
- temp[0] = '\\';
- temp[1] = '\0';
- }
- else
- {
- temp[0] = n;
- temp[1] = '\0';
- }
-
- for (c = 0; n != -1 && c < 3 && ISOCTAL (*string); c++)
- string++;
-
- c = 0; /* tested at add_string: */
- goto add_string;
-
- case 'd':
- case 't':
- case 'T':
- case '@':
- case 'A':
- /* Make the current time/date into a string. */
- (void) time (&the_time);
- tm = localtime (&the_time);
-
- if (c == 'd')
- n = strftime (timebuf, sizeof (timebuf), "%a %b %d", tm);
- else if (c == 't')
- n = strftime (timebuf, sizeof (timebuf), "%H:%M:%S", tm);
- else if (c == 'T')
- n = strftime (timebuf, sizeof (timebuf), "%I:%M:%S", tm);
- else if (c == '@')
- n = strftime (timebuf, sizeof (timebuf), "%I:%M %p", tm);
- else if (c == 'A')
- n = strftime (timebuf, sizeof (timebuf), "%H:%M", tm);
-
- if (n == 0)
- timebuf[0] = '\0';
- else
- timebuf[sizeof(timebuf) - 1] = '\0';
-
- temp = savestring (timebuf);
- goto add_string;
-
- case 'D': /* strftime format */
- if (string[1] != '{') /* } */
- goto not_escape;
-
- (void) time (&the_time);
- tm = localtime (&the_time);
- string += 2; /* skip { */
- timefmt = xmalloc (strlen (string) + 3);
- for (t = timefmt; *string && *string != '}'; )
- *t++ = *string++;
- *t = '\0';
- c = *string; /* tested at add_string */
- if (timefmt[0] == '\0')
- {
- timefmt[0] = '%';
- timefmt[1] = 'X'; /* locale-specific current time */
- timefmt[2] = '\0';
- }
- n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
- free (timefmt);
-
- if (n == 0)
- timebuf[0] = '\0';
- else
- timebuf[sizeof(timebuf) - 1] = '\0';
-
- if (promptvars || posixly_correct)
- /* Make sure that expand_prompt_string is called with a
- second argument of Q_DOUBLE_QUOTES if we use this
- function here. */
- temp = sh_backslash_quote_for_double_quotes (timebuf);
- else
- temp = savestring (timebuf);
- goto add_string;
-
- case 'n':
- temp = (char *)xmalloc (3);
- temp[0] = no_line_editing ? '\n' : '\r';
- temp[1] = no_line_editing ? '\0' : '\n';
- temp[2] = '\0';
- goto add_string;
-
- case 's':
- temp = base_pathname (shell_name);
- temp = savestring (temp);
- goto add_string;
-
- case 'v':
- case 'V':
- temp = (char *)xmalloc (16);
- if (c == 'v')
- strcpy (temp, dist_version);
- else
- sprintf (temp, "%s.%d", dist_version, patch_level);
- goto add_string;
-
- case 'w':
- case 'W':
- {
- /* Use the value of PWD because it is much more efficient. */
- char t_string[PATH_MAX], *t;
- int tlen;
-
- temp = get_string_value ("PWD");
-
- if (temp == 0)
- {
- if (getcwd (t_string, sizeof(t_string)) == 0)
- {
- t_string[0] = '.';
- tlen = 1;
- }
- else
- tlen = strlen (t_string);
- }
- else
- {
- tlen = sizeof (t_string) - 1;
- strncpy (t_string, temp, tlen);
- }
- t_string[tlen] = '\0';
-
-#define ROOT_PATH(x) ((x)[0] == '/' && (x)[1] == 0)
-#define DOUBLE_SLASH_ROOT(x) ((x)[0] == '/' && (x)[1] == '/' && (x)[2] == 0)
- /* Abbreviate \W as ~ if $PWD == $HOME */
- if (c == 'W' && (((t = get_string_value ("HOME")) == 0) || STREQ (t, t_string) == 0))
- {
- if (ROOT_PATH (t_string) == 0 && DOUBLE_SLASH_ROOT (t_string) == 0)
- {
- t = strrchr (t_string, '/');
- if (t)
- strcpy (t_string, t + 1);
- }
- }
-#undef ROOT_PATH
-#undef DOUBLE_SLASH_ROOT
- else
- /* polite_directory_format is guaranteed to return a string
- no longer than PATH_MAX - 1 characters. */
- strcpy (t_string, polite_directory_format (t_string));
-
- /* If we're going to be expanding the prompt string later,
- quote the directory name. */
- if (promptvars || posixly_correct)
- /* Make sure that expand_prompt_string is called with a
- second argument of Q_DOUBLE_QUOTES if we use this
- function here. */
- temp = sh_backslash_quote_for_double_quotes (t_string);
- else
- temp = savestring (t_string);
-
- goto add_string;
- }
-
- case 'u':
- if (current_user.user_name == 0)
- get_current_user_info ();
- temp = savestring (current_user.user_name);
- goto add_string;
-
- case 'h':
- case 'H':
- temp = savestring (current_host_name);
- if (c == 'h' && (t = (char *)strchr (temp, '.')))
- *t = '\0';
- goto add_string;
-
- case '#':
- temp = itos (current_command_number);
- goto add_string;
-
- case '!':
-#if !defined (HISTORY)
- temp = savestring ("1");
-#else /* HISTORY */
- temp = itos (history_number ());
-#endif /* HISTORY */
- goto add_string;
-
- case '$':
- t = temp = (char *)xmalloc (3);
- if ((promptvars || posixly_correct) && (current_user.euid != 0))
- *t++ = '\\';
- *t++ = current_user.euid == 0 ? '#' : '$';
- *t = '\0';
- goto add_string;
-
- case 'j':
- temp = itos (count_all_jobs ());
- goto add_string;
-
- case 'l':
-#if defined (HAVE_TTYNAME)
- temp = (char *)ttyname (fileno (stdin));
- t = temp ? base_pathname (temp) : "tty";
- temp = savestring (t);
-#else
- temp = savestring ("tty");
-#endif /* !HAVE_TTYNAME */
- goto add_string;
-
-#if defined (READLINE)
- case '[':
- case ']':
- if (no_line_editing)
- {
- string++;
- break;
- }
- temp = (char *)xmalloc (3);
- temp[0] = '\001';
- temp[1] = (c == '[') ? RL_PROMPT_START_IGNORE : RL_PROMPT_END_IGNORE;
- temp[2] = '\0';
- goto add_string;
-#endif /* READLINE */
-
- case '\\':
- case 'a':
- case 'e':
- case 'r':
- temp = (char *)xmalloc (2);
- if (c == 'a')
- temp[0] = '\07';
- else if (c == 'e')
- temp[0] = '\033';
- else if (c == 'r')
- temp[0] = '\r';
- else /* (c == '\\') */
- temp[0] = c;
- temp[1] = '\0';
- goto add_string;
-
- default:
-not_escape:
- temp = (char *)xmalloc (3);
- temp[0] = '\\';
- temp[1] = c;
- temp[2] = '\0';
-
- add_string:
- if (c)
- string++;
- result =
- sub_append_string (temp, result, &result_index, &result_size);
- temp = (char *)NULL; /* Freed in sub_append_string (). */
- result[result_index] = '\0';
- break;
- }
- }
- else
- {
- RESIZE_MALLOCED_BUFFER (result, result_index, 3, result_size, PROMPT_GROWTH);
- result[result_index++] = c;
- result[result_index] = '\0';
- }
- }
-#else /* !PROMPT_STRING_DECODE */
- result = savestring (string);
-#endif /* !PROMPT_STRING_DECODE */
-
- /* Save the delimiter stack and point `dstack' to temp space so any
- command substitutions in the prompt string won't result in screwing
- up the parser's quoting state. */
- save_dstack = dstack;
- dstack = temp_dstack;
- dstack.delimiter_depth = 0;
-
- /* Perform variable and parameter expansion and command substitution on
- the prompt string. */
- if (promptvars || posixly_correct)
- {
- last_exit_value = last_command_exit_value;
- list = expand_prompt_string (result, Q_DOUBLE_QUOTES);
- free (result);
- result = string_list (list);
- dispose_words (list);
- last_command_exit_value = last_exit_value;
- }
- else
- {
- t = dequote_string (result);
- free (result);
- result = t;
- }
-
- dstack = save_dstack;
-
- return (result);
-}
-
-/************************************************
- * *
- * ERROR HANDLING *
- * *
- ************************************************/
-
-/* Report a syntax error, and restart the parser. Call here for fatal
- errors. */
-int
-yyerror (msg)
- const char *msg;
-{
- report_syntax_error ((char *)NULL);
- reset_parser ();
- return (0);
-}
-
-static char *
-error_token_from_token (token)
- int token;
-{
- char *t;
-
- if (t = find_token_in_alist (token, word_token_alist, 0))
- return t;
-
- if (t = find_token_in_alist (token, other_token_alist, 0))
- return t;
-
- t = (char *)NULL;
- /* This stuff is dicy and needs closer inspection */
- switch (current_token)
- {
- case WORD:
- case ASSIGNMENT_WORD:
- if (yylval.word)
- t = savestring (yylval.word->word);
- break;
- case NUMBER:
- t = itos (yylval.number);
- break;
- case ARITH_CMD:
- if (yylval.word_list)
- t = string_list (yylval.word_list);
- break;
- case ARITH_FOR_EXPRS:
- if (yylval.word_list)
- t = string_list_internal (yylval.word_list, " ; ");
- break;
- case COND_CMD:
- t = (char *)NULL; /* punt */
- break;
- }
-
- return t;
-}
-
-static char *
-error_token_from_text ()
-{
- char *msg, *t;
- int token_end, i;
-
- t = shell_input_line;
- i = shell_input_line_index;
- token_end = 0;
- msg = (char *)NULL;
-
- if (i && t[i] == '\0')
- i--;
-
- while (i && (whitespace (t[i]) || t[i] == '\n'))
- i--;
-
- if (i)
- token_end = i + 1;
-
- while (i && (member (t[i], " \n\t;|&") == 0))
- i--;
-
- while (i != token_end && (whitespace (t[i]) || t[i] == '\n'))
- i++;
-
- /* Return our idea of the offending token. */
- if (token_end || (i == 0 && token_end == 0))
- {
- if (token_end)
- msg = substring (t, i, token_end);
- else /* one-character token */
- {
- msg = (char *)xmalloc (2);
- msg[0] = t[i];
- msg[1] = '\0';
- }
- }
-
- return (msg);
-}
-
-static void
-print_offending_line ()
-{
- char *msg;
- int token_end;
-
- msg = savestring (shell_input_line);
- token_end = strlen (msg);
- while (token_end && msg[token_end - 1] == '\n')
- msg[--token_end] = '\0';
-
- parser_error (line_number, "`%s'", msg);
- free (msg);
-}
-
-/* Report a syntax error with line numbers, etc.
- Call here for recoverable errors. If you have a message to print,
- then place it in MESSAGE, otherwise pass NULL and this will figure
- out an appropriate message for you. */
-static void
-report_syntax_error (message)
- char *message;
-{
- char *msg;
-
- if (message)
- {
- parser_error (line_number, "%s", message);
- if (interactive && EOF_Reached)
- EOF_Reached = 0;
- last_command_exit_value = EX_USAGE;
- return;
- }
-
- /* If the line of input we're reading is not null, try to find the
- objectionable token. First, try to figure out what token the
- parser's complaining about by looking at current_token. */
- if (current_token != 0 && EOF_Reached == 0 && (msg = error_token_from_token (current_token)))
- {
- parser_error (line_number, _("syntax error near unexpected token `%s'"), msg);
- free (msg);
-
- if (interactive == 0)
- print_offending_line ();
-
- last_command_exit_value = EX_USAGE;
- return;
- }
-
- /* If looking at the current token doesn't prove fruitful, try to find the
- offending token by analyzing the text of the input line near the current
- input line index and report what we find. */
- if (shell_input_line && *shell_input_line)
- {
- msg = error_token_from_text ();
- if (msg)
- {
- parser_error (line_number, _("syntax error near `%s'"), msg);
- free (msg);
- }
-
- /* If not interactive, print the line containing the error. */
- if (interactive == 0)
- print_offending_line ();
- }
- else
- {
- msg = EOF_Reached ? _("syntax error: unexpected end of file") : _("syntax error");
- parser_error (line_number, "%s", msg);
- /* When the shell is interactive, this file uses EOF_Reached
- only for error reporting. Other mechanisms are used to
- decide whether or not to exit. */
- if (interactive && EOF_Reached)
- EOF_Reached = 0;
- }
-
- last_command_exit_value = EX_USAGE;
-}
-
-/* ??? Needed function. ??? We have to be able to discard the constructs
- created during parsing. In the case of error, we want to return
- allocated objects to the memory pool. In the case of no error, we want
- to throw away the information about where the allocated objects live.
- (dispose_command () will actually free the command.) */
-static void
-discard_parser_constructs (error_p)
- int error_p;
-{
-}
-
-/************************************************
- * *
- * EOF HANDLING *
- * *
- ************************************************/
-
-/* Do that silly `type "bye" to exit' stuff. You know, "ignoreeof". */
-
-/* A flag denoting whether or not ignoreeof is set. */
-int ignoreeof = 0;
-
-/* The number of times that we have encountered an EOF character without
- another character intervening. When this gets above the limit, the
- shell terminates. */
-int eof_encountered = 0;
-
-/* The limit for eof_encountered. */
-int eof_encountered_limit = 10;
-
-/* If we have EOF as the only input unit, this user wants to leave
- the shell. If the shell is not interactive, then just leave.
- Otherwise, if ignoreeof is set, and we haven't done this the
- required number of times in a row, print a message. */
-static void
-handle_eof_input_unit ()
-{
- if (interactive)
- {
- /* shell.c may use this to decide whether or not to write out the
- history, among other things. We use it only for error reporting
- in this file. */
- if (EOF_Reached)
- EOF_Reached = 0;
-
- /* If the user wants to "ignore" eof, then let her do so, kind of. */
- if (ignoreeof)
- {
- if (eof_encountered < eof_encountered_limit)
- {
- fprintf (stderr, _("Use \"%s\" to leave the shell.\n"),
- login_shell ? "logout" : "exit");
- eof_encountered++;
- /* Reset the parsing state. */
- last_read_token = current_token = '\n';
- /* Reset the prompt string to be $PS1. */
- prompt_string_pointer = (char **)NULL;
- prompt_again ();
- return;
- }
- }
-
- /* In this case EOF should exit the shell. Do it now. */
- reset_parser ();
- exit_builtin ((WORD_LIST *)NULL);
- }
- else
- {
- /* We don't write history files, etc., for non-interactive shells. */
- EOF_Reached = 1;
- }
-}
-
-/************************************************
- * *
- * STRING PARSING FUNCTIONS *
- * *
- ************************************************/
-
-/* It's very important that these two functions treat the characters
- between ( and ) identically. */
-
-static WORD_LIST parse_string_error;
-
-/* Take a string and run it through the shell parser, returning the
- resultant word list. Used by compound array assignment. */
-WORD_LIST *
-parse_string_to_word_list (s, flags, whom)
- char *s;
- int flags;
- const char *whom;
-{
- WORD_LIST *wl;
- int tok, orig_current_token, orig_line_number, orig_input_terminator;
- int orig_line_count;
- int old_echo_input, old_expand_aliases;
-#if defined (HISTORY)
- int old_remember_on_history, old_history_expansion_inhibited;
-#endif
-
-#if defined (HISTORY)
- old_remember_on_history = remember_on_history;
-# if defined (BANG_HISTORY)
- old_history_expansion_inhibited = history_expansion_inhibited;
-# endif
- bash_history_disable ();
-#endif
-
- orig_line_number = line_number;
- orig_line_count = current_command_line_count;
- orig_input_terminator = shell_input_line_terminator;
- old_echo_input = echo_input_at_read;
- old_expand_aliases = expand_aliases;
-
- push_stream (1);
- last_read_token = WORD; /* WORD to allow reserved words here */
- current_command_line_count = 0;
- echo_input_at_read = expand_aliases = 0;
-
- with_input_from_string (s, whom);
- wl = (WORD_LIST *)NULL;
-
- if (flags & 1)
- parser_state |= PST_COMPASSIGN;
-
- while ((tok = read_token (READ)) != yacc_EOF)
- {
- if (tok == '\n' && *bash_input.location.string == '\0')
- break;
- if (tok == '\n') /* Allow newlines in compound assignments */
- continue;
- if (tok != WORD && tok != ASSIGNMENT_WORD)
- {
- line_number = orig_line_number + line_number - 1;
- orig_current_token = current_token;
- current_token = tok;
- yyerror (NULL); /* does the right thing */
- current_token = orig_current_token;
- if (wl)
- dispose_words (wl);
- wl = &parse_string_error;
- break;
- }
- wl = make_word_list (yylval.word, wl);
- }
-
- last_read_token = '\n';
- pop_stream ();
-
-#if defined (HISTORY)
- remember_on_history = old_remember_on_history;
-# if defined (BANG_HISTORY)
- history_expansion_inhibited = old_history_expansion_inhibited;
-# endif /* BANG_HISTORY */
-#endif /* HISTORY */
-
- echo_input_at_read = old_echo_input;
- expand_aliases = old_expand_aliases;
-
- current_command_line_count = orig_line_count;
- shell_input_line_terminator = orig_input_terminator;
-
- if (flags & 1)
- parser_state &= ~PST_COMPASSIGN;
-
- if (wl == &parse_string_error)
- {
- last_command_exit_value = EXECUTION_FAILURE;
- if (interactive_shell == 0 && posixly_correct)
- jump_to_top_level (FORCE_EOF);
- else
- jump_to_top_level (DISCARD);
- }
-
- return (REVERSE_LIST (wl, WORD_LIST *));
-}
-
-static char *
-parse_compound_assignment (retlenp)
- int *retlenp;
-{
- WORD_LIST *wl, *rl;
- int tok, orig_line_number, orig_token_size;
- char *saved_token, *ret;
-
- saved_token = token;
- orig_token_size = token_buffer_size;
- orig_line_number = line_number;
-
- last_read_token = WORD; /* WORD to allow reserved words here */
-
- token = (char *)NULL;
- token_buffer_size = 0;
-
- wl = (WORD_LIST *)NULL; /* ( */
- parser_state |= PST_COMPASSIGN;
-
- while ((tok = read_token (READ)) != ')')
- {
- if (tok == '\n') /* Allow newlines in compound assignments */
- {
- if (SHOULD_PROMPT ())
- prompt_again ();
- continue;
- }
- if (tok != WORD && tok != ASSIGNMENT_WORD)
- {
- current_token = tok; /* for error reporting */
- if (tok == yacc_EOF) /* ( */
- parser_error (orig_line_number, _("unexpected EOF while looking for matching `)'"));
- else
- yyerror(NULL); /* does the right thing */
- if (wl)
- dispose_words (wl);
- wl = &parse_string_error;
- break;
- }
- wl = make_word_list (yylval.word, wl);
- }
-
- FREE (token);
- token = saved_token;
- token_buffer_size = orig_token_size;
-
- parser_state &= ~PST_COMPASSIGN;
-
- if (wl == &parse_string_error)
- {
- last_command_exit_value = EXECUTION_FAILURE;
- last_read_token = '\n'; /* XXX */
- if (interactive_shell == 0 && posixly_correct)
- jump_to_top_level (FORCE_EOF);
- else
- jump_to_top_level (DISCARD);
- }
-
- last_read_token = WORD;
- if (wl)
- {
- rl = REVERSE_LIST (wl, WORD_LIST *);
- ret = string_list (rl);
- dispose_words (rl);
- }
- else
- ret = (char *)NULL;
-
- if (retlenp)
- *retlenp = (ret && *ret) ? strlen (ret) : 0;
- return ret;
-}
-
-/************************************************
- * *
- * SAVING AND RESTORING PARTIAL PARSE STATE *
- * *
- ************************************************/
-
-sh_parser_state_t *
-save_parser_state (ps)
- sh_parser_state_t *ps;
-{
-#if defined (ARRAY_VARS)
- SHELL_VAR *v;
-#endif
-
- if (ps == 0)
- ps = (sh_parser_state_t *)xmalloc (sizeof (sh_parser_state_t));
- if (ps == 0)
- return ((sh_parser_state_t *)NULL);
-
- ps->parser_state = parser_state;
- ps->token_state = save_token_state ();
-
- ps->input_line_terminator = shell_input_line_terminator;
- ps->eof_encountered = eof_encountered;
-
- ps->current_command_line_count = current_command_line_count;
-
-#if defined (HISTORY)
- ps->remember_on_history = remember_on_history;
-# if defined (BANG_HISTORY)
- ps->history_expansion_inhibited = history_expansion_inhibited;
-# endif
-#endif
-
- ps->last_command_exit_value = last_command_exit_value;
-#if defined (ARRAY_VARS)
- v = find_variable ("PIPESTATUS");
- if (v && array_p (v) && array_cell (v))
- ps->pipestatus = array_copy (array_cell (v));
- else
- ps->pipestatus = (ARRAY *)NULL;
-#endif
-
- ps->last_shell_builtin = last_shell_builtin;
- ps->this_shell_builtin = this_shell_builtin;
-
- ps->expand_aliases = expand_aliases;
- ps->echo_input_at_read = echo_input_at_read;
-
- return (ps);
-}
-
-void
-restore_parser_state (ps)
- sh_parser_state_t *ps;
-{
-#if defined (ARRAY_VARS)
- SHELL_VAR *v;
-#endif
-
- if (ps == 0)
- return;
-
- parser_state = ps->parser_state;
- if (ps->token_state)
- {
- restore_token_state (ps->token_state);
- free (ps->token_state);
- }
-
- shell_input_line_terminator = ps->input_line_terminator;
- eof_encountered = ps->eof_encountered;
-
- current_command_line_count = ps->current_command_line_count;
-
-#if defined (HISTORY)
- remember_on_history = ps->remember_on_history;
-# if defined (BANG_HISTORY)
- history_expansion_inhibited = ps->history_expansion_inhibited;
-# endif
-#endif
-
- last_command_exit_value = ps->last_command_exit_value;
-#if defined (ARRAY_VARS)
- v = find_variable ("PIPESTATUS");
- if (v && array_p (v) && array_cell (v))
- {
- array_dispose (array_cell (v));
- var_setarray (v, ps->pipestatus);
- }
-#endif
-
- last_shell_builtin = ps->last_shell_builtin;
- this_shell_builtin = ps->this_shell_builtin;
-
- expand_aliases = ps->expand_aliases;
- echo_input_at_read = ps->echo_input_at_read;
-}
-
-/************************************************
- * *
- * MULTIBYTE CHARACTER HANDLING *
- * *
- ************************************************/
-
-#if defined (HANDLE_MULTIBYTE)
-static void
-set_line_mbstate ()
-{
- int i, previ, len, c;
- mbstate_t mbs, prevs;
- size_t mbclen;
-
- if (shell_input_line == NULL)
- return;
- len = strlen (shell_input_line); /* XXX - shell_input_line_len ? */
- FREE (shell_input_line_property);
- shell_input_line_property = (char *)xmalloc (len + 1);
-
- memset (&prevs, '\0', sizeof (mbstate_t));
- for (i = previ = 0; i < len; i++)
- {
- mbs = prevs;
-
- c = shell_input_line[i];
- if (c == EOF)
- {
- int j;
- for (j = i; j < len; j++)
- shell_input_line_property[j] = 1;
- break;
- }
-
- mbclen = mbrlen (shell_input_line + previ, i - previ + 1, &mbs);
- if (mbclen == 1 || mbclen == (size_t)-1)
- {
- mbclen = 1;
- previ = i + 1;
- }
- else if (mbclen == (size_t)-2)
- mbclen = 0;
- else if (mbclen > 1)
- {
- mbclen = 0;
- previ = i + 1;
- prevs = mbs;
- }
- else
- {
- /* XXX - what to do if mbrlen returns 0? (null wide character) */
- int j;
- for (j = i; j < len; j++)
- shell_input_line_property[j] = 1;
- break;
- }
-
- shell_input_line_property[i] = mbclen;
- }
-}
-#endif /* HANDLE_MULTIBYTE */
+++ /dev/null
-*** ../bash-3.0/pcomplete.c Thu Jan 8 10:36:17 2004
---- pcomplete.c Tue Aug 3 23:15:41 2004
-***************
-*** 864,867 ****
---- 864,869 ----
- v = convert_var_to_array (v);
- v = assign_array_var_from_word_list (v, lwords);
-+
-+ VUNSETATTR (v, att_invisible);
- return v;
- }
-***************
-*** 1022,1025 ****
---- 1024,1029 ----
- if (array_p (v) == 0)
- v = convert_var_to_array (v);
-+
-+ VUNSETATTR (v, att_invisible);
-
- a = array_cell (v);
+++ /dev/null
-# Set of available languages.
-en@quot en@boldquot
+++ /dev/null
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2003 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-
-PACKAGE = @PACKAGE_NAME@
-VERSION = @PACKAGE_VERSION@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-topdir = @top_srcdir@
-BUILD_DIR = @BUILD_DIR@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datadir = @datadir@
-localedir = $(datadir)/locale
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in $(DOMAIN).pot stamp-po \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-update
-
-.po.mo:
- @echo "$(MSGFMT) -c -o $@ $<"; \
- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
- @lang=`echo $* | sed -e 's,.*/,,'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
- sed -e '/^#/d' $< > t-$@
- mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
- test -z "$(CATALOGS)" || $(MAKE) $(CATALOGS)
- @echo "touch stamp-po"
- @echo timestamp > stamp-poT
- @mv stamp-poT stamp-po
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
- --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
- --files-from=$(srcdir)/POTFILES.in \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --msgid-bugs-address='$(MSGID_BUGS_ADDRESS)'
- $(MAKE) $(MFLAGS) builtins.pot-update
- test ! -f $(DOMAIN).po || { \
- if test -f $(srcdir)/$(DOMAIN).pot; then \
- sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
- sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
- if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
- else \
- rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- else \
- mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
- fi; \
- }
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
- $(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
- @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
- cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
- for file in $(DISTFILES.common) Makevars.template; do \
- $(INSTALL_DATA) $(srcdir)/$$file \
- $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- for file in Makevars; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-install-data-no: all
-install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
- if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
- $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
- echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
- cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
- fi; \
- done; \
- done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
- else \
- : ; \
- fi
-installdirs-data-no:
-installdirs-data-yes:
- $(mkinstalldirs) $(DESTDIR)$(datadir)
- @catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
- for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
- if test -n "$$lc"; then \
- if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
- link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
- mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
- for file in *; do \
- if test -f $$file; then \
- ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
- fi; \
- done); \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
- else \
- if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
- :; \
- else \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
- mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
- fi; \
- fi; \
- fi; \
- done; \
- done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
- if test "$(PACKAGE)" = "gettext-tools"; then \
- for file in $(DISTFILES.common) Makevars.template; do \
- rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-uninstall-data-no:
-uninstall-data-yes:
- catalogs='$(CATALOGS)'; \
- for cat in $$catalogs; do \
- cat=`basename $$cat`; \
- lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
- for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
- rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
- done; \
- done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
- rm -f remove-potcdate.sed
- rm -f stamp-poT
- rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
- rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
- rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
- $(MAKE) update-po
- @$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: $(DISTFILES)
- dists="$(DISTFILES)"; \
- if test "$(PACKAGE)" = "gettext-tools"; then \
- dists="$$dists Makevars.template"; \
- fi; \
- if test -f $(srcdir)/ChangeLog; then \
- dists="$$dists ChangeLog"; \
- fi; \
- for i in 0 1 2 3 4 5 6 7 8 9; do \
- if test -f $(srcdir)/ChangeLog.$$i; then \
- dists="$$dists ChangeLog.$$i"; \
- fi; \
- done; \
- if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
- for file in $$dists; do \
- if test -f $$file; then \
- cp -p $$file $(distdir); \
- else \
- cp -p $(srcdir)/$$file $(distdir); \
- fi; \
- done
-
-update-po: Makefile
- $(MAKE) $(DOMAIN).pot-update
- test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
- $(MAKE) update-gmo
-
-# General rule for updating PO files.
-
-.nop.po-update:
- @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
- if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
- echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
- cd $(srcdir); \
- if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "msgmerge for $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
- @:
-
-Makefile: Makefile.in.in $(top_builddir)/config.status @POMAKEFILEDEPS@ $(srcdir)/Rules-builtins
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
+++ /dev/null
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = $(BUILD_DIR)
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ -C
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS = bug-bash@gnu.org
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
+++ /dev/null
-# Makefile variables for PO directory in any package using GNU gettext.
-
-# Usually the message domain is the same as the package name.
-DOMAIN = $(PACKAGE)
-
-# These two variables depend on the location of this directory.
-subdir = po
-top_builddir = ..
-
-# These options get passed to xgettext.
-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
-
-# This is the copyright holder that gets inserted into the header of the
-# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
-# package. (Note that the msgstr strings, extracted from the package's
-# sources, belong to the copyright holder of the package.) Translators are
-# expected to transfer the copyright for their translations to this person
-# or entity, or to disclaim their copyright. The empty string stands for
-# the public domain; in this case the translators are expected to disclaim
-# their copyright.
-COPYRIGHT_HOLDER = Free Software Foundation, Inc.
-
-# This is the email address or URL to which the translators shall report
-# bugs in the untranslated strings:
-# - Strings which are not entire sentences, see the maintainer guidelines
-# in the GNU gettext documentation, section 'Preparing Strings'.
-# - Strings which use unclear terms or require additional context to be
-# understood.
-# - Strings which make invalid assumptions about notation of date, time or
-# money.
-# - Pluralisation problems.
-# - Incorrect English spelling.
-# - Incorrect formatting.
-# It can be your email address, or a mailing list address where translators
-# can write to without being subscribed, or the URL of a web page through
-# which the translators can contact you.
-MSGID_BUGS_ADDRESS =
-
-# This is the list of locale categories, beyond LC_MESSAGES, for which the
-# message catalogs shall be used. It is usually empty.
-EXTRA_LOCALE_CATEGORIES =
+++ /dev/null
-# List of source files containing translatable strings.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-
-arrayfunc.c
-bashhist.c
-bashline.c
-braces.c
-builtins/bind.def
-builtins/break.def
-builtins/caller.def
-builtins/cd.def
-builtins/common.c
-builtins/complete.def
-builtins/declare.def
-builtins/enable.def
-builtins/evalfile.c
-builtins/exec.def
-builtins/exit.def
-builtins/fc.def
-builtins/fg_bg.def
-builtins/getopt.c
-builtins/hash.def
-builtins/help.def
-builtins/history.def
-builtins/inlib.def
-builtins/jobs.def
-builtins/kill.def
-builtins/let.def
-builtins/mkbuiltins.c
-builtins/printf.def
-builtins/pushd.def
-builtins/read.def
-builtins/return.def
-builtins/set.def
-builtins/setattr.def
-builtins/shift.def
-builtins/shopt.def
-builtins/source.def
-builtins/suspend.def
-builtins/type.def
-builtins/ulimit.def
-builtins/umask.def
-error.c
-eval.c
-execute_cmd.c
-expr.c
-general.c
-input.c
-jobs.c
-lib/malloc/malloc.c
-lib/malloc/stats.c
-lib/malloc/table.c
-lib/malloc/watch.c
-lib/sh/fmtulong.c
-lib/sh/netopen.c
-mailcheck.c
-make_cmd.c
-nojobs.c
-parse.y
-pcomplete.c
-pcomplib.c
-print_cmd.c
-redir.c
-shell.c
-sig.c
-siglist.c
-subst.c
-test.c
-trap.c
-variables.c
-version.c
-xmalloc.c
-
-# Apparently gettext's defaults cannot handle files that exist outside of the
-# source directory, like in the build directory
-#../builtins/builtins.c
+++ /dev/null
-This apparently requires GNU sed
+++ /dev/null
-#
-# Update the strings from the builtins' long docs. Must be called when
-# bash.pot exists, in the middle of the bash.pot-update recipe
-#
-builtins.pot-update: $(top_builddir)/builtins/builtins.c
- $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_builddir)/builtins \
- $(XGETTEXT_OPTIONS) --omit-header \
- --copyright-holder='$(COPYRIGHT_HOLDER)' \
- --join-existing \
- builtins.c
-
-# This rule has no dependencies: we don't need to update builtins.pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make builtins.pot-update" or "make dist" will force an update.
-$(srcdir)/builtins.pot:
- $(MAKE) builtins.pot-update
-
-xdist:
- $(MAKE) update-po
+++ /dev/null
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
- @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
- if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
- tmpdir=`pwd`; \
- echo "$$lang:"; \
- ll=`echo $$lang | sed -e 's/@.*//'`; \
- LC_ALL=C; export LC_ALL; \
- cd $(srcdir); \
- if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
- if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
- rm -f $$tmpdir/$$lang.new.po; \
- else \
- if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
- :; \
- else \
- echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
- exit 1; \
- fi; \
- fi; \
- else \
- echo "creation of $$lang.po failed!" 1>&2; \
- rm -f $$tmpdir/$$lang.new.po; \
- fi
-
-en@quot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
- sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
- rm -f *.insert-header
+++ /dev/null
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1019 builtins.c:1024 builtins.c:1028
-#: builtins.c:1032 builtins.c:1034 builtins.c:1047 builtins.c:1062
-#: builtins.c:1226 builtins.c:1231 builtins.c:1305 builtins.c:1309
-#: builtins.c:1313 builtins.c:1316 builtins.c:1319 builtins.c:1331
-#: builtins.c:1335 builtins.c:1339 builtins.c:1342 builtins.c:1354
-#: builtins.c:1362 builtins.c:1365
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
-"POT-Creation-Date: 2003-12-22 15:34-0500\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: arrayfunc.c:45
-msgid "bad array subscript"
-msgstr ""
-
-#: arrayfunc.c:306
-#, c-format
-msgid "%s: cannot assign to non-numeric index"
-msgstr ""
-
-#: bashhist.c:321
-#, c-format
-msgid "%s: cannot create: %s"
-msgstr ""
-
-#: bashline.c:2791
-msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr ""
-
-#: bashline.c:2840
-#, c-format
-msgid "%s: first non-whitespace character is not `\"'"
-msgstr ""
-
-#: bashline.c:2869
-#, c-format
-msgid "no closing `%c' in %s"
-msgstr ""
-
-#: bashline.c:2903
-#, c-format
-msgid "%s: missing colon separator"
-msgstr ""
-
-#: builtins/alias.def:123
-#, c-format
-msgid "`%s': invalid alias name"
-msgstr ""
-
-#: builtins/bind.def:194
-#, c-format
-msgid "`%s': invalid keymap name"
-msgstr ""
-
-#: builtins/bind.def:233
-#, c-format
-msgid "%s: cannot read: %s"
-msgstr ""
-
-#: builtins/bind.def:248
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr ""
-
-#: builtins/bind.def:283
-#, c-format
-msgid "`%s': unknown function name"
-msgstr ""
-
-#: builtins/bind.def:291
-#, c-format
-msgid "%s is not bound to any keys.\n"
-msgstr ""
-
-#: builtins/bind.def:295
-#, c-format
-msgid "%s can be invoked via "
-msgstr ""
-
-#: builtins/break.def:128
-msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr ""
-
-#: builtins/caller.def:127 builtins.c:320
-msgid "Returns the context of the current subroutine call."
-msgstr ""
-
-#: builtins/caller.def:129 builtins.c:322
-msgid "Without EXPR, returns returns \"$line $filename\". With EXPR,"
-msgstr ""
-
-#: builtins/caller.def:130 builtins.c:323
-msgid "returns \"$line $subroutine $filename\"; this extra information"
-msgstr ""
-
-#: builtins/caller.def:131 builtins.c:324
-msgid "can be used used to provide a stack trace."
-msgstr ""
-
-#: builtins/caller.def:133 builtins.c:326
-msgid "The value of EXPR indicates how many call frames to go back before the"
-msgstr ""
-
-#: builtins/caller.def:134 builtins.c:327
-msgid "current one; the top frame is frame 0."
-msgstr ""
-
-#: builtins/cd.def:188
-msgid "HOME not set"
-msgstr ""
-
-#: builtins/cd.def:200
-msgid "OLDPWD not set"
-msgstr ""
-
-#: builtins/cd.def:357
-#, c-format
-msgid "write error: %s"
-msgstr ""
-
-#: builtins/common.c:133 test.c:921
-msgid "too many arguments"
-msgstr ""
-
-#: builtins/common.c:157 shell.c:465 shell.c:737
-#, c-format
-msgid "%s: option requires an argument"
-msgstr ""
-
-#: builtins/common.c:164
-#, c-format
-msgid "%s: numeric argument required"
-msgstr ""
-
-#: builtins/common.c:171
-#, c-format
-msgid "%s: not found"
-msgstr ""
-
-#: builtins/common.c:180 shell.c:750
-#, c-format
-msgid "%s: invalid option"
-msgstr ""
-
-#: builtins/common.c:187
-#, c-format
-msgid "%s: invalid option name"
-msgstr ""
-
-#: builtins/common.c:194 general.c:229 general.c:234
-#, c-format
-msgid "`%s': not a valid identifier"
-msgstr ""
-
-#: builtins/common.c:201
-#, c-format
-msgid "%s: invalid number"
-msgstr ""
-
-#: builtins/common.c:208
-#, c-format
-msgid "%s: invalid signal specification"
-msgstr ""
-
-#: builtins/common.c:215
-#, c-format
-msgid "`%s': not a pid or valid job spec"
-msgstr ""
-
-#: builtins/common.c:222 error.c:453
-#, c-format
-msgid "%s: readonly variable"
-msgstr ""
-
-#: builtins/common.c:230
-#, c-format
-msgid "%s: %s out of range"
-msgstr ""
-
-#: builtins/common.c:230 builtins/common.c:232
-msgid "argument"
-msgstr ""
-
-#: builtins/common.c:232
-#, c-format
-msgid "%s out of range"
-msgstr ""
-
-#: builtins/common.c:240
-#, c-format
-msgid "%s: no such job"
-msgstr ""
-
-#: builtins/common.c:248
-#, c-format
-msgid "%s: no job control"
-msgstr ""
-
-#: builtins/common.c:250
-msgid "no job control"
-msgstr ""
-
-#: builtins/common.c:260
-#, c-format
-msgid "%s: restricted"
-msgstr ""
-
-#: builtins/common.c:262
-msgid "restricted"
-msgstr ""
-
-#: builtins/common.c:270
-#, c-format
-msgid "%s: not a shell builtin"
-msgstr ""
-
-#: builtins/common.c:486
-#, c-format
-msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr ""
-
-#: builtins/common.c:553 builtins/common.c:555
-#, c-format
-msgid "%s: ambiguous job spec"
-msgstr ""
-
-#: builtins/complete.def:251
-#, c-format
-msgid "%s: invalid action name"
-msgstr ""
-
-#: builtins/complete.def:381 builtins/complete.def:524
-#, c-format
-msgid "%s: no completion specification"
-msgstr ""
-
-#: builtins/complete.def:571
-msgid "warning: -F option may not work as you expect"
-msgstr ""
-
-#: builtins/complete.def:573
-msgid "warning: -C option may not work as you expect"
-msgstr ""
-
-#: builtins/declare.def:105
-msgid "can only be used in a function"
-msgstr ""
-
-#: builtins/declare.def:295
-msgid "cannot use `-f' to make functions"
-msgstr ""
-
-#: builtins/declare.def:307 execute_cmd.c:3949
-#, c-format
-msgid "%s: readonly function"
-msgstr ""
-
-#: builtins/declare.def:389
-#, c-format
-msgid "%s: cannot destroy array variables in this way"
-msgstr ""
-
-#: builtins/enable.def:128 builtins/enable.def:136
-msgid "dynamic loading not available"
-msgstr ""
-
-#: builtins/enable.def:303
-#, c-format
-msgid "cannot open shared object %s: %s"
-msgstr ""
-
-#: builtins/enable.def:326
-#, c-format
-msgid "cannot find %s in shared object %s: %s"
-msgstr ""
-
-#: builtins/enable.def:450
-#, c-format
-msgid "%s: not dynamically loaded"
-msgstr ""
-
-#: builtins/enable.def:465
-#, c-format
-msgid "%s: cannot delete: %s"
-msgstr ""
-
-#: builtins/evalfile.c:128 execute_cmd.c:3821 shell.c:1395
-#, c-format
-msgid "%s: is a directory"
-msgstr ""
-
-#: builtins/evalfile.c:133
-#, c-format
-msgid "%s: not a regular file"
-msgstr ""
-
-#: builtins/evalfile.c:141
-#, c-format
-msgid "%s: file is too large"
-msgstr ""
-
-#: builtins/exec.def:205
-#, c-format
-msgid "%s: cannot execute: %s"
-msgstr ""
-
-#: builtins/exit.def:83
-msgid "not login shell: use `exit'"
-msgstr ""
-
-#: builtins/exit.def:111
-msgid "There are stopped jobs.\n"
-msgstr ""
-
-#: builtins/fc.def:252
-msgid "no command found"
-msgstr ""
-
-#: builtins/fc.def:317
-msgid "history specification"
-msgstr ""
-
-#: builtins/fc.def:338
-#, c-format
-msgid "%s: cannot open temp file: %s"
-msgstr ""
-
-#: builtins/fg_bg.def:133
-#, c-format
-msgid "job %d started without job control"
-msgstr ""
-
-#: builtins/getopt.c:109
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr ""
-
-#: builtins/getopt.c:110
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr ""
-
-#: builtins/hash.def:83
-msgid "hashing disabled"
-msgstr ""
-
-#: builtins/hash.def:128
-#, c-format
-msgid "%s: hash table empty\n"
-msgstr ""
-
-#: builtins/help.def:108
-msgid "Shell commands matching keywords `"
-msgstr ""
-
-#: builtins/help.def:110
-msgid "Shell commands matching keyword `"
-msgstr ""
-
-#: builtins/help.def:138
-#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-
-#: builtins/help.def:164
-#, c-format
-msgid "%s: cannot open: %s"
-msgstr ""
-
-#: builtins/help.def:182
-msgid ""
-"These shell commands are defined internally. Type `help' to see this list.\n"
-"Type `help name' to find out more about the function `name'.\n"
-"Use `info bash' to find out more about the shell in general.\n"
-"Use `man -k' or `info' to find out more about commands not in this list.\n"
-"\n"
-"A star (*) next to a name means that the command is disabled.\n"
-"\n"
-msgstr ""
-
-#: builtins/history.def:148
-msgid "cannot use more than one of -anrw"
-msgstr ""
-
-#: builtins/history.def:180
-msgid "history position"
-msgstr ""
-
-#: builtins/history.def:390
-#, c-format
-msgid "%s: history expansion failed"
-msgstr ""
-
-#: builtins/jobs.def:99
-msgid "no other options allowed with `-x'"
-msgstr ""
-
-#: builtins/kill.def:187
-#, c-format
-msgid "%s: arguments must be process or job IDs"
-msgstr ""
-
-#: builtins/kill.def:248
-msgid "Unknown error"
-msgstr ""
-
-#: builtins/let.def:94 builtins/let.def:119 expr.c:496 expr.c:511
-msgid "expression expected"
-msgstr ""
-
-#: builtins/printf.def:249
-#, c-format
-msgid "`%s': missing format character"
-msgstr ""
-
-#: builtins/printf.def:408
-#, c-format
-msgid "`%c': invalid format character"
-msgstr ""
-
-#: builtins/printf.def:601
-msgid "missing hex digit for \\x"
-msgstr ""
-
-#: builtins/pushd.def:168
-msgid "no other directory"
-msgstr ""
-
-#: builtins/pushd.def:435
-msgid "<no current directory>"
-msgstr ""
-
-#: builtins/pushd.def:652 builtins.c:1351
-msgid "Display the list of currently remembered directories. Directories"
-msgstr ""
-
-#: builtins/pushd.def:653 builtins.c:1352
-msgid "find their way onto the list with the `pushd' command; you can get"
-msgstr ""
-
-#: builtins/pushd.def:654 builtins.c:1353
-msgid "back up through the list with the `popd' command."
-msgstr ""
-
-#: builtins/pushd.def:656 builtins.c:1355
-msgid "The -l flag specifies that `dirs' should not print shorthand versions"
-msgstr ""
-
-#: builtins/pushd.def:657 builtins.c:1356
-msgid "of directories which are relative to your home directory. This means"
-msgstr ""
-
-#: builtins/pushd.def:658 builtins.c:1357
-msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-msgstr ""
-
-#: builtins/pushd.def:659 builtins.c:1358
-msgid "causes `dirs' to print the directory stack with one entry per line,"
-msgstr ""
-
-#: builtins/pushd.def:660 builtins.c:1359
-msgid "prepending the directory name with its position in the stack. The -p"
-msgstr ""
-
-#: builtins/pushd.def:661 builtins.c:1360
-msgid "flag does the same thing, but the stack position is not prepended."
-msgstr ""
-
-#: builtins/pushd.def:662 builtins.c:1361
-msgid "The -c flag clears the directory stack by deleting all of the elements."
-msgstr ""
-
-#: builtins/pushd.def:664
-msgid "+N displays the Nth entry counting from the left of the list shown by"
-msgstr ""
-
-#: builtins/pushd.def:665 builtins/pushd.def:668
-msgid " dirs when invoked without options, starting with zero."
-msgstr ""
-
-#: builtins/pushd.def:667
-msgid ""
-"-N displays the Nth entry counting from the right of the list shown by"
-msgstr ""
-
-#: builtins/pushd.def:673 builtins.c:1302
-msgid "Adds a directory to the top of the directory stack, or rotates"
-msgstr ""
-
-#: builtins/pushd.def:674 builtins.c:1303
-msgid "the stack, making the new top of the stack the current working"
-msgstr ""
-
-#: builtins/pushd.def:675 builtins.c:1304
-msgid "directory. With no arguments, exchanges the top two directories."
-msgstr ""
-
-#: builtins/pushd.def:677
-msgid "+N Rotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins/pushd.def:678
-msgid " from the left of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins/pushd.def:679 builtins/pushd.def:683
-msgid " zero) is at the top."
-msgstr ""
-
-#: builtins/pushd.def:681
-msgid "-N Rotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins/pushd.def:682
-msgid " from the right of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins/pushd.def:685
-msgid "-n suppress the normal change of directory when adding directories"
-msgstr ""
-
-#: builtins/pushd.def:686
-msgid " to the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins/pushd.def:688
-msgid "dir adds DIR to the directory stack at the top, making it the"
-msgstr ""
-
-#: builtins/pushd.def:689
-msgid " new current working directory."
-msgstr ""
-
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1320
-#: builtins.c:1343
-msgid "You can see the directory stack with the `dirs' command."
-msgstr ""
-
-#: builtins/pushd.def:696 builtins.c:1328
-msgid "Removes entries from the directory stack. With no arguments,"
-msgstr ""
-
-#: builtins/pushd.def:697 builtins.c:1329
-msgid "removes the top directory from the stack, and cd's to the new"
-msgstr ""
-
-#: builtins/pushd.def:698 builtins.c:1330
-msgid "top directory."
-msgstr ""
-
-#: builtins/pushd.def:700
-msgid "+N removes the Nth entry counting from the left of the list"
-msgstr ""
-
-#: builtins/pushd.def:701
-msgid " shown by `dirs', starting with zero. For example: `popd +0'"
-msgstr ""
-
-#: builtins/pushd.def:702
-msgid " removes the first directory, `popd +1' the second."
-msgstr ""
-
-#: builtins/pushd.def:704
-msgid "-N removes the Nth entry counting from the right of the list"
-msgstr ""
-
-#: builtins/pushd.def:705
-msgid " shown by `dirs', starting with zero. For example: `popd -0'"
-msgstr ""
-
-#: builtins/pushd.def:706
-msgid " removes the last directory, `popd -1' the next to last."
-msgstr ""
-
-#: builtins/pushd.def:708
-msgid "-n suppress the normal change of directory when removing directories"
-msgstr ""
-
-#: builtins/pushd.def:709
-msgid " from the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins/read.def:207
-#, c-format
-msgid "%s: invalid timeout specification"
-msgstr ""
-
-#: builtins/read.def:230
-#, c-format
-msgid "%s: invalid file descriptor specification"
-msgstr ""
-
-#: builtins/read.def:237
-#, c-format
-msgid "%d: invalid file descriptor: %s"
-msgstr ""
-
-#: builtins/read.def:463
-#, c-format
-msgid "read error: %d: %s"
-msgstr ""
-
-#: builtins/return.def:63
-msgid "can only `return' from a function or sourced script"
-msgstr ""
-
-#: builtins/set.def:743
-msgid "cannot simultaneously unset a function and a variable"
-msgstr ""
-
-#: builtins/set.def:780
-#, c-format
-msgid "%s: cannot unset"
-msgstr ""
-
-#: builtins/set.def:787
-#, c-format
-msgid "%s: cannot unset: readonly %s"
-msgstr ""
-
-#: builtins/set.def:798
-#, c-format
-msgid "%s: not an array variable"
-msgstr ""
-
-#: builtins/setattr.def:165
-#, c-format
-msgid "%s: not a function"
-msgstr ""
-
-#: builtins/shift.def:66 builtins/shift.def:72
-msgid "shift count"
-msgstr ""
-
-#: builtins/shopt.def:226
-msgid "cannot set and unset shell options simultaneously"
-msgstr ""
-
-#: builtins/shopt.def:291
-#, c-format
-msgid "%s: invalid shell option name"
-msgstr ""
-
-#: builtins/source.def:117
-msgid "filename argument required"
-msgstr ""
-
-#: builtins/source.def:137
-#, c-format
-msgid "%s: file not found"
-msgstr ""
-
-#: builtins/suspend.def:93
-msgid "cannot suspend"
-msgstr ""
-
-#: builtins/suspend.def:103
-msgid "cannot suspend a login shell"
-msgstr ""
-
-#: builtins/type.def:231
-#, c-format
-msgid "%s is aliased to `%s'\n"
-msgstr ""
-
-#: builtins/type.def:252
-#, c-format
-msgid "%s is a shell keyword\n"
-msgstr ""
-
-#: builtins/type.def:272
-#, c-format
-msgid "%s is a function\n"
-msgstr ""
-
-#: builtins/type.def:297
-#, c-format
-msgid "%s is a shell builtin\n"
-msgstr ""
-
-#: builtins/type.def:318
-#, c-format
-msgid "%s is %s\n"
-msgstr ""
-
-#: builtins/type.def:338
-#, c-format
-msgid "%s is hashed (%s)\n"
-msgstr ""
-
-#: builtins/ulimit.def:332
-#, c-format
-msgid "%s: invalid limit argument"
-msgstr ""
-
-#: builtins/ulimit.def:358
-#, c-format
-msgid "`%c': bad command"
-msgstr ""
-
-#: builtins/ulimit.def:387
-#, c-format
-msgid "%s: cannot get limit: %s"
-msgstr ""
-
-#: builtins/ulimit.def:425
-#, c-format
-msgid "%s: cannot modify limit: %s"
-msgstr ""
-
-#: builtins/umask.def:112
-msgid "octal number"
-msgstr ""
-
-#: builtins/umask.def:226
-#, c-format
-msgid "`%c': invalid symbolic mode operator"
-msgstr ""
-
-#: builtins/umask.def:279
-#, c-format
-msgid "`%c': invalid symbolic mode character"
-msgstr ""
-
-#: error.c:165
-#, c-format
-msgid "last command: %s\n"
-msgstr ""
-
-#: error.c:173
-msgid "Aborting..."
-msgstr ""
-
-#: error.c:260
-#, c-format
-msgid "%s: warning: "
-msgstr ""
-
-#: error.c:405
-msgid "unknown command error"
-msgstr ""
-
-#: error.c:406
-msgid "bad command type"
-msgstr ""
-
-#: error.c:407
-msgid "bad connector"
-msgstr ""
-
-#: error.c:408
-msgid "bad jump"
-msgstr ""
-
-#: error.c:446
-#, c-format
-msgid "%s: unbound variable"
-msgstr ""
-
-#: eval.c:175
-msgid "\atimed out waiting for input: auto-logout\n"
-msgstr ""
-
-#: execute_cmd.c:466
-#, c-format
-msgid "cannot redirect standard input from /dev/null: %s"
-msgstr ""
-
-#: execute_cmd.c:1036
-#, c-format
-msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr ""
-
-#: execute_cmd.c:3521
-#, c-format
-msgid "%s: restricted: cannot specify `/' in command names"
-msgstr ""
-
-#: execute_cmd.c:3609
-#, c-format
-msgid "%s: command not found"
-msgstr ""
-
-#: execute_cmd.c:3839
-#, c-format
-msgid "%s: %s: bad interpreter"
-msgstr ""
-
-#: execute_cmd.c:3876
-#, c-format
-msgid "%s: cannot execute binary file"
-msgstr ""
-
-#: execute_cmd.c:3988
-#, c-format
-msgid "cannot duplicate fd %d to fd %d"
-msgstr ""
-
-#: expr.c:239
-msgid "expression recursion level exceeded"
-msgstr ""
-
-#: expr.c:263
-msgid "recursion stack underflow"
-msgstr ""
-
-#: expr.c:374
-msgid "syntax error in expression"
-msgstr ""
-
-#: expr.c:414
-msgid "attempted assignment to non-variable"
-msgstr ""
-
-#: expr.c:435 expr.c:440 expr.c:750
-msgid "division by 0"
-msgstr ""
-
-#: expr.c:466
-msgid "bug: bad expassign token"
-msgstr ""
-
-#: expr.c:508
-msgid "`:' expected for conditional expression"
-msgstr ""
-
-#: expr.c:775
-msgid "exponent less than 0"
-msgstr ""
-
-#: expr.c:819
-msgid "identifier expected after pre-increment or pre-decrement"
-msgstr ""
-
-#: expr.c:847
-msgid "missing `)'"
-msgstr ""
-
-#: expr.c:871
-msgid "syntax error: operand expected"
-msgstr ""
-
-#: expr.c:1146
-msgid "invalid number"
-msgstr ""
-
-#: expr.c:1150
-msgid "invalid arithmetic base"
-msgstr ""
-
-#: expr.c:1170
-msgid "value too great for base"
-msgstr ""
-
-#: general.c:60
-msgid "getcwd: cannot access parent directories"
-msgstr ""
-
-#: input.c:231
-#, c-format
-msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr ""
-
-#: input.c:239
-#, c-format
-msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr ""
-
-#: jobs.c:693
-#, c-format
-msgid "deleting stopped job %d with process group %ld"
-msgstr ""
-
-#: jobs.c:1001
-#, c-format
-msgid "describe_pid: %ld: no such pid"
-msgstr ""
-
-#: jobs.c:1632 nojobs.c:648
-#, c-format
-msgid "wait: pid %ld is not a child of this shell"
-msgstr ""
-
-#: jobs.c:1815
-#, c-format
-msgid "wait_for: No record of process %ld"
-msgstr ""
-
-#: jobs.c:2062
-#, c-format
-msgid "wait_for_job: job %d is stopped"
-msgstr ""
-
-#: jobs.c:2284
-#, c-format
-msgid "%s: job has terminated"
-msgstr ""
-
-#: jobs.c:2293
-#, c-format
-msgid "%s: job %d already in background"
-msgstr ""
-
-#: jobs.c:3037
-msgid "no job control in this shell"
-msgstr ""
-
-#: lib/malloc/malloc.c:298
-#, c-format
-msgid "malloc: failed assertion: %s\n"
-msgstr ""
-
-#: lib/malloc/malloc.c:314
-#, c-format
-msgid ""
-"\r\n"
-"malloc: %s:%d: assertion botched\r\n"
-msgstr ""
-
-#: lib/malloc/malloc.c:740
-msgid "malloc: block on free list clobbered"
-msgstr ""
-
-#: lib/malloc/malloc.c:817
-msgid "free: called with already freed block argument"
-msgstr ""
-
-#: lib/malloc/malloc.c:820
-msgid "free: called with unallocated block argument"
-msgstr ""
-
-#: lib/malloc/malloc.c:839
-msgid "free: underflow detected; mh_nbytes out of range"
-msgstr ""
-
-#: lib/malloc/malloc.c:845
-msgid "free: start and end chunk sizes differ"
-msgstr ""
-
-#: lib/malloc/malloc.c:942
-msgid "realloc: called with unallocated block argument"
-msgstr ""
-
-#: lib/malloc/malloc.c:957
-msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr ""
-
-#: lib/malloc/malloc.c:963
-msgid "realloc: start and end chunk sizes differ"
-msgstr ""
-
-#: lib/malloc/table.c:175
-msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr ""
-
-#: lib/malloc/table.c:182
-#, c-format
-msgid "register_alloc: %p already in table as allocated?\n"
-msgstr ""
-
-#: lib/malloc/table.c:218
-#, c-format
-msgid "register_free: %p already in table as free?\n"
-msgstr ""
-
-#: lib/malloc/watch.c:46
-msgid "allocated"
-msgstr ""
-
-#: lib/malloc/watch.c:48
-msgid "freed"
-msgstr ""
-
-#: lib/malloc/watch.c:50
-msgid "requesting resize"
-msgstr ""
-
-#: lib/malloc/watch.c:52
-msgid "just resized"
-msgstr ""
-
-#: lib/malloc/watch.c:54
-msgid "bug: unknown operation"
-msgstr ""
-
-#: lib/malloc/watch.c:56
-#, c-format
-msgid "malloc: watch alert: %p %s "
-msgstr ""
-
-#: lib/sh/fmtulong.c:101
-msgid "invalid base"
-msgstr ""
-
-#: lib/sh/netopen.c:158
-#, c-format
-msgid "%s: host unknown"
-msgstr ""
-
-#: lib/sh/netopen.c:165
-#, c-format
-msgid "%s: invalid service"
-msgstr ""
-
-#: lib/sh/netopen.c:296
-#, c-format
-msgid "%s: bad network path specification"
-msgstr ""
-
-#: lib/sh/netopen.c:336
-msgid "network operations not supported"
-msgstr ""
-
-#: mailcheck.c:382
-msgid "You have mail in $_"
-msgstr ""
-
-#: mailcheck.c:407
-msgid "You have new mail in $_"
-msgstr ""
-
-#: mailcheck.c:423
-#, c-format
-msgid "The mail in %s has been read\n"
-msgstr ""
-
-#: make_cmd.c:318
-msgid "syntax error: arithmetic expression required"
-msgstr ""
-
-#: make_cmd.c:320
-msgid "syntax error: `;' unexpected"
-msgstr ""
-
-#: make_cmd.c:321
-#, c-format
-msgid "syntax error: `((%s))'"
-msgstr ""
-
-#: make_cmd.c:560
-#, c-format
-msgid "make_here_document: bad instruction type %d"
-msgstr ""
-
-#: make_cmd.c:730
-#, c-format
-msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr ""
-
-#: parse.y:2726
-#, c-format
-msgid "unexpected EOF while looking for matching `%c'"
-msgstr ""
-
-#: parse.y:3011
-msgid "unexpected EOF while looking for `]]'"
-msgstr ""
-
-#: parse.y:3016
-#, c-format
-msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr ""
-
-#: parse.y:3020
-msgid "syntax error in conditional expression"
-msgstr ""
-
-#: parse.y:3098
-#, c-format
-msgid "unexpected token `%s', expected `)'"
-msgstr ""
-
-#: parse.y:3102
-msgid "expected `)'"
-msgstr ""
-
-#: parse.y:3130
-#, c-format
-msgid "unexpected argument `%s' to conditional unary operator"
-msgstr ""
-
-#: parse.y:3134
-msgid "unexpected argument to conditional unary operator"
-msgstr ""
-
-#: parse.y:3171
-#, c-format
-msgid "unexpected token `%s', conditional binary operator expected"
-msgstr ""
-
-#: parse.y:3175
-msgid "conditional binary operator expected"
-msgstr ""
-
-#: parse.y:3191
-#, c-format
-msgid "unexpected argument `%s' to conditional binary operator"
-msgstr ""
-
-#: parse.y:3195
-msgid "unexpected argument to conditional binary operator"
-msgstr ""
-
-#: parse.y:3206
-#, c-format
-msgid "unexpected token `%c' in conditional command"
-msgstr ""
-
-#: parse.y:3209
-#, c-format
-msgid "unexpected token `%s' in conditional command"
-msgstr ""
-
-#: parse.y:3213
-#, c-format
-msgid "unexpected token %d in conditional command"
-msgstr ""
-
-#: parse.y:4400
-#, c-format
-msgid "syntax error near unexpected token `%s'"
-msgstr ""
-
-#: parse.y:4418
-#, c-format
-msgid "syntax error near `%s'"
-msgstr ""
-
-#: parse.y:4428
-msgid "syntax error: unexpected end of file"
-msgstr ""
-
-#: parse.y:4428
-msgid "syntax error"
-msgstr ""
-
-#: parse.y:4490
-#, c-format
-msgid "Use \"%s\" to leave the shell.\n"
-msgstr ""
-
-#: parse.y:4649
-msgid "unexpected EOF while looking for matching `)'"
-msgstr ""
-
-#: pcomplete.c:988
-#, c-format
-msgid "completion: function `%s' not found"
-msgstr ""
-
-#: pcomplib.c:179
-#, c-format
-msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr ""
-
-#: print_cmd.c:260
-#, c-format
-msgid "print_command: bad connector `%d'"
-msgstr ""
-
-#: print_cmd.c:1172
-#, c-format
-msgid "cprintf: `%c': invalid format character"
-msgstr ""
-
-#: redir.c:99
-msgid "file descriptor out of range"
-msgstr ""
-
-#: redir.c:141
-#, c-format
-msgid "%s: ambiguous redirect"
-msgstr ""
-
-#: redir.c:145
-#, c-format
-msgid "%s: cannot overwrite existing file"
-msgstr ""
-
-#: redir.c:150
-#, c-format
-msgid "%s: restricted: cannot redirect output"
-msgstr ""
-
-#: redir.c:155
-#, c-format
-msgid "cannot create temp file for here document: %s"
-msgstr ""
-
-#: redir.c:509
-msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr ""
-
-#: redir.c:949
-msgid "redirection error: cannot duplicate fd"
-msgstr ""
-
-#: shell.c:302
-msgid "could not find /tmp, please create!"
-msgstr ""
-
-#: shell.c:306
-msgid "/tmp must be a valid directory name"
-msgstr ""
-
-#: shell.c:839
-#, c-format
-msgid "%c%c: invalid option"
-msgstr ""
-
-#: shell.c:1590
-msgid "I have no name!"
-msgstr ""
-
-#: shell.c:1725
-#, c-format
-msgid ""
-"Usage:\t%s [GNU long option] [option] ...\n"
-"\t%s [GNU long option] [option] script-file ...\n"
-msgstr ""
-
-#: shell.c:1727
-msgid "GNU long options:\n"
-msgstr ""
-
-#: shell.c:1731
-msgid "Shell options:\n"
-msgstr ""
-
-#: shell.c:1732
-msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr ""
-
-#: shell.c:1747
-#, c-format
-msgid "\t-%s or -o option\n"
-msgstr ""
-
-#: shell.c:1753
-#, c-format
-msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-
-#: shell.c:1754
-#, c-format
-msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-
-#: shell.c:1755
-msgid "Use the `bashbug' command to report bugs.\n"
-msgstr ""
-
-#: sig.c:485
-#, c-format
-msgid "sigprocmask: %d: invalid operation"
-msgstr ""
-
-#: subst.c:1011
-#, c-format
-msgid "bad substitution: no closing `%s' in %s"
-msgstr ""
-
-#: subst.c:2020
-#, c-format
-msgid "%s: cannot assign list to array member"
-msgstr ""
-
-#: subst.c:3516 subst.c:3532
-msgid "cannot make pipe for process substitution"
-msgstr ""
-
-#: subst.c:3563
-msgid "cannot make child for process substitution"
-msgstr ""
-
-#: subst.c:3608
-#, c-format
-msgid "cannot open named pipe %s for reading"
-msgstr ""
-
-#: subst.c:3610
-#, c-format
-msgid "cannot open named pipe %s for writing"
-msgstr ""
-
-#: subst.c:3618
-#, c-format
-msgid "cannout reset nodelay mode for fd %d"
-msgstr ""
-
-#: subst.c:3628
-#, c-format
-msgid "cannot duplicate named pipe %s as fd %d"
-msgstr ""
-
-#: subst.c:3803
-msgid "cannot make pipe for command substitution"
-msgstr ""
-
-#: subst.c:3832
-msgid "cannot make child for command substitution"
-msgstr ""
-
-#: subst.c:3849
-msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr ""
-
-#: subst.c:4284
-#, c-format
-msgid "%s: parameter null or not set"
-msgstr ""
-
-#: subst.c:4529
-#, c-format
-msgid "%s: substring expression < 0"
-msgstr ""
-
-#: subst.c:5209
-#, c-format
-msgid "%s: bad substitution"
-msgstr ""
-
-#: subst.c:5283
-#, c-format
-msgid "$%s: cannot assign in this way"
-msgstr ""
-
-#: subst.c:6652
-#, c-format
-msgid "no match: %s"
-msgstr ""
-
-#: test.c:154
-msgid "argument expected"
-msgstr ""
-
-#: test.c:163
-#, c-format
-msgid "%s: integer expression expected"
-msgstr ""
-
-#: test.c:361
-msgid "`)' expected"
-msgstr ""
-
-#: test.c:363
-#, c-format
-msgid "`)' expected, found %s"
-msgstr ""
-
-#: test.c:378 test.c:787 test.c:790
-#, c-format
-msgid "%s: unary operator expected"
-msgstr ""
-
-#: test.c:543 test.c:830
-#, c-format
-msgid "%s: binary operator expected"
-msgstr ""
-
-#: test.c:905
-msgid "missing `]'"
-msgstr ""
-
-#: trap.c:194
-msgid "invalid signal number"
-msgstr ""
-
-#: trap.c:309
-#, c-format
-msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr ""
-
-#: trap.c:313
-#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-
-#: trap.c:349
-#, c-format
-msgid "trap_handler: bad signal %d"
-msgstr ""
-
-#: variables.c:310
-#, c-format
-msgid "error importing function definition for `%s'"
-msgstr ""
-
-#: variables.c:670
-#, c-format
-msgid "shell level (%d) too high, resetting to 1"
-msgstr ""
-
-#: variables.c:1610
-msgid "make_local_variable: no function context at current scope"
-msgstr ""
-
-#: variables.c:2709
-msgid "all_local_variables: no function context at current scope"
-msgstr ""
-
-#: variables.c:2923 variables.c:2932
-#, c-format
-msgid "invalid character %d in exportstr for %s"
-msgstr ""
-
-#: variables.c:2938
-#, c-format
-msgid "no `=' in exportstr for %s"
-msgstr ""
-
-#: variables.c:3363
-msgid "pop_var_context: head of shell_variables not a function context"
-msgstr ""
-
-#: variables.c:3376
-msgid "pop_var_context: no global_variables context"
-msgstr ""
-
-#: variables.c:3442
-msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr ""
-
-#: version.c:82
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-msgstr ""
-
-#: xmalloc.c:93
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-
-#: xmalloc.c:95
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes"
-msgstr ""
-
-#: xmalloc.c:115
-#, c-format
-msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-
-#: xmalloc.c:117
-#, c-format
-msgid "xrealloc: cannot allocate %lu bytes"
-msgstr ""
-
-#: xmalloc.c:151
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-
-#: xmalloc.c:153
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes"
-msgstr ""
-
-#: xmalloc.c:175
-#, c-format
-msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr ""
-
-#: xmalloc.c:177
-#, c-format
-msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
-msgstr ""
-
-#: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr ""
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr ""
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr ""
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr ""
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded. Alias returns"
-msgstr ""
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr ""
-
-#: builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-msgstr ""
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
-msgstr ""
-
-#: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr ""
-
-#: builtins.c:267
-msgid "a Readline variable. The non-option argument syntax is equivalent"
-msgstr ""
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr ""
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr ""
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr ""
-
-#: builtins.c:271
-msgid ""
-" -m keymap Use `keymap' as the keymap for the duration of this"
-msgstr ""
-
-#: builtins.c:272
-msgid " command. Acceptable keymap names are emacs,"
-msgstr ""
-
-#: builtins.c:273
-msgid ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-msgstr ""
-
-#: builtins.c:274
-msgid " vi-command, and vi-insert."
-msgstr ""
-
-#: builtins.c:275
-msgid " -l List names of functions."
-msgstr ""
-
-#: builtins.c:276
-msgid " -P List function names and bindings."
-msgstr ""
-
-#: builtins.c:277
-msgid " -p List functions and bindings in a form that can be"
-msgstr ""
-
-#: builtins.c:278
-msgid " reused as input."
-msgstr ""
-
-#: builtins.c:279
-msgid " -r keyseq Remove the binding for KEYSEQ."
-msgstr ""
-
-#: builtins.c:280
-msgid " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr ""
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr ""
-
-#: builtins.c:282
-msgid " -f filename Read key bindings from FILENAME."
-msgstr ""
-
-#: builtins.c:283
-msgid " -q function-name Query about which keys invoke the named function."
-msgstr ""
-
-#: builtins.c:284
-msgid ""
-" -u function-name Unbind all keys which are bound to the named function."
-msgstr ""
-
-#: builtins.c:285
-msgid " -V List variable names and values"
-msgstr ""
-
-#: builtins.c:286
-msgid " -v List variable names and values in a form that can"
-msgstr ""
-
-#: builtins.c:287
-msgid " be reused as input."
-msgstr ""
-
-#: builtins.c:288
-msgid ""
-" -S List key sequences that invoke macros and their values"
-msgstr ""
-
-#: builtins.c:289
-msgid ""
-" -s List key sequences that invoke macros and their values"
-msgstr ""
-
-#: builtins.c:290
-msgid " in a form that can be reused as input."
-msgstr ""
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-msgstr ""
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr ""
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr ""
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr ""
-
-#: builtins.c:311
-msgid "Run a shell builtin. This is useful when you wish to rename a"
-msgstr ""
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr ""
-
-#: builtins.c:313
-msgid "builtin within the function itself."
-msgstr ""
-
-#: builtins.c:334
-msgid "Change the current directory to DIR. The variable $HOME is the"
-msgstr ""
-
-#: builtins.c:335
-msgid "default DIR. The variable CDPATH defines the search path for"
-msgstr ""
-
-#: builtins.c:336
-msgid "the directory containing DIR. Alternative directory names in CDPATH"
-msgstr ""
-
-#: builtins.c:337
-msgid "are separated by a colon (:). A null directory name is the same as"
-msgstr ""
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-msgstr ""
-
-#: builtins.c:339
-msgid "then CDPATH is not used. If the directory is not found, and the"
-msgstr ""
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr ""
-
-#: builtins.c:341
-msgid "name. If that variable has a value, then cd to the value of that"
-msgstr ""
-
-#: builtins.c:342
-msgid "variable. The -P option says to use the physical directory structure"
-msgstr ""
-
-#: builtins.c:343
-msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-
-#: builtins.c:344
-msgid "to be followed."
-msgstr ""
-
-#: builtins.c:350
-msgid "Print the current working directory. With the -P option, pwd prints"
-msgstr ""
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr ""
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr ""
-
-#: builtins.c:358
-msgid "No effect; the command does nothing. A zero exit code is returned."
-msgstr ""
-
-#: builtins.c:364
-msgid "Return a successful result."
-msgstr ""
-
-#: builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr ""
-
-#: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-msgstr ""
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr ""
-
-#: builtins.c:378
-msgid "say \"command ls\". If the -p option is given, a default value is used"
-msgstr ""
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities. If"
-msgstr ""
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr ""
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr ""
-
-#: builtins.c:387
-msgid "Declare variables and/or give them attributes. If no NAMEs are"
-msgstr ""
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead. The -p option"
-msgstr ""
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr ""
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr ""
-
-#: builtins.c:393
-msgid " -a\tto make NAMEs arrays (if supported)"
-msgstr ""
-
-#: builtins.c:394
-msgid " -f\tto select from among function names only"
-msgstr ""
-
-#: builtins.c:395
-msgid ""
-" -F\tto display function names (and line number and source file name if"
-msgstr ""
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr ""
-
-#: builtins.c:397
-msgid " -i\tto make NAMEs have the `integer' attribute"
-msgstr ""
-
-#: builtins.c:398
-msgid " -r\tto make NAMEs readonly"
-msgstr ""
-
-#: builtins.c:399
-msgid " -t\tto make NAMEs have the `trace' attribute"
-msgstr ""
-
-#: builtins.c:400
-msgid " -x\tto make NAMEs export"
-msgstr ""
-
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr ""
-
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr ""
-
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr ""
-
-#: builtins.c:406
-msgid "and definition. The -F option restricts the display to function"
-msgstr ""
-
-#: builtins.c:407
-msgid "name only."
-msgstr ""
-
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead. When"
-msgstr ""
-
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr ""
-
-#: builtins.c:416
-msgid "Obsolete. See `declare'."
-msgstr ""
-
-#: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
-msgstr ""
-
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr ""
-
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr ""
-
-#: builtins.c:431
-msgid "Output the ARGs. If -n is specified, the trailing newline is"
-msgstr ""
-
-#: builtins.c:432
-msgid "suppressed. If the -e option is given, interpretation of the"
-msgstr ""
-
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr ""
-
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr ""
-
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr ""
-
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr ""
-
-#: builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr ""
-
-#: builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr ""
-
-#: builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr ""
-
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr ""
-
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr ""
-
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr ""
-
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr ""
-
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr ""
-
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr ""
-
-#: builtins.c:447
-msgid "with the -E option."
-msgstr ""
-
-#: builtins.c:455
-msgid ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-msgstr ""
-
-#: builtins.c:462
-msgid "Enable and disable builtin shell commands. This allows"
-msgstr ""
-
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr ""
-
-#: builtins.c:464
-msgid "builtin without specifying a full pathname. If -n is used, the"
-msgstr ""
-
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-msgstr ""
-
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr ""
-
-#: builtins.c:467
-msgid "version, type `enable -n test'. On systems supporting dynamic"
-msgstr ""
-
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr ""
-
-#: builtins.c:469
-msgid "shared object FILENAME. The -d option will delete a builtin"
-msgstr ""
-
-#: builtins.c:470
-msgid "previously loaded with -f. If no non-option names are given, or"
-msgstr ""
-
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed. The"
-msgstr ""
-
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr ""
-
-#: builtins.c:473
-msgid ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-msgstr ""
-
-#: builtins.c:474
-msgid ""
-"`special' builtins. The -n option displays a list of all disabled builtins."
-msgstr ""
-
-#: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr ""
-
-#: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr ""
-
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr ""
-
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr ""
-
-#: builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr ""
-
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr ""
-
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr ""
-
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr ""
-
-#: builtins.c:495
-msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-msgstr ""
-
-#: builtins.c:496
-msgid "a shell script is invoked. When an option requires an argument,"
-msgstr ""
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr ""
-
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways. If the first character"
-msgstr ""
-
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-msgstr ""
-
-#: builtins.c:501
-msgid "this mode, no error messages are printed. If an invalid option is"
-msgstr ""
-
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG. If a"
-msgstr ""
-
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr ""
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found. If getopts is not in"
-msgstr ""
-
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr ""
-
-#: builtins.c:506
-msgid "NAME and unsets OPTARG. If a required argument is not found, a '?'"
-msgstr ""
-
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr ""
-
-#: builtins.c:508
-msgid "printed."
-msgstr ""
-
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr ""
-
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr ""
-
-#: builtins.c:512
-msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-msgstr ""
-
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr ""
-
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr ""
-
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr ""
-
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr ""
-
-#: builtins.c:523
-msgid "shell. If the first argument is `-l', then place a dash in the"
-msgstr ""
-
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-msgstr ""
-
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment. The `-a'"
-msgstr ""
-
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr ""
-
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr ""
-
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr ""
-
-#: builtins.c:534
-msgid "Exit the shell with a status of N. If N is omitted, the exit status"
-msgstr ""
-
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr ""
-
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr ""
-
-#: builtins.c:548
-msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
-msgstr ""
-
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr ""
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr ""
-
-#: builtins.c:551
-msgid "string."
-msgstr ""
-
-#: builtins.c:553
-msgid ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-msgstr ""
-
-#: builtins.c:554
-msgid " then vi."
-msgstr ""
-
-#: builtins.c:556
-msgid " -l means list lines instead of editing."
-msgstr ""
-
-#: builtins.c:557
-msgid " -n means no line numbers listed."
-msgstr ""
-
-#: builtins.c:558
-msgid ""
-" -r means reverse the order of the lines (making it newest listed first)."
-msgstr ""
-
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr ""
-
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr ""
-
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr ""
-
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr ""
-
-#: builtins.c:565
-msgid "the last command."
-msgstr ""
-
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-msgstr ""
-
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr ""
-
-#: builtins.c:575
-msgid "used."
-msgstr ""
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr ""
-
-#: builtins.c:584
-msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-msgstr ""
-
-#: builtins.c:585
-msgid "job is used."
-msgstr ""
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr ""
-
-#: builtins.c:593
-msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-msgstr ""
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed. The -r"
-msgstr ""
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations. The -d"
-msgstr ""
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr ""
-
-#: builtins.c:598
-msgid "corresponds is printed. If multiple NAME arguments are supplied with"
-msgstr ""
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname. The -l option"
-msgstr ""
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr ""
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands. If PATTERN is"
-msgstr ""
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr ""
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed. The -s option"
-msgstr ""
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr ""
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr ""
-
-#: builtins.c:620
-msgid "Display the history list with line numbers. Lines listed with"
-msgstr ""
-
-#: builtins.c:621
-msgid "with a `*' have been modified. Argument of N says to list only"
-msgstr ""
-
-#: builtins.c:622
-msgid "the last N lines. The `-c' option causes the history list to be"
-msgstr ""
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries. The `-d' option deletes"
-msgstr ""
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET. The `-w' option writes out the"
-msgstr ""
-
-#: builtins.c:625
-msgid "current history to the history file; `-r' means to read the file and"
-msgstr ""
-
-#: builtins.c:626
-msgid "append the contents to the history list instead. `-a' means"
-msgstr ""
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr ""
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr ""
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr ""
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr ""
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr ""
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr ""
-
-#: builtins.c:634
-msgid "the history list as a single entry. The -p option means to perform"
-msgstr ""
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr ""
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr ""
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr ""
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr ""
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry. No time stamps are printed otherwise."
-msgstr ""
-
-#: builtins.c:648
-msgid "Lists the active jobs. The -l option lists process id's in addition"
-msgstr ""
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr ""
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr ""
-
-#: builtins.c:651
-msgid "notification are printed. JOBSPEC restricts output to that job. The"
-msgstr ""
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr ""
-
-#: builtins.c:653
-msgid "respectively. Without options, the status of all active jobs is"
-msgstr ""
-
-#: builtins.c:654
-msgid "printed. If -x is given, COMMAND is run after all job specifications"
-msgstr ""
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr ""
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr ""
-
-#: builtins.c:667
-msgid ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-
-#: builtins.c:675
-msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-msgstr ""
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-msgstr ""
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr ""
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed. Kill is a shell"
-msgstr ""
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr ""
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr ""
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr ""
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-msgstr ""
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr ""
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error. The following"
-msgstr ""
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr ""
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr ""
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr ""
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr ""
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr ""
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr ""
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr ""
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr ""
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr ""
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr ""
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr ""
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr ""
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr ""
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr ""
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr ""
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr ""
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr ""
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr ""
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr ""
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr ""
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr ""
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands. The name of the variable"
-msgstr ""
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr ""
-
-#: builtins.c:716
-msgid "an expression. The variable need not have its integer attribute"
-msgstr ""
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr ""
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-msgstr ""
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr ""
-
-#: builtins.c:721
-msgid "rules above."
-msgstr ""
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr ""
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr ""
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-
-#: builtins.c:733
-msgid ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-msgstr ""
-
-#: builtins.c:734
-msgid ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-
-#: builtins.c:735
-msgid "variable. If the -r option is given, this signifies `raw' input, and"
-msgstr ""
-
-#: builtins.c:736
-msgid "backslash escaping is disabled. The -d option causes read to continue"
-msgstr ""
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-msgstr ""
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-
-#: builtins.c:739
-msgid ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-msgstr ""
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-msgstr ""
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-msgstr ""
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr ""
-
-#: builtins.c:743
-msgid "characters have been read. The -s option causes input coming from a"
-msgstr ""
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr ""
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-msgstr ""
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-msgstr ""
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr ""
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N. If N"
-msgstr ""
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr ""
-
-#: builtins.c:763
-msgid " -a Mark variables which are modified or created for export."
-msgstr ""
-
-#: builtins.c:764
-msgid " -b Notify of job termination immediately."
-msgstr ""
-
-#: builtins.c:765
-msgid " -e Exit immediately if a command exits with a non-zero status."
-msgstr ""
-
-#: builtins.c:766
-msgid " -f Disable file name generation (globbing)."
-msgstr ""
-
-#: builtins.c:767
-msgid " -h Remember the location of commands as they are looked up."
-msgstr ""
-
-#: builtins.c:768
-msgid " -k All assignment arguments are placed in the environment for a"
-msgstr ""
-
-#: builtins.c:769
-msgid " command, not just those that precede the command name."
-msgstr ""
-
-#: builtins.c:770
-msgid " -m Job control is enabled."
-msgstr ""
-
-#: builtins.c:771
-msgid " -n Read commands but do not execute them."
-msgstr ""
-
-#: builtins.c:772
-msgid " -o option-name"
-msgstr ""
-
-#: builtins.c:773
-msgid " Set the variable corresponding to option-name:"
-msgstr ""
-
-#: builtins.c:774
-msgid " allexport same as -a"
-msgstr ""
-
-#: builtins.c:775
-msgid " braceexpand same as -B"
-msgstr ""
-
-#: builtins.c:777
-msgid " emacs use an emacs-style line editing interface"
-msgstr ""
-
-#: builtins.c:779
-msgid " errexit same as -e"
-msgstr ""
-
-#: builtins.c:780
-msgid " errtrace same as -E"
-msgstr ""
-
-#: builtins.c:781
-msgid " functrace same as -T"
-msgstr ""
-
-#: builtins.c:782
-msgid " hashall same as -h"
-msgstr ""
-
-#: builtins.c:784
-msgid " histexpand same as -H"
-msgstr ""
-
-#: builtins.c:787
-msgid " history enable command history"
-msgstr ""
-
-#: builtins.c:789
-msgid " ignoreeof the shell will not exit upon reading EOF"
-msgstr ""
-
-#: builtins.c:790
-msgid " interactive-comments"
-msgstr ""
-
-#: builtins.c:791
-msgid ""
-" allow comments to appear in interactive commands"
-msgstr ""
-
-#: builtins.c:792
-msgid " keyword same as -k"
-msgstr ""
-
-#: builtins.c:793
-msgid " monitor same as -m"
-msgstr ""
-
-#: builtins.c:794
-msgid " noclobber same as -C"
-msgstr ""
-
-#: builtins.c:795
-msgid " noexec same as -n"
-msgstr ""
-
-#: builtins.c:796
-msgid " noglob same as -f"
-msgstr ""
-
-#: builtins.c:797
-msgid " nolog currently accepted but ignored"
-msgstr ""
-
-#: builtins.c:798
-msgid " notify same as -b"
-msgstr ""
-
-#: builtins.c:799
-msgid " nounset same as -u"
-msgstr ""
-
-#: builtins.c:800
-msgid " onecmd same as -t"
-msgstr ""
-
-#: builtins.c:801
-msgid " physical same as -P"
-msgstr ""
-
-#: builtins.c:802
-msgid ""
-" pipefail the return value of a pipeline is the status of"
-msgstr ""
-
-#: builtins.c:803
-msgid ""
-" the last command to exit with a non-zero status,"
-msgstr ""
-
-#: builtins.c:804
-msgid ""
-" or zero if no command exited with a non-zero status"
-msgstr ""
-
-#: builtins.c:805
-msgid " posix change the behavior of bash where the default"
-msgstr ""
-
-#: builtins.c:806
-msgid " operation differs from the 1003.2 standard to"
-msgstr ""
-
-#: builtins.c:807
-msgid " match the standard"
-msgstr ""
-
-#: builtins.c:808
-msgid " privileged same as -p"
-msgstr ""
-
-#: builtins.c:809
-msgid " verbose same as -v"
-msgstr ""
-
-#: builtins.c:811
-msgid " vi use a vi-style line editing interface"
-msgstr ""
-
-#: builtins.c:813
-msgid " xtrace same as -x"
-msgstr ""
-
-#: builtins.c:814
-msgid ""
-" -p Turned on whenever the real and effective user ids do not match."
-msgstr ""
-
-#: builtins.c:815
-msgid " Disables processing of the $ENV file and importing of shell"
-msgstr ""
-
-#: builtins.c:816
-msgid ""
-" functions. Turning this option off causes the effective uid and"
-msgstr ""
-
-#: builtins.c:817
-msgid " gid to be set to the real uid and gid."
-msgstr ""
-
-#: builtins.c:818
-msgid " -t Exit after reading and executing one command."
-msgstr ""
-
-#: builtins.c:819
-msgid " -u Treat unset variables as an error when substituting."
-msgstr ""
-
-#: builtins.c:820
-msgid " -v Print shell input lines as they are read."
-msgstr ""
-
-#: builtins.c:821
-msgid " -x Print commands and their arguments as they are executed."
-msgstr ""
-
-#: builtins.c:823
-msgid " -B the shell will perform brace expansion"
-msgstr ""
-
-#: builtins.c:825
-msgid " -C If set, disallow existing regular files to be overwritten"
-msgstr ""
-
-#: builtins.c:826
-msgid " by redirection of output."
-msgstr ""
-
-#: builtins.c:827
-msgid " -E If set, the ERR trap is inherited by shell functions."
-msgstr ""
-
-#: builtins.c:829
-msgid " -H Enable ! style history substitution. This flag is on"
-msgstr ""
-
-#: builtins.c:830
-msgid " by default."
-msgstr ""
-
-#: builtins.c:832
-msgid " -P If set, do not follow symbolic links when executing commands"
-msgstr ""
-
-#: builtins.c:833
-msgid " such as cd which change the current directory."
-msgstr ""
-
-#: builtins.c:834
-msgid " -T If set, the DEBUG trap is inherited by shell functions."
-msgstr ""
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off. The"
-msgstr ""
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell. The current"
-msgstr ""
-
-#: builtins.c:838
-msgid "set of flags may be found in $-. The remaining n ARGs are positional"
-msgstr ""
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-msgstr ""
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr ""
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function. Given"
-msgstr ""
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-msgstr ""
-
-#: builtins.c:848
-msgid "unset will only act on functions. With neither flag, unset first"
-msgstr ""
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr ""
-
-#: builtins.c:850
-msgid "function. Some variables cannot be unset; also see readonly."
-msgstr ""
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr ""
-
-#: builtins.c:857
-msgid "subsequently executed commands. If the -f option is given,"
-msgstr ""
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-msgstr ""
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr ""
-
-#: builtins.c:860
-msgid "printed. An argument of `-n' says to remove the export property"
-msgstr ""
-
-#: builtins.c:861
-msgid "from subsequent NAMEs. An argument of `--' disables further option"
-msgstr ""
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr ""
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr ""
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment. If the -f option is given,"
-msgstr ""
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked. If no"
-msgstr ""
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr ""
-
-#: builtins.c:872
-msgid "is printed. The `-a' option means to treat each NAME as"
-msgstr ""
-
-#: builtins.c:873
-msgid "an array variable. An argument of `--' disables further option"
-msgstr ""
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-msgstr ""
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr ""
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return. The pathnames"
-msgstr ""
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME. If any"
-msgstr ""
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr ""
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr ""
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr ""
-
-#: builtins.c:907
-msgid "signal. The `-f' if specified says not to complain about this"
-msgstr ""
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr ""
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr ""
-
-#: builtins.c:916
-msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-msgstr ""
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file. There"
-msgstr ""
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr ""
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr ""
-
-#: builtins.c:922
-msgid " -a FILE True if file exists."
-msgstr ""
-
-#: builtins.c:923
-msgid " -b FILE True if file is block special."
-msgstr ""
-
-#: builtins.c:924
-msgid " -c FILE True if file is character special."
-msgstr ""
-
-#: builtins.c:925
-msgid " -d FILE True if file is a directory."
-msgstr ""
-
-#: builtins.c:926
-msgid " -e FILE True if file exists."
-msgstr ""
-
-#: builtins.c:927
-msgid " -f FILE True if file exists and is a regular file."
-msgstr ""
-
-#: builtins.c:928
-msgid " -g FILE True if file is set-group-id."
-msgstr ""
-
-#: builtins.c:929
-msgid " -h FILE True if file is a symbolic link."
-msgstr ""
-
-#: builtins.c:930
-msgid " -L FILE True if file is a symbolic link."
-msgstr ""
-
-#: builtins.c:931
-msgid " -k FILE True if file has its `sticky' bit set."
-msgstr ""
-
-#: builtins.c:932
-msgid " -p FILE True if file is a named pipe."
-msgstr ""
-
-#: builtins.c:933
-msgid " -r FILE True if file is readable by you."
-msgstr ""
-
-#: builtins.c:934
-msgid " -s FILE True if file exists and is not empty."
-msgstr ""
-
-#: builtins.c:935
-msgid " -S FILE True if file is a socket."
-msgstr ""
-
-#: builtins.c:936
-msgid " -t FD True if FD is opened on a terminal."
-msgstr ""
-
-#: builtins.c:937
-msgid " -u FILE True if the file is set-user-id."
-msgstr ""
-
-#: builtins.c:938
-msgid " -w FILE True if the file is writable by you."
-msgstr ""
-
-#: builtins.c:939
-msgid " -x FILE True if the file is executable by you."
-msgstr ""
-
-#: builtins.c:940
-msgid " -O FILE True if the file is effectively owned by you."
-msgstr ""
-
-#: builtins.c:941
-msgid " -G FILE True if the file is effectively owned by your group."
-msgstr ""
-
-#: builtins.c:942
-msgid ""
-" -N FILE True if the file has been modified since it was last read."
-msgstr ""
-
-#: builtins.c:944
-msgid " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-msgstr ""
-
-#: builtins.c:945
-msgid " modification date)."
-msgstr ""
-
-#: builtins.c:947
-msgid " FILE1 -ot FILE2 True if file1 is older than file2."
-msgstr ""
-
-#: builtins.c:949
-msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-msgstr ""
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr ""
-
-#: builtins.c:953
-msgid " -z STRING True if string is empty."
-msgstr ""
-
-#: builtins.c:955
-msgid " -n STRING"
-msgstr ""
-
-#: builtins.c:956
-msgid " STRING True if string is not empty."
-msgstr ""
-
-#: builtins.c:958
-msgid " STRING1 = STRING2"
-msgstr ""
-
-#: builtins.c:959
-msgid " True if the strings are equal."
-msgstr ""
-
-#: builtins.c:960
-msgid " STRING1 != STRING2"
-msgstr ""
-
-#: builtins.c:961
-msgid " True if the strings are not equal."
-msgstr ""
-
-#: builtins.c:962
-msgid " STRING1 < STRING2"
-msgstr ""
-
-#: builtins.c:963
-msgid ""
-" True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-
-#: builtins.c:964
-msgid " STRING1 > STRING2"
-msgstr ""
-
-#: builtins.c:965
-msgid ""
-" True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr ""
-
-#: builtins.c:969
-msgid " -o OPTION True if the shell option OPTION is enabled."
-msgstr ""
-
-#: builtins.c:970
-msgid " ! EXPR True if expr is false."
-msgstr ""
-
-#: builtins.c:971
-msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr ""
-
-#: builtins.c:972
-msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr ""
-
-#: builtins.c:974
-msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-msgstr ""
-
-#: builtins.c:975
-msgid " -lt, -le, -gt, or -ge."
-msgstr ""
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr ""
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr ""
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr ""
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr ""
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr ""
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr ""
-
-#: builtins.c:993
-msgid "the shell."
-msgstr ""
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr ""
-
-#: builtins.c:1000
-msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-msgstr ""
-
-#: builtins.c:1001
-msgid "reset to their original values. If ARG is the null string each"
-msgstr ""
-
-#: builtins.c:1002
-msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-msgstr ""
-
-#: builtins.c:1003
-msgid "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-msgstr ""
-
-#: builtins.c:1004
-msgid "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-msgstr ""
-
-#: builtins.c:1005
-msgid "command. If ARG is `-p' then the trap commands associated with"
-msgstr ""
-
-#: builtins.c:1006
-msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-msgstr ""
-
-#: builtins.c:1007
-msgid "only `-p' is given, trap prints the list of commands associated with"
-msgstr ""
-
-#: builtins.c:1008
-msgid ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-msgstr ""
-
-#: builtins.c:1009
-msgid "or a signal number. `trap -l' prints a list of signal names and their"
-msgstr ""
-
-#: builtins.c:1010
-msgid "corresponding numbers. Note that a signal can be sent to the shell"
-msgstr ""
-
-#: builtins.c:1011
-msgid "with \"kill -signal $$\"."
-msgstr ""
-
-#: builtins.c:1017
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr ""
-
-#: builtins.c:1018
-msgid "command name."
-msgstr ""
-
-#: builtins.c:1020
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr ""
-
-#: builtins.c:1021
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr ""
-
-#: builtins.c:1022
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr ""
-
-#: builtins.c:1023
-msgid "or unfound, respectively."
-msgstr ""
-
-#: builtins.c:1025
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr ""
-
-#: builtins.c:1026
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr ""
-
-#: builtins.c:1027
-msgid "return `file'."
-msgstr ""
-
-#: builtins.c:1029
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr ""
-
-#: builtins.c:1030
-msgid "an executable named `file'. This includes aliases, builtins, and"
-msgstr ""
-
-#: builtins.c:1031
-msgid "functions, if and only if the -p flag is not also used."
-msgstr ""
-
-#: builtins.c:1033
-msgid "The -f flag suppresses shell function lookup."
-msgstr ""
-
-#: builtins.c:1035
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-
-#: builtins.c:1036
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr ""
-
-#: builtins.c:1037
-msgid "be executed."
-msgstr ""
-
-#: builtins.c:1044
-msgid "Ulimit provides control over the resources available to processes"
-msgstr ""
-
-#: builtins.c:1045
-msgid "started by the shell, on systems that allow such control. If an"
-msgstr ""
-
-#: builtins.c:1046
-msgid "option is given, it is interpreted as follows:"
-msgstr ""
-
-#: builtins.c:1048
-msgid " -S\tuse the `soft' resource limit"
-msgstr ""
-
-#: builtins.c:1049
-msgid " -H\tuse the `hard' resource limit"
-msgstr ""
-
-#: builtins.c:1050
-msgid " -a\tall current limits are reported"
-msgstr ""
-
-#: builtins.c:1051
-msgid " -c\tthe maximum size of core files created"
-msgstr ""
-
-#: builtins.c:1052
-msgid " -d\tthe maximum size of a process's data segment"
-msgstr ""
-
-#: builtins.c:1053
-msgid " -f\tthe maximum size of files created by the shell"
-msgstr ""
-
-#: builtins.c:1054
-msgid " -l\tthe maximum size a process may lock into memory"
-msgstr ""
-
-#: builtins.c:1055
-msgid " -m\tthe maximum resident set size"
-msgstr ""
-
-#: builtins.c:1056
-msgid " -n\tthe maximum number of open file descriptors"
-msgstr ""
-
-#: builtins.c:1057
-msgid " -p\tthe pipe buffer size"
-msgstr ""
-
-#: builtins.c:1058
-msgid " -s\tthe maximum stack size"
-msgstr ""
-
-#: builtins.c:1059
-msgid " -t\tthe maximum amount of cpu time in seconds"
-msgstr ""
-
-#: builtins.c:1060
-msgid " -u\tthe maximum number of user processes"
-msgstr ""
-
-#: builtins.c:1061
-msgid " -v\tthe size of virtual memory"
-msgstr ""
-
-#: builtins.c:1063
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr ""
-
-#: builtins.c:1064
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr ""
-
-#: builtins.c:1065
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-
-#: builtins.c:1066
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr ""
-
-#: builtins.c:1067
-msgid "If no option is given, then -f is assumed. Values are in 1024-byte"
-msgstr ""
-
-#: builtins.c:1068
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr ""
-
-#: builtins.c:1069
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr ""
-
-#: builtins.c:1070
-msgid "processes."
-msgstr ""
-
-#: builtins.c:1077
-msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-msgstr ""
-
-#: builtins.c:1078
-msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
-msgstr ""
-
-#: builtins.c:1079
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr ""
-
-#: builtins.c:1080
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr ""
-
-#: builtins.c:1081
-msgid "that may be used as input. If MODE begins with a digit, it is"
-msgstr ""
-
-#: builtins.c:1082
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr ""
-
-#: builtins.c:1083
-msgid "like that accepted by chmod(1)."
-msgstr ""
-
-#: builtins.c:1090 builtins.c:1102
-msgid "Wait for the specified process and report its termination status. If"
-msgstr ""
-
-#: builtins.c:1091 builtins.c:1103
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr ""
-
-#: builtins.c:1092
-msgid "and the return code is zero. N may be a process ID or a job"
-msgstr ""
-
-#: builtins.c:1093
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr ""
-
-#: builtins.c:1094
-msgid "pipeline are waited for."
-msgstr ""
-
-#: builtins.c:1104
-msgid "and the return code is zero. N is a process ID; if it is not given,"
-msgstr ""
-
-#: builtins.c:1105
-msgid "all child processes of the shell are waited for."
-msgstr ""
-
-#: builtins.c:1112
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr ""
-
-#: builtins.c:1113
-msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr ""
-
-#: builtins.c:1114
-msgid "assumed. For each element in WORDS, NAME is set to that element, and"
-msgstr ""
-
-#: builtins.c:1115
-msgid "the COMMANDS are executed."
-msgstr ""
-
-#: builtins.c:1121
-msgid "Equivalent to"
-msgstr ""
-
-#: builtins.c:1122
-msgid "\t(( EXP1 ))"
-msgstr ""
-
-#: builtins.c:1123
-msgid "\twhile (( EXP2 )); do"
-msgstr ""
-
-#: builtins.c:1124
-msgid "\t\tCOMMANDS"
-msgstr ""
-
-#: builtins.c:1125
-msgid "\t\t(( EXP3 ))"
-msgstr ""
-
-#: builtins.c:1126
-msgid "\tdone"
-msgstr ""
-
-#: builtins.c:1127
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-msgstr ""
-
-#: builtins.c:1128
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr ""
-
-#: builtins.c:1134
-msgid "The WORDS are expanded, generating a list of words. The"
-msgstr ""
-
-#: builtins.c:1135
-msgid "set of expanded words is printed on the standard error, each"
-msgstr ""
-
-#: builtins.c:1136
-msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-msgstr ""
-
-#: builtins.c:1137
-msgid "is assumed. The PS3 prompt is then displayed and a line read"
-msgstr ""
-
-#: builtins.c:1138
-msgid "from the standard input. If the line consists of the number"
-msgstr ""
-
-#: builtins.c:1139
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr ""
-
-#: builtins.c:1140
-msgid "to that word. If the line is empty, WORDS and the prompt are"
-msgstr ""
-
-#: builtins.c:1141
-msgid "redisplayed. If EOF is read, the command completes. Any other"
-msgstr ""
-
-#: builtins.c:1142
-msgid "value read causes NAME to be set to null. The line read is saved"
-msgstr ""
-
-#: builtins.c:1143
-msgid "in the variable REPLY. COMMANDS are executed after each selection"
-msgstr ""
-
-#: builtins.c:1144
-msgid "until a break command is executed."
-msgstr ""
-
-#: builtins.c:1150
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr ""
-
-#: builtins.c:1151
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr ""
-
-#: builtins.c:1152
-msgid "The return status is the return status of PIPELINE. The `-p' option"
-msgstr ""
-
-#: builtins.c:1153
-msgid "prints the timing summary in a slightly different format. This uses"
-msgstr ""
-
-#: builtins.c:1154
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr ""
-
-#: builtins.c:1160
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-msgstr ""
-
-#: builtins.c:1161
-msgid "`|' is used to separate multiple patterns."
-msgstr ""
-
-#: builtins.c:1167
-msgid ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-msgstr ""
-
-#: builtins.c:1168
-msgid ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-
-#: builtins.c:1169
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-
-#: builtins.c:1170
-msgid ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-msgstr ""
-
-#: builtins.c:1171
-msgid ""
-"are executed, if present. The exit status is the exit status of the last"
-msgstr ""
-
-#: builtins.c:1172
-msgid "command executed, or zero if no condition tested true."
-msgstr ""
-
-#: builtins.c:1178 builtins.c:1185
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr ""
-
-#: builtins.c:1179
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr ""
-
-#: builtins.c:1186
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr ""
-
-#: builtins.c:1192
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr ""
-
-#: builtins.c:1193
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr ""
-
-#: builtins.c:1194
-msgid "function as $0 .. $n."
-msgstr ""
-
-#: builtins.c:1200
-msgid "Run a set of commands in a group. This is one way to redirect an"
-msgstr ""
-
-#: builtins.c:1201
-msgid "entire set of commands."
-msgstr ""
-
-#: builtins.c:1207
-msgid "This is similar to the `fg' command. Resume a stopped or background"
-msgstr ""
-
-#: builtins.c:1208
-msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-msgstr ""
-
-#: builtins.c:1209
-msgid "WORD, then the job whose name begins with WORD is used. Following the"
-msgstr ""
-
-#: builtins.c:1210
-msgid "job specification with a `&' places the job in the background."
-msgstr ""
-
-#: builtins.c:1216
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr ""
-
-#: builtins.c:1217
-msgid "evaluation. Equivalent to \"let EXPRESSION\"."
-msgstr ""
-
-#: builtins.c:1223
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-
-#: builtins.c:1224
-msgid ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-msgstr ""
-
-#: builtins.c:1225
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-
-#: builtins.c:1227
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr ""
-
-#: builtins.c:1228
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr ""
-
-#: builtins.c:1229
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr ""
-
-#: builtins.c:1230
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr ""
-
-#: builtins.c:1232
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-
-#: builtins.c:1233
-msgid "operator is used as a pattern and pattern matching is performed. The"
-msgstr ""
-
-#: builtins.c:1234
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr ""
-
-#: builtins.c:1235
-msgid "determine the expression's value."
-msgstr ""
-
-#: builtins.c:1241
-msgid "BASH_VERSION Version information for this Bash."
-msgstr ""
-
-#: builtins.c:1242
-msgid "CDPATH A colon separated list of directories to search"
-msgstr ""
-
-#: builtins.c:1243
-msgid "\t\twhen the argument to `cd' is not found in the current"
-msgstr ""
-
-#: builtins.c:1244
-msgid "\t\tdirectory."
-msgstr ""
-
-#: builtins.c:1245
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr ""
-
-#: builtins.c:1246
-msgid "\t\tbe ignored by pathname expansion."
-msgstr ""
-
-#: builtins.c:1248
-msgid ""
-"HISTFILE The name of the file where your command history is stored."
-msgstr ""
-
-#: builtins.c:1249
-msgid "HISTFILESIZE The maximum number of lines this file can contain."
-msgstr ""
-
-#: builtins.c:1250
-msgid "HISTSIZE The maximum number of history lines that a running"
-msgstr ""
-
-#: builtins.c:1251
-msgid "\t\tshell can access."
-msgstr ""
-
-#: builtins.c:1253
-msgid "HOME The complete pathname to your login directory."
-msgstr ""
-
-#: builtins.c:1254
-msgid "HOSTNAME\tThe name of the current host."
-msgstr ""
-
-#: builtins.c:1255
-msgid "HOSTTYPE The type of CPU this version of Bash is running under."
-msgstr ""
-
-#: builtins.c:1256
-msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-msgstr ""
-
-#: builtins.c:1257
-msgid "\t\tcharacter as the sole input. If set, then the value"
-msgstr ""
-
-#: builtins.c:1258
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr ""
-
-#: builtins.c:1259
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr ""
-
-#: builtins.c:1260
-msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-msgstr ""
-
-#: builtins.c:1261
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr ""
-
-#: builtins.c:1262
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr ""
-
-#: builtins.c:1263
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr ""
-
-#: builtins.c:1264
-msgid "\t\tfor new mail."
-msgstr ""
-
-#: builtins.c:1265
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr ""
-
-#: builtins.c:1266
-msgid "PATH A colon-separated list of directories to search when"
-msgstr ""
-
-#: builtins.c:1267
-msgid "\t\tlooking for commands."
-msgstr ""
-
-#: builtins.c:1268
-msgid "PROMPT_COMMAND A command to be executed before the printing of each"
-msgstr ""
-
-#: builtins.c:1269
-msgid "\t\tprimary prompt."
-msgstr ""
-
-#: builtins.c:1270
-msgid "PS1 The primary prompt string."
-msgstr ""
-
-#: builtins.c:1271
-msgid "PS2 The secondary prompt string."
-msgstr ""
-
-#: builtins.c:1272
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr ""
-
-#: builtins.c:1273
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr ""
-
-#: builtins.c:1274
-msgid "TERM The name of the current terminal type."
-msgstr ""
-
-#: builtins.c:1275
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr ""
-
-#: builtins.c:1276
-msgid "\t\t`time' reserved word."
-msgstr ""
-
-#: builtins.c:1277
-msgid "auto_resume Non-null means a command word appearing on a line by"
-msgstr ""
-
-#: builtins.c:1278
-msgid "\t\titself is first looked for in the list of currently"
-msgstr ""
-
-#: builtins.c:1279
-msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-msgstr ""
-
-#: builtins.c:1280
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr ""
-
-#: builtins.c:1281
-msgid "\t\texactly match a command in the list of stopped jobs. A"
-msgstr ""
-
-#: builtins.c:1282
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr ""
-
-#: builtins.c:1283
-msgid "\t\tmatch a substring of the job. Any other value means that"
-msgstr ""
-
-#: builtins.c:1284
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr ""
-
-#: builtins.c:1287
-msgid "histchars Characters controlling history expansion and quick"
-msgstr ""
-
-#: builtins.c:1288
-msgid "\t\tsubstitution. The first character is the history"
-msgstr ""
-
-#: builtins.c:1289
-msgid "\t\tsubstitution character, usually `!'. The second is"
-msgstr ""
-
-#: builtins.c:1290
-msgid "\t\tthe `quick substitution' character, usually `^'. The"
-msgstr ""
-
-#: builtins.c:1291
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr ""
-
-#: builtins.c:1293
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr ""
-
-#: builtins.c:1294
-msgid "\t\tcommands should be saved on the history list."
-msgstr ""
-
-#: builtins.c:1306
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins.c:1307
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins.c:1308 builtins.c:1312
-msgid "\tzero) is at the top."
-msgstr ""
-
-#: builtins.c:1310
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: builtins.c:1311
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr ""
-
-#: builtins.c:1314
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr ""
-
-#: builtins.c:1315
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins.c:1317
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr ""
-
-#: builtins.c:1318
-msgid "\tnew current working directory."
-msgstr ""
-
-#: builtins.c:1332
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr ""
-
-#: builtins.c:1333
-msgid "\tshown by `dirs', starting with zero. For example: `popd +0'"
-msgstr ""
-
-#: builtins.c:1334
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr ""
-
-#: builtins.c:1336
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr ""
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero. For example: `popd -0'"
-msgstr ""
-
-#: builtins.c:1338
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr ""
-
-#: builtins.c:1340
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr ""
-
-#: builtins.c:1341
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr ""
-
-#: builtins.c:1363
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr ""
-
-#: builtins.c:1364 builtins.c:1367
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr ""
-
-#: builtins.c:1366
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-
-#: builtins.c:1374
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr ""
-
-#: builtins.c:1375
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr ""
-
-#: builtins.c:1376
-msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-msgstr ""
-
-#: builtins.c:1377
-msgid "status indicates whether each OPTNAME is set or unset. The -o"
-msgstr ""
-
-#: builtins.c:1378
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr ""
-
-#: builtins.c:1379
-msgid "`set -o'. With no options, or with the -p option, a list of all"
-msgstr ""
-
-#: builtins.c:1380
-msgid "settable options is displayed, with an indication of whether or"
-msgstr ""
-
-#: builtins.c:1381
-msgid "not each is set."
-msgstr ""
-
-#: builtins.c:1387
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-
-#: builtins.c:1388
-msgid "is a character string which contains three types of objects: plain"
-msgstr ""
-
-#: builtins.c:1389
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-
-#: builtins.c:1390
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr ""
-
-#: builtins.c:1391
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-
-#: builtins.c:1392
-msgid "argument. In addition to the standard printf(1) formats, %b means to"
-msgstr ""
-
-#: builtins.c:1393
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-
-#: builtins.c:1394
-msgid "means to quote the argument in a way that can be reused as shell input."
-msgstr ""
-
-#: builtins.c:1401
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr ""
-
-#: builtins.c:1402
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr ""
-
-#: builtins.c:1403
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr ""
-
-#: builtins.c:1404
-msgid "reused as input. The -r option removes a completion specification for"
-msgstr ""
-
-#: builtins.c:1405
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-
-#: builtins.c:1413
-msgid "Display the possible completions depending on the options. Intended"
-msgstr ""
-
-#: builtins.c:1414
-msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-
-#: builtins.c:1415
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr ""
-
-#: builtins.c:1416
-msgid "generated."
-msgstr ""
+++ /dev/null
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“\e[1m/g
-s/”/\e[0m”/g
-s/‘/‘\e[1m/g
-s/’/\e[0m’/g
+++ /dev/null
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:248
-msgid "alias substitution when the alias is expanded. Alias returns"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:258
-msgid "then remove all alias definitions."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:267
-msgid "a Readline variable. The non-option argument syntax is equivalent"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:270
-msgid "bind accepts the following options:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:271
-msgid ""
-" -m keymap Use `keymap' as the keymap for the duration of this"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:272
-msgid " command. Acceptable keymap names are emacs,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:273
-msgid ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:274
-msgid " vi-command, and vi-insert."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:275
-msgid " -l List names of functions."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:276
-msgid " -P List function names and bindings."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:277
-msgid " -p List functions and bindings in a form that can be"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:278
-msgid " reused as input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:279
-msgid " -r keyseq Remove the binding for KEYSEQ."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:280
-msgid " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:282
-msgid " -f filename Read key bindings from FILENAME."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:283
-msgid " -q function-name Query about which keys invoke the named function."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:284
-msgid ""
-" -u function-name Unbind all keys which are bound to the named function."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:285
-msgid " -V List variable names and values"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:286
-msgid " -v List variable names and values in a form that can"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:287
-msgid " be reused as input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:288
-msgid ""
-" -S List key sequences that invoke macros and their values"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:289
-msgid ""
-" -s List key sequences that invoke macros and their values"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:290
-msgid " in a form that can be reused as input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:298
-msgid "break N levels."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:311
-msgid "Run a shell builtin. This is useful when you wish to rename a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:313
-msgid "builtin within the function itself."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:320
-msgid "Returns the context of the current subroutine call."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:321
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:325
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:390
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:392
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:401
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:404
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:408
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:445
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:487
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:491
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:498
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:509
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:513
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:552
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:555
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:559
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:562
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:630
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:637
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:692
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:713
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:718
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:722
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:745
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:835
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:919
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:921
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:943
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:946
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:948
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:950
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:952
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:954
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:957
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:966
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:968
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:973
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:976
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1019
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1024
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1028
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1032
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1034
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1047
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1062
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1226
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1231
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1305
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1309
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1313
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1316
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1319
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1331
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1335
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1339
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1342
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1354
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1362
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1365
-msgid ""
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:322
-msgid "Without EXPR, returns returns \"$line $filename\". With EXPR,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:323
-msgid "returns \"$line $subroutine $filename\"; this extra information"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:324
-msgid "can be used used to provide a stack trace."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:326
-msgid "The value of EXPR indicates how many call frames to go back before the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:327
-msgid "current one; the top frame is frame 0."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:334
-msgid "Change the current directory to DIR. The variable $HOME is the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:335
-msgid "default DIR. The variable CDPATH defines the search path for"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:336
-msgid "the directory containing DIR. Alternative directory names in CDPATH"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:337
-msgid "are separated by a colon (:). A null directory name is the same as"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:338
-msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:339
-msgid "then CDPATH is not used. If the directory is not found, and the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:341
-msgid "name. If that variable has a value, then cd to the value of that"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:342
-msgid "variable. The -P option says to use the physical directory structure"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:343
-msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:344
-msgid "to be followed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:350
-msgid "Print the current working directory. With the -P option, pwd prints"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:358
-msgid "No effect; the command does nothing. A zero exit code is returned."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:364
-msgid "Return a successful result."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:378
-msgid "say \"command ls\". If the -p option is given, a default value is used"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities. If"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:387
-msgid "Declare variables and/or give them attributes. If no NAMEs are"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:388
-msgid "given, then display the values of variables instead. The -p option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:391
-msgid "The flags are:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:393
-msgid " -a\tto make NAMEs arrays (if supported)"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:394
-msgid " -f\tto select from among function names only"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:395
-msgid ""
-" -F\tto display function names (and line number and source file name if"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:397
-msgid " -i\tto make NAMEs have the `integer' attribute"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:398
-msgid " -r\tto make NAMEs readonly"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:399
-msgid " -t\tto make NAMEs have the `trace' attribute"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:400
-msgid " -x\tto make NAMEs export"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:406
-msgid "and definition. The -F option restricts the display to function"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:407
-msgid "name only."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead. When"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:416
-msgid "Obsolete. See `declare'."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:431
-msgid "Output the ARGs. If -n is specified, the trailing newline is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:432
-msgid "suppressed. If the -e option is given, interpretation of the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:447
-msgid "with the -E option."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:455
-msgid ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:462
-msgid "Enable and disable builtin shell commands. This allows"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:464
-msgid "builtin without specifying a full pathname. If -n is used, the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:467
-msgid "version, type `enable -n test'. On systems supporting dynamic"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:469
-msgid "shared object FILENAME. The -d option will delete a builtin"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:470
-msgid "previously loaded with -f. If no non-option names are given, or"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:473
-msgid ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:474
-msgid ""
-"`special' builtins. The -n option displays a list of all disabled builtins."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:495
-msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:496
-msgid "a shell script is invoked. When an option requires an argument,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:499
-msgid "getopts reports errors in one of two ways. If the first character"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:501
-msgid "this mode, no error messages are printed. If an invalid option is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG. If a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:504
-msgid "sets OPTARG to the option character found. If getopts is not in"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:506
-msgid "NAME and unsets OPTARG. If a required argument is not found, a '?'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:508
-msgid "printed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:512
-msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:523
-msgid "shell. If the first argument is `-l', then place a dash in the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:524
-msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:525
-msgid "is supplied, FILE is executed with a null environment. The `-a'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:534
-msgid "Exit the shell with a status of N. If N is omitted, the exit status"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:535
-msgid "is that of the last command executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:541
-msgid "Logout of a login shell."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:548
-msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:551
-msgid "string."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:553
-msgid ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:554
-msgid " then vi."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:556
-msgid " -l means list lines instead of editing."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:557
-msgid " -n means no line numbers listed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:558
-msgid ""
-" -r means reverse the order of the lines (making it newest listed first)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:565
-msgid "the last command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:575
-msgid "used."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:584
-msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:585
-msgid "job is used."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:593
-msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:594
-msgid "full pathname of NAME, and no path search is performed. The -r"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:595
-msgid "option causes the shell to forget all remembered locations. The -d"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:598
-msgid "corresponds is printed. If multiple NAME arguments are supplied with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname. The -l option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:608
-msgid "Display helpful information about builtin commands. If PATTERN is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:610
-msgid "otherwise a list of the builtins is printed. The -s option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:612
-msgid "a short usage synopsis."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:620
-msgid "Display the history list with line numbers. Lines listed with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:621
-msgid "with a `*' have been modified. Argument of N says to list only"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:622
-msgid "the last N lines. The `-c' option causes the history list to be"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:623
-msgid "cleared by deleting all of the entries. The `-d' option deletes"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:624
-msgid "the history entry at offset OFFSET. The `-w' option writes out the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:625
-msgid "current history to the history file; `-r' means to read the file and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:626
-msgid "append the contents to the history list instead. `-a' means"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:634
-msgid "the history list as a single entry. The -p option means to perform"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:636
-msgid "anything in the history list."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:640
-msgid ""
-"with each displayed history entry. No time stamps are printed otherwise."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:648
-msgid "Lists the active jobs. The -l option lists process id's in addition"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:651
-msgid "notification are printed. JOBSPEC restricts output to that job. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:653
-msgid "respectively. Without options, the status of all active jobs is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:654
-msgid "printed. If -x is given, COMMAND is run after all job specifications"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:656
-msgid "process group leader."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:667
-msgid ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:675
-msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:678
-msgid "be signal numbers for which names should be listed. Kill is a shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:689
-msgid "division by 0 is trapped and flagged as an error. The following"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:714
-msgid "Shell variables are allowed as operands. The name of the variable"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:716
-msgid "an expression. The variable need not have its integer attribute"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:719
-msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:721
-msgid "rules above."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:724
-msgid "otherwise."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:733
-msgid ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:734
-msgid ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:735
-msgid "variable. If the -r option is given, this signifies `raw' input, and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:736
-msgid "backslash escaping is disabled. The -d option causes read to continue"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:739
-msgid ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:743
-msgid "characters have been read. The -s option causes input coming from a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:744
-msgid "terminal to not be echoed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:748
-msgid ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:750
-msgid "the argument to -u."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:756
-msgid "Causes a function to exit with the return value specified by N. If N"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:763
-msgid " -a Mark variables which are modified or created for export."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:764
-msgid " -b Notify of job termination immediately."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:765
-msgid " -e Exit immediately if a command exits with a non-zero status."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:766
-msgid " -f Disable file name generation (globbing)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:767
-msgid " -h Remember the location of commands as they are looked up."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:768
-msgid " -k All assignment arguments are placed in the environment for a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:769
-msgid " command, not just those that precede the command name."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:770
-msgid " -m Job control is enabled."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:771
-msgid " -n Read commands but do not execute them."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:772
-msgid " -o option-name"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:773
-msgid " Set the variable corresponding to option-name:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:774
-msgid " allexport same as -a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:775
-msgid " braceexpand same as -B"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:777
-msgid " emacs use an emacs-style line editing interface"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:779
-msgid " errexit same as -e"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:780
-msgid " errtrace same as -E"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:781
-msgid " functrace same as -T"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:782
-msgid " hashall same as -h"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:784
-msgid " histexpand same as -H"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:787
-msgid " history enable command history"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:789
-msgid " ignoreeof the shell will not exit upon reading EOF"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:790
-msgid " interactive-comments"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:791
-msgid ""
-" allow comments to appear in interactive commands"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:792
-msgid " keyword same as -k"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:793
-msgid " monitor same as -m"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:794
-msgid " noclobber same as -C"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:795
-msgid " noexec same as -n"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:796
-msgid " noglob same as -f"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:797
-msgid " nolog currently accepted but ignored"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:798
-msgid " notify same as -b"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:799
-msgid " nounset same as -u"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:800
-msgid " onecmd same as -t"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:801
-msgid " physical same as -P"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:802
-msgid ""
-" pipefail the return value of a pipeline is the status of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:803
-msgid ""
-" the last command to exit with a non-zero status,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:804
-msgid ""
-" or zero if no command exited with a non-zero status"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:805
-msgid " posix change the behavior of bash where the default"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:806
-msgid " operation differs from the 1003.2 standard to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:807
-msgid " match the standard"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:808
-msgid " privileged same as -p"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:809
-msgid " verbose same as -v"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:811
-msgid " vi use a vi-style line editing interface"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:813
-msgid " xtrace same as -x"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:814
-msgid ""
-" -p Turned on whenever the real and effective user ids do not match."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:815
-msgid " Disables processing of the $ENV file and importing of shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:816
-msgid ""
-" functions. Turning this option off causes the effective uid and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:817
-msgid " gid to be set to the real uid and gid."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:818
-msgid " -t Exit after reading and executing one command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:819
-msgid " -u Treat unset variables as an error when substituting."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:820
-msgid " -v Print shell input lines as they are read."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:821
-msgid " -x Print commands and their arguments as they are executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:823
-msgid " -B the shell will perform brace expansion"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:825
-msgid " -C If set, disallow existing regular files to be overwritten"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:826
-msgid " by redirection of output."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:827
-msgid " -E If set, the ERR trap is inherited by shell functions."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:829
-msgid " -H Enable ! style history substitution. This flag is on"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:830
-msgid " by default."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:832
-msgid " -P If set, do not follow symbolic links when executing commands"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:833
-msgid " such as cd which change the current directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:834
-msgid " -T If set, the DEBUG trap is inherited by shell functions."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:837
-msgid "flags can also be used upon invocation of the shell. The current"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:838
-msgid "set of flags may be found in $-. The remaining n ARGs are positional"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function. Given"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:847
-msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:848
-msgid "unset will only act on functions. With neither flag, unset first"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:850
-msgid "function. Some variables cannot be unset; also see readonly."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:857
-msgid "subsequently executed commands. If the -f option is given,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:858
-msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:860
-msgid "printed. An argument of `-n' says to remove the export property"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:861
-msgid "from subsequent NAMEs. An argument of `--' disables further option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:862
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:874
-msgid "processing."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:869
-msgid "not be changed by subsequent assignment. If the -f option is given,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked. If no"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:872
-msgid "is printed. The `-a' option means to treat each NAME as"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:873
-msgid "an array variable. An argument of `--' disables further option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:887
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:896
-msgid "Read and execute commands from FILENAME and return. The pathnames"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:888
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME. If any"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:889
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:890
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:899
-msgid "FILENAME is executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:907
-msgid "signal. The `-f' if specified says not to complain about this"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:916
-msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:917
-msgid "expressions are often used to examine the status of a file. There"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:920
-msgid "File operators:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:922
-msgid " -a FILE True if file exists."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:923
-msgid " -b FILE True if file is block special."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:924
-msgid " -c FILE True if file is character special."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:925
-msgid " -d FILE True if file is a directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:926
-msgid " -e FILE True if file exists."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:927
-msgid " -f FILE True if file exists and is a regular file."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:928
-msgid " -g FILE True if file is set-group-id."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:929
-msgid " -h FILE True if file is a symbolic link."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:930
-msgid " -L FILE True if file is a symbolic link."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:931
-msgid " -k FILE True if file has its `sticky' bit set."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:932
-msgid " -p FILE True if file is a named pipe."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:933
-msgid " -r FILE True if file is readable by you."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:934
-msgid " -s FILE True if file exists and is not empty."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:935
-msgid " -S FILE True if file is a socket."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:936
-msgid " -t FD True if FD is opened on a terminal."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:937
-msgid " -u FILE True if the file is set-user-id."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:938
-msgid " -w FILE True if the file is writable by you."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:939
-msgid " -x FILE True if the file is executable by you."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:940
-msgid " -O FILE True if the file is effectively owned by you."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:941
-msgid " -G FILE True if the file is effectively owned by your group."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:942
-msgid ""
-" -N FILE True if the file has been modified since it was last read."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:944
-msgid " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:945
-msgid " modification date)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:947
-msgid " FILE1 -ot FILE2 True if file1 is older than file2."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:949
-msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:951
-msgid "String operators:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:953
-msgid " -z STRING True if string is empty."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:955
-msgid " -n STRING"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:956
-msgid " STRING True if string is not empty."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:958
-msgid " STRING1 = STRING2"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:959
-msgid " True if the strings are equal."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:960
-msgid " STRING1 != STRING2"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:961
-msgid " True if the strings are not equal."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:962
-msgid " STRING1 < STRING2"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:963
-msgid ""
-" True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:964
-msgid " STRING1 > STRING2"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:965
-msgid ""
-" True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:967
-msgid "Other operators:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:969
-msgid " -o OPTION True if the shell option OPTION is enabled."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:970
-msgid " ! EXPR True if expr is false."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:971
-msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:972
-msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:974
-msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:975
-msgid " -lt, -le, -gt, or -ge."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:979
-msgid "than ARG2."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:993
-msgid "the shell."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1000
-msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1001
-msgid "reset to their original values. If ARG is the null string each"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1002
-msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1003
-msgid "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1004
-msgid "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1005
-msgid "command. If ARG is `-p' then the trap commands associated with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1006
-msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1007
-msgid "only `-p' is given, trap prints the list of commands associated with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1008
-msgid ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1009
-msgid "or a signal number. `trap -l' prints a list of signal names and their"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1010
-msgid "corresponding numbers. Note that a signal can be sent to the shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1011
-msgid "with \"kill -signal $$\"."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1017
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1018
-msgid "command name."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1020
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1021
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1022
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1023
-msgid "or unfound, respectively."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1025
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1026
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1027
-msgid "return `file'."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1029
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1030
-msgid "an executable named `file'. This includes aliases, builtins, and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1031
-msgid "functions, if and only if the -p flag is not also used."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1033
-msgid "The -f flag suppresses shell function lookup."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1035
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1036
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1037
-msgid "be executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1044
-msgid "Ulimit provides control over the resources available to processes"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1045
-msgid "started by the shell, on systems that allow such control. If an"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1046
-msgid "option is given, it is interpreted as follows:"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1048
-msgid " -S\tuse the `soft' resource limit"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1049
-msgid " -H\tuse the `hard' resource limit"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1050
-msgid " -a\tall current limits are reported"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1051
-msgid " -c\tthe maximum size of core files created"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1052
-msgid " -d\tthe maximum size of a process's data segment"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1053
-msgid " -f\tthe maximum size of files created by the shell"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1054
-msgid " -l\tthe maximum size a process may lock into memory"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1055
-msgid " -m\tthe maximum resident set size"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1056
-msgid " -n\tthe maximum number of open file descriptors"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1057
-msgid " -p\tthe pipe buffer size"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1058
-msgid " -s\tthe maximum stack size"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1059
-msgid " -t\tthe maximum amount of cpu time in seconds"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1060
-msgid " -u\tthe maximum number of user processes"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1061
-msgid " -v\tthe size of virtual memory"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1063
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1064
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1065
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1066
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1067
-msgid "If no option is given, then -f is assumed. Values are in 1024-byte"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1068
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1069
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1070
-msgid "processes."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1077
-msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1078
-msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1079
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1080
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1081
-msgid "that may be used as input. If MODE begins with a digit, it is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1082
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1083
-msgid "like that accepted by chmod(1)."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1090
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1102
-msgid "Wait for the specified process and report its termination status. If"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1091
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1103
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1092
-msgid "and the return code is zero. N may be a process ID or a job"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1093
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1094
-msgid "pipeline are waited for."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1104
-msgid "and the return code is zero. N is a process ID; if it is not given,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1105
-msgid "all child processes of the shell are waited for."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1112
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1113
-msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1114
-msgid "assumed. For each element in WORDS, NAME is set to that element, and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1115
-msgid "the COMMANDS are executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1121
-msgid "Equivalent to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1122
-msgid "\t(( EXP1 ))"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1123
-msgid "\twhile (( EXP2 )); do"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1124
-msgid "\t\tCOMMANDS"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1125
-msgid "\t\t(( EXP3 ))"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1126
-msgid "\tdone"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1127
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1128
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1134
-msgid "The WORDS are expanded, generating a list of words. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1135
-msgid "set of expanded words is printed on the standard error, each"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1136
-msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1137
-msgid "is assumed. The PS3 prompt is then displayed and a line read"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1138
-msgid "from the standard input. If the line consists of the number"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1139
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1140
-msgid "to that word. If the line is empty, WORDS and the prompt are"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1141
-msgid "redisplayed. If EOF is read, the command completes. Any other"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1142
-msgid "value read causes NAME to be set to null. The line read is saved"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1143
-msgid "in the variable REPLY. COMMANDS are executed after each selection"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1144
-msgid "until a break command is executed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1150
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1151
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1152
-msgid "The return status is the return status of PIPELINE. The `-p' option"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1153
-msgid "prints the timing summary in a slightly different format. This uses"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1154
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1160
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1161
-msgid "`|' is used to separate multiple patterns."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1167
-msgid ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1168
-msgid ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1169
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1170
-msgid ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1171
-msgid ""
-"are executed, if present. The exit status is the exit status of the last"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1172
-msgid "command executed, or zero if no condition tested true."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1178
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1185
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1179
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1186
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1192
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1193
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1194
-msgid "function as $0 .. $n."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1200
-msgid "Run a set of commands in a group. This is one way to redirect an"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1201
-msgid "entire set of commands."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1207
-msgid "This is similar to the `fg' command. Resume a stopped or background"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1208
-msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1209
-msgid "WORD, then the job whose name begins with WORD is used. Following the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1210
-msgid "job specification with a `&' places the job in the background."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1216
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1217
-msgid "evaluation. Equivalent to \"let EXPRESSION\"."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1223
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1224
-msgid ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1225
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1227
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1228
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1229
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1230
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1232
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1233
-msgid "operator is used as a pattern and pattern matching is performed. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1234
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1235
-msgid "determine the expression's value."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1241
-msgid "BASH_VERSION Version information for this Bash."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1242
-msgid "CDPATH A colon separated list of directories to search"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1243
-msgid "\t\twhen the argument to `cd' is not found in the current"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1244
-msgid "\t\tdirectory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1245
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1246
-msgid "\t\tbe ignored by pathname expansion."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1248
-msgid ""
-"HISTFILE The name of the file where your command history is stored."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1249
-msgid "HISTFILESIZE The maximum number of lines this file can contain."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1250
-msgid "HISTSIZE The maximum number of history lines that a running"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1251
-msgid "\t\tshell can access."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1253
-msgid "HOME The complete pathname to your login directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1254
-msgid "HOSTNAME\tThe name of the current host."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1255
-msgid "HOSTTYPE The type of CPU this version of Bash is running under."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1256
-msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1257
-msgid "\t\tcharacter as the sole input. If set, then the value"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1258
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1259
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1260
-msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1261
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1262
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1263
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1264
-msgid "\t\tfor new mail."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1265
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1266
-msgid "PATH A colon-separated list of directories to search when"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1267
-msgid "\t\tlooking for commands."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1268
-msgid "PROMPT_COMMAND A command to be executed before the printing of each"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1269
-msgid "\t\tprimary prompt."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1270
-msgid "PS1 The primary prompt string."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1271
-msgid "PS2 The secondary prompt string."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1272
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1273
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1274
-msgid "TERM The name of the current terminal type."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1275
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1276
-msgid "\t\t`time' reserved word."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1277
-msgid "auto_resume Non-null means a command word appearing on a line by"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1278
-msgid "\t\titself is first looked for in the list of currently"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1279
-msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1280
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1281
-msgid "\t\texactly match a command in the list of stopped jobs. A"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1282
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1283
-msgid "\t\tmatch a substring of the job. Any other value means that"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1284
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1287
-msgid "histchars Characters controlling history expansion and quick"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1288
-msgid "\t\tsubstitution. The first character is the history"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1289
-msgid "\t\tsubstitution character, usually `!'. The second is"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1290
-msgid "\t\tthe `quick substitution' character, usually `^'. The"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1291
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1293
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1294
-msgid "\t\tcommands should be saved on the history list."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1302
-msgid "Adds a directory to the top of the directory stack, or rotates"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1303
-msgid "the stack, making the new top of the stack the current working"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1304
-msgid "directory. With no arguments, exchanges the top two directories."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1306
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1307
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1308
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1312
-msgid "\tzero) is at the top."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1310
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1311
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1314
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1315
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1317
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1318
-msgid "\tnew current working directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1320
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1343
-msgid "You can see the directory stack with the `dirs' command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1328
-msgid "Removes entries from the directory stack. With no arguments,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1329
-msgid "removes the top directory from the stack, and cd's to the new"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1330
-msgid "top directory."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1332
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1333
-msgid "\tshown by `dirs', starting with zero. For example: `popd +0'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1334
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1336
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1337
-msgid "\tshown by `dirs', starting with zero. For example: `popd -0'"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1338
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1340
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1341
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1351
-msgid "Display the list of currently remembered directories. Directories"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1352
-msgid "find their way onto the list with the `pushd' command; you can get"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1353
-msgid "back up through the list with the `popd' command."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1355
-msgid "The -l flag specifies that `dirs' should not print shorthand versions"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1356
-msgid "of directories which are relative to your home directory. This means"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1357
-msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1358
-msgid "causes `dirs' to print the directory stack with one entry per line,"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1359
-msgid "prepending the directory name with its position in the stack. The -p"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1360
-msgid "flag does the same thing, but the stack position is not prepended."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1361
-msgid "The -c flag clears the directory stack by deleting all of the elements."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1363
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1364
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1367
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1366
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1374
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1375
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1376
-msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1377
-msgid "status indicates whether each OPTNAME is set or unset. The -o"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1378
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1379
-msgid "`set -o'. With no options, or with the -p option, a list of all"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1380
-msgid "settable options is displayed, with an indication of whether or"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1381
-msgid "not each is set."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1387
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1388
-msgid "is a character string which contains three types of objects: plain"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1389
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1390
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1391
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1392
-msgid "argument. In addition to the standard printf(1) formats, %b means to"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1393
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1394
-msgid "means to quote the argument in a way that can be reused as shell input."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1401
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1402
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1403
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1404
-msgid "reused as input. The -r option removes a completion specification for"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1405
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1413
-msgid "Display the possible completions depending on the options. Intended"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1414
-msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1415
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr ""
-
-#: /usr/local/build/bash/bash-20031218/builtins/builtins.c:1416
-msgid "generated."
-msgstr ""
+++ /dev/null
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
+++ /dev/null
-# English translations for GNU bash package.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2004.
-#
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1019 builtins.c:1024 builtins.c:1028
-#: builtins.c:1032 builtins.c:1034 builtins.c:1047 builtins.c:1062
-#: builtins.c:1226 builtins.c:1231 builtins.c:1305 builtins.c:1309
-#: builtins.c:1313 builtins.c:1316 builtins.c:1319 builtins.c:1331
-#: builtins.c:1335 builtins.c:1339 builtins.c:1342 builtins.c:1354
-#: builtins.c:1362 builtins.c:1365
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU bash 3.0-rc1\n"
-"POT-Creation-Date: 2003-12-22 15:34-0500\n"
-"PO-Revision-Date: 2003-12-22 15:34-0500\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: arrayfunc.c:45
-msgid "bad array subscript"
-msgstr "bad array subscript"
-
-#: arrayfunc.c:306
-#, c-format
-msgid "%s: cannot assign to non-numeric index"
-msgstr "%s: cannot assign to non-numeric index"
-
-#: bashhist.c:321
-#, c-format
-msgid "%s: cannot create: %s"
-msgstr "%s: cannot create: %s"
-
-#: bashline.c:2791
-msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr "bash_execute_unix_command: cannot find keymap for command"
-
-#: bashline.c:2840
-#, c-format
-msgid "%s: first non-whitespace character is not `\"'"
-msgstr "%s: first non-whitespace character is not ‘\e[1m\"\e[0m’"
-
-#: bashline.c:2869
-#, c-format
-msgid "no closing `%c' in %s"
-msgstr "no closing ‘\e[1m%c\e[0m’ in %s"
-
-#: bashline.c:2903
-#, c-format
-msgid "%s: missing colon separator"
-msgstr "%s: missing colon separator"
-
-#: builtins/alias.def:123
-#, c-format
-msgid "`%s': invalid alias name"
-msgstr "‘\e[1m%s\e[0m’: invalid alias name"
-
-#: builtins/bind.def:194
-#, c-format
-msgid "`%s': invalid keymap name"
-msgstr "‘\e[1m%s\e[0m’: invalid keymap name"
-
-#: builtins/bind.def:233
-#, c-format
-msgid "%s: cannot read: %s"
-msgstr "%s: cannot read: %s"
-
-#: builtins/bind.def:248
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "‘\e[1m%s\e[0m’: cannot unbind"
-
-#: builtins/bind.def:283
-#, c-format
-msgid "`%s': unknown function name"
-msgstr "‘\e[1m%s\e[0m’: unknown function name"
-
-#: builtins/bind.def:291
-#, c-format
-msgid "%s is not bound to any keys.\n"
-msgstr "%s is not bound to any keys.\n"
-
-#: builtins/bind.def:295
-#, c-format
-msgid "%s can be invoked via "
-msgstr "%s can be invoked via "
-
-#: builtins/break.def:128
-msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr "only meaningful in a ‘\e[1mfor\e[0m’, ‘\e[1mwhile\e[0m’, or ‘\e[1muntil\e[0m’ loop"
-
-#: builtins/caller.def:127 builtins.c:320
-msgid "Returns the context of the current subroutine call."
-msgstr "Returns the context of the current subroutine call."
-
-#: builtins/caller.def:129 builtins.c:322
-msgid "Without EXPR, returns returns \"$line $filename\". With EXPR,"
-msgstr "Without EXPR, returns returns “\e[1m$line $filename\e[0m”. With EXPR,"
-
-#: builtins/caller.def:130 builtins.c:323
-msgid "returns \"$line $subroutine $filename\"; this extra information"
-msgstr "returns “\e[1m$line $subroutine $filename\e[0m”; this extra information"
-
-#: builtins/caller.def:131 builtins.c:324
-msgid "can be used used to provide a stack trace."
-msgstr "can be used used to provide a stack trace."
-
-#: builtins/caller.def:133 builtins.c:326
-msgid "The value of EXPR indicates how many call frames to go back before the"
-msgstr "The value of EXPR indicates how many call frames to go back before the"
-
-#: builtins/caller.def:134 builtins.c:327
-msgid "current one; the top frame is frame 0."
-msgstr "current one; the top frame is frame 0."
-
-#: builtins/cd.def:188
-msgid "HOME not set"
-msgstr "HOME not set"
-
-#: builtins/cd.def:200
-msgid "OLDPWD not set"
-msgstr "OLDPWD not set"
-
-#: builtins/cd.def:357
-#, c-format
-msgid "write error: %s"
-msgstr "write error: %s"
-
-#: builtins/common.c:133 test.c:921
-msgid "too many arguments"
-msgstr "too many arguments"
-
-#: builtins/common.c:157 shell.c:465 shell.c:737
-#, c-format
-msgid "%s: option requires an argument"
-msgstr "%s: option requires an argument"
-
-#: builtins/common.c:164
-#, c-format
-msgid "%s: numeric argument required"
-msgstr "%s: numeric argument required"
-
-#: builtins/common.c:171
-#, c-format
-msgid "%s: not found"
-msgstr "%s: not found"
-
-#: builtins/common.c:180 shell.c:750
-#, c-format
-msgid "%s: invalid option"
-msgstr "%s: invalid option"
-
-#: builtins/common.c:187
-#, c-format
-msgid "%s: invalid option name"
-msgstr "%s: invalid option name"
-
-#: builtins/common.c:194 general.c:229 general.c:234
-#, c-format
-msgid "`%s': not a valid identifier"
-msgstr "‘\e[1m%s\e[0m’: not a valid identifier"
-
-#: builtins/common.c:201
-#, c-format
-msgid "%s: invalid number"
-msgstr "%s: invalid number"
-
-#: builtins/common.c:208
-#, c-format
-msgid "%s: invalid signal specification"
-msgstr "%s: invalid signal specification"
-
-#: builtins/common.c:215
-#, c-format
-msgid "`%s': not a pid or valid job spec"
-msgstr "‘\e[1m%s\e[0m’: not a pid or valid job spec"
-
-#: builtins/common.c:222 error.c:453
-#, c-format
-msgid "%s: readonly variable"
-msgstr "%s: readonly variable"
-
-#: builtins/common.c:230
-#, c-format
-msgid "%s: %s out of range"
-msgstr "%s: %s out of range"
-
-#: builtins/common.c:230 builtins/common.c:232
-msgid "argument"
-msgstr "argument"
-
-#: builtins/common.c:232
-#, c-format
-msgid "%s out of range"
-msgstr "%s out of range"
-
-#: builtins/common.c:240
-#, c-format
-msgid "%s: no such job"
-msgstr "%s: no such job"
-
-#: builtins/common.c:248
-#, c-format
-msgid "%s: no job control"
-msgstr "%s: no job control"
-
-#: builtins/common.c:250
-msgid "no job control"
-msgstr "no job control"
-
-#: builtins/common.c:260
-#, c-format
-msgid "%s: restricted"
-msgstr "%s: restricted"
-
-#: builtins/common.c:262
-msgid "restricted"
-msgstr "restricted"
-
-#: builtins/common.c:270
-#, c-format
-msgid "%s: not a shell builtin"
-msgstr "%s: not a shell builtin"
-
-#: builtins/common.c:486
-#, c-format
-msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr "%s: error retrieving current directory: %s: %s\n"
-
-#: builtins/common.c:553 builtins/common.c:555
-#, c-format
-msgid "%s: ambiguous job spec"
-msgstr "%s: ambiguous job spec"
-
-#: builtins/complete.def:251
-#, c-format
-msgid "%s: invalid action name"
-msgstr "%s: invalid action name"
-
-#: builtins/complete.def:381 builtins/complete.def:524
-#, c-format
-msgid "%s: no completion specification"
-msgstr "%s: no completion specification"
-
-#: builtins/complete.def:571
-msgid "warning: -F option may not work as you expect"
-msgstr "warning: -F option may not work as you expect"
-
-#: builtins/complete.def:573
-msgid "warning: -C option may not work as you expect"
-msgstr "warning: -C option may not work as you expect"
-
-#: builtins/declare.def:105
-msgid "can only be used in a function"
-msgstr "can only be used in a function"
-
-#: builtins/declare.def:295
-msgid "cannot use `-f' to make functions"
-msgstr "cannot use ‘\e[1m-f\e[0m’ to make functions"
-
-#: builtins/declare.def:307 execute_cmd.c:3949
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: readonly function"
-
-#: builtins/declare.def:389
-#, c-format
-msgid "%s: cannot destroy array variables in this way"
-msgstr "%s: cannot destroy array variables in this way"
-
-#: builtins/enable.def:128 builtins/enable.def:136
-msgid "dynamic loading not available"
-msgstr "dynamic loading not available"
-
-#: builtins/enable.def:303
-#, c-format
-msgid "cannot open shared object %s: %s"
-msgstr "cannot open shared object %s: %s"
-
-#: builtins/enable.def:326
-#, c-format
-msgid "cannot find %s in shared object %s: %s"
-msgstr "cannot find %s in shared object %s: %s"
-
-#: builtins/enable.def:450
-#, c-format
-msgid "%s: not dynamically loaded"
-msgstr "%s: not dynamically loaded"
-
-#: builtins/enable.def:465
-#, c-format
-msgid "%s: cannot delete: %s"
-msgstr "%s: cannot delete: %s"
-
-#: builtins/evalfile.c:128 execute_cmd.c:3821 shell.c:1395
-#, c-format
-msgid "%s: is a directory"
-msgstr "%s: is a directory"
-
-#: builtins/evalfile.c:133
-#, c-format
-msgid "%s: not a regular file"
-msgstr "%s: not a regular file"
-
-#: builtins/evalfile.c:141
-#, c-format
-msgid "%s: file is too large"
-msgstr "%s: file is too large"
-
-#: builtins/exec.def:205
-#, c-format
-msgid "%s: cannot execute: %s"
-msgstr "%s: cannot execute: %s"
-
-#: builtins/exit.def:83
-msgid "not login shell: use `exit'"
-msgstr "not login shell: use ‘\e[1mexit\e[0m’"
-
-#: builtins/exit.def:111
-msgid "There are stopped jobs.\n"
-msgstr "There are stopped jobs.\n"
-
-#: builtins/fc.def:252
-msgid "no command found"
-msgstr "no command found"
-
-#: builtins/fc.def:317
-msgid "history specification"
-msgstr "history specification"
-
-#: builtins/fc.def:338
-#, c-format
-msgid "%s: cannot open temp file: %s"
-msgstr "%s: cannot open temp file: %s"
-
-#: builtins/fg_bg.def:133
-#, c-format
-msgid "job %d started without job control"
-msgstr "job %d started without job control"
-
-#: builtins/getopt.c:109
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: illegal option -- %c\n"
-
-#: builtins/getopt.c:110
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option requires an argument -- %c\n"
-
-#: builtins/hash.def:83
-msgid "hashing disabled"
-msgstr "hashing disabled"
-
-#: builtins/hash.def:128
-#, c-format
-msgid "%s: hash table empty\n"
-msgstr "%s: hash table empty\n"
-
-#: builtins/help.def:108
-msgid "Shell commands matching keywords `"
-msgstr "Shell commands matching keywords `"
-
-#: builtins/help.def:110
-msgid "Shell commands matching keyword `"
-msgstr "Shell commands matching keyword `"
-
-#: builtins/help.def:138
-#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"no help topics match ‘\e[1m%s\e[0m’. Try ‘\e[1mhelp help\e[0m’ or ‘\e[1mman -k %s\e[0m’ "
-"or ‘\e[1minfo %s\e[0m’."
-
-#: builtins/help.def:164
-#, c-format
-msgid "%s: cannot open: %s"
-msgstr "%s: cannot open: %s"
-
-#: builtins/help.def:182
-msgid ""
-"These shell commands are defined internally. Type `help' to see this list.\n"
-"Type `help name' to find out more about the function `name'.\n"
-"Use `info bash' to find out more about the shell in general.\n"
-"Use `man -k' or `info' to find out more about commands not in this list.\n"
-"\n"
-"A star (*) next to a name means that the command is disabled.\n"
-"\n"
-msgstr ""
-"These shell commands are defined internally. Type ‘\e[1mhelp\e[0m’ to see this "
-"list.\n"
-"Type ‘\e[1mhelp name\e[0m’ to find out more about the function ‘\e[1mname\e[0m’.\n"
-"Use ‘\e[1minfo bash\e[0m’ to find out more about the shell in general.\n"
-"Use ‘\e[1mman -k\e[0m’ or ‘\e[1minfo\e[0m’ to find out more about commands not in "
-"this list.\n"
-"\n"
-"A star (*) next to a name means that the command is disabled.\n"
-"\n"
-
-#: builtins/history.def:148
-msgid "cannot use more than one of -anrw"
-msgstr "cannot use more than one of -anrw"
-
-#: builtins/history.def:180
-msgid "history position"
-msgstr "history position"
-
-#: builtins/history.def:390
-#, c-format
-msgid "%s: history expansion failed"
-msgstr "%s: history expansion failed"
-
-#: builtins/jobs.def:99
-msgid "no other options allowed with `-x'"
-msgstr "no other options allowed with ‘\e[1m-x\e[0m’"
-
-#: builtins/kill.def:187
-#, c-format
-msgid "%s: arguments must be process or job IDs"
-msgstr "%s: arguments must be process or job IDs"
-
-#: builtins/kill.def:248
-msgid "Unknown error"
-msgstr "Unknown error"
-
-#: builtins/let.def:94 builtins/let.def:119 expr.c:496 expr.c:511
-msgid "expression expected"
-msgstr "expression expected"
-
-#: builtins/printf.def:249
-#, c-format
-msgid "`%s': missing format character"
-msgstr "‘\e[1m%s\e[0m’: missing format character"
-
-#: builtins/printf.def:408
-#, c-format
-msgid "`%c': invalid format character"
-msgstr "‘\e[1m%c\e[0m’: invalid format character"
-
-#: builtins/printf.def:601
-msgid "missing hex digit for \\x"
-msgstr "missing hex digit for \\x"
-
-#: builtins/pushd.def:168
-msgid "no other directory"
-msgstr "no other directory"
-
-#: builtins/pushd.def:435
-msgid "<no current directory>"
-msgstr "<no current directory>"
-
-#: builtins/pushd.def:652 builtins.c:1351
-msgid "Display the list of currently remembered directories. Directories"
-msgstr "Display the list of currently remembered directories. Directories"
-
-#: builtins/pushd.def:653 builtins.c:1352
-msgid "find their way onto the list with the `pushd' command; you can get"
-msgstr ""
-"find their way onto the list with the ‘\e[1mpushd\e[0m’ command; you can get"
-
-#: builtins/pushd.def:654 builtins.c:1353
-msgid "back up through the list with the `popd' command."
-msgstr "back up through the list with the ‘\e[1mpopd\e[0m’ command."
-
-#: builtins/pushd.def:656 builtins.c:1355
-msgid "The -l flag specifies that `dirs' should not print shorthand versions"
-msgstr ""
-"The -l flag specifies that ‘\e[1mdirs\e[0m’ should not print shorthand versions"
-
-#: builtins/pushd.def:657 builtins.c:1356
-msgid "of directories which are relative to your home directory. This means"
-msgstr "of directories which are relative to your home directory. This means"
-
-#: builtins/pushd.def:658 builtins.c:1357
-msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-msgstr ""
-"that ‘\e[1m~/bin\e[0m’ might be displayed as ‘\e[1m/homes/bfox/bin\e[0m’. The -v "
-"flag"
-
-#: builtins/pushd.def:659 builtins.c:1358
-msgid "causes `dirs' to print the directory stack with one entry per line,"
-msgstr ""
-"causes ‘\e[1mdirs\e[0m’ to print the directory stack with one entry per line,"
-
-#: builtins/pushd.def:660 builtins.c:1359
-msgid "prepending the directory name with its position in the stack. The -p"
-msgstr "prepending the directory name with its position in the stack. The -p"
-
-#: builtins/pushd.def:661 builtins.c:1360
-msgid "flag does the same thing, but the stack position is not prepended."
-msgstr "flag does the same thing, but the stack position is not prepended."
-
-#: builtins/pushd.def:662 builtins.c:1361
-msgid "The -c flag clears the directory stack by deleting all of the elements."
-msgstr ""
-"The -c flag clears the directory stack by deleting all of the elements."
-
-#: builtins/pushd.def:664
-msgid "+N displays the Nth entry counting from the left of the list shown by"
-msgstr ""
-"+N displays the Nth entry counting from the left of the list shown by"
-
-#: builtins/pushd.def:665 builtins/pushd.def:668
-msgid " dirs when invoked without options, starting with zero."
-msgstr " dirs when invoked without options, starting with zero."
-
-#: builtins/pushd.def:667
-msgid ""
-"-N displays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N displays the Nth entry counting from the right of the list shown by"
-
-#: builtins/pushd.def:673 builtins.c:1302
-msgid "Adds a directory to the top of the directory stack, or rotates"
-msgstr "Adds a directory to the top of the directory stack, or rotates"
-
-#: builtins/pushd.def:674 builtins.c:1303
-msgid "the stack, making the new top of the stack the current working"
-msgstr "the stack, making the new top of the stack the current working"
-
-#: builtins/pushd.def:675 builtins.c:1304
-msgid "directory. With no arguments, exchanges the top two directories."
-msgstr "directory. With no arguments, exchanges the top two directories."
-
-#: builtins/pushd.def:677
-msgid "+N Rotates the stack so that the Nth directory (counting"
-msgstr "+N Rotates the stack so that the Nth directory (counting"
-
-#: builtins/pushd.def:678
-msgid " from the left of the list shown by `dirs', starting with"
-msgstr " from the left of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins/pushd.def:679 builtins/pushd.def:683
-msgid " zero) is at the top."
-msgstr " zero) is at the top."
-
-#: builtins/pushd.def:681
-msgid "-N Rotates the stack so that the Nth directory (counting"
-msgstr "-N Rotates the stack so that the Nth directory (counting"
-
-#: builtins/pushd.def:682
-msgid " from the right of the list shown by `dirs', starting with"
-msgstr " from the right of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins/pushd.def:685
-msgid "-n suppress the normal change of directory when adding directories"
-msgstr "-n suppress the normal change of directory when adding directories"
-
-#: builtins/pushd.def:686
-msgid " to the stack, so only the stack is manipulated."
-msgstr " to the stack, so only the stack is manipulated."
-
-#: builtins/pushd.def:688
-msgid "dir adds DIR to the directory stack at the top, making it the"
-msgstr "dir adds DIR to the directory stack at the top, making it the"
-
-#: builtins/pushd.def:689
-msgid " new current working directory."
-msgstr " new current working directory."
-
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1320
-#: builtins.c:1343
-msgid "You can see the directory stack with the `dirs' command."
-msgstr "You can see the directory stack with the ‘\e[1mdirs\e[0m’ command."
-
-#: builtins/pushd.def:696 builtins.c:1328
-msgid "Removes entries from the directory stack. With no arguments,"
-msgstr "Removes entries from the directory stack. With no arguments,"
-
-#: builtins/pushd.def:697 builtins.c:1329
-msgid "removes the top directory from the stack, and cd's to the new"
-msgstr "removes the top directory from the stack, and cd's to the new"
-
-#: builtins/pushd.def:698 builtins.c:1330
-msgid "top directory."
-msgstr "top directory."
-
-#: builtins/pushd.def:700
-msgid "+N removes the Nth entry counting from the left of the list"
-msgstr "+N removes the Nth entry counting from the left of the list"
-
-#: builtins/pushd.def:701
-msgid " shown by `dirs', starting with zero. For example: `popd +0'"
-msgstr ""
-" shown by ‘\e[1mdirs\e[0m’, starting with zero. For example: ‘\e[1mpopd +0\e[0m’"
-
-#: builtins/pushd.def:702
-msgid " removes the first directory, `popd +1' the second."
-msgstr " removes the first directory, ‘\e[1mpopd +1\e[0m’ the second."
-
-#: builtins/pushd.def:704
-msgid "-N removes the Nth entry counting from the right of the list"
-msgstr "-N removes the Nth entry counting from the right of the list"
-
-#: builtins/pushd.def:705
-msgid " shown by `dirs', starting with zero. For example: `popd -0'"
-msgstr ""
-" shown by ‘\e[1mdirs\e[0m’, starting with zero. For example: ‘\e[1mpopd -0\e[0m’"
-
-#: builtins/pushd.def:706
-msgid " removes the last directory, `popd -1' the next to last."
-msgstr " removes the last directory, ‘\e[1mpopd -1\e[0m’ the next to last."
-
-#: builtins/pushd.def:708
-msgid "-n suppress the normal change of directory when removing directories"
-msgstr "-n suppress the normal change of directory when removing directories"
-
-#: builtins/pushd.def:709
-msgid " from the stack, so only the stack is manipulated."
-msgstr " from the stack, so only the stack is manipulated."
-
-#: builtins/read.def:207
-#, c-format
-msgid "%s: invalid timeout specification"
-msgstr "%s: invalid timeout specification"
-
-#: builtins/read.def:230
-#, c-format
-msgid "%s: invalid file descriptor specification"
-msgstr "%s: invalid file descriptor specification"
-
-#: builtins/read.def:237
-#, c-format
-msgid "%d: invalid file descriptor: %s"
-msgstr "%d: invalid file descriptor: %s"
-
-#: builtins/read.def:463
-#, c-format
-msgid "read error: %d: %s"
-msgstr "read error: %d: %s"
-
-#: builtins/return.def:63
-msgid "can only `return' from a function or sourced script"
-msgstr "can only ‘\e[1mreturn\e[0m’ from a function or sourced script"
-
-#: builtins/set.def:743
-msgid "cannot simultaneously unset a function and a variable"
-msgstr "cannot simultaneously unset a function and a variable"
-
-#: builtins/set.def:780
-#, c-format
-msgid "%s: cannot unset"
-msgstr "%s: cannot unset"
-
-#: builtins/set.def:787
-#, c-format
-msgid "%s: cannot unset: readonly %s"
-msgstr "%s: cannot unset: readonly %s"
-
-#: builtins/set.def:798
-#, c-format
-msgid "%s: not an array variable"
-msgstr "%s: not an array variable"
-
-#: builtins/setattr.def:165
-#, c-format
-msgid "%s: not a function"
-msgstr "%s: not a function"
-
-#: builtins/shift.def:66 builtins/shift.def:72
-msgid "shift count"
-msgstr "shift count"
-
-#: builtins/shopt.def:226
-msgid "cannot set and unset shell options simultaneously"
-msgstr "cannot set and unset shell options simultaneously"
-
-#: builtins/shopt.def:291
-#, c-format
-msgid "%s: invalid shell option name"
-msgstr "%s: invalid shell option name"
-
-#: builtins/source.def:117
-msgid "filename argument required"
-msgstr "filename argument required"
-
-#: builtins/source.def:137
-#, c-format
-msgid "%s: file not found"
-msgstr "%s: file not found"
-
-#: builtins/suspend.def:93
-msgid "cannot suspend"
-msgstr "cannot suspend"
-
-#: builtins/suspend.def:103
-msgid "cannot suspend a login shell"
-msgstr "cannot suspend a login shell"
-
-#: builtins/type.def:231
-#, c-format
-msgid "%s is aliased to `%s'\n"
-msgstr "%s is aliased to ‘\e[1m%s\e[0m’\n"
-
-#: builtins/type.def:252
-#, c-format
-msgid "%s is a shell keyword\n"
-msgstr "%s is a shell keyword\n"
-
-#: builtins/type.def:272
-#, c-format
-msgid "%s is a function\n"
-msgstr "%s is a function\n"
-
-#: builtins/type.def:297
-#, c-format
-msgid "%s is a shell builtin\n"
-msgstr "%s is a shell builtin\n"
-
-#: builtins/type.def:318
-#, c-format
-msgid "%s is %s\n"
-msgstr "%s is %s\n"
-
-#: builtins/type.def:338
-#, c-format
-msgid "%s is hashed (%s)\n"
-msgstr "%s is hashed (%s)\n"
-
-#: builtins/ulimit.def:332
-#, c-format
-msgid "%s: invalid limit argument"
-msgstr "%s: invalid limit argument"
-
-#: builtins/ulimit.def:358
-#, c-format
-msgid "`%c': bad command"
-msgstr "‘\e[1m%c\e[0m’: bad command"
-
-#: builtins/ulimit.def:387
-#, c-format
-msgid "%s: cannot get limit: %s"
-msgstr "%s: cannot get limit: %s"
-
-#: builtins/ulimit.def:425
-#, c-format
-msgid "%s: cannot modify limit: %s"
-msgstr "%s: cannot modify limit: %s"
-
-#: builtins/umask.def:112
-msgid "octal number"
-msgstr "octal number"
-
-#: builtins/umask.def:226
-#, c-format
-msgid "`%c': invalid symbolic mode operator"
-msgstr "‘\e[1m%c\e[0m’: invalid symbolic mode operator"
-
-#: builtins/umask.def:279
-#, c-format
-msgid "`%c': invalid symbolic mode character"
-msgstr "‘\e[1m%c\e[0m’: invalid symbolic mode character"
-
-#: error.c:165
-#, c-format
-msgid "last command: %s\n"
-msgstr "last command: %s\n"
-
-#: error.c:173
-msgid "Aborting..."
-msgstr "Aborting..."
-
-#: error.c:260
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: warning: "
-
-#: error.c:405
-msgid "unknown command error"
-msgstr "unknown command error"
-
-#: error.c:406
-msgid "bad command type"
-msgstr "bad command type"
-
-#: error.c:407
-msgid "bad connector"
-msgstr "bad connector"
-
-#: error.c:408
-msgid "bad jump"
-msgstr "bad jump"
-
-#: error.c:446
-#, c-format
-msgid "%s: unbound variable"
-msgstr "%s: unbound variable"
-
-#: eval.c:175
-msgid "\atimed out waiting for input: auto-logout\n"
-msgstr "\atimed out waiting for input: auto-logout\n"
-
-#: execute_cmd.c:466
-#, c-format
-msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "cannot redirect standard input from /dev/null: %s"
-
-#: execute_cmd.c:1036
-#, c-format
-msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr "TIMEFORMAT: ‘\e[1m%c\e[0m’: invalid format character"
-
-#: execute_cmd.c:3521
-#, c-format
-msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: restricted: cannot specify ‘\e[1m/\e[0m’ in command names"
-
-#: execute_cmd.c:3609
-#, c-format
-msgid "%s: command not found"
-msgstr "%s: command not found"
-
-#: execute_cmd.c:3839
-#, c-format
-msgid "%s: %s: bad interpreter"
-msgstr "%s: %s: bad interpreter"
-
-#: execute_cmd.c:3876
-#, c-format
-msgid "%s: cannot execute binary file"
-msgstr "%s: cannot execute binary file"
-
-#: execute_cmd.c:3988
-#, c-format
-msgid "cannot duplicate fd %d to fd %d"
-msgstr "cannot duplicate fd %d to fd %d"
-
-#: expr.c:239
-msgid "expression recursion level exceeded"
-msgstr "expression recursion level exceeded"
-
-#: expr.c:263
-msgid "recursion stack underflow"
-msgstr "recursion stack underflow"
-
-#: expr.c:374
-msgid "syntax error in expression"
-msgstr "syntax error in expression"
-
-#: expr.c:414
-msgid "attempted assignment to non-variable"
-msgstr "attempted assignment to non-variable"
-
-#: expr.c:435 expr.c:440 expr.c:750
-msgid "division by 0"
-msgstr "division by 0"
-
-#: expr.c:466
-msgid "bug: bad expassign token"
-msgstr "bug: bad expassign token"
-
-#: expr.c:508
-msgid "`:' expected for conditional expression"
-msgstr "‘\e[1m:\e[0m’ expected for conditional expression"
-
-#: expr.c:775
-msgid "exponent less than 0"
-msgstr "exponent less than 0"
-
-#: expr.c:819
-msgid "identifier expected after pre-increment or pre-decrement"
-msgstr "identifier expected after pre-increment or pre-decrement"
-
-#: expr.c:847
-msgid "missing `)'"
-msgstr "missing ‘\e[1m)\e[0m’"
-
-#: expr.c:871
-msgid "syntax error: operand expected"
-msgstr "syntax error: operand expected"
-
-#: expr.c:1146
-msgid "invalid number"
-msgstr "invalid number"
-
-#: expr.c:1150
-msgid "invalid arithmetic base"
-msgstr "invalid arithmetic base"
-
-#: expr.c:1170
-msgid "value too great for base"
-msgstr "value too great for base"
-
-#: general.c:60
-msgid "getcwd: cannot access parent directories"
-msgstr "getcwd: cannot access parent directories"
-
-#: input.c:231
-#, c-format
-msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr "cannot allocate new file descriptor for bash input from fd %d"
-
-#: input.c:239
-#, c-format
-msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "save_bash_input: buffer already exists for new fd %d"
-
-#: jobs.c:693
-#, c-format
-msgid "deleting stopped job %d with process group %ld"
-msgstr "deleting stopped job %d with process group %ld"
-
-#: jobs.c:1001
-#, c-format
-msgid "describe_pid: %ld: no such pid"
-msgstr "describe_pid: %ld: no such pid"
-
-#: jobs.c:1632 nojobs.c:648
-#, c-format
-msgid "wait: pid %ld is not a child of this shell"
-msgstr "wait: pid %ld is not a child of this shell"
-
-#: jobs.c:1815
-#, c-format
-msgid "wait_for: No record of process %ld"
-msgstr "wait_for: No record of process %ld"
-
-#: jobs.c:2062
-#, c-format
-msgid "wait_for_job: job %d is stopped"
-msgstr "wait_for_job: job %d is stopped"
-
-#: jobs.c:2284
-#, c-format
-msgid "%s: job has terminated"
-msgstr "%s: job has terminated"
-
-#: jobs.c:2293
-#, c-format
-msgid "%s: job %d already in background"
-msgstr "%s: job %d already in background"
-
-#: jobs.c:3037
-msgid "no job control in this shell"
-msgstr "no job control in this shell"
-
-#: lib/malloc/malloc.c:298
-#, c-format
-msgid "malloc: failed assertion: %s\n"
-msgstr "malloc: failed assertion: %s\n"
-
-#: lib/malloc/malloc.c:314
-#, c-format
-msgid ""
-"\r\n"
-"malloc: %s:%d: assertion botched\r\n"
-msgstr ""
-"\r\n"
-"malloc: %s:%d: assertion botched\r\n"
-
-#: lib/malloc/malloc.c:740
-msgid "malloc: block on free list clobbered"
-msgstr "malloc: block on free list clobbered"
-
-#: lib/malloc/malloc.c:817
-msgid "free: called with already freed block argument"
-msgstr "free: called with already freed block argument"
-
-#: lib/malloc/malloc.c:820
-msgid "free: called with unallocated block argument"
-msgstr "free: called with unallocated block argument"
-
-#: lib/malloc/malloc.c:839
-msgid "free: underflow detected; mh_nbytes out of range"
-msgstr "free: underflow detected; mh_nbytes out of range"
-
-#: lib/malloc/malloc.c:845
-msgid "free: start and end chunk sizes differ"
-msgstr "free: start and end chunk sizes differ"
-
-#: lib/malloc/malloc.c:942
-msgid "realloc: called with unallocated block argument"
-msgstr "realloc: called with unallocated block argument"
-
-#: lib/malloc/malloc.c:957
-msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr "realloc: underflow detected; mh_nbytes out of range"
-
-#: lib/malloc/malloc.c:963
-msgid "realloc: start and end chunk sizes differ"
-msgstr "realloc: start and end chunk sizes differ"
-
-#: lib/malloc/table.c:175
-msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr "register_alloc: alloc table is full with FIND_ALLOC?\n"
-
-#: lib/malloc/table.c:182
-#, c-format
-msgid "register_alloc: %p already in table as allocated?\n"
-msgstr "register_alloc: %p already in table as allocated?\n"
-
-#: lib/malloc/table.c:218
-#, c-format
-msgid "register_free: %p already in table as free?\n"
-msgstr "register_free: %p already in table as free?\n"
-
-#: lib/malloc/watch.c:46
-msgid "allocated"
-msgstr "allocated"
-
-#: lib/malloc/watch.c:48
-msgid "freed"
-msgstr "freed"
-
-#: lib/malloc/watch.c:50
-msgid "requesting resize"
-msgstr "requesting resize"
-
-#: lib/malloc/watch.c:52
-msgid "just resized"
-msgstr "just resized"
-
-#: lib/malloc/watch.c:54
-msgid "bug: unknown operation"
-msgstr "bug: unknown operation"
-
-#: lib/malloc/watch.c:56
-#, c-format
-msgid "malloc: watch alert: %p %s "
-msgstr "malloc: watch alert: %p %s "
-
-#: lib/sh/fmtulong.c:101
-msgid "invalid base"
-msgstr "invalid base"
-
-#: lib/sh/netopen.c:158
-#, c-format
-msgid "%s: host unknown"
-msgstr "%s: host unknown"
-
-#: lib/sh/netopen.c:165
-#, c-format
-msgid "%s: invalid service"
-msgstr "%s: invalid service"
-
-#: lib/sh/netopen.c:296
-#, c-format
-msgid "%s: bad network path specification"
-msgstr "%s: bad network path specification"
-
-#: lib/sh/netopen.c:336
-msgid "network operations not supported"
-msgstr "network operations not supported"
-
-#: mailcheck.c:382
-msgid "You have mail in $_"
-msgstr "You have mail in $_"
-
-#: mailcheck.c:407
-msgid "You have new mail in $_"
-msgstr "You have new mail in $_"
-
-#: mailcheck.c:423
-#, c-format
-msgid "The mail in %s has been read\n"
-msgstr "The mail in %s has been read\n"
-
-#: make_cmd.c:318
-msgid "syntax error: arithmetic expression required"
-msgstr "syntax error: arithmetic expression required"
-
-#: make_cmd.c:320
-msgid "syntax error: `;' unexpected"
-msgstr "syntax error: ‘\e[1m;\e[0m’ unexpected"
-
-#: make_cmd.c:321
-#, c-format
-msgid "syntax error: `((%s))'"
-msgstr "syntax error: ‘\e[1m((%s))\e[0m’"
-
-#: make_cmd.c:560
-#, c-format
-msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: bad instruction type %d"
-
-#: make_cmd.c:730
-#, c-format
-msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr "make_redirection: redirection instruction ‘\e[1m%d\e[0m’ out of range"
-
-#: parse.y:2726
-#, c-format
-msgid "unexpected EOF while looking for matching `%c'"
-msgstr "unexpected EOF while looking for matching ‘\e[1m%c\e[0m’"
-
-#: parse.y:3011
-msgid "unexpected EOF while looking for `]]'"
-msgstr "unexpected EOF while looking for ‘\e[1m]]\e[0m’"
-
-#: parse.y:3016
-#, c-format
-msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "syntax error in conditional expression: unexpected token ‘\e[1m%s\e[0m’"
-
-#: parse.y:3020
-msgid "syntax error in conditional expression"
-msgstr "syntax error in conditional expression"
-
-#: parse.y:3098
-#, c-format
-msgid "unexpected token `%s', expected `)'"
-msgstr "unexpected token ‘\e[1m%s\e[0m’, expected ‘\e[1m)\e[0m’"
-
-#: parse.y:3102
-msgid "expected `)'"
-msgstr "expected ‘\e[1m)\e[0m’"
-
-#: parse.y:3130
-#, c-format
-msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "unexpected argument ‘\e[1m%s\e[0m’ to conditional unary operator"
-
-#: parse.y:3134
-msgid "unexpected argument to conditional unary operator"
-msgstr "unexpected argument to conditional unary operator"
-
-#: parse.y:3171
-#, c-format
-msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "unexpected token ‘\e[1m%s\e[0m’, conditional binary operator expected"
-
-#: parse.y:3175
-msgid "conditional binary operator expected"
-msgstr "conditional binary operator expected"
-
-#: parse.y:3191
-#, c-format
-msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "unexpected argument ‘\e[1m%s\e[0m’ to conditional binary operator"
-
-#: parse.y:3195
-msgid "unexpected argument to conditional binary operator"
-msgstr "unexpected argument to conditional binary operator"
-
-#: parse.y:3206
-#, c-format
-msgid "unexpected token `%c' in conditional command"
-msgstr "unexpected token ‘\e[1m%c\e[0m’ in conditional command"
-
-#: parse.y:3209
-#, c-format
-msgid "unexpected token `%s' in conditional command"
-msgstr "unexpected token ‘\e[1m%s\e[0m’ in conditional command"
-
-#: parse.y:3213
-#, c-format
-msgid "unexpected token %d in conditional command"
-msgstr "unexpected token %d in conditional command"
-
-#: parse.y:4400
-#, c-format
-msgid "syntax error near unexpected token `%s'"
-msgstr "syntax error near unexpected token ‘\e[1m%s\e[0m’"
-
-#: parse.y:4418
-#, c-format
-msgid "syntax error near `%s'"
-msgstr "syntax error near ‘\e[1m%s\e[0m’"
-
-#: parse.y:4428
-msgid "syntax error: unexpected end of file"
-msgstr "syntax error: unexpected end of file"
-
-#: parse.y:4428
-msgid "syntax error"
-msgstr "syntax error"
-
-#: parse.y:4490
-#, c-format
-msgid "Use \"%s\" to leave the shell.\n"
-msgstr "Use “\e[1m%s\e[0m” to leave the shell.\n"
-
-#: parse.y:4649
-msgid "unexpected EOF while looking for matching `)'"
-msgstr "unexpected EOF while looking for matching ‘\e[1m)\e[0m’"
-
-#: pcomplete.c:988
-#, c-format
-msgid "completion: function `%s' not found"
-msgstr "completion: function ‘\e[1m%s\e[0m’ not found"
-
-#: pcomplib.c:179
-#, c-format
-msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr "progcomp_insert: %s: NULL COMPSPEC"
-
-#: print_cmd.c:260
-#, c-format
-msgid "print_command: bad connector `%d'"
-msgstr "print_command: bad connector ‘\e[1m%d\e[0m’"
-
-#: print_cmd.c:1172
-#, c-format
-msgid "cprintf: `%c': invalid format character"
-msgstr "cprintf: ‘\e[1m%c\e[0m’: invalid format character"
-
-#: redir.c:99
-msgid "file descriptor out of range"
-msgstr "file descriptor out of range"
-
-#: redir.c:141
-#, c-format
-msgid "%s: ambiguous redirect"
-msgstr "%s: ambiguous redirect"
-
-#: redir.c:145
-#, c-format
-msgid "%s: cannot overwrite existing file"
-msgstr "%s: cannot overwrite existing file"
-
-#: redir.c:150
-#, c-format
-msgid "%s: restricted: cannot redirect output"
-msgstr "%s: restricted: cannot redirect output"
-
-#: redir.c:155
-#, c-format
-msgid "cannot create temp file for here document: %s"
-msgstr "cannot create temp file for here document: %s"
-
-#: redir.c:509
-msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr "/dev/(tcp|udp)/host/port not supported without networking"
-
-#: redir.c:949
-msgid "redirection error: cannot duplicate fd"
-msgstr "redirection error: cannot duplicate fd"
-
-#: shell.c:302
-msgid "could not find /tmp, please create!"
-msgstr "could not find /tmp, please create!"
-
-#: shell.c:306
-msgid "/tmp must be a valid directory name"
-msgstr "/tmp must be a valid directory name"
-
-#: shell.c:839
-#, c-format
-msgid "%c%c: invalid option"
-msgstr "%c%c: invalid option"
-
-#: shell.c:1590
-msgid "I have no name!"
-msgstr "I have no name!"
-
-#: shell.c:1725
-#, c-format
-msgid ""
-"Usage:\t%s [GNU long option] [option] ...\n"
-"\t%s [GNU long option] [option] script-file ...\n"
-msgstr ""
-"Usage:\t%s [GNU long option] [option] ...\n"
-"\t%s [GNU long option] [option] script-file ...\n"
-
-#: shell.c:1727
-msgid "GNU long options:\n"
-msgstr "GNU long options:\n"
-
-#: shell.c:1731
-msgid "Shell options:\n"
-msgstr "Shell options:\n"
-
-#: shell.c:1732
-msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-
-#: shell.c:1747
-#, c-format
-msgid "\t-%s or -o option\n"
-msgstr "\t-%s or -o option\n"
-
-#: shell.c:1753
-#, c-format
-msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr ""
-"Type ‘\e[1m%s -c “\e[1mhelp set\e[0m”\e[0m’ for more information about shell "
-"options.\n"
-
-#: shell.c:1754
-#, c-format
-msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr ""
-"Type ‘\e[1m%s -c help\e[0m’ for more information about shell builtin commands.\n"
-
-#: shell.c:1755
-msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "Use the ‘\e[1mbashbug\e[0m’ command to report bugs.\n"
-
-#: sig.c:485
-#, c-format
-msgid "sigprocmask: %d: invalid operation"
-msgstr "sigprocmask: %d: invalid operation"
-
-#: subst.c:1011
-#, c-format
-msgid "bad substitution: no closing `%s' in %s"
-msgstr "bad substitution: no closing ‘\e[1m%s\e[0m’ in %s"
-
-#: subst.c:2020
-#, c-format
-msgid "%s: cannot assign list to array member"
-msgstr "%s: cannot assign list to array member"
-
-#: subst.c:3516 subst.c:3532
-msgid "cannot make pipe for process substitution"
-msgstr "cannot make pipe for process substitution"
-
-#: subst.c:3563
-msgid "cannot make child for process substitution"
-msgstr "cannot make child for process substitution"
-
-#: subst.c:3608
-#, c-format
-msgid "cannot open named pipe %s for reading"
-msgstr "cannot open named pipe %s for reading"
-
-#: subst.c:3610
-#, c-format
-msgid "cannot open named pipe %s for writing"
-msgstr "cannot open named pipe %s for writing"
-
-#: subst.c:3618
-#, c-format
-msgid "cannout reset nodelay mode for fd %d"
-msgstr "cannout reset nodelay mode for fd %d"
-
-#: subst.c:3628
-#, c-format
-msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "cannot duplicate named pipe %s as fd %d"
-
-#: subst.c:3803
-msgid "cannot make pipe for command substitution"
-msgstr "cannot make pipe for command substitution"
-
-#: subst.c:3832
-msgid "cannot make child for command substitution"
-msgstr "cannot make child for command substitution"
-
-#: subst.c:3849
-msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr "command_substitute: cannot duplicate pipe as fd 1"
-
-#: subst.c:4284
-#, c-format
-msgid "%s: parameter null or not set"
-msgstr "%s: parameter null or not set"
-
-#: subst.c:4529
-#, c-format
-msgid "%s: substring expression < 0"
-msgstr "%s: substring expression < 0"
-
-#: subst.c:5209
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: bad substitution"
-
-#: subst.c:5283
-#, c-format
-msgid "$%s: cannot assign in this way"
-msgstr "$%s: cannot assign in this way"
-
-#: subst.c:6652
-#, c-format
-msgid "no match: %s"
-msgstr "no match: %s"
-
-#: test.c:154
-msgid "argument expected"
-msgstr "argument expected"
-
-#: test.c:163
-#, c-format
-msgid "%s: integer expression expected"
-msgstr "%s: integer expression expected"
-
-#: test.c:361
-msgid "`)' expected"
-msgstr "‘\e[1m)\e[0m’ expected"
-
-#: test.c:363
-#, c-format
-msgid "`)' expected, found %s"
-msgstr "‘\e[1m)\e[0m’ expected, found %s"
-
-#: test.c:378 test.c:787 test.c:790
-#, c-format
-msgid "%s: unary operator expected"
-msgstr "%s: unary operator expected"
-
-#: test.c:543 test.c:830
-#, c-format
-msgid "%s: binary operator expected"
-msgstr "%s: binary operator expected"
-
-#: test.c:905
-msgid "missing `]'"
-msgstr "missing ‘\e[1m]\e[0m’"
-
-#: trap.c:194
-msgid "invalid signal number"
-msgstr "invalid signal number"
-
-#: trap.c:309
-#, c-format
-msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr "run_pending_traps: bad value in trap_list[%d]: %p"
-
-#: trap.c:313
-#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-
-#: trap.c:349
-#, c-format
-msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: bad signal %d"
-
-#: variables.c:310
-#, c-format
-msgid "error importing function definition for `%s'"
-msgstr "error importing function definition for ‘\e[1m%s\e[0m’"
-
-#: variables.c:670
-#, c-format
-msgid "shell level (%d) too high, resetting to 1"
-msgstr "shell level (%d) too high, resetting to 1"
-
-#: variables.c:1610
-msgid "make_local_variable: no function context at current scope"
-msgstr "make_local_variable: no function context at current scope"
-
-#: variables.c:2709
-msgid "all_local_variables: no function context at current scope"
-msgstr "all_local_variables: no function context at current scope"
-
-#: variables.c:2923 variables.c:2932
-#, c-format
-msgid "invalid character %d in exportstr for %s"
-msgstr "invalid character %d in exportstr for %s"
-
-#: variables.c:2938
-#, c-format
-msgid "no `=' in exportstr for %s"
-msgstr "no ‘\e[1m=\e[0m’ in exportstr for %s"
-
-#: variables.c:3363
-msgid "pop_var_context: head of shell_variables not a function context"
-msgstr "pop_var_context: head of shell_variables not a function context"
-
-#: variables.c:3376
-msgid "pop_var_context: no global_variables context"
-msgstr "pop_var_context: no global_variables context"
-
-#: variables.c:3442
-msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr "pop_scope: head of shell_variables not a temporary environment scope"
-
-#: version.c:82
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-
-#: xmalloc.c:93
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:95
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes"
-msgstr "xmalloc: cannot allocate %lu bytes"
-
-#: xmalloc.c:115
-#, c-format
-msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:117
-#, c-format
-msgid "xrealloc: cannot allocate %lu bytes"
-msgstr "xrealloc: cannot allocate %lu bytes"
-
-#: xmalloc.c:151
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:153
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: cannot allocate %lu bytes"
-
-#: xmalloc.c:175
-#, c-format
-msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:177
-#, c-format
-msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
-msgstr "xrealloc: %s:%d: cannot allocate %lu bytes"
-
-#: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr "‘\e[1malias\e[0m’ with no arguments or with the -p option prints the list"
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr "of aliases in the form alias NAME=VALUE on standard output."
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr "Otherwise, an alias is defined for each NAME whose VALUE is given."
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr "A trailing space in VALUE causes the next word to be checked for"
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded. Alias returns"
-msgstr "alias substitution when the alias is expanded. Alias returns"
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr "true unless a NAME is given for which no alias has been defined."
-
-#: builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-msgstr ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
-msgstr "then remove all alias definitions."
-
-#: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr "Bind a key sequence to a Readline function or a macro, or set"
-
-#: builtins.c:267
-msgid "a Readline variable. The non-option argument syntax is equivalent"
-msgstr "a Readline variable. The non-option argument syntax is equivalent"
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr "to that found in ~/.inputrc, but must be passed as a single argument:"
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr "bind '“\e[1m\\C-x\\C-r\e[0m”: re-read-init-file'."
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr "bind accepts the following options:"
-
-#: builtins.c:271
-msgid ""
-" -m keymap Use `keymap' as the keymap for the duration of this"
-msgstr ""
-" -m keymap Use ‘\e[1mkeymap\e[0m’ as the keymap for the duration of "
-"this"
-
-#: builtins.c:272
-msgid " command. Acceptable keymap names are emacs,"
-msgstr " command. Acceptable keymap names are emacs,"
-
-#: builtins.c:273
-msgid ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-msgstr ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-
-#: builtins.c:274
-msgid " vi-command, and vi-insert."
-msgstr " vi-command, and vi-insert."
-
-#: builtins.c:275
-msgid " -l List names of functions."
-msgstr " -l List names of functions."
-
-#: builtins.c:276
-msgid " -P List function names and bindings."
-msgstr " -P List function names and bindings."
-
-#: builtins.c:277
-msgid " -p List functions and bindings in a form that can be"
-msgstr " -p List functions and bindings in a form that can be"
-
-#: builtins.c:278
-msgid " reused as input."
-msgstr " reused as input."
-
-#: builtins.c:279
-msgid " -r keyseq Remove the binding for KEYSEQ."
-msgstr " -r keyseq Remove the binding for KEYSEQ."
-
-#: builtins.c:280
-msgid " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr "\t\t\t\tKEYSEQ is entered."
-
-#: builtins.c:282
-msgid " -f filename Read key bindings from FILENAME."
-msgstr " -f filename Read key bindings from FILENAME."
-
-#: builtins.c:283
-msgid " -q function-name Query about which keys invoke the named function."
-msgstr " -q function-name Query about which keys invoke the named function."
-
-#: builtins.c:284
-msgid ""
-" -u function-name Unbind all keys which are bound to the named function."
-msgstr ""
-" -u function-name Unbind all keys which are bound to the named function."
-
-#: builtins.c:285
-msgid " -V List variable names and values"
-msgstr " -V List variable names and values"
-
-#: builtins.c:286
-msgid " -v List variable names and values in a form that can"
-msgstr " -v List variable names and values in a form that can"
-
-#: builtins.c:287
-msgid " be reused as input."
-msgstr " be reused as input."
-
-#: builtins.c:288
-msgid ""
-" -S List key sequences that invoke macros and their values"
-msgstr ""
-" -S List key sequences that invoke macros and their values"
-
-#: builtins.c:289
-msgid ""
-" -s List key sequences that invoke macros and their values"
-msgstr ""
-" -s List key sequences that invoke macros and their values"
-
-#: builtins.c:290
-msgid " in a form that can be reused as input."
-msgstr " in a form that can be reused as input."
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-msgstr "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr "break N levels."
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr "If N is specified, resume at the N-th enclosing loop."
-
-#: builtins.c:311
-msgid "Run a shell builtin. This is useful when you wish to rename a"
-msgstr "Run a shell builtin. This is useful when you wish to rename a"
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr "shell builtin to be a function, but need the functionality of the"
-
-#: builtins.c:313
-msgid "builtin within the function itself."
-msgstr "builtin within the function itself."
-
-#: builtins.c:334
-msgid "Change the current directory to DIR. The variable $HOME is the"
-msgstr "Change the current directory to DIR. The variable $HOME is the"
-
-#: builtins.c:335
-msgid "default DIR. The variable CDPATH defines the search path for"
-msgstr "default DIR. The variable CDPATH defines the search path for"
-
-#: builtins.c:336
-msgid "the directory containing DIR. Alternative directory names in CDPATH"
-msgstr "the directory containing DIR. Alternative directory names in CDPATH"
-
-#: builtins.c:337
-msgid "are separated by a colon (:). A null directory name is the same as"
-msgstr "are separated by a colon (:). A null directory name is the same as"
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-msgstr ""
-"the current directory, i.e. ‘\e[1m.\e[0m’. If DIR begins with a slash (/),"
-
-#: builtins.c:339
-msgid "then CDPATH is not used. If the directory is not found, and the"
-msgstr "then CDPATH is not used. If the directory is not found, and the"
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr ""
-"shell option ‘\e[1mcdable_vars\e[0m’ is set, then try the word as a variable"
-
-#: builtins.c:341
-msgid "name. If that variable has a value, then cd to the value of that"
-msgstr "name. If that variable has a value, then cd to the value of that"
-
-#: builtins.c:342
-msgid "variable. The -P option says to use the physical directory structure"
-msgstr "variable. The -P option says to use the physical directory structure"
-
-#: builtins.c:343
-msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-"instead of following symbolic links; the -L option forces symbolic links"
-
-#: builtins.c:344
-msgid "to be followed."
-msgstr "to be followed."
-
-#: builtins.c:350
-msgid "Print the current working directory. With the -P option, pwd prints"
-msgstr "Print the current working directory. With the -P option, pwd prints"
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr "the physical directory, without any symbolic links; the -L option"
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr "makes pwd follow symbolic links."
-
-#: builtins.c:358
-msgid "No effect; the command does nothing. A zero exit code is returned."
-msgstr "No effect; the command does nothing. A zero exit code is returned."
-
-#: builtins.c:364
-msgid "Return a successful result."
-msgstr "Return a successful result."
-
-#: builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr "Return an unsuccessful result."
-
-#: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-msgstr "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr ""
-"function called ‘\e[1mls\e[0m’, and you wish to call the command ‘\e[1mls\e[0m’, you "
-"can"
-
-#: builtins.c:378
-msgid "say \"command ls\". If the -p option is given, a default value is used"
-msgstr ""
-"say “\e[1mcommand ls\e[0m”. If the -p option is given, a default value is used"
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities. If"
-msgstr "for PATH that is guaranteed to find all of the standard utilities. If"
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr "the -V or -v option is given, a string is printed describing COMMAND."
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr "The -V option produces a more verbose description."
-
-#: builtins.c:387
-msgid "Declare variables and/or give them attributes. If no NAMEs are"
-msgstr "Declare variables and/or give them attributes. If no NAMEs are"
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead. The -p option"
-msgstr "given, then display the values of variables instead. The -p option"
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr "will display the attributes and values of each NAME."
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr "The flags are:"
-
-#: builtins.c:393
-msgid " -a\tto make NAMEs arrays (if supported)"
-msgstr " -a\tto make NAMEs arrays (if supported)"
-
-#: builtins.c:394
-msgid " -f\tto select from among function names only"
-msgstr " -f\tto select from among function names only"
-
-#: builtins.c:395
-msgid ""
-" -F\tto display function names (and line number and source file name if"
-msgstr ""
-" -F\tto display function names (and line number and source file name if"
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr "\tdebugging) without definitions"
-
-#: builtins.c:397
-msgid " -i\tto make NAMEs have the `integer' attribute"
-msgstr " -i\tto make NAMEs have the ‘\e[1minteger\e[0m’ attribute"
-
-#: builtins.c:398
-msgid " -r\tto make NAMEs readonly"
-msgstr " -r\tto make NAMEs readonly"
-
-#: builtins.c:399
-msgid " -t\tto make NAMEs have the `trace' attribute"
-msgstr " -t\tto make NAMEs have the ‘\e[1mtrace\e[0m’ attribute"
-
-#: builtins.c:400
-msgid " -x\tto make NAMEs export"
-msgstr " -x\tto make NAMEs export"
-
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr "Variables with the integer attribute have arithmetic evaluation (see"
-
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr "‘\e[1mlet\e[0m’) done when the variable is assigned to."
-
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr "When displaying values of variables, -f displays a function's name"
-
-#: builtins.c:406
-msgid "and definition. The -F option restricts the display to function"
-msgstr "and definition. The -F option restricts the display to function"
-
-#: builtins.c:407
-msgid "name only."
-msgstr "name only."
-
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead. When"
-msgstr ""
-"Using ‘\e[1m+\e[0m’ instead of ‘\e[1m-\e[0m’ turns off the given attribute instead. "
-"When"
-
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr ""
-"used in a function, makes NAMEs local, as with the ‘\e[1mlocal\e[0m’ command."
-
-#: builtins.c:416
-msgid "Obsolete. See `declare'."
-msgstr "Obsolete. See ‘\e[1mdeclare\e[0m’."
-
-#: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
-msgstr "Create a local variable called NAME, and give it VALUE. LOCAL"
-
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr "can only be used within a function; it makes the variable NAME"
-
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr "have a visible scope restricted to that function and its children."
-
-#: builtins.c:431
-msgid "Output the ARGs. If -n is specified, the trailing newline is"
-msgstr "Output the ARGs. If -n is specified, the trailing newline is"
-
-#: builtins.c:432
-msgid "suppressed. If the -e option is given, interpretation of the"
-msgstr "suppressed. If the -e option is given, interpretation of the"
-
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr "following backslash-escaped characters is turned on:"
-
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr "\t\\a\talert (bell)"
-
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr "\t\\b\tbackspace"
-
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr "\t\\c\tsuppress trailing newline"
-
-#: builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr "\t\\E\tescape character"
-
-#: builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr "\t\\f\tform feed"
-
-#: builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr "\t\\n\tnew line"
-
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr "\t\\r\tcarriage return"
-
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr "\t\\t\thorizontal tab"
-
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr "\t\\v\tvertical tab"
-
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr "\t\\\\\tbackslash"
-
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr "\t\\num\tthe character whose ASCII code is NUM (octal)."
-
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr "You can explicitly turn off the interpretation of the above characters"
-
-#: builtins.c:447
-msgid "with the -E option."
-msgstr "with the -E option."
-
-#: builtins.c:455
-msgid ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-msgstr ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-
-#: builtins.c:462
-msgid "Enable and disable builtin shell commands. This allows"
-msgstr "Enable and disable builtin shell commands. This allows"
-
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr "you to use a disk command which has the same name as a shell"
-
-#: builtins.c:464
-msgid "builtin without specifying a full pathname. If -n is used, the"
-msgstr "builtin without specifying a full pathname. If -n is used, the"
-
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-msgstr "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr "to use the ‘\e[1mtest\e[0m’ found in $PATH instead of the shell builtin"
-
-#: builtins.c:467
-msgid "version, type `enable -n test'. On systems supporting dynamic"
-msgstr "version, type ‘\e[1menable -n test\e[0m’. On systems supporting dynamic"
-
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr "loading, the -f option may be used to load new builtins from the"
-
-#: builtins.c:469
-msgid "shared object FILENAME. The -d option will delete a builtin"
-msgstr "shared object FILENAME. The -d option will delete a builtin"
-
-#: builtins.c:470
-msgid "previously loaded with -f. If no non-option names are given, or"
-msgstr "previously loaded with -f. If no non-option names are given, or"
-
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed. The"
-msgstr "the -p option is supplied, a list of builtins is printed. The"
-
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr "-a option means to print every builtin with an indication of whether"
-
-#: builtins.c:473
-msgid ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-msgstr ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-
-#: builtins.c:474
-msgid ""
-"`special' builtins. The -n option displays a list of all disabled builtins."
-msgstr ""
-"‘\e[1mspecial\e[0m’ builtins. The -n option displays a list of all disabled "
-"builtins."
-
-#: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr "Read ARGs as input to the shell and execute the resulting command(s)."
-
-#: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr "Getopts is used by shell procedures to parse positional parameters."
-
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr "OPTSTRING contains the option letters to be recognized; if a letter"
-
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr "is followed by a colon, the option is expected to have an argument,"
-
-#: builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr "which should be separated from it by white space."
-
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr "Each time it is invoked, getopts will place the next option in the"
-
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr "shell variable $name, initializing name if it does not exist, and"
-
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr "the index of the next argument to be processed into the shell"
-
-#: builtins.c:495
-msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-msgstr "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-
-#: builtins.c:496
-msgid "a shell script is invoked. When an option requires an argument,"
-msgstr "a shell script is invoked. When an option requires an argument,"
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr "getopts places that argument into the shell variable OPTARG."
-
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways. If the first character"
-msgstr "getopts reports errors in one of two ways. If the first character"
-
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-msgstr "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-
-#: builtins.c:501
-msgid "this mode, no error messages are printed. If an invalid option is"
-msgstr "this mode, no error messages are printed. If an invalid option is"
-
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG. If a"
-msgstr "seen, getopts places the option character found into OPTARG. If a"
-
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr ""
-"required argument is not found, getopts places a ‘\e[1m:\e[0m’ into NAME and"
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found. If getopts is not in"
-msgstr "sets OPTARG to the option character found. If getopts is not in"
-
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr ""
-"silent mode, and an invalid option is seen, getopts places ‘\e[1m?\e[0m’ into"
-
-#: builtins.c:506
-msgid "NAME and unsets OPTARG. If a required argument is not found, a '?'"
-msgstr ""
-"NAME and unsets OPTARG. If a required argument is not found, a ‘\e[1m?\e[0m’"
-
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-
-#: builtins.c:508
-msgid "printed."
-msgstr "printed."
-
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr "If the shell variable OPTERR has the value 0, getopts disables the"
-
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr "printing of error messages, even if the first character of"
-
-#: builtins.c:512
-msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-msgstr "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr "Getopts normally parses the positional parameters ($0 - $9), but if"
-
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr "more arguments are given, they are parsed instead."
-
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr "Exec FILE, replacing this shell with the specified program."
-
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr "If FILE is not specified, the redirections take effect in this"
-
-#: builtins.c:523
-msgid "shell. If the first argument is `-l', then place a dash in the"
-msgstr "shell. If the first argument is ‘\e[1m-l\e[0m’, then place a dash in the"
-
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-msgstr "zeroth arg passed to FILE, as login does. If the ‘\e[1m-c\e[0m’ option"
-
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment. The `-a'"
-msgstr "is supplied, FILE is executed with a null environment. The ‘\e[1m-a\e[0m’"
-
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr "option means to make set argv[0] of the executed process to NAME."
-
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr "If the file cannot be executed and the shell is not interactive,"
-
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr "then the shell exits, unless the shell option ‘\e[1mexecfail\e[0m’ is set."
-
-#: builtins.c:534
-msgid "Exit the shell with a status of N. If N is omitted, the exit status"
-msgstr "Exit the shell with a status of N. If N is omitted, the exit status"
-
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr "is that of the last command executed."
-
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr "Logout of a login shell."
-
-#: builtins.c:548
-msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
-msgstr ""
-"fc is used to list or edit and re-execute commands from the history list."
-
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr "string, which means the most recent command beginning with that"
-
-#: builtins.c:551
-msgid "string."
-msgstr "string."
-
-#: builtins.c:553
-msgid ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-msgstr ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-
-#: builtins.c:554
-msgid " then vi."
-msgstr " then vi."
-
-#: builtins.c:556
-msgid " -l means list lines instead of editing."
-msgstr " -l means list lines instead of editing."
-
-#: builtins.c:557
-msgid " -n means no line numbers listed."
-msgstr " -n means no line numbers listed."
-
-#: builtins.c:558
-msgid ""
-" -r means reverse the order of the lines (making it newest listed first)."
-msgstr ""
-" -r means reverse the order of the lines (making it newest listed first)."
-
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr "With the ‘\e[1mfc -s [pat=rep ...] [command]\e[0m’ format, the command is"
-
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr "re-executed after the substitution OLD=NEW is performed."
-
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr ""
-"A useful alias to use with this is r='fc -s', so that typing ‘\e[1mr cc\e[0m’"
-
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr ""
-"runs the last command beginning with ‘\e[1mcc\e[0m’ and typing ‘\e[1mr\e[0m’ re-"
-"executes"
-
-#: builtins.c:565
-msgid "the last command."
-msgstr "the last command."
-
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-msgstr "Place JOB_SPEC in the foreground, and make it the current job. If"
-
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr "JOB_SPEC is not present, the shell's notion of the current job is"
-
-#: builtins.c:575
-msgid "used."
-msgstr "used."
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr "Place JOB_SPEC in the background, as if it had been started with"
-
-#: builtins.c:584
-msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-msgstr ""
-"‘\e[1m&\e[0m’. If JOB_SPEC is not present, the shell's notion of the current"
-
-#: builtins.c:585
-msgid "job is used."
-msgstr "job is used."
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr "For each NAME, the full pathname of the command is determined and"
-
-#: builtins.c:593
-msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-msgstr "remembered. If the -p option is supplied, PATHNAME is used as the"
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed. The -r"
-msgstr "full pathname of NAME, and no path search is performed. The -r"
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations. The -d"
-msgstr "option causes the shell to forget all remembered locations. The -d"
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-"option causes the shell to forget the remembered location of each NAME."
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr "If the -t option is supplied the full pathname to which each NAME"
-
-#: builtins.c:598
-msgid "corresponds is printed. If multiple NAME arguments are supplied with"
-msgstr "corresponds is printed. If multiple NAME arguments are supplied with"
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname. The -l option"
-msgstr ""
-"-t, the NAME is printed before the hashed full pathname. The -l option"
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr "causes output to be displayed in a format that may be reused as input."
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands. If PATTERN is"
-msgstr "Display helpful information about builtin commands. If PATTERN is"
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr "specified, gives detailed help on all commands matching PATTERN,"
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed. The -s option"
-msgstr "otherwise a list of the builtins is printed. The -s option"
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr "restricts the output for each builtin command matching PATTERN to"
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr "a short usage synopsis."
-
-#: builtins.c:620
-msgid "Display the history list with line numbers. Lines listed with"
-msgstr "Display the history list with line numbers. Lines listed with"
-
-#: builtins.c:621
-msgid "with a `*' have been modified. Argument of N says to list only"
-msgstr "with a ‘\e[1m*\e[0m’ have been modified. Argument of N says to list only"
-
-#: builtins.c:622
-msgid "the last N lines. The `-c' option causes the history list to be"
-msgstr "the last N lines. The ‘\e[1m-c\e[0m’ option causes the history list to be"
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries. The `-d' option deletes"
-msgstr "cleared by deleting all of the entries. The ‘\e[1m-d\e[0m’ option deletes"
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET. The `-w' option writes out the"
-msgstr ""
-"the history entry at offset OFFSET. The ‘\e[1m-w\e[0m’ option writes out the"
-
-#: builtins.c:625
-msgid "current history to the history file; `-r' means to read the file and"
-msgstr ""
-"current history to the history file; ‘\e[1m-r\e[0m’ means to read the file and"
-
-#: builtins.c:626
-msgid "append the contents to the history list instead. `-a' means"
-msgstr "append the contents to the history list instead. ‘\e[1m-a\e[0m’ means"
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr "to append history lines from this session to the history file."
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr "Argument ‘\e[1m-n\e[0m’ means to read all history lines not already read"
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr "from the history file and append them to the history list."
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr "If FILENAME is given, then that is used as the history file else"
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr "if $HISTFILE has a value, that is used, else ~/.bash_history."
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr "If the -s option is supplied, the non-option ARGs are appended to"
-
-#: builtins.c:634
-msgid "the history list as a single entry. The -p option means to perform"
-msgstr "the history list as a single entry. The -p option means to perform"
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr "history expansion on each ARG and display the result, without storing"
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr "anything in the history list."
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr "as a format string for strftime(3) to print the time stamp associated"
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry. No time stamps are printed otherwise."
-msgstr ""
-"with each displayed history entry. No time stamps are printed otherwise."
-
-#: builtins.c:648
-msgid "Lists the active jobs. The -l option lists process id's in addition"
-msgstr "Lists the active jobs. The -l option lists process id's in addition"
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr "to the normal information; the -p option lists process id's only."
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr "If -n is given, only processes that have changed status since the last"
-
-#: builtins.c:651
-msgid "notification are printed. JOBSPEC restricts output to that job. The"
-msgstr "notification are printed. JOBSPEC restricts output to that job. The"
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr "-r and -s options restrict output to running and stopped jobs only,"
-
-#: builtins.c:653
-msgid "respectively. Without options, the status of all active jobs is"
-msgstr "respectively. Without options, the status of all active jobs is"
-
-#: builtins.c:654
-msgid "printed. If -x is given, COMMAND is run after all job specifications"
-msgstr "printed. If -x is given, COMMAND is run after all job specifications"
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr "process group leader."
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-"If the -h option is given, the job is not removed from the table, but is"
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr "marked so that SIGHUP is not sent to the job if the shell receives a"
-
-#: builtins.c:667
-msgid ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-"jobs from the job table; the -r option means to remove only running jobs."
-
-#: builtins.c:675
-msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-msgstr "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-msgstr ""
-"SIGSPEC is not present, then SIGTERM is assumed. An argument of ‘\e[1m-l\e[0m’"
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr ""
-"lists the signal names; if arguments follow ‘\e[1m-l\e[0m’ they are assumed to"
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed. Kill is a shell"
-msgstr "be signal numbers for which names should be listed. Kill is a shell"
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr "builtin for two reasons: it allows job IDs to be used instead of"
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr "process IDs, and, if you have reached the limit on processes that"
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr "you can create, you don't have to start a process to kill another one."
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-msgstr "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr "is done in fixed-width integers with no check for overflow, though"
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error. The following"
-msgstr "division by 0 is trapped and flagged as an error. The following"
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-"list of operators is grouped into levels of equal-precedence operators."
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr "The levels are listed in order of decreasing precedence."
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr "\tid++, id--\tvariable post-increment, post-decrement"
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr "\t++id, --id\tvariable pre-increment, pre-decrement"
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr "\t-, +\t\tunary minus, plus"
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr "\t!, ~\t\tlogical and bitwise negation"
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr "\t**\t\texponentiation"
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr "\t*, /, %\t\tmultiplication, division, remainder"
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr "\t+, -\t\taddition, subtraction"
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr "\t<<, >>\t\tleft and right bitwise shifts"
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr "\t<=, >=, <, >\tcomparison"
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr "\t==, !=\t\tequality, inequality"
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr "\t&\t\tbitwise AND"
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr "\t^\t\tbitwise XOR"
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr "\t|\t\tbitwise OR"
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr "\t&&\t\tlogical AND"
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr "\t||\t\tlogical OR"
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr "\texpr ? expr : expr"
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr "\t\t\tconditional operator"
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr "\t=, *=, /=, %=,"
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr "\t+=, -=, <<=, >>=,"
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr "\t&=, ^=, |=\tassignment"
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands. The name of the variable"
-msgstr "Shell variables are allowed as operands. The name of the variable"
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr "is replaced by its value (coerced to a fixed-width integer) within"
-
-#: builtins.c:716
-msgid "an expression. The variable need not have its integer attribute"
-msgstr "an expression. The variable need not have its integer attribute"
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr "turned on to be used in an expression."
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-msgstr "Operators are evaluated in order of precedence. Sub-expressions in"
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr "parentheses are evaluated first and may override the precedence"
-
-#: builtins.c:721
-msgid "rules above."
-msgstr "rules above."
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr "otherwise."
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-"One line is read from the standard input, or from file descriptor FD if the"
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-
-#: builtins.c:733
-msgid ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-msgstr ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-
-#: builtins.c:734
-msgid ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-
-#: builtins.c:735
-msgid "variable. If the -r option is given, this signifies `raw' input, and"
-msgstr ""
-"variable. If the -r option is given, this signifies ‘\e[1mraw\e[0m’ input, and"
-
-#: builtins.c:736
-msgid "backslash escaping is disabled. The -d option causes read to continue"
-msgstr "backslash escaping is disabled. The -d option causes read to continue"
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-msgstr ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-
-#: builtins.c:739
-msgid ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-msgstr ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-msgstr ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-msgstr ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-
-#: builtins.c:743
-msgid "characters have been read. The -s option causes input coming from a"
-msgstr "characters have been read. The -s option causes input coming from a"
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr "terminal to not be echoed."
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-"The -t option causes read to time out and return failure if a complete line"
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-msgstr ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-msgstr ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr "the argument to -u."
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N. If N"
-msgstr "Causes a function to exit with the return value specified by N. If N"
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr "is omitted, the return status is that of the last command."
-
-#: builtins.c:763
-msgid " -a Mark variables which are modified or created for export."
-msgstr " -a Mark variables which are modified or created for export."
-
-#: builtins.c:764
-msgid " -b Notify of job termination immediately."
-msgstr " -b Notify of job termination immediately."
-
-#: builtins.c:765
-msgid " -e Exit immediately if a command exits with a non-zero status."
-msgstr " -e Exit immediately if a command exits with a non-zero status."
-
-#: builtins.c:766
-msgid " -f Disable file name generation (globbing)."
-msgstr " -f Disable file name generation (globbing)."
-
-#: builtins.c:767
-msgid " -h Remember the location of commands as they are looked up."
-msgstr " -h Remember the location of commands as they are looked up."
-
-#: builtins.c:768
-msgid " -k All assignment arguments are placed in the environment for a"
-msgstr " -k All assignment arguments are placed in the environment for a"
-
-#: builtins.c:769
-msgid " command, not just those that precede the command name."
-msgstr " command, not just those that precede the command name."
-
-#: builtins.c:770
-msgid " -m Job control is enabled."
-msgstr " -m Job control is enabled."
-
-#: builtins.c:771
-msgid " -n Read commands but do not execute them."
-msgstr " -n Read commands but do not execute them."
-
-#: builtins.c:772
-msgid " -o option-name"
-msgstr " -o option-name"
-
-#: builtins.c:773
-msgid " Set the variable corresponding to option-name:"
-msgstr " Set the variable corresponding to option-name:"
-
-#: builtins.c:774
-msgid " allexport same as -a"
-msgstr " allexport same as -a"
-
-#: builtins.c:775
-msgid " braceexpand same as -B"
-msgstr " braceexpand same as -B"
-
-#: builtins.c:777
-msgid " emacs use an emacs-style line editing interface"
-msgstr " emacs use an emacs-style line editing interface"
-
-#: builtins.c:779
-msgid " errexit same as -e"
-msgstr " errexit same as -e"
-
-#: builtins.c:780
-msgid " errtrace same as -E"
-msgstr " errtrace same as -E"
-
-#: builtins.c:781
-msgid " functrace same as -T"
-msgstr " functrace same as -T"
-
-#: builtins.c:782
-msgid " hashall same as -h"
-msgstr " hashall same as -h"
-
-#: builtins.c:784
-msgid " histexpand same as -H"
-msgstr " histexpand same as -H"
-
-#: builtins.c:787
-msgid " history enable command history"
-msgstr " history enable command history"
-
-#: builtins.c:789
-msgid " ignoreeof the shell will not exit upon reading EOF"
-msgstr " ignoreeof the shell will not exit upon reading EOF"
-
-#: builtins.c:790
-msgid " interactive-comments"
-msgstr " interactive-comments"
-
-#: builtins.c:791
-msgid ""
-" allow comments to appear in interactive commands"
-msgstr ""
-" allow comments to appear in interactive commands"
-
-#: builtins.c:792
-msgid " keyword same as -k"
-msgstr " keyword same as -k"
-
-#: builtins.c:793
-msgid " monitor same as -m"
-msgstr " monitor same as -m"
-
-#: builtins.c:794
-msgid " noclobber same as -C"
-msgstr " noclobber same as -C"
-
-#: builtins.c:795
-msgid " noexec same as -n"
-msgstr " noexec same as -n"
-
-#: builtins.c:796
-msgid " noglob same as -f"
-msgstr " noglob same as -f"
-
-#: builtins.c:797
-msgid " nolog currently accepted but ignored"
-msgstr " nolog currently accepted but ignored"
-
-#: builtins.c:798
-msgid " notify same as -b"
-msgstr " notify same as -b"
-
-#: builtins.c:799
-msgid " nounset same as -u"
-msgstr " nounset same as -u"
-
-#: builtins.c:800
-msgid " onecmd same as -t"
-msgstr " onecmd same as -t"
-
-#: builtins.c:801
-msgid " physical same as -P"
-msgstr " physical same as -P"
-
-#: builtins.c:802
-msgid ""
-" pipefail the return value of a pipeline is the status of"
-msgstr ""
-" pipefail the return value of a pipeline is the status of"
-
-#: builtins.c:803
-msgid ""
-" the last command to exit with a non-zero status,"
-msgstr ""
-" the last command to exit with a non-zero status,"
-
-#: builtins.c:804
-msgid ""
-" or zero if no command exited with a non-zero status"
-msgstr ""
-" or zero if no command exited with a non-zero status"
-
-#: builtins.c:805
-msgid " posix change the behavior of bash where the default"
-msgstr " posix change the behavior of bash where the default"
-
-#: builtins.c:806
-msgid " operation differs from the 1003.2 standard to"
-msgstr " operation differs from the 1003.2 standard to"
-
-#: builtins.c:807
-msgid " match the standard"
-msgstr " match the standard"
-
-#: builtins.c:808
-msgid " privileged same as -p"
-msgstr " privileged same as -p"
-
-#: builtins.c:809
-msgid " verbose same as -v"
-msgstr " verbose same as -v"
-
-#: builtins.c:811
-msgid " vi use a vi-style line editing interface"
-msgstr " vi use a vi-style line editing interface"
-
-#: builtins.c:813
-msgid " xtrace same as -x"
-msgstr " xtrace same as -x"
-
-#: builtins.c:814
-msgid ""
-" -p Turned on whenever the real and effective user ids do not match."
-msgstr ""
-" -p Turned on whenever the real and effective user ids do not match."
-
-#: builtins.c:815
-msgid " Disables processing of the $ENV file and importing of shell"
-msgstr " Disables processing of the $ENV file and importing of shell"
-
-#: builtins.c:816
-msgid ""
-" functions. Turning this option off causes the effective uid and"
-msgstr ""
-" functions. Turning this option off causes the effective uid and"
-
-#: builtins.c:817
-msgid " gid to be set to the real uid and gid."
-msgstr " gid to be set to the real uid and gid."
-
-#: builtins.c:818
-msgid " -t Exit after reading and executing one command."
-msgstr " -t Exit after reading and executing one command."
-
-#: builtins.c:819
-msgid " -u Treat unset variables as an error when substituting."
-msgstr " -u Treat unset variables as an error when substituting."
-
-#: builtins.c:820
-msgid " -v Print shell input lines as they are read."
-msgstr " -v Print shell input lines as they are read."
-
-#: builtins.c:821
-msgid " -x Print commands and their arguments as they are executed."
-msgstr " -x Print commands and their arguments as they are executed."
-
-#: builtins.c:823
-msgid " -B the shell will perform brace expansion"
-msgstr " -B the shell will perform brace expansion"
-
-#: builtins.c:825
-msgid " -C If set, disallow existing regular files to be overwritten"
-msgstr " -C If set, disallow existing regular files to be overwritten"
-
-#: builtins.c:826
-msgid " by redirection of output."
-msgstr " by redirection of output."
-
-#: builtins.c:827
-msgid " -E If set, the ERR trap is inherited by shell functions."
-msgstr " -E If set, the ERR trap is inherited by shell functions."
-
-#: builtins.c:829
-msgid " -H Enable ! style history substitution. This flag is on"
-msgstr " -H Enable ! style history substitution. This flag is on"
-
-#: builtins.c:830
-msgid " by default."
-msgstr " by default."
-
-#: builtins.c:832
-msgid " -P If set, do not follow symbolic links when executing commands"
-msgstr " -P If set, do not follow symbolic links when executing commands"
-
-#: builtins.c:833
-msgid " such as cd which change the current directory."
-msgstr " such as cd which change the current directory."
-
-#: builtins.c:834
-msgid " -T If set, the DEBUG trap is inherited by shell functions."
-msgstr " -T If set, the DEBUG trap is inherited by shell functions."
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off. The"
-msgstr "Using + rather than - causes these flags to be turned off. The"
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell. The current"
-msgstr "flags can also be used upon invocation of the shell. The current"
-
-#: builtins.c:838
-msgid "set of flags may be found in $-. The remaining n ARGs are positional"
-msgstr "set of flags may be found in $-. The remaining n ARGs are positional"
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-msgstr "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr "ARGs are given, all shell variables are printed."
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function. Given"
-msgstr "For each NAME, remove the corresponding variable or function. Given"
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-msgstr ""
-"the ‘\e[1m-v\e[0m’, unset will only act on variables. Given the ‘\e[1m-f\e[0m’ flag,"
-
-#: builtins.c:848
-msgid "unset will only act on functions. With neither flag, unset first"
-msgstr "unset will only act on functions. With neither flag, unset first"
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr "tries to unset a variable, and if that fails, then tries to unset a"
-
-#: builtins.c:850
-msgid "function. Some variables cannot be unset; also see readonly."
-msgstr "function. Some variables cannot be unset; also see readonly."
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr "NAMEs are marked for automatic export to the environment of"
-
-#: builtins.c:857
-msgid "subsequently executed commands. If the -f option is given,"
-msgstr "subsequently executed commands. If the -f option is given,"
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-msgstr "the NAMEs refer to functions. If no NAMEs are given, or if ‘\e[1m-p\e[0m’"
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr "is given, a list of all names that are exported in this shell is"
-
-#: builtins.c:860
-msgid "printed. An argument of `-n' says to remove the export property"
-msgstr "printed. An argument of ‘\e[1m-n\e[0m’ says to remove the export property"
-
-#: builtins.c:861
-msgid "from subsequent NAMEs. An argument of `--' disables further option"
-msgstr ""
-"from subsequent NAMEs. An argument of ‘\e[1m--\e[0m’ disables further option"
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr "processing."
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr "The given NAMEs are marked readonly and the values of these NAMEs may"
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment. If the -f option is given,"
-msgstr "not be changed by subsequent assignment. If the -f option is given,"
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked. If no"
-msgstr "then functions corresponding to the NAMEs are so marked. If no"
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr ""
-"arguments are given, or if ‘\e[1m-p\e[0m’ is given, a list of all readonly names"
-
-#: builtins.c:872
-msgid "is printed. The `-a' option means to treat each NAME as"
-msgstr "is printed. The ‘\e[1m-a\e[0m’ option means to treat each NAME as"
-
-#: builtins.c:873
-msgid "an array variable. An argument of `--' disables further option"
-msgstr "an array variable. An argument of ‘\e[1m--\e[0m’ disables further option"
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-msgstr "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr "not given, it is assumed to be 1."
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return. The pathnames"
-msgstr "Read and execute commands from FILENAME and return. The pathnames"
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME. If any"
-msgstr "in $PATH are used to find the directory containing FILENAME. If any"
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr "ARGUMENTS are supplied, they become the positional parameters when"
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr "FILENAME is executed."
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr "Suspend the execution of this shell until it receives a SIGCONT"
-
-#: builtins.c:907
-msgid "signal. The `-f' if specified says not to complain about this"
-msgstr "signal. The ‘\e[1m-f\e[0m’ if specified says not to complain about this"
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr "being a login shell if it is; just suspend anyway."
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr "Exits with a status of 0 (true) or 1 (false) depending on"
-
-#: builtins.c:916
-msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-msgstr "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file. There"
-msgstr "expressions are often used to examine the status of a file. There"
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr "are string operators as well, and numeric comparison operators."
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr "File operators:"
-
-#: builtins.c:922
-msgid " -a FILE True if file exists."
-msgstr " -a FILE True if file exists."
-
-#: builtins.c:923
-msgid " -b FILE True if file is block special."
-msgstr " -b FILE True if file is block special."
-
-#: builtins.c:924
-msgid " -c FILE True if file is character special."
-msgstr " -c FILE True if file is character special."
-
-#: builtins.c:925
-msgid " -d FILE True if file is a directory."
-msgstr " -d FILE True if file is a directory."
-
-#: builtins.c:926
-msgid " -e FILE True if file exists."
-msgstr " -e FILE True if file exists."
-
-#: builtins.c:927
-msgid " -f FILE True if file exists and is a regular file."
-msgstr " -f FILE True if file exists and is a regular file."
-
-#: builtins.c:928
-msgid " -g FILE True if file is set-group-id."
-msgstr " -g FILE True if file is set-group-id."
-
-#: builtins.c:929
-msgid " -h FILE True if file is a symbolic link."
-msgstr " -h FILE True if file is a symbolic link."
-
-#: builtins.c:930
-msgid " -L FILE True if file is a symbolic link."
-msgstr " -L FILE True if file is a symbolic link."
-
-#: builtins.c:931
-msgid " -k FILE True if file has its `sticky' bit set."
-msgstr " -k FILE True if file has its ‘\e[1msticky\e[0m’ bit set."
-
-#: builtins.c:932
-msgid " -p FILE True if file is a named pipe."
-msgstr " -p FILE True if file is a named pipe."
-
-#: builtins.c:933
-msgid " -r FILE True if file is readable by you."
-msgstr " -r FILE True if file is readable by you."
-
-#: builtins.c:934
-msgid " -s FILE True if file exists and is not empty."
-msgstr " -s FILE True if file exists and is not empty."
-
-#: builtins.c:935
-msgid " -S FILE True if file is a socket."
-msgstr " -S FILE True if file is a socket."
-
-#: builtins.c:936
-msgid " -t FD True if FD is opened on a terminal."
-msgstr " -t FD True if FD is opened on a terminal."
-
-#: builtins.c:937
-msgid " -u FILE True if the file is set-user-id."
-msgstr " -u FILE True if the file is set-user-id."
-
-#: builtins.c:938
-msgid " -w FILE True if the file is writable by you."
-msgstr " -w FILE True if the file is writable by you."
-
-#: builtins.c:939
-msgid " -x FILE True if the file is executable by you."
-msgstr " -x FILE True if the file is executable by you."
-
-#: builtins.c:940
-msgid " -O FILE True if the file is effectively owned by you."
-msgstr " -O FILE True if the file is effectively owned by you."
-
-#: builtins.c:941
-msgid " -G FILE True if the file is effectively owned by your group."
-msgstr ""
-" -G FILE True if the file is effectively owned by your group."
-
-#: builtins.c:942
-msgid ""
-" -N FILE True if the file has been modified since it was last read."
-msgstr ""
-" -N FILE True if the file has been modified since it was last read."
-
-#: builtins.c:944
-msgid " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-msgstr " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-
-#: builtins.c:945
-msgid " modification date)."
-msgstr " modification date)."
-
-#: builtins.c:947
-msgid " FILE1 -ot FILE2 True if file1 is older than file2."
-msgstr " FILE1 -ot FILE2 True if file1 is older than file2."
-
-#: builtins.c:949
-msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-msgstr " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr "String operators:"
-
-#: builtins.c:953
-msgid " -z STRING True if string is empty."
-msgstr " -z STRING True if string is empty."
-
-#: builtins.c:955
-msgid " -n STRING"
-msgstr " -n STRING"
-
-#: builtins.c:956
-msgid " STRING True if string is not empty."
-msgstr " STRING True if string is not empty."
-
-#: builtins.c:958
-msgid " STRING1 = STRING2"
-msgstr " STRING1 = STRING2"
-
-#: builtins.c:959
-msgid " True if the strings are equal."
-msgstr " True if the strings are equal."
-
-#: builtins.c:960
-msgid " STRING1 != STRING2"
-msgstr " STRING1 != STRING2"
-
-#: builtins.c:961
-msgid " True if the strings are not equal."
-msgstr " True if the strings are not equal."
-
-#: builtins.c:962
-msgid " STRING1 < STRING2"
-msgstr " STRING1 < STRING2"
-
-#: builtins.c:963
-msgid ""
-" True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-" True if STRING1 sorts before STRING2 lexicographically."
-
-#: builtins.c:964
-msgid " STRING1 > STRING2"
-msgstr " STRING1 > STRING2"
-
-#: builtins.c:965
-msgid ""
-" True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-" True if STRING1 sorts after STRING2 lexicographically."
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr "Other operators:"
-
-#: builtins.c:969
-msgid " -o OPTION True if the shell option OPTION is enabled."
-msgstr " -o OPTION True if the shell option OPTION is enabled."
-
-#: builtins.c:970
-msgid " ! EXPR True if expr is false."
-msgstr " ! EXPR True if expr is false."
-
-#: builtins.c:971
-msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-
-#: builtins.c:972
-msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-
-#: builtins.c:974
-msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-msgstr " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-
-#: builtins.c:975
-msgid " -lt, -le, -gt, or -ge."
-msgstr " -lt, -le, -gt, or -ge."
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr "than ARG2."
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr "This is a synonym for the “\e[1mtest\e[0m” builtin, but the last"
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr "argument must be a literal ‘\e[1m]\e[0m’, to match the opening ‘\e[1m[\e[0m’."
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr "Print the accumulated user and system times for processes run from"
-
-#: builtins.c:993
-msgid "the shell."
-msgstr "the shell."
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr "The command ARG is to be read and executed when the shell receives"
-
-#: builtins.c:1000
-msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-msgstr "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-
-#: builtins.c:1001
-msgid "reset to their original values. If ARG is the null string each"
-msgstr "reset to their original values. If ARG is the null string each"
-
-#: builtins.c:1002
-msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-msgstr "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-
-#: builtins.c:1003
-msgid "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-msgstr "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-
-#: builtins.c:1004
-msgid "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-msgstr "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-
-#: builtins.c:1005
-msgid "command. If ARG is `-p' then the trap commands associated with"
-msgstr "command. If ARG is ‘\e[1m-p\e[0m’ then the trap commands associated with"
-
-#: builtins.c:1006
-msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-msgstr "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-
-#: builtins.c:1007
-msgid "only `-p' is given, trap prints the list of commands associated with"
-msgstr ""
-"only ‘\e[1m-p\e[0m’ is given, trap prints the list of commands associated with"
-
-#: builtins.c:1008
-msgid ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-msgstr ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-
-#: builtins.c:1009
-msgid "or a signal number. `trap -l' prints a list of signal names and their"
-msgstr ""
-"or a signal number. ‘\e[1mtrap -l\e[0m’ prints a list of signal names and their"
-
-#: builtins.c:1010
-msgid "corresponding numbers. Note that a signal can be sent to the shell"
-msgstr "corresponding numbers. Note that a signal can be sent to the shell"
-
-#: builtins.c:1011
-msgid "with \"kill -signal $$\"."
-msgstr "with “\e[1mkill -signal $$\e[0m”."
-
-#: builtins.c:1017
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr "For each NAME, indicate how it would be interpreted if used as a"
-
-#: builtins.c:1018
-msgid "command name."
-msgstr "command name."
-
-#: builtins.c:1020
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr ""
-"If the -t option is used, ‘\e[1mtype\e[0m’ outputs a single word which is one of"
-
-#: builtins.c:1021
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr ""
-"‘\e[1malias\e[0m’, ‘\e[1mkeyword\e[0m’, ‘\e[1mfunction\e[0m’, ‘\e[1mbuiltin\e[0m’, ‘\e[1mfile\e"
-"[0m’ or ‘\e[1m\e[0m’, if NAME is an"
-
-#: builtins.c:1022
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr "alias, shell reserved word, shell function, shell builtin, disk file,"
-
-#: builtins.c:1023
-msgid "or unfound, respectively."
-msgstr "or unfound, respectively."
-
-#: builtins.c:1025
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr ""
-"If the -p flag is used, ‘\e[1mtype\e[0m’ either returns the name of the disk"
-
-#: builtins.c:1026
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr ""
-"file that would be executed, or nothing if ‘\e[1mtype -t NAME\e[0m’ would not"
-
-#: builtins.c:1027
-msgid "return `file'."
-msgstr "return ‘\e[1mfile\e[0m’."
-
-#: builtins.c:1029
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr ""
-"If the -a flag is used, ‘\e[1mtype\e[0m’ displays all of the places that contain"
-
-#: builtins.c:1030
-msgid "an executable named `file'. This includes aliases, builtins, and"
-msgstr ""
-"an executable named ‘\e[1mfile\e[0m’. This includes aliases, builtins, and"
-
-#: builtins.c:1031
-msgid "functions, if and only if the -p flag is not also used."
-msgstr "functions, if and only if the -p flag is not also used."
-
-#: builtins.c:1033
-msgid "The -f flag suppresses shell function lookup."
-msgstr "The -f flag suppresses shell function lookup."
-
-#: builtins.c:1035
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-"The -P flag forces a PATH search for each NAME, even if it is an alias,"
-
-#: builtins.c:1036
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr "builtin, or function, and returns the name of the disk file that would"
-
-#: builtins.c:1037
-msgid "be executed."
-msgstr "be executed."
-
-#: builtins.c:1044
-msgid "Ulimit provides control over the resources available to processes"
-msgstr "Ulimit provides control over the resources available to processes"
-
-#: builtins.c:1045
-msgid "started by the shell, on systems that allow such control. If an"
-msgstr "started by the shell, on systems that allow such control. If an"
-
-#: builtins.c:1046
-msgid "option is given, it is interpreted as follows:"
-msgstr "option is given, it is interpreted as follows:"
-
-#: builtins.c:1048
-msgid " -S\tuse the `soft' resource limit"
-msgstr " -S\tuse the ‘\e[1msoft\e[0m’ resource limit"
-
-#: builtins.c:1049
-msgid " -H\tuse the `hard' resource limit"
-msgstr " -H\tuse the ‘\e[1mhard\e[0m’ resource limit"
-
-#: builtins.c:1050
-msgid " -a\tall current limits are reported"
-msgstr " -a\tall current limits are reported"
-
-#: builtins.c:1051
-msgid " -c\tthe maximum size of core files created"
-msgstr " -c\tthe maximum size of core files created"
-
-#: builtins.c:1052
-msgid " -d\tthe maximum size of a process's data segment"
-msgstr " -d\tthe maximum size of a process's data segment"
-
-#: builtins.c:1053
-msgid " -f\tthe maximum size of files created by the shell"
-msgstr " -f\tthe maximum size of files created by the shell"
-
-#: builtins.c:1054
-msgid " -l\tthe maximum size a process may lock into memory"
-msgstr " -l\tthe maximum size a process may lock into memory"
-
-#: builtins.c:1055
-msgid " -m\tthe maximum resident set size"
-msgstr " -m\tthe maximum resident set size"
-
-#: builtins.c:1056
-msgid " -n\tthe maximum number of open file descriptors"
-msgstr " -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1057
-msgid " -p\tthe pipe buffer size"
-msgstr " -p\tthe pipe buffer size"
-
-#: builtins.c:1058
-msgid " -s\tthe maximum stack size"
-msgstr " -s\tthe maximum stack size"
-
-#: builtins.c:1059
-msgid " -t\tthe maximum amount of cpu time in seconds"
-msgstr " -t\tthe maximum amount of cpu time in seconds"
-
-#: builtins.c:1060
-msgid " -u\tthe maximum number of user processes"
-msgstr " -u\tthe maximum number of user processes"
-
-#: builtins.c:1061
-msgid " -v\tthe size of virtual memory"
-msgstr " -v\tthe size of virtual memory"
-
-#: builtins.c:1063
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr "If LIMIT is given, it is the new value of the specified resource;"
-
-#: builtins.c:1064
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr ""
-"the special LIMIT values ‘\e[1msoft\e[0m’, ‘\e[1mhard\e[0m’, and ‘\e[1munlimited\e[0m’ "
-"stand for"
-
-#: builtins.c:1065
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-
-#: builtins.c:1066
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr "Otherwise, the current value of the specified resource is printed."
-
-#: builtins.c:1067
-msgid "If no option is given, then -f is assumed. Values are in 1024-byte"
-msgstr "If no option is given, then -f is assumed. Values are in 1024-byte"
-
-#: builtins.c:1068
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr "increments, except for -t, which is in seconds, -p, which is in"
-
-#: builtins.c:1069
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr "increments of 512 bytes, and -u, which is an unscaled number of"
-
-#: builtins.c:1070
-msgid "processes."
-msgstr "processes."
-
-#: builtins.c:1077
-msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-msgstr "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-
-#: builtins.c:1078
-msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
-msgstr ""
-"‘\e[1m-S\e[0m’ is supplied, the current value of the mask is printed. The ‘\e[1m-S\e"
-"[0m’"
-
-#: builtins.c:1079
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr "option makes the output symbolic; otherwise an octal number is output."
-
-#: builtins.c:1080
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr ""
-"If ‘\e[1m-p\e[0m’ is supplied, and MODE is omitted, the output is in a form"
-
-#: builtins.c:1081
-msgid "that may be used as input. If MODE begins with a digit, it is"
-msgstr "that may be used as input. If MODE begins with a digit, it is"
-
-#: builtins.c:1082
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr "interpreted as an octal number, otherwise it is a symbolic mode string"
-
-#: builtins.c:1083
-msgid "like that accepted by chmod(1)."
-msgstr "like that accepted by chmod(1)."
-
-#: builtins.c:1090 builtins.c:1102
-msgid "Wait for the specified process and report its termination status. If"
-msgstr "Wait for the specified process and report its termination status. If"
-
-#: builtins.c:1091 builtins.c:1103
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr "N is not given, all currently active child processes are waited for,"
-
-#: builtins.c:1092
-msgid "and the return code is zero. N may be a process ID or a job"
-msgstr "and the return code is zero. N may be a process ID or a job"
-
-#: builtins.c:1093
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr "specification; if a job spec is given, all processes in the job's"
-
-#: builtins.c:1094
-msgid "pipeline are waited for."
-msgstr "pipeline are waited for."
-
-#: builtins.c:1104
-msgid "and the return code is zero. N is a process ID; if it is not given,"
-msgstr "and the return code is zero. N is a process ID; if it is not given,"
-
-#: builtins.c:1105
-msgid "all child processes of the shell are waited for."
-msgstr "all child processes of the shell are waited for."
-
-#: builtins.c:1112
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr ""
-"The ‘\e[1mfor\e[0m’ loop executes a sequence of commands for each member in a"
-
-#: builtins.c:1113
-msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr ""
-"list of items. If ‘\e[1min WORDS ...;\e[0m’ is not present, then ‘\e[1min “\e[1m$@\e"
-"[0m”\e[0m’ is"
-
-#: builtins.c:1114
-msgid "assumed. For each element in WORDS, NAME is set to that element, and"
-msgstr "assumed. For each element in WORDS, NAME is set to that element, and"
-
-#: builtins.c:1115
-msgid "the COMMANDS are executed."
-msgstr "the COMMANDS are executed."
-
-#: builtins.c:1121
-msgid "Equivalent to"
-msgstr "Equivalent to"
-
-#: builtins.c:1122
-msgid "\t(( EXP1 ))"
-msgstr "\t(( EXP1 ))"
-
-#: builtins.c:1123
-msgid "\twhile (( EXP2 )); do"
-msgstr "\twhile (( EXP2 )); do"
-
-#: builtins.c:1124
-msgid "\t\tCOMMANDS"
-msgstr "\t\tCOMMANDS"
-
-#: builtins.c:1125
-msgid "\t\t(( EXP3 ))"
-msgstr "\t\t(( EXP3 ))"
-
-#: builtins.c:1126
-msgid "\tdone"
-msgstr "\tdone"
-
-#: builtins.c:1127
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-msgstr "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-
-#: builtins.c:1128
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr "omitted, it behaves as if it evaluates to 1."
-
-#: builtins.c:1134
-msgid "The WORDS are expanded, generating a list of words. The"
-msgstr "The WORDS are expanded, generating a list of words. The"
-
-#: builtins.c:1135
-msgid "set of expanded words is printed on the standard error, each"
-msgstr "set of expanded words is printed on the standard error, each"
-
-#: builtins.c:1136
-msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-msgstr ""
-"preceded by a number. If ‘\e[1min WORDS\e[0m’ is not present, ‘\e[1min “\e[1m$@\e"
-"[0m”\e[0m’"
-
-#: builtins.c:1137
-msgid "is assumed. The PS3 prompt is then displayed and a line read"
-msgstr "is assumed. The PS3 prompt is then displayed and a line read"
-
-#: builtins.c:1138
-msgid "from the standard input. If the line consists of the number"
-msgstr "from the standard input. If the line consists of the number"
-
-#: builtins.c:1139
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr "corresponding to one of the displayed words, then NAME is set"
-
-#: builtins.c:1140
-msgid "to that word. If the line is empty, WORDS and the prompt are"
-msgstr "to that word. If the line is empty, WORDS and the prompt are"
-
-#: builtins.c:1141
-msgid "redisplayed. If EOF is read, the command completes. Any other"
-msgstr "redisplayed. If EOF is read, the command completes. Any other"
-
-#: builtins.c:1142
-msgid "value read causes NAME to be set to null. The line read is saved"
-msgstr "value read causes NAME to be set to null. The line read is saved"
-
-#: builtins.c:1143
-msgid "in the variable REPLY. COMMANDS are executed after each selection"
-msgstr "in the variable REPLY. COMMANDS are executed after each selection"
-
-#: builtins.c:1144
-msgid "until a break command is executed."
-msgstr "until a break command is executed."
-
-#: builtins.c:1150
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr "Execute PIPELINE and print a summary of the real time, user CPU time,"
-
-#: builtins.c:1151
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr "and system CPU time spent executing PIPELINE when it terminates."
-
-#: builtins.c:1152
-msgid "The return status is the return status of PIPELINE. The `-p' option"
-msgstr ""
-"The return status is the return status of PIPELINE. The ‘\e[1m-p\e[0m’ option"
-
-#: builtins.c:1153
-msgid "prints the timing summary in a slightly different format. This uses"
-msgstr "prints the timing summary in a slightly different format. This uses"
-
-#: builtins.c:1154
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr "the value of the TIMEFORMAT variable as the output format."
-
-#: builtins.c:1160
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-msgstr "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-
-#: builtins.c:1161
-msgid "`|' is used to separate multiple patterns."
-msgstr "‘\e[1m|\e[0m’ is used to separate multiple patterns."
-
-#: builtins.c:1167
-msgid ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-msgstr ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-
-#: builtins.c:1168
-msgid ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-
-#: builtins.c:1169
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-
-#: builtins.c:1170
-msgid ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-msgstr ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-
-#: builtins.c:1171
-msgid ""
-"are executed, if present. The exit status is the exit status of the last"
-msgstr ""
-"are executed, if present. The exit status is the exit status of the last"
-
-#: builtins.c:1172
-msgid "command executed, or zero if no condition tested true."
-msgstr "command executed, or zero if no condition tested true."
-
-#: builtins.c:1178 builtins.c:1185
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr "Expand and execute COMMANDS as long as the final command in the"
-
-#: builtins.c:1179
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr "‘\e[1mwhile\e[0m’ COMMANDS has an exit status of zero."
-
-#: builtins.c:1186
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr "‘\e[1muntil\e[0m’ COMMANDS has an exit status which is not zero."
-
-#: builtins.c:1192
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr "Create a simple command invoked by NAME which runs COMMANDS."
-
-#: builtins.c:1193
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr "Arguments on the command line along with NAME are passed to the"
-
-#: builtins.c:1194
-msgid "function as $0 .. $n."
-msgstr "function as $0 .. $n."
-
-#: builtins.c:1200
-msgid "Run a set of commands in a group. This is one way to redirect an"
-msgstr "Run a set of commands in a group. This is one way to redirect an"
-
-#: builtins.c:1201
-msgid "entire set of commands."
-msgstr "entire set of commands."
-
-#: builtins.c:1207
-msgid "This is similar to the `fg' command. Resume a stopped or background"
-msgstr ""
-"This is similar to the ‘\e[1mfg\e[0m’ command. Resume a stopped or background"
-
-#: builtins.c:1208
-msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-msgstr "job. If you specifiy DIGITS, then that job is used. If you specify"
-
-#: builtins.c:1209
-msgid "WORD, then the job whose name begins with WORD is used. Following the"
-msgstr "WORD, then the job whose name begins with WORD is used. Following the"
-
-#: builtins.c:1210
-msgid "job specification with a `&' places the job in the background."
-msgstr "job specification with a ‘\e[1m&\e[0m’ places the job in the background."
-
-#: builtins.c:1216
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr "The EXPRESSION is evaluated according to the rules for arithmetic"
-
-#: builtins.c:1217
-msgid "evaluation. Equivalent to \"let EXPRESSION\"."
-msgstr "evaluation. Equivalent to “\e[1mlet EXPRESSION\e[0m”."
-
-#: builtins.c:1223
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-
-#: builtins.c:1224
-msgid ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-msgstr ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-
-#: builtins.c:1225
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-"by the ‘\e[1mtest\e[0m’ builtin, and may be combined using the following "
-"operators"
-
-#: builtins.c:1227
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-
-#: builtins.c:1228
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-
-#: builtins.c:1229
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-
-#: builtins.c:1230
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-
-#: builtins.c:1232
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-"When the ‘\e[1m==\e[0m’ and ‘\e[1m!=\e[0m’ operators are used, the string to the "
-"right of the"
-
-#: builtins.c:1233
-msgid "operator is used as a pattern and pattern matching is performed. The"
-msgstr "operator is used as a pattern and pattern matching is performed. The"
-
-#: builtins.c:1234
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-
-#: builtins.c:1235
-msgid "determine the expression's value."
-msgstr "determine the expression's value."
-
-#: builtins.c:1241
-msgid "BASH_VERSION Version information for this Bash."
-msgstr "BASH_VERSION Version information for this Bash."
-
-#: builtins.c:1242
-msgid "CDPATH A colon separated list of directories to search"
-msgstr "CDPATH A colon separated list of directories to search"
-
-#: builtins.c:1243
-msgid "\t\twhen the argument to `cd' is not found in the current"
-msgstr "\t\twhen the argument to ‘\e[1mcd\e[0m’ is not found in the current"
-
-#: builtins.c:1244
-msgid "\t\tdirectory."
-msgstr "\t\tdirectory."
-
-#: builtins.c:1245
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-
-#: builtins.c:1246
-msgid "\t\tbe ignored by pathname expansion."
-msgstr "\t\tbe ignored by pathname expansion."
-
-#: builtins.c:1248
-msgid ""
-"HISTFILE The name of the file where your command history is stored."
-msgstr ""
-"HISTFILE The name of the file where your command history is stored."
-
-#: builtins.c:1249
-msgid "HISTFILESIZE The maximum number of lines this file can contain."
-msgstr "HISTFILESIZE The maximum number of lines this file can contain."
-
-#: builtins.c:1250
-msgid "HISTSIZE The maximum number of history lines that a running"
-msgstr "HISTSIZE The maximum number of history lines that a running"
-
-#: builtins.c:1251
-msgid "\t\tshell can access."
-msgstr "\t\tshell can access."
-
-#: builtins.c:1253
-msgid "HOME The complete pathname to your login directory."
-msgstr "HOME The complete pathname to your login directory."
-
-#: builtins.c:1254
-msgid "HOSTNAME\tThe name of the current host."
-msgstr "HOSTNAME\tThe name of the current host."
-
-#: builtins.c:1255
-msgid "HOSTTYPE The type of CPU this version of Bash is running under."
-msgstr "HOSTTYPE The type of CPU this version of Bash is running under."
-
-#: builtins.c:1256
-msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-msgstr "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-
-#: builtins.c:1257
-msgid "\t\tcharacter as the sole input. If set, then the value"
-msgstr "\t\tcharacter as the sole input. If set, then the value"
-
-#: builtins.c:1258
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr "\t\tof it is the number of EOF characters that can be seen"
-
-#: builtins.c:1259
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr "\t\tin a row on an empty line before the shell will exit"
-
-#: builtins.c:1260
-msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-msgstr "\t\t(default 10). When unset, EOF signifies the end of input."
-
-#: builtins.c:1261
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr "MACHTYPE\tA string describing the current system Bash is running on."
-
-#: builtins.c:1262
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-
-#: builtins.c:1263
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr "MAILPATH\tA colon-separated list of filenames which Bash checks"
-
-#: builtins.c:1264
-msgid "\t\tfor new mail."
-msgstr "\t\tfor new mail."
-
-#: builtins.c:1265
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-
-#: builtins.c:1266
-msgid "PATH A colon-separated list of directories to search when"
-msgstr "PATH A colon-separated list of directories to search when"
-
-#: builtins.c:1267
-msgid "\t\tlooking for commands."
-msgstr "\t\tlooking for commands."
-
-#: builtins.c:1268
-msgid "PROMPT_COMMAND A command to be executed before the printing of each"
-msgstr "PROMPT_COMMAND A command to be executed before the printing of each"
-
-#: builtins.c:1269
-msgid "\t\tprimary prompt."
-msgstr "\t\tprimary prompt."
-
-#: builtins.c:1270
-msgid "PS1 The primary prompt string."
-msgstr "PS1 The primary prompt string."
-
-#: builtins.c:1271
-msgid "PS2 The secondary prompt string."
-msgstr "PS2 The secondary prompt string."
-
-#: builtins.c:1272
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr "PWD\t\tThe full pathname of the current directory."
-
-#: builtins.c:1273
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr "SHELLOPTS\tA colon-separated list of enabled shell options."
-
-#: builtins.c:1274
-msgid "TERM The name of the current terminal type."
-msgstr "TERM The name of the current terminal type."
-
-#: builtins.c:1275
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-
-#: builtins.c:1276
-msgid "\t\t`time' reserved word."
-msgstr "\t\t‘\e[1mtime\e[0m’ reserved word."
-
-#: builtins.c:1277
-msgid "auto_resume Non-null means a command word appearing on a line by"
-msgstr "auto_resume Non-null means a command word appearing on a line by"
-
-#: builtins.c:1278
-msgid "\t\titself is first looked for in the list of currently"
-msgstr "\t\titself is first looked for in the list of currently"
-
-#: builtins.c:1279
-msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-msgstr "\t\tstopped jobs. If found there, that job is foregrounded."
-
-#: builtins.c:1280
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr "\t\tA value of ‘\e[1mexact\e[0m’ means that the command word must"
-
-#: builtins.c:1281
-msgid "\t\texactly match a command in the list of stopped jobs. A"
-msgstr "\t\texactly match a command in the list of stopped jobs. A"
-
-#: builtins.c:1282
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr "\t\tvalue of ‘\e[1msubstring\e[0m’ means that the command word must"
-
-#: builtins.c:1283
-msgid "\t\tmatch a substring of the job. Any other value means that"
-msgstr "\t\tmatch a substring of the job. Any other value means that"
-
-#: builtins.c:1284
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr "\t\tthe command must be a prefix of a stopped job."
-
-#: builtins.c:1287
-msgid "histchars Characters controlling history expansion and quick"
-msgstr "histchars Characters controlling history expansion and quick"
-
-#: builtins.c:1288
-msgid "\t\tsubstitution. The first character is the history"
-msgstr "\t\tsubstitution. The first character is the history"
-
-#: builtins.c:1289
-msgid "\t\tsubstitution character, usually `!'. The second is"
-msgstr "\t\tsubstitution character, usually ‘\e[1m!\e[0m’. The second is"
-
-#: builtins.c:1290
-msgid "\t\tthe `quick substitution' character, usually `^'. The"
-msgstr "\t\tthe ‘\e[1mquick substitution\e[0m’ character, usually ‘\e[1m^\e[0m’. The"
-
-#: builtins.c:1291
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr "\t\tthird is the ‘\e[1mhistory comment\e[0m’ character, usually ‘\e[1m#\e[0m’."
-
-#: builtins.c:1293
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-
-#: builtins.c:1294
-msgid "\t\tcommands should be saved on the history list."
-msgstr "\t\tcommands should be saved on the history list."
-
-#: builtins.c:1306
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr "+N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1307
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr "\tfrom the left of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins.c:1308 builtins.c:1312
-msgid "\tzero) is at the top."
-msgstr "\tzero) is at the top."
-
-#: builtins.c:1310
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr "-N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1311
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr "\tfrom the right of the list shown by ‘\e[1mdirs\e[0m’, starting with"
-
-#: builtins.c:1314
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr "-n\tsuppress the normal change of directory when adding directories"
-
-#: builtins.c:1315
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr "\tto the stack, so only the stack is manipulated."
-
-#: builtins.c:1317
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr "dir\tadds DIR to the directory stack at the top, making it the"
-
-#: builtins.c:1318
-msgid "\tnew current working directory."
-msgstr "\tnew current working directory."
-
-#: builtins.c:1332
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr "+N\tremoves the Nth entry counting from the left of the list"
-
-#: builtins.c:1333
-msgid "\tshown by `dirs', starting with zero. For example: `popd +0'"
-msgstr ""
-"\tshown by ‘\e[1mdirs\e[0m’, starting with zero. For example: ‘\e[1mpopd +0\e[0m’"
-
-#: builtins.c:1334
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr "\tremoves the first directory, ‘\e[1mpopd +1\e[0m’ the second."
-
-#: builtins.c:1336
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr "-N\tremoves the Nth entry counting from the right of the list"
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero. For example: `popd -0'"
-msgstr ""
-"\tshown by ‘\e[1mdirs\e[0m’, starting with zero. For example: ‘\e[1mpopd -0\e[0m’"
-
-#: builtins.c:1338
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr "\tremoves the last directory, ‘\e[1mpopd -1\e[0m’ the next to last."
-
-#: builtins.c:1340
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr "-n\tsuppress the normal change of directory when removing directories"
-
-#: builtins.c:1341
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr "\tfrom the stack, so only the stack is manipulated."
-
-#: builtins.c:1363
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr "+N\tdisplays the Nth entry counting from the left of the list shown by"
-
-#: builtins.c:1364 builtins.c:1367
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr "\tdirs when invoked without options, starting with zero."
-
-#: builtins.c:1366
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N\tdisplays the Nth entry counting from the right of the list shown by"
-
-#: builtins.c:1374
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr "Toggle the values of variables controlling optional behavior."
-
-#: builtins.c:1375
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr "The -s flag means to enable (set) each OPTNAME; the -u flag"
-
-#: builtins.c:1376
-msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-msgstr "unsets each OPTNAME. The -q flag suppresses output; the exit"
-
-#: builtins.c:1377
-msgid "status indicates whether each OPTNAME is set or unset. The -o"
-msgstr "status indicates whether each OPTNAME is set or unset. The -o"
-
-#: builtins.c:1378
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr "option restricts the OPTNAMEs to those defined for use with"
-
-#: builtins.c:1379
-msgid "`set -o'. With no options, or with the -p option, a list of all"
-msgstr "‘\e[1mset -o\e[0m’. With no options, or with the -p option, a list of all"
-
-#: builtins.c:1380
-msgid "settable options is displayed, with an indication of whether or"
-msgstr "settable options is displayed, with an indication of whether or"
-
-#: builtins.c:1381
-msgid "not each is set."
-msgstr "not each is set."
-
-#: builtins.c:1387
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-"printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-
-#: builtins.c:1388
-msgid "is a character string which contains three types of objects: plain"
-msgstr "is a character string which contains three types of objects: plain"
-
-#: builtins.c:1389
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-"characters, which are simply copied to standard output, character escape"
-
-#: builtins.c:1390
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr "sequences which are converted and copied to the standard output, and"
-
-#: builtins.c:1391
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-"format specifications, each of which causes printing of the next successive"
-
-#: builtins.c:1392
-msgid "argument. In addition to the standard printf(1) formats, %b means to"
-msgstr "argument. In addition to the standard printf(1) formats, %b means to"
-
-#: builtins.c:1393
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-"expand backslash escape sequences in the corresponding argument, and %q"
-
-#: builtins.c:1394
-msgid "means to quote the argument in a way that can be reused as shell input."
-msgstr ""
-"means to quote the argument in a way that can be reused as shell input."
-
-#: builtins.c:1401
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr "For each NAME, specify how arguments are to be completed."
-
-#: builtins.c:1402
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr "If the -p option is supplied, or if no options are supplied, existing"
-
-#: builtins.c:1403
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr "completion specifications are printed in a way that allows them to be"
-
-#: builtins.c:1404
-msgid "reused as input. The -r option removes a completion specification for"
-msgstr "reused as input. The -r option removes a completion specification for"
-
-#: builtins.c:1405
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-"each NAME, or, if no NAMEs are supplied, all completion specifications."
-
-#: builtins.c:1413
-msgid "Display the possible completions depending on the options. Intended"
-msgstr "Display the possible completions depending on the options. Intended"
-
-#: builtins.c:1414
-msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-"to be used from within a shell function generating possible completions."
-
-#: builtins.c:1415
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr "If the optional WORD argument is supplied, matches against WORD are"
-
-#: builtins.c:1416
-msgid "generated."
-msgstr "generated."
+++ /dev/null
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
+++ /dev/null
-# English translations for GNU bash package.
-# Copyright (C) 2004 Free Software Foundation, Inc.
-# This file is distributed under the same license as the GNU bash package.
-# Automatically generated, 2004.
-#
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-#: builtins/caller.def:128 builtins/caller.def:132 builtins/pushd.def:655
-#: builtins/pushd.def:663 builtins/pushd.def:666 builtins/pushd.def:676
-#: builtins/pushd.def:680 builtins/pushd.def:684 builtins/pushd.def:687
-#: builtins/pushd.def:690 builtins/pushd.def:699 builtins/pushd.def:703
-#: builtins/pushd.def:707 builtins/pushd.def:710 builtins.c:321 builtins.c:325
-#: builtins.c:390 builtins.c:392 builtins.c:401 builtins.c:404 builtins.c:408
-#: builtins.c:445 builtins.c:487 builtins.c:491 builtins.c:498 builtins.c:509
-#: builtins.c:513 builtins.c:552 builtins.c:555 builtins.c:559 builtins.c:562
-#: builtins.c:630 builtins.c:637 builtins.c:692 builtins.c:713 builtins.c:718
-#: builtins.c:722 builtins.c:745 builtins.c:835 builtins.c:919 builtins.c:921
-#: builtins.c:943 builtins.c:946 builtins.c:948 builtins.c:950 builtins.c:952
-#: builtins.c:954 builtins.c:957 builtins.c:966 builtins.c:968 builtins.c:973
-#: builtins.c:976 builtins.c:1019 builtins.c:1024 builtins.c:1028
-#: builtins.c:1032 builtins.c:1034 builtins.c:1047 builtins.c:1062
-#: builtins.c:1226 builtins.c:1231 builtins.c:1305 builtins.c:1309
-#: builtins.c:1313 builtins.c:1316 builtins.c:1319 builtins.c:1331
-#: builtins.c:1335 builtins.c:1339 builtins.c:1342 builtins.c:1354
-#: builtins.c:1362 builtins.c:1365
-msgid ""
-msgstr ""
-"Project-Id-Version: GNU bash 3.0-rc1\n"
-"POT-Creation-Date: 2003-12-22 15:34-0500\n"
-"PO-Revision-Date: 2003-12-22 15:34-0500\n"
-"Last-Translator: Automatically generated\n"
-"Language-Team: none\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Report-Msgid-Bugs-To: bug-bash@gnu.org\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: arrayfunc.c:45
-msgid "bad array subscript"
-msgstr "bad array subscript"
-
-#: arrayfunc.c:306
-#, c-format
-msgid "%s: cannot assign to non-numeric index"
-msgstr "%s: cannot assign to non-numeric index"
-
-#: bashhist.c:321
-#, c-format
-msgid "%s: cannot create: %s"
-msgstr "%s: cannot create: %s"
-
-#: bashline.c:2791
-msgid "bash_execute_unix_command: cannot find keymap for command"
-msgstr "bash_execute_unix_command: cannot find keymap for command"
-
-#: bashline.c:2840
-#, c-format
-msgid "%s: first non-whitespace character is not `\"'"
-msgstr "%s: first non-whitespace character is not ‘\"’"
-
-#: bashline.c:2869
-#, c-format
-msgid "no closing `%c' in %s"
-msgstr "no closing ‘%c’ in %s"
-
-#: bashline.c:2903
-#, c-format
-msgid "%s: missing colon separator"
-msgstr "%s: missing colon separator"
-
-#: builtins/alias.def:123
-#, c-format
-msgid "`%s': invalid alias name"
-msgstr "‘%s’: invalid alias name"
-
-#: builtins/bind.def:194
-#, c-format
-msgid "`%s': invalid keymap name"
-msgstr "‘%s’: invalid keymap name"
-
-#: builtins/bind.def:233
-#, c-format
-msgid "%s: cannot read: %s"
-msgstr "%s: cannot read: %s"
-
-#: builtins/bind.def:248
-#, c-format
-msgid "`%s': cannot unbind"
-msgstr "‘%s’: cannot unbind"
-
-#: builtins/bind.def:283
-#, c-format
-msgid "`%s': unknown function name"
-msgstr "‘%s’: unknown function name"
-
-#: builtins/bind.def:291
-#, c-format
-msgid "%s is not bound to any keys.\n"
-msgstr "%s is not bound to any keys.\n"
-
-#: builtins/bind.def:295
-#, c-format
-msgid "%s can be invoked via "
-msgstr "%s can be invoked via "
-
-#: builtins/break.def:128
-msgid "only meaningful in a `for', `while', or `until' loop"
-msgstr "only meaningful in a ‘for’, ‘while’, or ‘until’ loop"
-
-#: builtins/caller.def:127 builtins.c:320
-msgid "Returns the context of the current subroutine call."
-msgstr "Returns the context of the current subroutine call."
-
-#: builtins/caller.def:129 builtins.c:322
-msgid "Without EXPR, returns returns \"$line $filename\". With EXPR,"
-msgstr "Without EXPR, returns returns “$line $filename”. With EXPR,"
-
-#: builtins/caller.def:130 builtins.c:323
-msgid "returns \"$line $subroutine $filename\"; this extra information"
-msgstr "returns “$line $subroutine $filename”; this extra information"
-
-#: builtins/caller.def:131 builtins.c:324
-msgid "can be used used to provide a stack trace."
-msgstr "can be used used to provide a stack trace."
-
-#: builtins/caller.def:133 builtins.c:326
-msgid "The value of EXPR indicates how many call frames to go back before the"
-msgstr "The value of EXPR indicates how many call frames to go back before the"
-
-#: builtins/caller.def:134 builtins.c:327
-msgid "current one; the top frame is frame 0."
-msgstr "current one; the top frame is frame 0."
-
-#: builtins/cd.def:188
-msgid "HOME not set"
-msgstr "HOME not set"
-
-#: builtins/cd.def:200
-msgid "OLDPWD not set"
-msgstr "OLDPWD not set"
-
-#: builtins/cd.def:357
-#, c-format
-msgid "write error: %s"
-msgstr "write error: %s"
-
-#: builtins/common.c:133 test.c:921
-msgid "too many arguments"
-msgstr "too many arguments"
-
-#: builtins/common.c:157 shell.c:465 shell.c:737
-#, c-format
-msgid "%s: option requires an argument"
-msgstr "%s: option requires an argument"
-
-#: builtins/common.c:164
-#, c-format
-msgid "%s: numeric argument required"
-msgstr "%s: numeric argument required"
-
-#: builtins/common.c:171
-#, c-format
-msgid "%s: not found"
-msgstr "%s: not found"
-
-#: builtins/common.c:180 shell.c:750
-#, c-format
-msgid "%s: invalid option"
-msgstr "%s: invalid option"
-
-#: builtins/common.c:187
-#, c-format
-msgid "%s: invalid option name"
-msgstr "%s: invalid option name"
-
-#: builtins/common.c:194 general.c:229 general.c:234
-#, c-format
-msgid "`%s': not a valid identifier"
-msgstr "‘%s’: not a valid identifier"
-
-#: builtins/common.c:201
-#, c-format
-msgid "%s: invalid number"
-msgstr "%s: invalid number"
-
-#: builtins/common.c:208
-#, c-format
-msgid "%s: invalid signal specification"
-msgstr "%s: invalid signal specification"
-
-#: builtins/common.c:215
-#, c-format
-msgid "`%s': not a pid or valid job spec"
-msgstr "‘%s’: not a pid or valid job spec"
-
-#: builtins/common.c:222 error.c:453
-#, c-format
-msgid "%s: readonly variable"
-msgstr "%s: readonly variable"
-
-#: builtins/common.c:230
-#, c-format
-msgid "%s: %s out of range"
-msgstr "%s: %s out of range"
-
-#: builtins/common.c:230 builtins/common.c:232
-msgid "argument"
-msgstr "argument"
-
-#: builtins/common.c:232
-#, c-format
-msgid "%s out of range"
-msgstr "%s out of range"
-
-#: builtins/common.c:240
-#, c-format
-msgid "%s: no such job"
-msgstr "%s: no such job"
-
-#: builtins/common.c:248
-#, c-format
-msgid "%s: no job control"
-msgstr "%s: no job control"
-
-#: builtins/common.c:250
-msgid "no job control"
-msgstr "no job control"
-
-#: builtins/common.c:260
-#, c-format
-msgid "%s: restricted"
-msgstr "%s: restricted"
-
-#: builtins/common.c:262
-msgid "restricted"
-msgstr "restricted"
-
-#: builtins/common.c:270
-#, c-format
-msgid "%s: not a shell builtin"
-msgstr "%s: not a shell builtin"
-
-#: builtins/common.c:486
-#, c-format
-msgid "%s: error retrieving current directory: %s: %s\n"
-msgstr "%s: error retrieving current directory: %s: %s\n"
-
-#: builtins/common.c:553 builtins/common.c:555
-#, c-format
-msgid "%s: ambiguous job spec"
-msgstr "%s: ambiguous job spec"
-
-#: builtins/complete.def:251
-#, c-format
-msgid "%s: invalid action name"
-msgstr "%s: invalid action name"
-
-#: builtins/complete.def:381 builtins/complete.def:524
-#, c-format
-msgid "%s: no completion specification"
-msgstr "%s: no completion specification"
-
-#: builtins/complete.def:571
-msgid "warning: -F option may not work as you expect"
-msgstr "warning: -F option may not work as you expect"
-
-#: builtins/complete.def:573
-msgid "warning: -C option may not work as you expect"
-msgstr "warning: -C option may not work as you expect"
-
-#: builtins/declare.def:105
-msgid "can only be used in a function"
-msgstr "can only be used in a function"
-
-#: builtins/declare.def:295
-msgid "cannot use `-f' to make functions"
-msgstr "cannot use ‘-f’ to make functions"
-
-#: builtins/declare.def:307 execute_cmd.c:3949
-#, c-format
-msgid "%s: readonly function"
-msgstr "%s: readonly function"
-
-#: builtins/declare.def:389
-#, c-format
-msgid "%s: cannot destroy array variables in this way"
-msgstr "%s: cannot destroy array variables in this way"
-
-#: builtins/enable.def:128 builtins/enable.def:136
-msgid "dynamic loading not available"
-msgstr "dynamic loading not available"
-
-#: builtins/enable.def:303
-#, c-format
-msgid "cannot open shared object %s: %s"
-msgstr "cannot open shared object %s: %s"
-
-#: builtins/enable.def:326
-#, c-format
-msgid "cannot find %s in shared object %s: %s"
-msgstr "cannot find %s in shared object %s: %s"
-
-#: builtins/enable.def:450
-#, c-format
-msgid "%s: not dynamically loaded"
-msgstr "%s: not dynamically loaded"
-
-#: builtins/enable.def:465
-#, c-format
-msgid "%s: cannot delete: %s"
-msgstr "%s: cannot delete: %s"
-
-#: builtins/evalfile.c:128 execute_cmd.c:3821 shell.c:1395
-#, c-format
-msgid "%s: is a directory"
-msgstr "%s: is a directory"
-
-#: builtins/evalfile.c:133
-#, c-format
-msgid "%s: not a regular file"
-msgstr "%s: not a regular file"
-
-#: builtins/evalfile.c:141
-#, c-format
-msgid "%s: file is too large"
-msgstr "%s: file is too large"
-
-#: builtins/exec.def:205
-#, c-format
-msgid "%s: cannot execute: %s"
-msgstr "%s: cannot execute: %s"
-
-#: builtins/exit.def:83
-msgid "not login shell: use `exit'"
-msgstr "not login shell: use ‘exit’"
-
-#: builtins/exit.def:111
-msgid "There are stopped jobs.\n"
-msgstr "There are stopped jobs.\n"
-
-#: builtins/fc.def:252
-msgid "no command found"
-msgstr "no command found"
-
-#: builtins/fc.def:317
-msgid "history specification"
-msgstr "history specification"
-
-#: builtins/fc.def:338
-#, c-format
-msgid "%s: cannot open temp file: %s"
-msgstr "%s: cannot open temp file: %s"
-
-#: builtins/fg_bg.def:133
-#, c-format
-msgid "job %d started without job control"
-msgstr "job %d started without job control"
-
-#: builtins/getopt.c:109
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: illegal option -- %c\n"
-
-#: builtins/getopt.c:110
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: option requires an argument -- %c\n"
-
-#: builtins/hash.def:83
-msgid "hashing disabled"
-msgstr "hashing disabled"
-
-#: builtins/hash.def:128
-#, c-format
-msgid "%s: hash table empty\n"
-msgstr "%s: hash table empty\n"
-
-#: builtins/help.def:108
-msgid "Shell commands matching keywords `"
-msgstr "Shell commands matching keywords `"
-
-#: builtins/help.def:110
-msgid "Shell commands matching keyword `"
-msgstr "Shell commands matching keyword `"
-
-#: builtins/help.def:138
-#, c-format
-msgid ""
-"no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."
-msgstr ""
-"no help topics match ‘%s’. Try ‘help help’ or ‘man -k %s’ or ‘info %s’."
-
-#: builtins/help.def:164
-#, c-format
-msgid "%s: cannot open: %s"
-msgstr "%s: cannot open: %s"
-
-#: builtins/help.def:182
-msgid ""
-"These shell commands are defined internally. Type `help' to see this list.\n"
-"Type `help name' to find out more about the function `name'.\n"
-"Use `info bash' to find out more about the shell in general.\n"
-"Use `man -k' or `info' to find out more about commands not in this list.\n"
-"\n"
-"A star (*) next to a name means that the command is disabled.\n"
-"\n"
-msgstr ""
-"These shell commands are defined internally. Type ‘help’ to see this list.\n"
-"Type ‘help name’ to find out more about the function ‘name’.\n"
-"Use ‘info bash’ to find out more about the shell in general.\n"
-"Use ‘man -k’ or ‘info’ to find out more about commands not in this list.\n"
-"\n"
-"A star (*) next to a name means that the command is disabled.\n"
-"\n"
-
-#: builtins/history.def:148
-msgid "cannot use more than one of -anrw"
-msgstr "cannot use more than one of -anrw"
-
-#: builtins/history.def:180
-msgid "history position"
-msgstr "history position"
-
-#: builtins/history.def:390
-#, c-format
-msgid "%s: history expansion failed"
-msgstr "%s: history expansion failed"
-
-#: builtins/jobs.def:99
-msgid "no other options allowed with `-x'"
-msgstr "no other options allowed with ‘-x’"
-
-#: builtins/kill.def:187
-#, c-format
-msgid "%s: arguments must be process or job IDs"
-msgstr "%s: arguments must be process or job IDs"
-
-#: builtins/kill.def:248
-msgid "Unknown error"
-msgstr "Unknown error"
-
-#: builtins/let.def:94 builtins/let.def:119 expr.c:496 expr.c:511
-msgid "expression expected"
-msgstr "expression expected"
-
-#: builtins/printf.def:249
-#, c-format
-msgid "`%s': missing format character"
-msgstr "‘%s’: missing format character"
-
-#: builtins/printf.def:408
-#, c-format
-msgid "`%c': invalid format character"
-msgstr "‘%c’: invalid format character"
-
-#: builtins/printf.def:601
-msgid "missing hex digit for \\x"
-msgstr "missing hex digit for \\x"
-
-#: builtins/pushd.def:168
-msgid "no other directory"
-msgstr "no other directory"
-
-#: builtins/pushd.def:435
-msgid "<no current directory>"
-msgstr "<no current directory>"
-
-#: builtins/pushd.def:652 builtins.c:1351
-msgid "Display the list of currently remembered directories. Directories"
-msgstr "Display the list of currently remembered directories. Directories"
-
-#: builtins/pushd.def:653 builtins.c:1352
-msgid "find their way onto the list with the `pushd' command; you can get"
-msgstr "find their way onto the list with the ‘pushd’ command; you can get"
-
-#: builtins/pushd.def:654 builtins.c:1353
-msgid "back up through the list with the `popd' command."
-msgstr "back up through the list with the ‘popd’ command."
-
-#: builtins/pushd.def:656 builtins.c:1355
-msgid "The -l flag specifies that `dirs' should not print shorthand versions"
-msgstr "The -l flag specifies that ‘dirs’ should not print shorthand versions"
-
-#: builtins/pushd.def:657 builtins.c:1356
-msgid "of directories which are relative to your home directory. This means"
-msgstr "of directories which are relative to your home directory. This means"
-
-#: builtins/pushd.def:658 builtins.c:1357
-msgid "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"
-msgstr "that ‘~/bin’ might be displayed as ‘/homes/bfox/bin’. The -v flag"
-
-#: builtins/pushd.def:659 builtins.c:1358
-msgid "causes `dirs' to print the directory stack with one entry per line,"
-msgstr "causes ‘dirs’ to print the directory stack with one entry per line,"
-
-#: builtins/pushd.def:660 builtins.c:1359
-msgid "prepending the directory name with its position in the stack. The -p"
-msgstr "prepending the directory name with its position in the stack. The -p"
-
-#: builtins/pushd.def:661 builtins.c:1360
-msgid "flag does the same thing, but the stack position is not prepended."
-msgstr "flag does the same thing, but the stack position is not prepended."
-
-#: builtins/pushd.def:662 builtins.c:1361
-msgid "The -c flag clears the directory stack by deleting all of the elements."
-msgstr ""
-"The -c flag clears the directory stack by deleting all of the elements."
-
-#: builtins/pushd.def:664
-msgid "+N displays the Nth entry counting from the left of the list shown by"
-msgstr ""
-"+N displays the Nth entry counting from the left of the list shown by"
-
-#: builtins/pushd.def:665 builtins/pushd.def:668
-msgid " dirs when invoked without options, starting with zero."
-msgstr " dirs when invoked without options, starting with zero."
-
-#: builtins/pushd.def:667
-msgid ""
-"-N displays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N displays the Nth entry counting from the right of the list shown by"
-
-#: builtins/pushd.def:673 builtins.c:1302
-msgid "Adds a directory to the top of the directory stack, or rotates"
-msgstr "Adds a directory to the top of the directory stack, or rotates"
-
-#: builtins/pushd.def:674 builtins.c:1303
-msgid "the stack, making the new top of the stack the current working"
-msgstr "the stack, making the new top of the stack the current working"
-
-#: builtins/pushd.def:675 builtins.c:1304
-msgid "directory. With no arguments, exchanges the top two directories."
-msgstr "directory. With no arguments, exchanges the top two directories."
-
-#: builtins/pushd.def:677
-msgid "+N Rotates the stack so that the Nth directory (counting"
-msgstr "+N Rotates the stack so that the Nth directory (counting"
-
-#: builtins/pushd.def:678
-msgid " from the left of the list shown by `dirs', starting with"
-msgstr " from the left of the list shown by ‘dirs’, starting with"
-
-#: builtins/pushd.def:679 builtins/pushd.def:683
-msgid " zero) is at the top."
-msgstr " zero) is at the top."
-
-#: builtins/pushd.def:681
-msgid "-N Rotates the stack so that the Nth directory (counting"
-msgstr "-N Rotates the stack so that the Nth directory (counting"
-
-#: builtins/pushd.def:682
-msgid " from the right of the list shown by `dirs', starting with"
-msgstr " from the right of the list shown by ‘dirs’, starting with"
-
-#: builtins/pushd.def:685
-msgid "-n suppress the normal change of directory when adding directories"
-msgstr "-n suppress the normal change of directory when adding directories"
-
-#: builtins/pushd.def:686
-msgid " to the stack, so only the stack is manipulated."
-msgstr " to the stack, so only the stack is manipulated."
-
-#: builtins/pushd.def:688
-msgid "dir adds DIR to the directory stack at the top, making it the"
-msgstr "dir adds DIR to the directory stack at the top, making it the"
-
-#: builtins/pushd.def:689
-msgid " new current working directory."
-msgstr " new current working directory."
-
-#: builtins/pushd.def:691 builtins/pushd.def:711 builtins.c:1320
-#: builtins.c:1343
-msgid "You can see the directory stack with the `dirs' command."
-msgstr "You can see the directory stack with the ‘dirs’ command."
-
-#: builtins/pushd.def:696 builtins.c:1328
-msgid "Removes entries from the directory stack. With no arguments,"
-msgstr "Removes entries from the directory stack. With no arguments,"
-
-#: builtins/pushd.def:697 builtins.c:1329
-msgid "removes the top directory from the stack, and cd's to the new"
-msgstr "removes the top directory from the stack, and cd's to the new"
-
-#: builtins/pushd.def:698 builtins.c:1330
-msgid "top directory."
-msgstr "top directory."
-
-#: builtins/pushd.def:700
-msgid "+N removes the Nth entry counting from the left of the list"
-msgstr "+N removes the Nth entry counting from the left of the list"
-
-#: builtins/pushd.def:701
-msgid " shown by `dirs', starting with zero. For example: `popd +0'"
-msgstr " shown by ‘dirs’, starting with zero. For example: ‘popd +0’"
-
-#: builtins/pushd.def:702
-msgid " removes the first directory, `popd +1' the second."
-msgstr " removes the first directory, ‘popd +1’ the second."
-
-#: builtins/pushd.def:704
-msgid "-N removes the Nth entry counting from the right of the list"
-msgstr "-N removes the Nth entry counting from the right of the list"
-
-#: builtins/pushd.def:705
-msgid " shown by `dirs', starting with zero. For example: `popd -0'"
-msgstr " shown by ‘dirs’, starting with zero. For example: ‘popd -0’"
-
-#: builtins/pushd.def:706
-msgid " removes the last directory, `popd -1' the next to last."
-msgstr " removes the last directory, ‘popd -1’ the next to last."
-
-#: builtins/pushd.def:708
-msgid "-n suppress the normal change of directory when removing directories"
-msgstr "-n suppress the normal change of directory when removing directories"
-
-#: builtins/pushd.def:709
-msgid " from the stack, so only the stack is manipulated."
-msgstr " from the stack, so only the stack is manipulated."
-
-#: builtins/read.def:207
-#, c-format
-msgid "%s: invalid timeout specification"
-msgstr "%s: invalid timeout specification"
-
-#: builtins/read.def:230
-#, c-format
-msgid "%s: invalid file descriptor specification"
-msgstr "%s: invalid file descriptor specification"
-
-#: builtins/read.def:237
-#, c-format
-msgid "%d: invalid file descriptor: %s"
-msgstr "%d: invalid file descriptor: %s"
-
-#: builtins/read.def:463
-#, c-format
-msgid "read error: %d: %s"
-msgstr "read error: %d: %s"
-
-#: builtins/return.def:63
-msgid "can only `return' from a function or sourced script"
-msgstr "can only ‘return’ from a function or sourced script"
-
-#: builtins/set.def:743
-msgid "cannot simultaneously unset a function and a variable"
-msgstr "cannot simultaneously unset a function and a variable"
-
-#: builtins/set.def:780
-#, c-format
-msgid "%s: cannot unset"
-msgstr "%s: cannot unset"
-
-#: builtins/set.def:787
-#, c-format
-msgid "%s: cannot unset: readonly %s"
-msgstr "%s: cannot unset: readonly %s"
-
-#: builtins/set.def:798
-#, c-format
-msgid "%s: not an array variable"
-msgstr "%s: not an array variable"
-
-#: builtins/setattr.def:165
-#, c-format
-msgid "%s: not a function"
-msgstr "%s: not a function"
-
-#: builtins/shift.def:66 builtins/shift.def:72
-msgid "shift count"
-msgstr "shift count"
-
-#: builtins/shopt.def:226
-msgid "cannot set and unset shell options simultaneously"
-msgstr "cannot set and unset shell options simultaneously"
-
-#: builtins/shopt.def:291
-#, c-format
-msgid "%s: invalid shell option name"
-msgstr "%s: invalid shell option name"
-
-#: builtins/source.def:117
-msgid "filename argument required"
-msgstr "filename argument required"
-
-#: builtins/source.def:137
-#, c-format
-msgid "%s: file not found"
-msgstr "%s: file not found"
-
-#: builtins/suspend.def:93
-msgid "cannot suspend"
-msgstr "cannot suspend"
-
-#: builtins/suspend.def:103
-msgid "cannot suspend a login shell"
-msgstr "cannot suspend a login shell"
-
-#: builtins/type.def:231
-#, c-format
-msgid "%s is aliased to `%s'\n"
-msgstr "%s is aliased to ‘%s’\n"
-
-#: builtins/type.def:252
-#, c-format
-msgid "%s is a shell keyword\n"
-msgstr "%s is a shell keyword\n"
-
-#: builtins/type.def:272
-#, c-format
-msgid "%s is a function\n"
-msgstr "%s is a function\n"
-
-#: builtins/type.def:297
-#, c-format
-msgid "%s is a shell builtin\n"
-msgstr "%s is a shell builtin\n"
-
-#: builtins/type.def:318
-#, c-format
-msgid "%s is %s\n"
-msgstr "%s is %s\n"
-
-#: builtins/type.def:338
-#, c-format
-msgid "%s is hashed (%s)\n"
-msgstr "%s is hashed (%s)\n"
-
-#: builtins/ulimit.def:332
-#, c-format
-msgid "%s: invalid limit argument"
-msgstr "%s: invalid limit argument"
-
-#: builtins/ulimit.def:358
-#, c-format
-msgid "`%c': bad command"
-msgstr "‘%c’: bad command"
-
-#: builtins/ulimit.def:387
-#, c-format
-msgid "%s: cannot get limit: %s"
-msgstr "%s: cannot get limit: %s"
-
-#: builtins/ulimit.def:425
-#, c-format
-msgid "%s: cannot modify limit: %s"
-msgstr "%s: cannot modify limit: %s"
-
-#: builtins/umask.def:112
-msgid "octal number"
-msgstr "octal number"
-
-#: builtins/umask.def:226
-#, c-format
-msgid "`%c': invalid symbolic mode operator"
-msgstr "‘%c’: invalid symbolic mode operator"
-
-#: builtins/umask.def:279
-#, c-format
-msgid "`%c': invalid symbolic mode character"
-msgstr "‘%c’: invalid symbolic mode character"
-
-#: error.c:165
-#, c-format
-msgid "last command: %s\n"
-msgstr "last command: %s\n"
-
-#: error.c:173
-msgid "Aborting..."
-msgstr "Aborting..."
-
-#: error.c:260
-#, c-format
-msgid "%s: warning: "
-msgstr "%s: warning: "
-
-#: error.c:405
-msgid "unknown command error"
-msgstr "unknown command error"
-
-#: error.c:406
-msgid "bad command type"
-msgstr "bad command type"
-
-#: error.c:407
-msgid "bad connector"
-msgstr "bad connector"
-
-#: error.c:408
-msgid "bad jump"
-msgstr "bad jump"
-
-#: error.c:446
-#, c-format
-msgid "%s: unbound variable"
-msgstr "%s: unbound variable"
-
-#: eval.c:175
-msgid "\atimed out waiting for input: auto-logout\n"
-msgstr "\atimed out waiting for input: auto-logout\n"
-
-#: execute_cmd.c:466
-#, c-format
-msgid "cannot redirect standard input from /dev/null: %s"
-msgstr "cannot redirect standard input from /dev/null: %s"
-
-#: execute_cmd.c:1036
-#, c-format
-msgid "TIMEFORMAT: `%c': invalid format character"
-msgstr "TIMEFORMAT: ‘%c’: invalid format character"
-
-#: execute_cmd.c:3521
-#, c-format
-msgid "%s: restricted: cannot specify `/' in command names"
-msgstr "%s: restricted: cannot specify ‘/’ in command names"
-
-#: execute_cmd.c:3609
-#, c-format
-msgid "%s: command not found"
-msgstr "%s: command not found"
-
-#: execute_cmd.c:3839
-#, c-format
-msgid "%s: %s: bad interpreter"
-msgstr "%s: %s: bad interpreter"
-
-#: execute_cmd.c:3876
-#, c-format
-msgid "%s: cannot execute binary file"
-msgstr "%s: cannot execute binary file"
-
-#: execute_cmd.c:3988
-#, c-format
-msgid "cannot duplicate fd %d to fd %d"
-msgstr "cannot duplicate fd %d to fd %d"
-
-#: expr.c:239
-msgid "expression recursion level exceeded"
-msgstr "expression recursion level exceeded"
-
-#: expr.c:263
-msgid "recursion stack underflow"
-msgstr "recursion stack underflow"
-
-#: expr.c:374
-msgid "syntax error in expression"
-msgstr "syntax error in expression"
-
-#: expr.c:414
-msgid "attempted assignment to non-variable"
-msgstr "attempted assignment to non-variable"
-
-#: expr.c:435 expr.c:440 expr.c:750
-msgid "division by 0"
-msgstr "division by 0"
-
-#: expr.c:466
-msgid "bug: bad expassign token"
-msgstr "bug: bad expassign token"
-
-#: expr.c:508
-msgid "`:' expected for conditional expression"
-msgstr "‘:’ expected for conditional expression"
-
-#: expr.c:775
-msgid "exponent less than 0"
-msgstr "exponent less than 0"
-
-#: expr.c:819
-msgid "identifier expected after pre-increment or pre-decrement"
-msgstr "identifier expected after pre-increment or pre-decrement"
-
-#: expr.c:847
-msgid "missing `)'"
-msgstr "missing ‘)’"
-
-#: expr.c:871
-msgid "syntax error: operand expected"
-msgstr "syntax error: operand expected"
-
-#: expr.c:1146
-msgid "invalid number"
-msgstr "invalid number"
-
-#: expr.c:1150
-msgid "invalid arithmetic base"
-msgstr "invalid arithmetic base"
-
-#: expr.c:1170
-msgid "value too great for base"
-msgstr "value too great for base"
-
-#: general.c:60
-msgid "getcwd: cannot access parent directories"
-msgstr "getcwd: cannot access parent directories"
-
-#: input.c:231
-#, c-format
-msgid "cannot allocate new file descriptor for bash input from fd %d"
-msgstr "cannot allocate new file descriptor for bash input from fd %d"
-
-#: input.c:239
-#, c-format
-msgid "save_bash_input: buffer already exists for new fd %d"
-msgstr "save_bash_input: buffer already exists for new fd %d"
-
-#: jobs.c:693
-#, c-format
-msgid "deleting stopped job %d with process group %ld"
-msgstr "deleting stopped job %d with process group %ld"
-
-#: jobs.c:1001
-#, c-format
-msgid "describe_pid: %ld: no such pid"
-msgstr "describe_pid: %ld: no such pid"
-
-#: jobs.c:1632 nojobs.c:648
-#, c-format
-msgid "wait: pid %ld is not a child of this shell"
-msgstr "wait: pid %ld is not a child of this shell"
-
-#: jobs.c:1815
-#, c-format
-msgid "wait_for: No record of process %ld"
-msgstr "wait_for: No record of process %ld"
-
-#: jobs.c:2062
-#, c-format
-msgid "wait_for_job: job %d is stopped"
-msgstr "wait_for_job: job %d is stopped"
-
-#: jobs.c:2284
-#, c-format
-msgid "%s: job has terminated"
-msgstr "%s: job has terminated"
-
-#: jobs.c:2293
-#, c-format
-msgid "%s: job %d already in background"
-msgstr "%s: job %d already in background"
-
-#: jobs.c:3037
-msgid "no job control in this shell"
-msgstr "no job control in this shell"
-
-#: lib/malloc/malloc.c:298
-#, c-format
-msgid "malloc: failed assertion: %s\n"
-msgstr "malloc: failed assertion: %s\n"
-
-#: lib/malloc/malloc.c:314
-#, c-format
-msgid ""
-"\r\n"
-"malloc: %s:%d: assertion botched\r\n"
-msgstr ""
-"\r\n"
-"malloc: %s:%d: assertion botched\r\n"
-
-#: lib/malloc/malloc.c:740
-msgid "malloc: block on free list clobbered"
-msgstr "malloc: block on free list clobbered"
-
-#: lib/malloc/malloc.c:817
-msgid "free: called with already freed block argument"
-msgstr "free: called with already freed block argument"
-
-#: lib/malloc/malloc.c:820
-msgid "free: called with unallocated block argument"
-msgstr "free: called with unallocated block argument"
-
-#: lib/malloc/malloc.c:839
-msgid "free: underflow detected; mh_nbytes out of range"
-msgstr "free: underflow detected; mh_nbytes out of range"
-
-#: lib/malloc/malloc.c:845
-msgid "free: start and end chunk sizes differ"
-msgstr "free: start and end chunk sizes differ"
-
-#: lib/malloc/malloc.c:942
-msgid "realloc: called with unallocated block argument"
-msgstr "realloc: called with unallocated block argument"
-
-#: lib/malloc/malloc.c:957
-msgid "realloc: underflow detected; mh_nbytes out of range"
-msgstr "realloc: underflow detected; mh_nbytes out of range"
-
-#: lib/malloc/malloc.c:963
-msgid "realloc: start and end chunk sizes differ"
-msgstr "realloc: start and end chunk sizes differ"
-
-#: lib/malloc/table.c:175
-msgid "register_alloc: alloc table is full with FIND_ALLOC?\n"
-msgstr "register_alloc: alloc table is full with FIND_ALLOC?\n"
-
-#: lib/malloc/table.c:182
-#, c-format
-msgid "register_alloc: %p already in table as allocated?\n"
-msgstr "register_alloc: %p already in table as allocated?\n"
-
-#: lib/malloc/table.c:218
-#, c-format
-msgid "register_free: %p already in table as free?\n"
-msgstr "register_free: %p already in table as free?\n"
-
-#: lib/malloc/watch.c:46
-msgid "allocated"
-msgstr "allocated"
-
-#: lib/malloc/watch.c:48
-msgid "freed"
-msgstr "freed"
-
-#: lib/malloc/watch.c:50
-msgid "requesting resize"
-msgstr "requesting resize"
-
-#: lib/malloc/watch.c:52
-msgid "just resized"
-msgstr "just resized"
-
-#: lib/malloc/watch.c:54
-msgid "bug: unknown operation"
-msgstr "bug: unknown operation"
-
-#: lib/malloc/watch.c:56
-#, c-format
-msgid "malloc: watch alert: %p %s "
-msgstr "malloc: watch alert: %p %s "
-
-#: lib/sh/fmtulong.c:101
-msgid "invalid base"
-msgstr "invalid base"
-
-#: lib/sh/netopen.c:158
-#, c-format
-msgid "%s: host unknown"
-msgstr "%s: host unknown"
-
-#: lib/sh/netopen.c:165
-#, c-format
-msgid "%s: invalid service"
-msgstr "%s: invalid service"
-
-#: lib/sh/netopen.c:296
-#, c-format
-msgid "%s: bad network path specification"
-msgstr "%s: bad network path specification"
-
-#: lib/sh/netopen.c:336
-msgid "network operations not supported"
-msgstr "network operations not supported"
-
-#: mailcheck.c:382
-msgid "You have mail in $_"
-msgstr "You have mail in $_"
-
-#: mailcheck.c:407
-msgid "You have new mail in $_"
-msgstr "You have new mail in $_"
-
-#: mailcheck.c:423
-#, c-format
-msgid "The mail in %s has been read\n"
-msgstr "The mail in %s has been read\n"
-
-#: make_cmd.c:318
-msgid "syntax error: arithmetic expression required"
-msgstr "syntax error: arithmetic expression required"
-
-#: make_cmd.c:320
-msgid "syntax error: `;' unexpected"
-msgstr "syntax error: ‘;’ unexpected"
-
-#: make_cmd.c:321
-#, c-format
-msgid "syntax error: `((%s))'"
-msgstr "syntax error: ‘((%s))’"
-
-#: make_cmd.c:560
-#, c-format
-msgid "make_here_document: bad instruction type %d"
-msgstr "make_here_document: bad instruction type %d"
-
-#: make_cmd.c:730
-#, c-format
-msgid "make_redirection: redirection instruction `%d' out of range"
-msgstr "make_redirection: redirection instruction ‘%d’ out of range"
-
-#: parse.y:2726
-#, c-format
-msgid "unexpected EOF while looking for matching `%c'"
-msgstr "unexpected EOF while looking for matching ‘%c’"
-
-#: parse.y:3011
-msgid "unexpected EOF while looking for `]]'"
-msgstr "unexpected EOF while looking for ‘]]’"
-
-#: parse.y:3016
-#, c-format
-msgid "syntax error in conditional expression: unexpected token `%s'"
-msgstr "syntax error in conditional expression: unexpected token ‘%s’"
-
-#: parse.y:3020
-msgid "syntax error in conditional expression"
-msgstr "syntax error in conditional expression"
-
-#: parse.y:3098
-#, c-format
-msgid "unexpected token `%s', expected `)'"
-msgstr "unexpected token ‘%s’, expected ‘)’"
-
-#: parse.y:3102
-msgid "expected `)'"
-msgstr "expected ‘)’"
-
-#: parse.y:3130
-#, c-format
-msgid "unexpected argument `%s' to conditional unary operator"
-msgstr "unexpected argument ‘%s’ to conditional unary operator"
-
-#: parse.y:3134
-msgid "unexpected argument to conditional unary operator"
-msgstr "unexpected argument to conditional unary operator"
-
-#: parse.y:3171
-#, c-format
-msgid "unexpected token `%s', conditional binary operator expected"
-msgstr "unexpected token ‘%s’, conditional binary operator expected"
-
-#: parse.y:3175
-msgid "conditional binary operator expected"
-msgstr "conditional binary operator expected"
-
-#: parse.y:3191
-#, c-format
-msgid "unexpected argument `%s' to conditional binary operator"
-msgstr "unexpected argument ‘%s’ to conditional binary operator"
-
-#: parse.y:3195
-msgid "unexpected argument to conditional binary operator"
-msgstr "unexpected argument to conditional binary operator"
-
-#: parse.y:3206
-#, c-format
-msgid "unexpected token `%c' in conditional command"
-msgstr "unexpected token ‘%c’ in conditional command"
-
-#: parse.y:3209
-#, c-format
-msgid "unexpected token `%s' in conditional command"
-msgstr "unexpected token ‘%s’ in conditional command"
-
-#: parse.y:3213
-#, c-format
-msgid "unexpected token %d in conditional command"
-msgstr "unexpected token %d in conditional command"
-
-#: parse.y:4400
-#, c-format
-msgid "syntax error near unexpected token `%s'"
-msgstr "syntax error near unexpected token ‘%s’"
-
-#: parse.y:4418
-#, c-format
-msgid "syntax error near `%s'"
-msgstr "syntax error near ‘%s’"
-
-#: parse.y:4428
-msgid "syntax error: unexpected end of file"
-msgstr "syntax error: unexpected end of file"
-
-#: parse.y:4428
-msgid "syntax error"
-msgstr "syntax error"
-
-#: parse.y:4490
-#, c-format
-msgid "Use \"%s\" to leave the shell.\n"
-msgstr "Use “%s” to leave the shell.\n"
-
-#: parse.y:4649
-msgid "unexpected EOF while looking for matching `)'"
-msgstr "unexpected EOF while looking for matching ‘)’"
-
-#: pcomplete.c:988
-#, c-format
-msgid "completion: function `%s' not found"
-msgstr "completion: function ‘%s’ not found"
-
-#: pcomplib.c:179
-#, c-format
-msgid "progcomp_insert: %s: NULL COMPSPEC"
-msgstr "progcomp_insert: %s: NULL COMPSPEC"
-
-#: print_cmd.c:260
-#, c-format
-msgid "print_command: bad connector `%d'"
-msgstr "print_command: bad connector ‘%d’"
-
-#: print_cmd.c:1172
-#, c-format
-msgid "cprintf: `%c': invalid format character"
-msgstr "cprintf: ‘%c’: invalid format character"
-
-#: redir.c:99
-msgid "file descriptor out of range"
-msgstr "file descriptor out of range"
-
-#: redir.c:141
-#, c-format
-msgid "%s: ambiguous redirect"
-msgstr "%s: ambiguous redirect"
-
-#: redir.c:145
-#, c-format
-msgid "%s: cannot overwrite existing file"
-msgstr "%s: cannot overwrite existing file"
-
-#: redir.c:150
-#, c-format
-msgid "%s: restricted: cannot redirect output"
-msgstr "%s: restricted: cannot redirect output"
-
-#: redir.c:155
-#, c-format
-msgid "cannot create temp file for here document: %s"
-msgstr "cannot create temp file for here document: %s"
-
-#: redir.c:509
-msgid "/dev/(tcp|udp)/host/port not supported without networking"
-msgstr "/dev/(tcp|udp)/host/port not supported without networking"
-
-#: redir.c:949
-msgid "redirection error: cannot duplicate fd"
-msgstr "redirection error: cannot duplicate fd"
-
-#: shell.c:302
-msgid "could not find /tmp, please create!"
-msgstr "could not find /tmp, please create!"
-
-#: shell.c:306
-msgid "/tmp must be a valid directory name"
-msgstr "/tmp must be a valid directory name"
-
-#: shell.c:839
-#, c-format
-msgid "%c%c: invalid option"
-msgstr "%c%c: invalid option"
-
-#: shell.c:1590
-msgid "I have no name!"
-msgstr "I have no name!"
-
-#: shell.c:1725
-#, c-format
-msgid ""
-"Usage:\t%s [GNU long option] [option] ...\n"
-"\t%s [GNU long option] [option] script-file ...\n"
-msgstr ""
-"Usage:\t%s [GNU long option] [option] ...\n"
-"\t%s [GNU long option] [option] script-file ...\n"
-
-#: shell.c:1727
-msgid "GNU long options:\n"
-msgstr "GNU long options:\n"
-
-#: shell.c:1731
-msgid "Shell options:\n"
-msgstr "Shell options:\n"
-
-#: shell.c:1732
-msgid "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-msgstr "\t-irsD or -c command or -O shopt_option\t\t(invocation only)\n"
-
-#: shell.c:1747
-#, c-format
-msgid "\t-%s or -o option\n"
-msgstr "\t-%s or -o option\n"
-
-#: shell.c:1753
-#, c-format
-msgid "Type `%s -c \"help set\"' for more information about shell options.\n"
-msgstr "Type ‘%s -c “help set”’ for more information about shell options.\n"
-
-#: shell.c:1754
-#, c-format
-msgid "Type `%s -c help' for more information about shell builtin commands.\n"
-msgstr "Type ‘%s -c help’ for more information about shell builtin commands.\n"
-
-#: shell.c:1755
-msgid "Use the `bashbug' command to report bugs.\n"
-msgstr "Use the ‘bashbug’ command to report bugs.\n"
-
-#: sig.c:485
-#, c-format
-msgid "sigprocmask: %d: invalid operation"
-msgstr "sigprocmask: %d: invalid operation"
-
-#: subst.c:1011
-#, c-format
-msgid "bad substitution: no closing `%s' in %s"
-msgstr "bad substitution: no closing ‘%s’ in %s"
-
-#: subst.c:2020
-#, c-format
-msgid "%s: cannot assign list to array member"
-msgstr "%s: cannot assign list to array member"
-
-#: subst.c:3516 subst.c:3532
-msgid "cannot make pipe for process substitution"
-msgstr "cannot make pipe for process substitution"
-
-#: subst.c:3563
-msgid "cannot make child for process substitution"
-msgstr "cannot make child for process substitution"
-
-#: subst.c:3608
-#, c-format
-msgid "cannot open named pipe %s for reading"
-msgstr "cannot open named pipe %s for reading"
-
-#: subst.c:3610
-#, c-format
-msgid "cannot open named pipe %s for writing"
-msgstr "cannot open named pipe %s for writing"
-
-#: subst.c:3618
-#, c-format
-msgid "cannout reset nodelay mode for fd %d"
-msgstr "cannout reset nodelay mode for fd %d"
-
-#: subst.c:3628
-#, c-format
-msgid "cannot duplicate named pipe %s as fd %d"
-msgstr "cannot duplicate named pipe %s as fd %d"
-
-#: subst.c:3803
-msgid "cannot make pipe for command substitution"
-msgstr "cannot make pipe for command substitution"
-
-#: subst.c:3832
-msgid "cannot make child for command substitution"
-msgstr "cannot make child for command substitution"
-
-#: subst.c:3849
-msgid "command_substitute: cannot duplicate pipe as fd 1"
-msgstr "command_substitute: cannot duplicate pipe as fd 1"
-
-#: subst.c:4284
-#, c-format
-msgid "%s: parameter null or not set"
-msgstr "%s: parameter null or not set"
-
-#: subst.c:4529
-#, c-format
-msgid "%s: substring expression < 0"
-msgstr "%s: substring expression < 0"
-
-#: subst.c:5209
-#, c-format
-msgid "%s: bad substitution"
-msgstr "%s: bad substitution"
-
-#: subst.c:5283
-#, c-format
-msgid "$%s: cannot assign in this way"
-msgstr "$%s: cannot assign in this way"
-
-#: subst.c:6652
-#, c-format
-msgid "no match: %s"
-msgstr "no match: %s"
-
-#: test.c:154
-msgid "argument expected"
-msgstr "argument expected"
-
-#: test.c:163
-#, c-format
-msgid "%s: integer expression expected"
-msgstr "%s: integer expression expected"
-
-#: test.c:361
-msgid "`)' expected"
-msgstr "‘)’ expected"
-
-#: test.c:363
-#, c-format
-msgid "`)' expected, found %s"
-msgstr "‘)’ expected, found %s"
-
-#: test.c:378 test.c:787 test.c:790
-#, c-format
-msgid "%s: unary operator expected"
-msgstr "%s: unary operator expected"
-
-#: test.c:543 test.c:830
-#, c-format
-msgid "%s: binary operator expected"
-msgstr "%s: binary operator expected"
-
-#: test.c:905
-msgid "missing `]'"
-msgstr "missing ‘]’"
-
-#: trap.c:194
-msgid "invalid signal number"
-msgstr "invalid signal number"
-
-#: trap.c:309
-#, c-format
-msgid "run_pending_traps: bad value in trap_list[%d]: %p"
-msgstr "run_pending_traps: bad value in trap_list[%d]: %p"
-
-#: trap.c:313
-#, c-format
-msgid ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-msgstr ""
-"run_pending_traps: signal handler is SIG_DFL, resending %d (%s) to myself"
-
-#: trap.c:349
-#, c-format
-msgid "trap_handler: bad signal %d"
-msgstr "trap_handler: bad signal %d"
-
-#: variables.c:310
-#, c-format
-msgid "error importing function definition for `%s'"
-msgstr "error importing function definition for ‘%s’"
-
-#: variables.c:670
-#, c-format
-msgid "shell level (%d) too high, resetting to 1"
-msgstr "shell level (%d) too high, resetting to 1"
-
-#: variables.c:1610
-msgid "make_local_variable: no function context at current scope"
-msgstr "make_local_variable: no function context at current scope"
-
-#: variables.c:2709
-msgid "all_local_variables: no function context at current scope"
-msgstr "all_local_variables: no function context at current scope"
-
-#: variables.c:2923 variables.c:2932
-#, c-format
-msgid "invalid character %d in exportstr for %s"
-msgstr "invalid character %d in exportstr for %s"
-
-#: variables.c:2938
-#, c-format
-msgid "no `=' in exportstr for %s"
-msgstr "no ‘=’ in exportstr for %s"
-
-#: variables.c:3363
-msgid "pop_var_context: head of shell_variables not a function context"
-msgstr "pop_var_context: head of shell_variables not a function context"
-
-#: variables.c:3376
-msgid "pop_var_context: no global_variables context"
-msgstr "pop_var_context: no global_variables context"
-
-#: variables.c:3442
-msgid "pop_scope: head of shell_variables not a temporary environment scope"
-msgstr "pop_scope: head of shell_variables not a temporary environment scope"
-
-#: version.c:82
-msgid "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-msgstr "Copyright (C) 2004 Free Software Foundation, Inc.\n"
-
-#: xmalloc.c:93
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:95
-#, c-format
-msgid "xmalloc: cannot allocate %lu bytes"
-msgstr "xmalloc: cannot allocate %lu bytes"
-
-#: xmalloc.c:115
-#, c-format
-msgid "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr "xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:117
-#, c-format
-msgid "xrealloc: cannot allocate %lu bytes"
-msgstr "xrealloc: cannot allocate %lu bytes"
-
-#: xmalloc.c:151
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-msgstr "xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:153
-#, c-format
-msgid "xmalloc: %s:%d: cannot allocate %lu bytes"
-msgstr "xmalloc: %s:%d: cannot allocate %lu bytes"
-
-#: xmalloc.c:175
-#, c-format
-msgid "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-msgstr "xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"
-
-#: xmalloc.c:177
-#, c-format
-msgid "xrealloc: %s:%d: cannot allocate %lu bytes"
-msgstr "xrealloc: %s:%d: cannot allocate %lu bytes"
-
-#: builtins.c:244
-msgid "`alias' with no arguments or with the -p option prints the list"
-msgstr "‘alias’ with no arguments or with the -p option prints the list"
-
-#: builtins.c:245
-msgid "of aliases in the form alias NAME=VALUE on standard output."
-msgstr "of aliases in the form alias NAME=VALUE on standard output."
-
-#: builtins.c:246
-msgid "Otherwise, an alias is defined for each NAME whose VALUE is given."
-msgstr "Otherwise, an alias is defined for each NAME whose VALUE is given."
-
-#: builtins.c:247
-msgid "A trailing space in VALUE causes the next word to be checked for"
-msgstr "A trailing space in VALUE causes the next word to be checked for"
-
-#: builtins.c:248
-msgid "alias substitution when the alias is expanded. Alias returns"
-msgstr "alias substitution when the alias is expanded. Alias returns"
-
-#: builtins.c:249
-msgid "true unless a NAME is given for which no alias has been defined."
-msgstr "true unless a NAME is given for which no alias has been defined."
-
-#: builtins.c:257
-msgid ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-msgstr ""
-"Remove NAMEs from the list of defined aliases. If the -a option is given,"
-
-#: builtins.c:258
-msgid "then remove all alias definitions."
-msgstr "then remove all alias definitions."
-
-#: builtins.c:266
-msgid "Bind a key sequence to a Readline function or a macro, or set"
-msgstr "Bind a key sequence to a Readline function or a macro, or set"
-
-#: builtins.c:267
-msgid "a Readline variable. The non-option argument syntax is equivalent"
-msgstr "a Readline variable. The non-option argument syntax is equivalent"
-
-#: builtins.c:268
-msgid "to that found in ~/.inputrc, but must be passed as a single argument:"
-msgstr "to that found in ~/.inputrc, but must be passed as a single argument:"
-
-#: builtins.c:269
-msgid "bind '\"\\C-x\\C-r\": re-read-init-file'."
-msgstr "bind '“\\C-x\\C-r”: re-read-init-file'."
-
-#: builtins.c:270
-msgid "bind accepts the following options:"
-msgstr "bind accepts the following options:"
-
-#: builtins.c:271
-msgid ""
-" -m keymap Use `keymap' as the keymap for the duration of this"
-msgstr ""
-" -m keymap Use ‘keymap’ as the keymap for the duration of this"
-
-#: builtins.c:272
-msgid " command. Acceptable keymap names are emacs,"
-msgstr " command. Acceptable keymap names are emacs,"
-
-#: builtins.c:273
-msgid ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-msgstr ""
-" emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,"
-
-#: builtins.c:274
-msgid " vi-command, and vi-insert."
-msgstr " vi-command, and vi-insert."
-
-#: builtins.c:275
-msgid " -l List names of functions."
-msgstr " -l List names of functions."
-
-#: builtins.c:276
-msgid " -P List function names and bindings."
-msgstr " -P List function names and bindings."
-
-#: builtins.c:277
-msgid " -p List functions and bindings in a form that can be"
-msgstr " -p List functions and bindings in a form that can be"
-
-#: builtins.c:278
-msgid " reused as input."
-msgstr " reused as input."
-
-#: builtins.c:279
-msgid " -r keyseq Remove the binding for KEYSEQ."
-msgstr " -r keyseq Remove the binding for KEYSEQ."
-
-#: builtins.c:280
-msgid " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-msgstr " -x keyseq:shell-command\tCause SHELL-COMMAND to be executed when"
-
-#: builtins.c:281
-msgid "\t\t\t\tKEYSEQ is entered."
-msgstr "\t\t\t\tKEYSEQ is entered."
-
-#: builtins.c:282
-msgid " -f filename Read key bindings from FILENAME."
-msgstr " -f filename Read key bindings from FILENAME."
-
-#: builtins.c:283
-msgid " -q function-name Query about which keys invoke the named function."
-msgstr " -q function-name Query about which keys invoke the named function."
-
-#: builtins.c:284
-msgid ""
-" -u function-name Unbind all keys which are bound to the named function."
-msgstr ""
-" -u function-name Unbind all keys which are bound to the named function."
-
-#: builtins.c:285
-msgid " -V List variable names and values"
-msgstr " -V List variable names and values"
-
-#: builtins.c:286
-msgid " -v List variable names and values in a form that can"
-msgstr " -v List variable names and values in a form that can"
-
-#: builtins.c:287
-msgid " be reused as input."
-msgstr " be reused as input."
-
-#: builtins.c:288
-msgid ""
-" -S List key sequences that invoke macros and their values"
-msgstr ""
-" -S List key sequences that invoke macros and their values"
-
-#: builtins.c:289
-msgid ""
-" -s List key sequences that invoke macros and their values"
-msgstr ""
-" -s List key sequences that invoke macros and their values"
-
-#: builtins.c:290
-msgid " in a form that can be reused as input."
-msgstr " in a form that can be reused as input."
-
-#: builtins.c:297
-msgid "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-msgstr "Exit from within a FOR, WHILE or UNTIL loop. If N is specified,"
-
-#: builtins.c:298
-msgid "break N levels."
-msgstr "break N levels."
-
-#: builtins.c:304
-msgid "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-msgstr "Resume the next iteration of the enclosing FOR, WHILE or UNTIL loop."
-
-#: builtins.c:305
-msgid "If N is specified, resume at the N-th enclosing loop."
-msgstr "If N is specified, resume at the N-th enclosing loop."
-
-#: builtins.c:311
-msgid "Run a shell builtin. This is useful when you wish to rename a"
-msgstr "Run a shell builtin. This is useful when you wish to rename a"
-
-#: builtins.c:312
-msgid "shell builtin to be a function, but need the functionality of the"
-msgstr "shell builtin to be a function, but need the functionality of the"
-
-#: builtins.c:313
-msgid "builtin within the function itself."
-msgstr "builtin within the function itself."
-
-#: builtins.c:334
-msgid "Change the current directory to DIR. The variable $HOME is the"
-msgstr "Change the current directory to DIR. The variable $HOME is the"
-
-#: builtins.c:335
-msgid "default DIR. The variable CDPATH defines the search path for"
-msgstr "default DIR. The variable CDPATH defines the search path for"
-
-#: builtins.c:336
-msgid "the directory containing DIR. Alternative directory names in CDPATH"
-msgstr "the directory containing DIR. Alternative directory names in CDPATH"
-
-#: builtins.c:337
-msgid "are separated by a colon (:). A null directory name is the same as"
-msgstr "are separated by a colon (:). A null directory name is the same as"
-
-#: builtins.c:338
-msgid "the current directory, i.e. `.'. If DIR begins with a slash (/),"
-msgstr "the current directory, i.e. ‘.’. If DIR begins with a slash (/),"
-
-#: builtins.c:339
-msgid "then CDPATH is not used. If the directory is not found, and the"
-msgstr "then CDPATH is not used. If the directory is not found, and the"
-
-#: builtins.c:340
-msgid "shell option `cdable_vars' is set, then try the word as a variable"
-msgstr "shell option ‘cdable_vars’ is set, then try the word as a variable"
-
-#: builtins.c:341
-msgid "name. If that variable has a value, then cd to the value of that"
-msgstr "name. If that variable has a value, then cd to the value of that"
-
-#: builtins.c:342
-msgid "variable. The -P option says to use the physical directory structure"
-msgstr "variable. The -P option says to use the physical directory structure"
-
-#: builtins.c:343
-msgid ""
-"instead of following symbolic links; the -L option forces symbolic links"
-msgstr ""
-"instead of following symbolic links; the -L option forces symbolic links"
-
-#: builtins.c:344
-msgid "to be followed."
-msgstr "to be followed."
-
-#: builtins.c:350
-msgid "Print the current working directory. With the -P option, pwd prints"
-msgstr "Print the current working directory. With the -P option, pwd prints"
-
-#: builtins.c:351
-msgid "the physical directory, without any symbolic links; the -L option"
-msgstr "the physical directory, without any symbolic links; the -L option"
-
-#: builtins.c:352
-msgid "makes pwd follow symbolic links."
-msgstr "makes pwd follow symbolic links."
-
-#: builtins.c:358
-msgid "No effect; the command does nothing. A zero exit code is returned."
-msgstr "No effect; the command does nothing. A zero exit code is returned."
-
-#: builtins.c:364
-msgid "Return a successful result."
-msgstr "Return a successful result."
-
-#: builtins.c:370
-msgid "Return an unsuccessful result."
-msgstr "Return an unsuccessful result."
-
-#: builtins.c:376
-msgid "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-msgstr "Runs COMMAND with ARGS ignoring shell functions. If you have a shell"
-
-#: builtins.c:377
-msgid "function called `ls', and you wish to call the command `ls', you can"
-msgstr "function called ‘ls’, and you wish to call the command ‘ls’, you can"
-
-#: builtins.c:378
-msgid "say \"command ls\". If the -p option is given, a default value is used"
-msgstr "say “command ls”. If the -p option is given, a default value is used"
-
-#: builtins.c:379
-msgid "for PATH that is guaranteed to find all of the standard utilities. If"
-msgstr "for PATH that is guaranteed to find all of the standard utilities. If"
-
-#: builtins.c:380
-msgid "the -V or -v option is given, a string is printed describing COMMAND."
-msgstr "the -V or -v option is given, a string is printed describing COMMAND."
-
-#: builtins.c:381
-msgid "The -V option produces a more verbose description."
-msgstr "The -V option produces a more verbose description."
-
-#: builtins.c:387
-msgid "Declare variables and/or give them attributes. If no NAMEs are"
-msgstr "Declare variables and/or give them attributes. If no NAMEs are"
-
-#: builtins.c:388
-msgid "given, then display the values of variables instead. The -p option"
-msgstr "given, then display the values of variables instead. The -p option"
-
-#: builtins.c:389
-msgid "will display the attributes and values of each NAME."
-msgstr "will display the attributes and values of each NAME."
-
-#: builtins.c:391
-msgid "The flags are:"
-msgstr "The flags are:"
-
-#: builtins.c:393
-msgid " -a\tto make NAMEs arrays (if supported)"
-msgstr " -a\tto make NAMEs arrays (if supported)"
-
-#: builtins.c:394
-msgid " -f\tto select from among function names only"
-msgstr " -f\tto select from among function names only"
-
-#: builtins.c:395
-msgid ""
-" -F\tto display function names (and line number and source file name if"
-msgstr ""
-" -F\tto display function names (and line number and source file name if"
-
-#: builtins.c:396
-msgid "\tdebugging) without definitions"
-msgstr "\tdebugging) without definitions"
-
-#: builtins.c:397
-msgid " -i\tto make NAMEs have the `integer' attribute"
-msgstr " -i\tto make NAMEs have the ‘integer’ attribute"
-
-#: builtins.c:398
-msgid " -r\tto make NAMEs readonly"
-msgstr " -r\tto make NAMEs readonly"
-
-#: builtins.c:399
-msgid " -t\tto make NAMEs have the `trace' attribute"
-msgstr " -t\tto make NAMEs have the ‘trace’ attribute"
-
-#: builtins.c:400
-msgid " -x\tto make NAMEs export"
-msgstr " -x\tto make NAMEs export"
-
-#: builtins.c:402
-msgid "Variables with the integer attribute have arithmetic evaluation (see"
-msgstr "Variables with the integer attribute have arithmetic evaluation (see"
-
-#: builtins.c:403
-msgid "`let') done when the variable is assigned to."
-msgstr "‘let’) done when the variable is assigned to."
-
-#: builtins.c:405
-msgid "When displaying values of variables, -f displays a function's name"
-msgstr "When displaying values of variables, -f displays a function's name"
-
-#: builtins.c:406
-msgid "and definition. The -F option restricts the display to function"
-msgstr "and definition. The -F option restricts the display to function"
-
-#: builtins.c:407
-msgid "name only."
-msgstr "name only."
-
-#: builtins.c:409
-msgid "Using `+' instead of `-' turns off the given attribute instead. When"
-msgstr "Using ‘+’ instead of ‘-’ turns off the given attribute instead. When"
-
-#: builtins.c:410
-msgid "used in a function, makes NAMEs local, as with the `local' command."
-msgstr "used in a function, makes NAMEs local, as with the ‘local’ command."
-
-#: builtins.c:416
-msgid "Obsolete. See `declare'."
-msgstr "Obsolete. See ‘declare’."
-
-#: builtins.c:422
-msgid "Create a local variable called NAME, and give it VALUE. LOCAL"
-msgstr "Create a local variable called NAME, and give it VALUE. LOCAL"
-
-#: builtins.c:423
-msgid "can only be used within a function; it makes the variable NAME"
-msgstr "can only be used within a function; it makes the variable NAME"
-
-#: builtins.c:424
-msgid "have a visible scope restricted to that function and its children."
-msgstr "have a visible scope restricted to that function and its children."
-
-#: builtins.c:431
-msgid "Output the ARGs. If -n is specified, the trailing newline is"
-msgstr "Output the ARGs. If -n is specified, the trailing newline is"
-
-#: builtins.c:432
-msgid "suppressed. If the -e option is given, interpretation of the"
-msgstr "suppressed. If the -e option is given, interpretation of the"
-
-#: builtins.c:433
-msgid "following backslash-escaped characters is turned on:"
-msgstr "following backslash-escaped characters is turned on:"
-
-#: builtins.c:434
-msgid "\t\\a\talert (bell)"
-msgstr "\t\\a\talert (bell)"
-
-#: builtins.c:435
-msgid "\t\\b\tbackspace"
-msgstr "\t\\b\tbackspace"
-
-#: builtins.c:436
-msgid "\t\\c\tsuppress trailing newline"
-msgstr "\t\\c\tsuppress trailing newline"
-
-#: builtins.c:437
-msgid "\t\\E\tescape character"
-msgstr "\t\\E\tescape character"
-
-#: builtins.c:438
-msgid "\t\\f\tform feed"
-msgstr "\t\\f\tform feed"
-
-#: builtins.c:439
-msgid "\t\\n\tnew line"
-msgstr "\t\\n\tnew line"
-
-#: builtins.c:440
-msgid "\t\\r\tcarriage return"
-msgstr "\t\\r\tcarriage return"
-
-#: builtins.c:441
-msgid "\t\\t\thorizontal tab"
-msgstr "\t\\t\thorizontal tab"
-
-#: builtins.c:442
-msgid "\t\\v\tvertical tab"
-msgstr "\t\\v\tvertical tab"
-
-#: builtins.c:443
-msgid "\t\\\\\tbackslash"
-msgstr "\t\\\\\tbackslash"
-
-#: builtins.c:444
-msgid "\t\\num\tthe character whose ASCII code is NUM (octal)."
-msgstr "\t\\num\tthe character whose ASCII code is NUM (octal)."
-
-#: builtins.c:446
-msgid "You can explicitly turn off the interpretation of the above characters"
-msgstr "You can explicitly turn off the interpretation of the above characters"
-
-#: builtins.c:447
-msgid "with the -E option."
-msgstr "with the -E option."
-
-#: builtins.c:455
-msgid ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-msgstr ""
-"Output the ARGs. If -n is specified, the trailing newline is suppressed."
-
-#: builtins.c:462
-msgid "Enable and disable builtin shell commands. This allows"
-msgstr "Enable and disable builtin shell commands. This allows"
-
-#: builtins.c:463
-msgid "you to use a disk command which has the same name as a shell"
-msgstr "you to use a disk command which has the same name as a shell"
-
-#: builtins.c:464
-msgid "builtin without specifying a full pathname. If -n is used, the"
-msgstr "builtin without specifying a full pathname. If -n is used, the"
-
-#: builtins.c:465
-msgid "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-msgstr "NAMEs become disabled; otherwise NAMEs are enabled. For example,"
-
-#: builtins.c:466
-msgid "to use the `test' found in $PATH instead of the shell builtin"
-msgstr "to use the ‘test’ found in $PATH instead of the shell builtin"
-
-#: builtins.c:467
-msgid "version, type `enable -n test'. On systems supporting dynamic"
-msgstr "version, type ‘enable -n test’. On systems supporting dynamic"
-
-#: builtins.c:468
-msgid "loading, the -f option may be used to load new builtins from the"
-msgstr "loading, the -f option may be used to load new builtins from the"
-
-#: builtins.c:469
-msgid "shared object FILENAME. The -d option will delete a builtin"
-msgstr "shared object FILENAME. The -d option will delete a builtin"
-
-#: builtins.c:470
-msgid "previously loaded with -f. If no non-option names are given, or"
-msgstr "previously loaded with -f. If no non-option names are given, or"
-
-#: builtins.c:471
-msgid "the -p option is supplied, a list of builtins is printed. The"
-msgstr "the -p option is supplied, a list of builtins is printed. The"
-
-#: builtins.c:472
-msgid "-a option means to print every builtin with an indication of whether"
-msgstr "-a option means to print every builtin with an indication of whether"
-
-#: builtins.c:473
-msgid ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-msgstr ""
-"or not it is enabled. The -s option restricts the output to the POSIX.2"
-
-#: builtins.c:474
-msgid ""
-"`special' builtins. The -n option displays a list of all disabled builtins."
-msgstr ""
-"‘special’ builtins. The -n option displays a list of all disabled builtins."
-
-#: builtins.c:480
-msgid "Read ARGs as input to the shell and execute the resulting command(s)."
-msgstr "Read ARGs as input to the shell and execute the resulting command(s)."
-
-#: builtins.c:486
-msgid "Getopts is used by shell procedures to parse positional parameters."
-msgstr "Getopts is used by shell procedures to parse positional parameters."
-
-#: builtins.c:488
-msgid "OPTSTRING contains the option letters to be recognized; if a letter"
-msgstr "OPTSTRING contains the option letters to be recognized; if a letter"
-
-#: builtins.c:489
-msgid "is followed by a colon, the option is expected to have an argument,"
-msgstr "is followed by a colon, the option is expected to have an argument,"
-
-#: builtins.c:490
-msgid "which should be separated from it by white space."
-msgstr "which should be separated from it by white space."
-
-#: builtins.c:492
-msgid "Each time it is invoked, getopts will place the next option in the"
-msgstr "Each time it is invoked, getopts will place the next option in the"
-
-#: builtins.c:493
-msgid "shell variable $name, initializing name if it does not exist, and"
-msgstr "shell variable $name, initializing name if it does not exist, and"
-
-#: builtins.c:494
-msgid "the index of the next argument to be processed into the shell"
-msgstr "the index of the next argument to be processed into the shell"
-
-#: builtins.c:495
-msgid "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-msgstr "variable OPTIND. OPTIND is initialized to 1 each time the shell or"
-
-#: builtins.c:496
-msgid "a shell script is invoked. When an option requires an argument,"
-msgstr "a shell script is invoked. When an option requires an argument,"
-
-#: builtins.c:497
-msgid "getopts places that argument into the shell variable OPTARG."
-msgstr "getopts places that argument into the shell variable OPTARG."
-
-#: builtins.c:499
-msgid "getopts reports errors in one of two ways. If the first character"
-msgstr "getopts reports errors in one of two ways. If the first character"
-
-#: builtins.c:500
-msgid "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-msgstr "of OPTSTRING is a colon, getopts uses silent error reporting. In"
-
-#: builtins.c:501
-msgid "this mode, no error messages are printed. If an invalid option is"
-msgstr "this mode, no error messages are printed. If an invalid option is"
-
-#: builtins.c:502
-msgid "seen, getopts places the option character found into OPTARG. If a"
-msgstr "seen, getopts places the option character found into OPTARG. If a"
-
-#: builtins.c:503
-msgid "required argument is not found, getopts places a ':' into NAME and"
-msgstr "required argument is not found, getopts places a ‘:’ into NAME and"
-
-#: builtins.c:504
-msgid "sets OPTARG to the option character found. If getopts is not in"
-msgstr "sets OPTARG to the option character found. If getopts is not in"
-
-#: builtins.c:505
-msgid "silent mode, and an invalid option is seen, getopts places '?' into"
-msgstr "silent mode, and an invalid option is seen, getopts places ‘?’ into"
-
-#: builtins.c:506
-msgid "NAME and unsets OPTARG. If a required argument is not found, a '?'"
-msgstr "NAME and unsets OPTARG. If a required argument is not found, a ‘?’"
-
-#: builtins.c:507
-msgid "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-msgstr "is placed in NAME, OPTARG is unset, and a diagnostic message is"
-
-#: builtins.c:508
-msgid "printed."
-msgstr "printed."
-
-#: builtins.c:510
-msgid "If the shell variable OPTERR has the value 0, getopts disables the"
-msgstr "If the shell variable OPTERR has the value 0, getopts disables the"
-
-#: builtins.c:511
-msgid "printing of error messages, even if the first character of"
-msgstr "printing of error messages, even if the first character of"
-
-#: builtins.c:512
-msgid "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-msgstr "OPTSTRING is not a colon. OPTERR has the value 1 by default."
-
-#: builtins.c:514
-msgid "Getopts normally parses the positional parameters ($0 - $9), but if"
-msgstr "Getopts normally parses the positional parameters ($0 - $9), but if"
-
-#: builtins.c:515
-msgid "more arguments are given, they are parsed instead."
-msgstr "more arguments are given, they are parsed instead."
-
-#: builtins.c:521
-msgid "Exec FILE, replacing this shell with the specified program."
-msgstr "Exec FILE, replacing this shell with the specified program."
-
-#: builtins.c:522
-msgid "If FILE is not specified, the redirections take effect in this"
-msgstr "If FILE is not specified, the redirections take effect in this"
-
-#: builtins.c:523
-msgid "shell. If the first argument is `-l', then place a dash in the"
-msgstr "shell. If the first argument is ‘-l’, then place a dash in the"
-
-#: builtins.c:524
-msgid "zeroth arg passed to FILE, as login does. If the `-c' option"
-msgstr "zeroth arg passed to FILE, as login does. If the ‘-c’ option"
-
-#: builtins.c:525
-msgid "is supplied, FILE is executed with a null environment. The `-a'"
-msgstr "is supplied, FILE is executed with a null environment. The ‘-a’"
-
-#: builtins.c:526
-msgid "option means to make set argv[0] of the executed process to NAME."
-msgstr "option means to make set argv[0] of the executed process to NAME."
-
-#: builtins.c:527
-msgid "If the file cannot be executed and the shell is not interactive,"
-msgstr "If the file cannot be executed and the shell is not interactive,"
-
-#: builtins.c:528
-msgid "then the shell exits, unless the shell option `execfail' is set."
-msgstr "then the shell exits, unless the shell option ‘execfail’ is set."
-
-#: builtins.c:534
-msgid "Exit the shell with a status of N. If N is omitted, the exit status"
-msgstr "Exit the shell with a status of N. If N is omitted, the exit status"
-
-#: builtins.c:535
-msgid "is that of the last command executed."
-msgstr "is that of the last command executed."
-
-#: builtins.c:541
-msgid "Logout of a login shell."
-msgstr "Logout of a login shell."
-
-#: builtins.c:548
-msgid ""
-"fc is used to list or edit and re-execute commands from the history list."
-msgstr ""
-"fc is used to list or edit and re-execute commands from the history list."
-
-#: builtins.c:549
-msgid "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-msgstr "FIRST and LAST can be numbers specifying the range, or FIRST can be a"
-
-#: builtins.c:550
-msgid "string, which means the most recent command beginning with that"
-msgstr "string, which means the most recent command beginning with that"
-
-#: builtins.c:551
-msgid "string."
-msgstr "string."
-
-#: builtins.c:553
-msgid ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-msgstr ""
-" -e ENAME selects which editor to use. Default is FCEDIT, then EDITOR,"
-
-#: builtins.c:554
-msgid " then vi."
-msgstr " then vi."
-
-#: builtins.c:556
-msgid " -l means list lines instead of editing."
-msgstr " -l means list lines instead of editing."
-
-#: builtins.c:557
-msgid " -n means no line numbers listed."
-msgstr " -n means no line numbers listed."
-
-#: builtins.c:558
-msgid ""
-" -r means reverse the order of the lines (making it newest listed first)."
-msgstr ""
-" -r means reverse the order of the lines (making it newest listed first)."
-
-#: builtins.c:560
-msgid "With the `fc -s [pat=rep ...] [command]' format, the command is"
-msgstr "With the ‘fc -s [pat=rep ...] [command]’ format, the command is"
-
-#: builtins.c:561
-msgid "re-executed after the substitution OLD=NEW is performed."
-msgstr "re-executed after the substitution OLD=NEW is performed."
-
-#: builtins.c:563
-msgid "A useful alias to use with this is r='fc -s', so that typing `r cc'"
-msgstr "A useful alias to use with this is r='fc -s', so that typing ‘r cc’"
-
-#: builtins.c:564
-msgid "runs the last command beginning with `cc' and typing `r' re-executes"
-msgstr "runs the last command beginning with ‘cc’ and typing ‘r’ re-executes"
-
-#: builtins.c:565
-msgid "the last command."
-msgstr "the last command."
-
-#: builtins.c:573
-msgid "Place JOB_SPEC in the foreground, and make it the current job. If"
-msgstr "Place JOB_SPEC in the foreground, and make it the current job. If"
-
-#: builtins.c:574
-msgid "JOB_SPEC is not present, the shell's notion of the current job is"
-msgstr "JOB_SPEC is not present, the shell's notion of the current job is"
-
-#: builtins.c:575
-msgid "used."
-msgstr "used."
-
-#: builtins.c:583
-msgid "Place JOB_SPEC in the background, as if it had been started with"
-msgstr "Place JOB_SPEC in the background, as if it had been started with"
-
-#: builtins.c:584
-msgid "`&'. If JOB_SPEC is not present, the shell's notion of the current"
-msgstr "‘&’. If JOB_SPEC is not present, the shell's notion of the current"
-
-#: builtins.c:585
-msgid "job is used."
-msgstr "job is used."
-
-#: builtins.c:592
-msgid "For each NAME, the full pathname of the command is determined and"
-msgstr "For each NAME, the full pathname of the command is determined and"
-
-#: builtins.c:593
-msgid "remembered. If the -p option is supplied, PATHNAME is used as the"
-msgstr "remembered. If the -p option is supplied, PATHNAME is used as the"
-
-#: builtins.c:594
-msgid "full pathname of NAME, and no path search is performed. The -r"
-msgstr "full pathname of NAME, and no path search is performed. The -r"
-
-#: builtins.c:595
-msgid "option causes the shell to forget all remembered locations. The -d"
-msgstr "option causes the shell to forget all remembered locations. The -d"
-
-#: builtins.c:596
-msgid "option causes the shell to forget the remembered location of each NAME."
-msgstr ""
-"option causes the shell to forget the remembered location of each NAME."
-
-#: builtins.c:597
-msgid "If the -t option is supplied the full pathname to which each NAME"
-msgstr "If the -t option is supplied the full pathname to which each NAME"
-
-#: builtins.c:598
-msgid "corresponds is printed. If multiple NAME arguments are supplied with"
-msgstr "corresponds is printed. If multiple NAME arguments are supplied with"
-
-#: builtins.c:599
-msgid "-t, the NAME is printed before the hashed full pathname. The -l option"
-msgstr ""
-"-t, the NAME is printed before the hashed full pathname. The -l option"
-
-#: builtins.c:600
-msgid "causes output to be displayed in a format that may be reused as input."
-msgstr "causes output to be displayed in a format that may be reused as input."
-
-#: builtins.c:601
-msgid ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-msgstr ""
-"If no arguments are given, information about remembered commands is "
-"displayed."
-
-#: builtins.c:608
-msgid "Display helpful information about builtin commands. If PATTERN is"
-msgstr "Display helpful information about builtin commands. If PATTERN is"
-
-#: builtins.c:609
-msgid "specified, gives detailed help on all commands matching PATTERN,"
-msgstr "specified, gives detailed help on all commands matching PATTERN,"
-
-#: builtins.c:610
-msgid "otherwise a list of the builtins is printed. The -s option"
-msgstr "otherwise a list of the builtins is printed. The -s option"
-
-#: builtins.c:611
-msgid "restricts the output for each builtin command matching PATTERN to"
-msgstr "restricts the output for each builtin command matching PATTERN to"
-
-#: builtins.c:612
-msgid "a short usage synopsis."
-msgstr "a short usage synopsis."
-
-#: builtins.c:620
-msgid "Display the history list with line numbers. Lines listed with"
-msgstr "Display the history list with line numbers. Lines listed with"
-
-#: builtins.c:621
-msgid "with a `*' have been modified. Argument of N says to list only"
-msgstr "with a ‘*’ have been modified. Argument of N says to list only"
-
-#: builtins.c:622
-msgid "the last N lines. The `-c' option causes the history list to be"
-msgstr "the last N lines. The ‘-c’ option causes the history list to be"
-
-#: builtins.c:623
-msgid "cleared by deleting all of the entries. The `-d' option deletes"
-msgstr "cleared by deleting all of the entries. The ‘-d’ option deletes"
-
-#: builtins.c:624
-msgid "the history entry at offset OFFSET. The `-w' option writes out the"
-msgstr "the history entry at offset OFFSET. The ‘-w’ option writes out the"
-
-#: builtins.c:625
-msgid "current history to the history file; `-r' means to read the file and"
-msgstr "current history to the history file; ‘-r’ means to read the file and"
-
-#: builtins.c:626
-msgid "append the contents to the history list instead. `-a' means"
-msgstr "append the contents to the history list instead. ‘-a’ means"
-
-#: builtins.c:627
-msgid "to append history lines from this session to the history file."
-msgstr "to append history lines from this session to the history file."
-
-#: builtins.c:628
-msgid "Argument `-n' means to read all history lines not already read"
-msgstr "Argument ‘-n’ means to read all history lines not already read"
-
-#: builtins.c:629
-msgid "from the history file and append them to the history list."
-msgstr "from the history file and append them to the history list."
-
-#: builtins.c:631
-msgid "If FILENAME is given, then that is used as the history file else"
-msgstr "If FILENAME is given, then that is used as the history file else"
-
-#: builtins.c:632
-msgid "if $HISTFILE has a value, that is used, else ~/.bash_history."
-msgstr "if $HISTFILE has a value, that is used, else ~/.bash_history."
-
-#: builtins.c:633
-msgid "If the -s option is supplied, the non-option ARGs are appended to"
-msgstr "If the -s option is supplied, the non-option ARGs are appended to"
-
-#: builtins.c:634
-msgid "the history list as a single entry. The -p option means to perform"
-msgstr "the history list as a single entry. The -p option means to perform"
-
-#: builtins.c:635
-msgid "history expansion on each ARG and display the result, without storing"
-msgstr "history expansion on each ARG and display the result, without storing"
-
-#: builtins.c:636
-msgid "anything in the history list."
-msgstr "anything in the history list."
-
-#: builtins.c:638
-msgid "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-msgstr "If the $HISTTIMEFORMAT variable is set and not null, its value is used"
-
-#: builtins.c:639
-msgid "as a format string for strftime(3) to print the time stamp associated"
-msgstr "as a format string for strftime(3) to print the time stamp associated"
-
-#: builtins.c:640
-msgid ""
-"with each displayed history entry. No time stamps are printed otherwise."
-msgstr ""
-"with each displayed history entry. No time stamps are printed otherwise."
-
-#: builtins.c:648
-msgid "Lists the active jobs. The -l option lists process id's in addition"
-msgstr "Lists the active jobs. The -l option lists process id's in addition"
-
-#: builtins.c:649
-msgid "to the normal information; the -p option lists process id's only."
-msgstr "to the normal information; the -p option lists process id's only."
-
-#: builtins.c:650
-msgid "If -n is given, only processes that have changed status since the last"
-msgstr "If -n is given, only processes that have changed status since the last"
-
-#: builtins.c:651
-msgid "notification are printed. JOBSPEC restricts output to that job. The"
-msgstr "notification are printed. JOBSPEC restricts output to that job. The"
-
-#: builtins.c:652
-msgid "-r and -s options restrict output to running and stopped jobs only,"
-msgstr "-r and -s options restrict output to running and stopped jobs only,"
-
-#: builtins.c:653
-msgid "respectively. Without options, the status of all active jobs is"
-msgstr "respectively. Without options, the status of all active jobs is"
-
-#: builtins.c:654
-msgid "printed. If -x is given, COMMAND is run after all job specifications"
-msgstr "printed. If -x is given, COMMAND is run after all job specifications"
-
-#: builtins.c:655
-msgid ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-msgstr ""
-"that appear in ARGS have been replaced with the process ID of that job's"
-
-#: builtins.c:656
-msgid "process group leader."
-msgstr "process group leader."
-
-#: builtins.c:664
-msgid ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-msgstr ""
-"By default, removes each JOBSPEC argument from the table of active jobs."
-
-#: builtins.c:665
-msgid ""
-"If the -h option is given, the job is not removed from the table, but is"
-msgstr ""
-"If the -h option is given, the job is not removed from the table, but is"
-
-#: builtins.c:666
-msgid "marked so that SIGHUP is not sent to the job if the shell receives a"
-msgstr "marked so that SIGHUP is not sent to the job if the shell receives a"
-
-#: builtins.c:667
-msgid ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-msgstr ""
-"SIGHUP. The -a option, when JOBSPEC is not supplied, means to remove all"
-
-#: builtins.c:668
-msgid ""
-"jobs from the job table; the -r option means to remove only running jobs."
-msgstr ""
-"jobs from the job table; the -r option means to remove only running jobs."
-
-#: builtins.c:675
-msgid "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-msgstr "Send the processes named by PID (or JOB) the signal SIGSPEC. If"
-
-#: builtins.c:676
-msgid "SIGSPEC is not present, then SIGTERM is assumed. An argument of `-l'"
-msgstr "SIGSPEC is not present, then SIGTERM is assumed. An argument of ‘-l’"
-
-#: builtins.c:677
-msgid "lists the signal names; if arguments follow `-l' they are assumed to"
-msgstr "lists the signal names; if arguments follow ‘-l’ they are assumed to"
-
-#: builtins.c:678
-msgid "be signal numbers for which names should be listed. Kill is a shell"
-msgstr "be signal numbers for which names should be listed. Kill is a shell"
-
-#: builtins.c:679
-msgid "builtin for two reasons: it allows job IDs to be used instead of"
-msgstr "builtin for two reasons: it allows job IDs to be used instead of"
-
-#: builtins.c:680
-msgid "process IDs, and, if you have reached the limit on processes that"
-msgstr "process IDs, and, if you have reached the limit on processes that"
-
-#: builtins.c:681
-msgid "you can create, you don't have to start a process to kill another one."
-msgstr "you can create, you don't have to start a process to kill another one."
-
-#: builtins.c:687
-msgid "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-msgstr "Each ARG is an arithmetic expression to be evaluated. Evaluation"
-
-#: builtins.c:688
-msgid "is done in fixed-width integers with no check for overflow, though"
-msgstr "is done in fixed-width integers with no check for overflow, though"
-
-#: builtins.c:689
-msgid "division by 0 is trapped and flagged as an error. The following"
-msgstr "division by 0 is trapped and flagged as an error. The following"
-
-#: builtins.c:690
-msgid "list of operators is grouped into levels of equal-precedence operators."
-msgstr ""
-"list of operators is grouped into levels of equal-precedence operators."
-
-#: builtins.c:691
-msgid "The levels are listed in order of decreasing precedence."
-msgstr "The levels are listed in order of decreasing precedence."
-
-#: builtins.c:693
-msgid "\tid++, id--\tvariable post-increment, post-decrement"
-msgstr "\tid++, id--\tvariable post-increment, post-decrement"
-
-#: builtins.c:694
-msgid "\t++id, --id\tvariable pre-increment, pre-decrement"
-msgstr "\t++id, --id\tvariable pre-increment, pre-decrement"
-
-#: builtins.c:695
-msgid "\t-, +\t\tunary minus, plus"
-msgstr "\t-, +\t\tunary minus, plus"
-
-#: builtins.c:696
-msgid "\t!, ~\t\tlogical and bitwise negation"
-msgstr "\t!, ~\t\tlogical and bitwise negation"
-
-#: builtins.c:697
-msgid "\t**\t\texponentiation"
-msgstr "\t**\t\texponentiation"
-
-#: builtins.c:698
-msgid "\t*, /, %\t\tmultiplication, division, remainder"
-msgstr "\t*, /, %\t\tmultiplication, division, remainder"
-
-#: builtins.c:699
-msgid "\t+, -\t\taddition, subtraction"
-msgstr "\t+, -\t\taddition, subtraction"
-
-#: builtins.c:700
-msgid "\t<<, >>\t\tleft and right bitwise shifts"
-msgstr "\t<<, >>\t\tleft and right bitwise shifts"
-
-#: builtins.c:701
-msgid "\t<=, >=, <, >\tcomparison"
-msgstr "\t<=, >=, <, >\tcomparison"
-
-#: builtins.c:702
-msgid "\t==, !=\t\tequality, inequality"
-msgstr "\t==, !=\t\tequality, inequality"
-
-#: builtins.c:703
-msgid "\t&\t\tbitwise AND"
-msgstr "\t&\t\tbitwise AND"
-
-#: builtins.c:704
-msgid "\t^\t\tbitwise XOR"
-msgstr "\t^\t\tbitwise XOR"
-
-#: builtins.c:705
-msgid "\t|\t\tbitwise OR"
-msgstr "\t|\t\tbitwise OR"
-
-#: builtins.c:706
-msgid "\t&&\t\tlogical AND"
-msgstr "\t&&\t\tlogical AND"
-
-#: builtins.c:707
-msgid "\t||\t\tlogical OR"
-msgstr "\t||\t\tlogical OR"
-
-#: builtins.c:708
-msgid "\texpr ? expr : expr"
-msgstr "\texpr ? expr : expr"
-
-#: builtins.c:709
-msgid "\t\t\tconditional operator"
-msgstr "\t\t\tconditional operator"
-
-#: builtins.c:710
-msgid "\t=, *=, /=, %=,"
-msgstr "\t=, *=, /=, %=,"
-
-#: builtins.c:711
-msgid "\t+=, -=, <<=, >>=,"
-msgstr "\t+=, -=, <<=, >>=,"
-
-#: builtins.c:712
-msgid "\t&=, ^=, |=\tassignment"
-msgstr "\t&=, ^=, |=\tassignment"
-
-#: builtins.c:714
-msgid "Shell variables are allowed as operands. The name of the variable"
-msgstr "Shell variables are allowed as operands. The name of the variable"
-
-#: builtins.c:715
-msgid "is replaced by its value (coerced to a fixed-width integer) within"
-msgstr "is replaced by its value (coerced to a fixed-width integer) within"
-
-#: builtins.c:716
-msgid "an expression. The variable need not have its integer attribute"
-msgstr "an expression. The variable need not have its integer attribute"
-
-#: builtins.c:717
-msgid "turned on to be used in an expression."
-msgstr "turned on to be used in an expression."
-
-#: builtins.c:719
-msgid "Operators are evaluated in order of precedence. Sub-expressions in"
-msgstr "Operators are evaluated in order of precedence. Sub-expressions in"
-
-#: builtins.c:720
-msgid "parentheses are evaluated first and may override the precedence"
-msgstr "parentheses are evaluated first and may override the precedence"
-
-#: builtins.c:721
-msgid "rules above."
-msgstr "rules above."
-
-#: builtins.c:723
-msgid "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-msgstr "If the last ARG evaluates to 0, let returns 1; 0 is returned"
-
-#: builtins.c:724
-msgid "otherwise."
-msgstr "otherwise."
-
-#: builtins.c:730
-msgid ""
-"One line is read from the standard input, or from file descriptor FD if the"
-msgstr ""
-"One line is read from the standard input, or from file descriptor FD if the"
-
-#: builtins.c:731
-msgid ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-msgstr ""
-"-u option is supplied, and the first word is assigned to the first NAME,"
-
-#: builtins.c:732
-msgid ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-msgstr ""
-"the second word to the second NAME, and so on, with leftover words assigned"
-
-#: builtins.c:733
-msgid ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-msgstr ""
-"to the last NAME. Only the characters found in $IFS are recognized as word"
-
-#: builtins.c:734
-msgid ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-msgstr ""
-"delimiters. If no NAMEs are supplied, the line read is stored in the REPLY"
-
-#: builtins.c:735
-msgid "variable. If the -r option is given, this signifies `raw' input, and"
-msgstr "variable. If the -r option is given, this signifies ‘raw’ input, and"
-
-#: builtins.c:736
-msgid "backslash escaping is disabled. The -d option causes read to continue"
-msgstr "backslash escaping is disabled. The -d option causes read to continue"
-
-#: builtins.c:737
-msgid ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-msgstr ""
-"until the first character of DELIM is read, rather than newline. If the -p"
-
-#: builtins.c:738
-msgid ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-msgstr ""
-"option is supplied, the string PROMPT is output without a trailing newline"
-
-#: builtins.c:739
-msgid ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-msgstr ""
-"before attempting to read. If -a is supplied, the words read are assigned"
-
-#: builtins.c:740
-msgid ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-msgstr ""
-"to sequential indices of ARRAY, starting at zero. If -e is supplied and"
-
-#: builtins.c:741
-msgid ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-msgstr ""
-"the shell is interactive, readline is used to obtain the line. If -n is"
-
-#: builtins.c:742
-msgid "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-msgstr "supplied with a non-zero NCHARS argument, read returns after NCHARS"
-
-#: builtins.c:743
-msgid "characters have been read. The -s option causes input coming from a"
-msgstr "characters have been read. The -s option causes input coming from a"
-
-#: builtins.c:744
-msgid "terminal to not be echoed."
-msgstr "terminal to not be echoed."
-
-#: builtins.c:746
-msgid ""
-"The -t option causes read to time out and return failure if a complete line"
-msgstr ""
-"The -t option causes read to time out and return failure if a complete line"
-
-#: builtins.c:747
-msgid ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-msgstr ""
-"of input is not read within TIMEOUT seconds. If the TMOUT variable is set,"
-
-#: builtins.c:748
-msgid ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-msgstr ""
-"its value is the default timeout. The return code is zero, unless end-of-"
-"file"
-
-#: builtins.c:749
-msgid ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-msgstr ""
-"is encountered, read times out, or an invalid file descriptor is supplied as"
-
-#: builtins.c:750
-msgid "the argument to -u."
-msgstr "the argument to -u."
-
-#: builtins.c:756
-msgid "Causes a function to exit with the return value specified by N. If N"
-msgstr "Causes a function to exit with the return value specified by N. If N"
-
-#: builtins.c:757
-msgid "is omitted, the return status is that of the last command."
-msgstr "is omitted, the return status is that of the last command."
-
-#: builtins.c:763
-msgid " -a Mark variables which are modified or created for export."
-msgstr " -a Mark variables which are modified or created for export."
-
-#: builtins.c:764
-msgid " -b Notify of job termination immediately."
-msgstr " -b Notify of job termination immediately."
-
-#: builtins.c:765
-msgid " -e Exit immediately if a command exits with a non-zero status."
-msgstr " -e Exit immediately if a command exits with a non-zero status."
-
-#: builtins.c:766
-msgid " -f Disable file name generation (globbing)."
-msgstr " -f Disable file name generation (globbing)."
-
-#: builtins.c:767
-msgid " -h Remember the location of commands as they are looked up."
-msgstr " -h Remember the location of commands as they are looked up."
-
-#: builtins.c:768
-msgid " -k All assignment arguments are placed in the environment for a"
-msgstr " -k All assignment arguments are placed in the environment for a"
-
-#: builtins.c:769
-msgid " command, not just those that precede the command name."
-msgstr " command, not just those that precede the command name."
-
-#: builtins.c:770
-msgid " -m Job control is enabled."
-msgstr " -m Job control is enabled."
-
-#: builtins.c:771
-msgid " -n Read commands but do not execute them."
-msgstr " -n Read commands but do not execute them."
-
-#: builtins.c:772
-msgid " -o option-name"
-msgstr " -o option-name"
-
-#: builtins.c:773
-msgid " Set the variable corresponding to option-name:"
-msgstr " Set the variable corresponding to option-name:"
-
-#: builtins.c:774
-msgid " allexport same as -a"
-msgstr " allexport same as -a"
-
-#: builtins.c:775
-msgid " braceexpand same as -B"
-msgstr " braceexpand same as -B"
-
-#: builtins.c:777
-msgid " emacs use an emacs-style line editing interface"
-msgstr " emacs use an emacs-style line editing interface"
-
-#: builtins.c:779
-msgid " errexit same as -e"
-msgstr " errexit same as -e"
-
-#: builtins.c:780
-msgid " errtrace same as -E"
-msgstr " errtrace same as -E"
-
-#: builtins.c:781
-msgid " functrace same as -T"
-msgstr " functrace same as -T"
-
-#: builtins.c:782
-msgid " hashall same as -h"
-msgstr " hashall same as -h"
-
-#: builtins.c:784
-msgid " histexpand same as -H"
-msgstr " histexpand same as -H"
-
-#: builtins.c:787
-msgid " history enable command history"
-msgstr " history enable command history"
-
-#: builtins.c:789
-msgid " ignoreeof the shell will not exit upon reading EOF"
-msgstr " ignoreeof the shell will not exit upon reading EOF"
-
-#: builtins.c:790
-msgid " interactive-comments"
-msgstr " interactive-comments"
-
-#: builtins.c:791
-msgid ""
-" allow comments to appear in interactive commands"
-msgstr ""
-" allow comments to appear in interactive commands"
-
-#: builtins.c:792
-msgid " keyword same as -k"
-msgstr " keyword same as -k"
-
-#: builtins.c:793
-msgid " monitor same as -m"
-msgstr " monitor same as -m"
-
-#: builtins.c:794
-msgid " noclobber same as -C"
-msgstr " noclobber same as -C"
-
-#: builtins.c:795
-msgid " noexec same as -n"
-msgstr " noexec same as -n"
-
-#: builtins.c:796
-msgid " noglob same as -f"
-msgstr " noglob same as -f"
-
-#: builtins.c:797
-msgid " nolog currently accepted but ignored"
-msgstr " nolog currently accepted but ignored"
-
-#: builtins.c:798
-msgid " notify same as -b"
-msgstr " notify same as -b"
-
-#: builtins.c:799
-msgid " nounset same as -u"
-msgstr " nounset same as -u"
-
-#: builtins.c:800
-msgid " onecmd same as -t"
-msgstr " onecmd same as -t"
-
-#: builtins.c:801
-msgid " physical same as -P"
-msgstr " physical same as -P"
-
-#: builtins.c:802
-msgid ""
-" pipefail the return value of a pipeline is the status of"
-msgstr ""
-" pipefail the return value of a pipeline is the status of"
-
-#: builtins.c:803
-msgid ""
-" the last command to exit with a non-zero status,"
-msgstr ""
-" the last command to exit with a non-zero status,"
-
-#: builtins.c:804
-msgid ""
-" or zero if no command exited with a non-zero status"
-msgstr ""
-" or zero if no command exited with a non-zero status"
-
-#: builtins.c:805
-msgid " posix change the behavior of bash where the default"
-msgstr " posix change the behavior of bash where the default"
-
-#: builtins.c:806
-msgid " operation differs from the 1003.2 standard to"
-msgstr " operation differs from the 1003.2 standard to"
-
-#: builtins.c:807
-msgid " match the standard"
-msgstr " match the standard"
-
-#: builtins.c:808
-msgid " privileged same as -p"
-msgstr " privileged same as -p"
-
-#: builtins.c:809
-msgid " verbose same as -v"
-msgstr " verbose same as -v"
-
-#: builtins.c:811
-msgid " vi use a vi-style line editing interface"
-msgstr " vi use a vi-style line editing interface"
-
-#: builtins.c:813
-msgid " xtrace same as -x"
-msgstr " xtrace same as -x"
-
-#: builtins.c:814
-msgid ""
-" -p Turned on whenever the real and effective user ids do not match."
-msgstr ""
-" -p Turned on whenever the real and effective user ids do not match."
-
-#: builtins.c:815
-msgid " Disables processing of the $ENV file and importing of shell"
-msgstr " Disables processing of the $ENV file and importing of shell"
-
-#: builtins.c:816
-msgid ""
-" functions. Turning this option off causes the effective uid and"
-msgstr ""
-" functions. Turning this option off causes the effective uid and"
-
-#: builtins.c:817
-msgid " gid to be set to the real uid and gid."
-msgstr " gid to be set to the real uid and gid."
-
-#: builtins.c:818
-msgid " -t Exit after reading and executing one command."
-msgstr " -t Exit after reading and executing one command."
-
-#: builtins.c:819
-msgid " -u Treat unset variables as an error when substituting."
-msgstr " -u Treat unset variables as an error when substituting."
-
-#: builtins.c:820
-msgid " -v Print shell input lines as they are read."
-msgstr " -v Print shell input lines as they are read."
-
-#: builtins.c:821
-msgid " -x Print commands and their arguments as they are executed."
-msgstr " -x Print commands and their arguments as they are executed."
-
-#: builtins.c:823
-msgid " -B the shell will perform brace expansion"
-msgstr " -B the shell will perform brace expansion"
-
-#: builtins.c:825
-msgid " -C If set, disallow existing regular files to be overwritten"
-msgstr " -C If set, disallow existing regular files to be overwritten"
-
-#: builtins.c:826
-msgid " by redirection of output."
-msgstr " by redirection of output."
-
-#: builtins.c:827
-msgid " -E If set, the ERR trap is inherited by shell functions."
-msgstr " -E If set, the ERR trap is inherited by shell functions."
-
-#: builtins.c:829
-msgid " -H Enable ! style history substitution. This flag is on"
-msgstr " -H Enable ! style history substitution. This flag is on"
-
-#: builtins.c:830
-msgid " by default."
-msgstr " by default."
-
-#: builtins.c:832
-msgid " -P If set, do not follow symbolic links when executing commands"
-msgstr " -P If set, do not follow symbolic links when executing commands"
-
-#: builtins.c:833
-msgid " such as cd which change the current directory."
-msgstr " such as cd which change the current directory."
-
-#: builtins.c:834
-msgid " -T If set, the DEBUG trap is inherited by shell functions."
-msgstr " -T If set, the DEBUG trap is inherited by shell functions."
-
-#: builtins.c:836
-msgid "Using + rather than - causes these flags to be turned off. The"
-msgstr "Using + rather than - causes these flags to be turned off. The"
-
-#: builtins.c:837
-msgid "flags can also be used upon invocation of the shell. The current"
-msgstr "flags can also be used upon invocation of the shell. The current"
-
-#: builtins.c:838
-msgid "set of flags may be found in $-. The remaining n ARGs are positional"
-msgstr "set of flags may be found in $-. The remaining n ARGs are positional"
-
-#: builtins.c:839
-msgid "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-msgstr "parameters and are assigned, in order, to $1, $2, .. $n. If no"
-
-#: builtins.c:840
-msgid "ARGs are given, all shell variables are printed."
-msgstr "ARGs are given, all shell variables are printed."
-
-#: builtins.c:846
-msgid "For each NAME, remove the corresponding variable or function. Given"
-msgstr "For each NAME, remove the corresponding variable or function. Given"
-
-#: builtins.c:847
-msgid "the `-v', unset will only act on variables. Given the `-f' flag,"
-msgstr "the ‘-v’, unset will only act on variables. Given the ‘-f’ flag,"
-
-#: builtins.c:848
-msgid "unset will only act on functions. With neither flag, unset first"
-msgstr "unset will only act on functions. With neither flag, unset first"
-
-#: builtins.c:849
-msgid "tries to unset a variable, and if that fails, then tries to unset a"
-msgstr "tries to unset a variable, and if that fails, then tries to unset a"
-
-#: builtins.c:850
-msgid "function. Some variables cannot be unset; also see readonly."
-msgstr "function. Some variables cannot be unset; also see readonly."
-
-#: builtins.c:856
-msgid "NAMEs are marked for automatic export to the environment of"
-msgstr "NAMEs are marked for automatic export to the environment of"
-
-#: builtins.c:857
-msgid "subsequently executed commands. If the -f option is given,"
-msgstr "subsequently executed commands. If the -f option is given,"
-
-#: builtins.c:858
-msgid "the NAMEs refer to functions. If no NAMEs are given, or if `-p'"
-msgstr "the NAMEs refer to functions. If no NAMEs are given, or if ‘-p’"
-
-#: builtins.c:859
-msgid "is given, a list of all names that are exported in this shell is"
-msgstr "is given, a list of all names that are exported in this shell is"
-
-#: builtins.c:860
-msgid "printed. An argument of `-n' says to remove the export property"
-msgstr "printed. An argument of ‘-n’ says to remove the export property"
-
-#: builtins.c:861
-msgid "from subsequent NAMEs. An argument of `--' disables further option"
-msgstr "from subsequent NAMEs. An argument of ‘--’ disables further option"
-
-#: builtins.c:862 builtins.c:874
-msgid "processing."
-msgstr "processing."
-
-#: builtins.c:868
-msgid "The given NAMEs are marked readonly and the values of these NAMEs may"
-msgstr "The given NAMEs are marked readonly and the values of these NAMEs may"
-
-#: builtins.c:869
-msgid "not be changed by subsequent assignment. If the -f option is given,"
-msgstr "not be changed by subsequent assignment. If the -f option is given,"
-
-#: builtins.c:870
-msgid "then functions corresponding to the NAMEs are so marked. If no"
-msgstr "then functions corresponding to the NAMEs are so marked. If no"
-
-#: builtins.c:871
-msgid "arguments are given, or if `-p' is given, a list of all readonly names"
-msgstr "arguments are given, or if ‘-p’ is given, a list of all readonly names"
-
-#: builtins.c:872
-msgid "is printed. The `-a' option means to treat each NAME as"
-msgstr "is printed. The ‘-a’ option means to treat each NAME as"
-
-#: builtins.c:873
-msgid "an array variable. An argument of `--' disables further option"
-msgstr "an array variable. An argument of ‘--’ disables further option"
-
-#: builtins.c:880
-msgid "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-msgstr "The positional parameters from $N+1 ... are renamed to $1 ... If N is"
-
-#: builtins.c:881
-msgid "not given, it is assumed to be 1."
-msgstr "not given, it is assumed to be 1."
-
-#: builtins.c:887 builtins.c:896
-msgid "Read and execute commands from FILENAME and return. The pathnames"
-msgstr "Read and execute commands from FILENAME and return. The pathnames"
-
-#: builtins.c:888 builtins.c:897
-msgid "in $PATH are used to find the directory containing FILENAME. If any"
-msgstr "in $PATH are used to find the directory containing FILENAME. If any"
-
-#: builtins.c:889 builtins.c:898
-msgid "ARGUMENTS are supplied, they become the positional parameters when"
-msgstr "ARGUMENTS are supplied, they become the positional parameters when"
-
-#: builtins.c:890 builtins.c:899
-msgid "FILENAME is executed."
-msgstr "FILENAME is executed."
-
-#: builtins.c:906
-msgid "Suspend the execution of this shell until it receives a SIGCONT"
-msgstr "Suspend the execution of this shell until it receives a SIGCONT"
-
-#: builtins.c:907
-msgid "signal. The `-f' if specified says not to complain about this"
-msgstr "signal. The ‘-f’ if specified says not to complain about this"
-
-#: builtins.c:908
-msgid "being a login shell if it is; just suspend anyway."
-msgstr "being a login shell if it is; just suspend anyway."
-
-#: builtins.c:915
-msgid "Exits with a status of 0 (true) or 1 (false) depending on"
-msgstr "Exits with a status of 0 (true) or 1 (false) depending on"
-
-#: builtins.c:916
-msgid "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-msgstr "the evaluation of EXPR. Expressions may be unary or binary. Unary"
-
-#: builtins.c:917
-msgid "expressions are often used to examine the status of a file. There"
-msgstr "expressions are often used to examine the status of a file. There"
-
-#: builtins.c:918
-msgid "are string operators as well, and numeric comparison operators."
-msgstr "are string operators as well, and numeric comparison operators."
-
-#: builtins.c:920
-msgid "File operators:"
-msgstr "File operators:"
-
-#: builtins.c:922
-msgid " -a FILE True if file exists."
-msgstr " -a FILE True if file exists."
-
-#: builtins.c:923
-msgid " -b FILE True if file is block special."
-msgstr " -b FILE True if file is block special."
-
-#: builtins.c:924
-msgid " -c FILE True if file is character special."
-msgstr " -c FILE True if file is character special."
-
-#: builtins.c:925
-msgid " -d FILE True if file is a directory."
-msgstr " -d FILE True if file is a directory."
-
-#: builtins.c:926
-msgid " -e FILE True if file exists."
-msgstr " -e FILE True if file exists."
-
-#: builtins.c:927
-msgid " -f FILE True if file exists and is a regular file."
-msgstr " -f FILE True if file exists and is a regular file."
-
-#: builtins.c:928
-msgid " -g FILE True if file is set-group-id."
-msgstr " -g FILE True if file is set-group-id."
-
-#: builtins.c:929
-msgid " -h FILE True if file is a symbolic link."
-msgstr " -h FILE True if file is a symbolic link."
-
-#: builtins.c:930
-msgid " -L FILE True if file is a symbolic link."
-msgstr " -L FILE True if file is a symbolic link."
-
-#: builtins.c:931
-msgid " -k FILE True if file has its `sticky' bit set."
-msgstr " -k FILE True if file has its ‘sticky’ bit set."
-
-#: builtins.c:932
-msgid " -p FILE True if file is a named pipe."
-msgstr " -p FILE True if file is a named pipe."
-
-#: builtins.c:933
-msgid " -r FILE True if file is readable by you."
-msgstr " -r FILE True if file is readable by you."
-
-#: builtins.c:934
-msgid " -s FILE True if file exists and is not empty."
-msgstr " -s FILE True if file exists and is not empty."
-
-#: builtins.c:935
-msgid " -S FILE True if file is a socket."
-msgstr " -S FILE True if file is a socket."
-
-#: builtins.c:936
-msgid " -t FD True if FD is opened on a terminal."
-msgstr " -t FD True if FD is opened on a terminal."
-
-#: builtins.c:937
-msgid " -u FILE True if the file is set-user-id."
-msgstr " -u FILE True if the file is set-user-id."
-
-#: builtins.c:938
-msgid " -w FILE True if the file is writable by you."
-msgstr " -w FILE True if the file is writable by you."
-
-#: builtins.c:939
-msgid " -x FILE True if the file is executable by you."
-msgstr " -x FILE True if the file is executable by you."
-
-#: builtins.c:940
-msgid " -O FILE True if the file is effectively owned by you."
-msgstr " -O FILE True if the file is effectively owned by you."
-
-#: builtins.c:941
-msgid " -G FILE True if the file is effectively owned by your group."
-msgstr ""
-" -G FILE True if the file is effectively owned by your group."
-
-#: builtins.c:942
-msgid ""
-" -N FILE True if the file has been modified since it was last read."
-msgstr ""
-" -N FILE True if the file has been modified since it was last read."
-
-#: builtins.c:944
-msgid " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-msgstr " FILE1 -nt FILE2 True if file1 is newer than file2 (according to"
-
-#: builtins.c:945
-msgid " modification date)."
-msgstr " modification date)."
-
-#: builtins.c:947
-msgid " FILE1 -ot FILE2 True if file1 is older than file2."
-msgstr " FILE1 -ot FILE2 True if file1 is older than file2."
-
-#: builtins.c:949
-msgid " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-msgstr " FILE1 -ef FILE2 True if file1 is a hard link to file2."
-
-#: builtins.c:951
-msgid "String operators:"
-msgstr "String operators:"
-
-#: builtins.c:953
-msgid " -z STRING True if string is empty."
-msgstr " -z STRING True if string is empty."
-
-#: builtins.c:955
-msgid " -n STRING"
-msgstr " -n STRING"
-
-#: builtins.c:956
-msgid " STRING True if string is not empty."
-msgstr " STRING True if string is not empty."
-
-#: builtins.c:958
-msgid " STRING1 = STRING2"
-msgstr " STRING1 = STRING2"
-
-#: builtins.c:959
-msgid " True if the strings are equal."
-msgstr " True if the strings are equal."
-
-#: builtins.c:960
-msgid " STRING1 != STRING2"
-msgstr " STRING1 != STRING2"
-
-#: builtins.c:961
-msgid " True if the strings are not equal."
-msgstr " True if the strings are not equal."
-
-#: builtins.c:962
-msgid " STRING1 < STRING2"
-msgstr " STRING1 < STRING2"
-
-#: builtins.c:963
-msgid ""
-" True if STRING1 sorts before STRING2 lexicographically."
-msgstr ""
-" True if STRING1 sorts before STRING2 lexicographically."
-
-#: builtins.c:964
-msgid " STRING1 > STRING2"
-msgstr " STRING1 > STRING2"
-
-#: builtins.c:965
-msgid ""
-" True if STRING1 sorts after STRING2 lexicographically."
-msgstr ""
-" True if STRING1 sorts after STRING2 lexicographically."
-
-#: builtins.c:967
-msgid "Other operators:"
-msgstr "Other operators:"
-
-#: builtins.c:969
-msgid " -o OPTION True if the shell option OPTION is enabled."
-msgstr " -o OPTION True if the shell option OPTION is enabled."
-
-#: builtins.c:970
-msgid " ! EXPR True if expr is false."
-msgstr " ! EXPR True if expr is false."
-
-#: builtins.c:971
-msgid " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-msgstr " EXPR1 -a EXPR2 True if both expr1 AND expr2 are true."
-
-#: builtins.c:972
-msgid " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-msgstr " EXPR1 -o EXPR2 True if either expr1 OR expr2 is true."
-
-#: builtins.c:974
-msgid " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-msgstr " arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,"
-
-#: builtins.c:975
-msgid " -lt, -le, -gt, or -ge."
-msgstr " -lt, -le, -gt, or -ge."
-
-#: builtins.c:977
-msgid "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-msgstr "Arithmetic binary operators return true if ARG1 is equal, not-equal,"
-
-#: builtins.c:978
-msgid "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-msgstr "less-than, less-than-or-equal, greater-than, or greater-than-or-equal"
-
-#: builtins.c:979
-msgid "than ARG2."
-msgstr "than ARG2."
-
-#: builtins.c:985
-msgid "This is a synonym for the \"test\" builtin, but the last"
-msgstr "This is a synonym for the “test” builtin, but the last"
-
-#: builtins.c:986
-msgid "argument must be a literal `]', to match the opening `['."
-msgstr "argument must be a literal ‘]’, to match the opening ‘[’."
-
-#: builtins.c:992
-msgid "Print the accumulated user and system times for processes run from"
-msgstr "Print the accumulated user and system times for processes run from"
-
-#: builtins.c:993
-msgid "the shell."
-msgstr "the shell."
-
-#: builtins.c:999
-msgid "The command ARG is to be read and executed when the shell receives"
-msgstr "The command ARG is to be read and executed when the shell receives"
-
-#: builtins.c:1000
-msgid "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-msgstr "signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are"
-
-#: builtins.c:1001
-msgid "reset to their original values. If ARG is the null string each"
-msgstr "reset to their original values. If ARG is the null string each"
-
-#: builtins.c:1002
-msgid "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-msgstr "SIGNAL_SPEC is ignored by the shell and by the commands it invokes."
-
-#: builtins.c:1003
-msgid "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-msgstr "If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from"
-
-#: builtins.c:1004
-msgid "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-msgstr "the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every"
-
-#: builtins.c:1005
-msgid "command. If ARG is `-p' then the trap commands associated with"
-msgstr "command. If ARG is ‘-p’ then the trap commands associated with"
-
-#: builtins.c:1006
-msgid "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-msgstr "each SIGNAL_SPEC are displayed. If no arguments are supplied or if"
-
-#: builtins.c:1007
-msgid "only `-p' is given, trap prints the list of commands associated with"
-msgstr "only ‘-p’ is given, trap prints the list of commands associated with"
-
-#: builtins.c:1008
-msgid ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-msgstr ""
-"each signal number. Each SIGNAL_SPEC is either a signal name in <signal.h>"
-
-#: builtins.c:1009
-msgid "or a signal number. `trap -l' prints a list of signal names and their"
-msgstr "or a signal number. ‘trap -l’ prints a list of signal names and their"
-
-#: builtins.c:1010
-msgid "corresponding numbers. Note that a signal can be sent to the shell"
-msgstr "corresponding numbers. Note that a signal can be sent to the shell"
-
-#: builtins.c:1011
-msgid "with \"kill -signal $$\"."
-msgstr "with “kill -signal $$”."
-
-#: builtins.c:1017
-msgid "For each NAME, indicate how it would be interpreted if used as a"
-msgstr "For each NAME, indicate how it would be interpreted if used as a"
-
-#: builtins.c:1018
-msgid "command name."
-msgstr "command name."
-
-#: builtins.c:1020
-msgid "If the -t option is used, `type' outputs a single word which is one of"
-msgstr "If the -t option is used, ‘type’ outputs a single word which is one of"
-
-#: builtins.c:1021
-msgid "`alias', `keyword', `function', `builtin', `file' or `', if NAME is an"
-msgstr "‘alias’, ‘keyword’, ‘function’, ‘builtin’, ‘file’ or ‘’, if NAME is an"
-
-#: builtins.c:1022
-msgid "alias, shell reserved word, shell function, shell builtin, disk file,"
-msgstr "alias, shell reserved word, shell function, shell builtin, disk file,"
-
-#: builtins.c:1023
-msgid "or unfound, respectively."
-msgstr "or unfound, respectively."
-
-#: builtins.c:1025
-msgid "If the -p flag is used, `type' either returns the name of the disk"
-msgstr "If the -p flag is used, ‘type’ either returns the name of the disk"
-
-#: builtins.c:1026
-msgid "file that would be executed, or nothing if `type -t NAME' would not"
-msgstr "file that would be executed, or nothing if ‘type -t NAME’ would not"
-
-#: builtins.c:1027
-msgid "return `file'."
-msgstr "return ‘file’."
-
-#: builtins.c:1029
-msgid "If the -a flag is used, `type' displays all of the places that contain"
-msgstr "If the -a flag is used, ‘type’ displays all of the places that contain"
-
-#: builtins.c:1030
-msgid "an executable named `file'. This includes aliases, builtins, and"
-msgstr "an executable named ‘file’. This includes aliases, builtins, and"
-
-#: builtins.c:1031
-msgid "functions, if and only if the -p flag is not also used."
-msgstr "functions, if and only if the -p flag is not also used."
-
-#: builtins.c:1033
-msgid "The -f flag suppresses shell function lookup."
-msgstr "The -f flag suppresses shell function lookup."
-
-#: builtins.c:1035
-msgid "The -P flag forces a PATH search for each NAME, even if it is an alias,"
-msgstr ""
-"The -P flag forces a PATH search for each NAME, even if it is an alias,"
-
-#: builtins.c:1036
-msgid "builtin, or function, and returns the name of the disk file that would"
-msgstr "builtin, or function, and returns the name of the disk file that would"
-
-#: builtins.c:1037
-msgid "be executed."
-msgstr "be executed."
-
-#: builtins.c:1044
-msgid "Ulimit provides control over the resources available to processes"
-msgstr "Ulimit provides control over the resources available to processes"
-
-#: builtins.c:1045
-msgid "started by the shell, on systems that allow such control. If an"
-msgstr "started by the shell, on systems that allow such control. If an"
-
-#: builtins.c:1046
-msgid "option is given, it is interpreted as follows:"
-msgstr "option is given, it is interpreted as follows:"
-
-#: builtins.c:1048
-msgid " -S\tuse the `soft' resource limit"
-msgstr " -S\tuse the ‘soft’ resource limit"
-
-#: builtins.c:1049
-msgid " -H\tuse the `hard' resource limit"
-msgstr " -H\tuse the ‘hard’ resource limit"
-
-#: builtins.c:1050
-msgid " -a\tall current limits are reported"
-msgstr " -a\tall current limits are reported"
-
-#: builtins.c:1051
-msgid " -c\tthe maximum size of core files created"
-msgstr " -c\tthe maximum size of core files created"
-
-#: builtins.c:1052
-msgid " -d\tthe maximum size of a process's data segment"
-msgstr " -d\tthe maximum size of a process's data segment"
-
-#: builtins.c:1053
-msgid " -f\tthe maximum size of files created by the shell"
-msgstr " -f\tthe maximum size of files created by the shell"
-
-#: builtins.c:1054
-msgid " -l\tthe maximum size a process may lock into memory"
-msgstr " -l\tthe maximum size a process may lock into memory"
-
-#: builtins.c:1055
-msgid " -m\tthe maximum resident set size"
-msgstr " -m\tthe maximum resident set size"
-
-#: builtins.c:1056
-msgid " -n\tthe maximum number of open file descriptors"
-msgstr " -n\tthe maximum number of open file descriptors"
-
-#: builtins.c:1057
-msgid " -p\tthe pipe buffer size"
-msgstr " -p\tthe pipe buffer size"
-
-#: builtins.c:1058
-msgid " -s\tthe maximum stack size"
-msgstr " -s\tthe maximum stack size"
-
-#: builtins.c:1059
-msgid " -t\tthe maximum amount of cpu time in seconds"
-msgstr " -t\tthe maximum amount of cpu time in seconds"
-
-#: builtins.c:1060
-msgid " -u\tthe maximum number of user processes"
-msgstr " -u\tthe maximum number of user processes"
-
-#: builtins.c:1061
-msgid " -v\tthe size of virtual memory"
-msgstr " -v\tthe size of virtual memory"
-
-#: builtins.c:1063
-msgid "If LIMIT is given, it is the new value of the specified resource;"
-msgstr "If LIMIT is given, it is the new value of the specified resource;"
-
-#: builtins.c:1064
-msgid "the special LIMIT values `soft', `hard', and `unlimited' stand for"
-msgstr "the special LIMIT values ‘soft’, ‘hard’, and ‘unlimited’ stand for"
-
-#: builtins.c:1065
-msgid ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-msgstr ""
-"the current soft limit, the current hard limit, and no limit, respectively."
-
-#: builtins.c:1066
-msgid "Otherwise, the current value of the specified resource is printed."
-msgstr "Otherwise, the current value of the specified resource is printed."
-
-#: builtins.c:1067
-msgid "If no option is given, then -f is assumed. Values are in 1024-byte"
-msgstr "If no option is given, then -f is assumed. Values are in 1024-byte"
-
-#: builtins.c:1068
-msgid "increments, except for -t, which is in seconds, -p, which is in"
-msgstr "increments, except for -t, which is in seconds, -p, which is in"
-
-#: builtins.c:1069
-msgid "increments of 512 bytes, and -u, which is an unscaled number of"
-msgstr "increments of 512 bytes, and -u, which is an unscaled number of"
-
-#: builtins.c:1070
-msgid "processes."
-msgstr "processes."
-
-#: builtins.c:1077
-msgid "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-msgstr "The user file-creation mask is set to MODE. If MODE is omitted, or if"
-
-#: builtins.c:1078
-msgid "`-S' is supplied, the current value of the mask is printed. The `-S'"
-msgstr "‘-S’ is supplied, the current value of the mask is printed. The ‘-S’"
-
-#: builtins.c:1079
-msgid "option makes the output symbolic; otherwise an octal number is output."
-msgstr "option makes the output symbolic; otherwise an octal number is output."
-
-#: builtins.c:1080
-msgid "If `-p' is supplied, and MODE is omitted, the output is in a form"
-msgstr "If ‘-p’ is supplied, and MODE is omitted, the output is in a form"
-
-#: builtins.c:1081
-msgid "that may be used as input. If MODE begins with a digit, it is"
-msgstr "that may be used as input. If MODE begins with a digit, it is"
-
-#: builtins.c:1082
-msgid "interpreted as an octal number, otherwise it is a symbolic mode string"
-msgstr "interpreted as an octal number, otherwise it is a symbolic mode string"
-
-#: builtins.c:1083
-msgid "like that accepted by chmod(1)."
-msgstr "like that accepted by chmod(1)."
-
-#: builtins.c:1090 builtins.c:1102
-msgid "Wait for the specified process and report its termination status. If"
-msgstr "Wait for the specified process and report its termination status. If"
-
-#: builtins.c:1091 builtins.c:1103
-msgid "N is not given, all currently active child processes are waited for,"
-msgstr "N is not given, all currently active child processes are waited for,"
-
-#: builtins.c:1092
-msgid "and the return code is zero. N may be a process ID or a job"
-msgstr "and the return code is zero. N may be a process ID or a job"
-
-#: builtins.c:1093
-msgid "specification; if a job spec is given, all processes in the job's"
-msgstr "specification; if a job spec is given, all processes in the job's"
-
-#: builtins.c:1094
-msgid "pipeline are waited for."
-msgstr "pipeline are waited for."
-
-#: builtins.c:1104
-msgid "and the return code is zero. N is a process ID; if it is not given,"
-msgstr "and the return code is zero. N is a process ID; if it is not given,"
-
-#: builtins.c:1105
-msgid "all child processes of the shell are waited for."
-msgstr "all child processes of the shell are waited for."
-
-#: builtins.c:1112
-msgid "The `for' loop executes a sequence of commands for each member in a"
-msgstr "The ‘for’ loop executes a sequence of commands for each member in a"
-
-#: builtins.c:1113
-msgid "list of items. If `in WORDS ...;' is not present, then `in \"$@\"' is"
-msgstr "list of items. If ‘in WORDS ...;’ is not present, then ‘in “$@”’ is"
-
-#: builtins.c:1114
-msgid "assumed. For each element in WORDS, NAME is set to that element, and"
-msgstr "assumed. For each element in WORDS, NAME is set to that element, and"
-
-#: builtins.c:1115
-msgid "the COMMANDS are executed."
-msgstr "the COMMANDS are executed."
-
-#: builtins.c:1121
-msgid "Equivalent to"
-msgstr "Equivalent to"
-
-#: builtins.c:1122
-msgid "\t(( EXP1 ))"
-msgstr "\t(( EXP1 ))"
-
-#: builtins.c:1123
-msgid "\twhile (( EXP2 )); do"
-msgstr "\twhile (( EXP2 )); do"
-
-#: builtins.c:1124
-msgid "\t\tCOMMANDS"
-msgstr "\t\tCOMMANDS"
-
-#: builtins.c:1125
-msgid "\t\t(( EXP3 ))"
-msgstr "\t\t(( EXP3 ))"
-
-#: builtins.c:1126
-msgid "\tdone"
-msgstr "\tdone"
-
-#: builtins.c:1127
-msgid "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-msgstr "EXP1, EXP2, and EXP3 are arithmetic expressions. If any expression is"
-
-#: builtins.c:1128
-msgid "omitted, it behaves as if it evaluates to 1."
-msgstr "omitted, it behaves as if it evaluates to 1."
-
-#: builtins.c:1134
-msgid "The WORDS are expanded, generating a list of words. The"
-msgstr "The WORDS are expanded, generating a list of words. The"
-
-#: builtins.c:1135
-msgid "set of expanded words is printed on the standard error, each"
-msgstr "set of expanded words is printed on the standard error, each"
-
-#: builtins.c:1136
-msgid "preceded by a number. If `in WORDS' is not present, `in \"$@\"'"
-msgstr "preceded by a number. If ‘in WORDS’ is not present, ‘in “$@”’"
-
-#: builtins.c:1137
-msgid "is assumed. The PS3 prompt is then displayed and a line read"
-msgstr "is assumed. The PS3 prompt is then displayed and a line read"
-
-#: builtins.c:1138
-msgid "from the standard input. If the line consists of the number"
-msgstr "from the standard input. If the line consists of the number"
-
-#: builtins.c:1139
-msgid "corresponding to one of the displayed words, then NAME is set"
-msgstr "corresponding to one of the displayed words, then NAME is set"
-
-#: builtins.c:1140
-msgid "to that word. If the line is empty, WORDS and the prompt are"
-msgstr "to that word. If the line is empty, WORDS and the prompt are"
-
-#: builtins.c:1141
-msgid "redisplayed. If EOF is read, the command completes. Any other"
-msgstr "redisplayed. If EOF is read, the command completes. Any other"
-
-#: builtins.c:1142
-msgid "value read causes NAME to be set to null. The line read is saved"
-msgstr "value read causes NAME to be set to null. The line read is saved"
-
-#: builtins.c:1143
-msgid "in the variable REPLY. COMMANDS are executed after each selection"
-msgstr "in the variable REPLY. COMMANDS are executed after each selection"
-
-#: builtins.c:1144
-msgid "until a break command is executed."
-msgstr "until a break command is executed."
-
-#: builtins.c:1150
-msgid "Execute PIPELINE and print a summary of the real time, user CPU time,"
-msgstr "Execute PIPELINE and print a summary of the real time, user CPU time,"
-
-#: builtins.c:1151
-msgid "and system CPU time spent executing PIPELINE when it terminates."
-msgstr "and system CPU time spent executing PIPELINE when it terminates."
-
-#: builtins.c:1152
-msgid "The return status is the return status of PIPELINE. The `-p' option"
-msgstr "The return status is the return status of PIPELINE. The ‘-p’ option"
-
-#: builtins.c:1153
-msgid "prints the timing summary in a slightly different format. This uses"
-msgstr "prints the timing summary in a slightly different format. This uses"
-
-#: builtins.c:1154
-msgid "the value of the TIMEFORMAT variable as the output format."
-msgstr "the value of the TIMEFORMAT variable as the output format."
-
-#: builtins.c:1160
-msgid "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-msgstr "Selectively execute COMMANDS based upon WORD matching PATTERN. The"
-
-#: builtins.c:1161
-msgid "`|' is used to separate multiple patterns."
-msgstr "‘|’ is used to separate multiple patterns."
-
-#: builtins.c:1167
-msgid ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-msgstr ""
-"The if COMMANDS are executed. If the exit status is zero, then the then"
-
-#: builtins.c:1168
-msgid ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-msgstr ""
-"COMMANDS are executed. Otherwise, each of the elif COMMANDS are executed"
-
-#: builtins.c:1169
-msgid ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-msgstr ""
-"in turn, and if the exit status is zero, the corresponding then COMMANDS"
-
-#: builtins.c:1170
-msgid ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-msgstr ""
-"are executed and the if command completes. Otherwise, the else COMMANDS"
-
-#: builtins.c:1171
-msgid ""
-"are executed, if present. The exit status is the exit status of the last"
-msgstr ""
-"are executed, if present. The exit status is the exit status of the last"
-
-#: builtins.c:1172
-msgid "command executed, or zero if no condition tested true."
-msgstr "command executed, or zero if no condition tested true."
-
-#: builtins.c:1178 builtins.c:1185
-msgid "Expand and execute COMMANDS as long as the final command in the"
-msgstr "Expand and execute COMMANDS as long as the final command in the"
-
-#: builtins.c:1179
-msgid "`while' COMMANDS has an exit status of zero."
-msgstr "‘while’ COMMANDS has an exit status of zero."
-
-#: builtins.c:1186
-msgid "`until' COMMANDS has an exit status which is not zero."
-msgstr "‘until’ COMMANDS has an exit status which is not zero."
-
-#: builtins.c:1192
-msgid "Create a simple command invoked by NAME which runs COMMANDS."
-msgstr "Create a simple command invoked by NAME which runs COMMANDS."
-
-#: builtins.c:1193
-msgid "Arguments on the command line along with NAME are passed to the"
-msgstr "Arguments on the command line along with NAME are passed to the"
-
-#: builtins.c:1194
-msgid "function as $0 .. $n."
-msgstr "function as $0 .. $n."
-
-#: builtins.c:1200
-msgid "Run a set of commands in a group. This is one way to redirect an"
-msgstr "Run a set of commands in a group. This is one way to redirect an"
-
-#: builtins.c:1201
-msgid "entire set of commands."
-msgstr "entire set of commands."
-
-#: builtins.c:1207
-msgid "This is similar to the `fg' command. Resume a stopped or background"
-msgstr "This is similar to the ‘fg’ command. Resume a stopped or background"
-
-#: builtins.c:1208
-msgid "job. If you specifiy DIGITS, then that job is used. If you specify"
-msgstr "job. If you specifiy DIGITS, then that job is used. If you specify"
-
-#: builtins.c:1209
-msgid "WORD, then the job whose name begins with WORD is used. Following the"
-msgstr "WORD, then the job whose name begins with WORD is used. Following the"
-
-#: builtins.c:1210
-msgid "job specification with a `&' places the job in the background."
-msgstr "job specification with a ‘&’ places the job in the background."
-
-#: builtins.c:1216
-msgid "The EXPRESSION is evaluated according to the rules for arithmetic"
-msgstr "The EXPRESSION is evaluated according to the rules for arithmetic"
-
-#: builtins.c:1217
-msgid "evaluation. Equivalent to \"let EXPRESSION\"."
-msgstr "evaluation. Equivalent to “let EXPRESSION”."
-
-#: builtins.c:1223
-msgid ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-msgstr ""
-"Returns a status of 0 or 1 depending on the evaluation of the conditional"
-
-#: builtins.c:1224
-msgid ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-msgstr ""
-"expression EXPRESSION. Expressions are composed of the same primaries used"
-
-#: builtins.c:1225
-msgid ""
-"by the `test' builtin, and may be combined using the following operators"
-msgstr ""
-"by the ‘test’ builtin, and may be combined using the following operators"
-
-#: builtins.c:1227
-msgid "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-msgstr "\t( EXPRESSION )\tReturns the value of EXPRESSION"
-
-#: builtins.c:1228
-msgid "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-msgstr "\t! EXPRESSION\tTrue if EXPRESSION is false; else false"
-
-#: builtins.c:1229
-msgid "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-msgstr "\tEXPR1 && EXPR2\tTrue if both EXPR1 and EXPR2 are true; else false"
-
-#: builtins.c:1230
-msgid "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-msgstr "\tEXPR1 || EXPR2\tTrue if either EXPR1 or EXPR2 is true; else false"
-
-#: builtins.c:1232
-msgid ""
-"When the `==' and `!=' operators are used, the string to the right of the"
-msgstr ""
-"When the ‘==’ and ‘!=’ operators are used, the string to the right of the"
-
-#: builtins.c:1233
-msgid "operator is used as a pattern and pattern matching is performed. The"
-msgstr "operator is used as a pattern and pattern matching is performed. The"
-
-#: builtins.c:1234
-msgid "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-msgstr "&& and || operators do not evaluate EXPR2 if EXPR1 is sufficient to"
-
-#: builtins.c:1235
-msgid "determine the expression's value."
-msgstr "determine the expression's value."
-
-#: builtins.c:1241
-msgid "BASH_VERSION Version information for this Bash."
-msgstr "BASH_VERSION Version information for this Bash."
-
-#: builtins.c:1242
-msgid "CDPATH A colon separated list of directories to search"
-msgstr "CDPATH A colon separated list of directories to search"
-
-#: builtins.c:1243
-msgid "\t\twhen the argument to `cd' is not found in the current"
-msgstr "\t\twhen the argument to ‘cd’ is not found in the current"
-
-#: builtins.c:1244
-msgid "\t\tdirectory."
-msgstr "\t\tdirectory."
-
-#: builtins.c:1245
-msgid "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-msgstr "GLOBIGNORE\tA colon-separated list of patterns describing filenames to"
-
-#: builtins.c:1246
-msgid "\t\tbe ignored by pathname expansion."
-msgstr "\t\tbe ignored by pathname expansion."
-
-#: builtins.c:1248
-msgid ""
-"HISTFILE The name of the file where your command history is stored."
-msgstr ""
-"HISTFILE The name of the file where your command history is stored."
-
-#: builtins.c:1249
-msgid "HISTFILESIZE The maximum number of lines this file can contain."
-msgstr "HISTFILESIZE The maximum number of lines this file can contain."
-
-#: builtins.c:1250
-msgid "HISTSIZE The maximum number of history lines that a running"
-msgstr "HISTSIZE The maximum number of history lines that a running"
-
-#: builtins.c:1251
-msgid "\t\tshell can access."
-msgstr "\t\tshell can access."
-
-#: builtins.c:1253
-msgid "HOME The complete pathname to your login directory."
-msgstr "HOME The complete pathname to your login directory."
-
-#: builtins.c:1254
-msgid "HOSTNAME\tThe name of the current host."
-msgstr "HOSTNAME\tThe name of the current host."
-
-#: builtins.c:1255
-msgid "HOSTTYPE The type of CPU this version of Bash is running under."
-msgstr "HOSTTYPE The type of CPU this version of Bash is running under."
-
-#: builtins.c:1256
-msgid "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-msgstr "IGNOREEOF Controls the action of the shell on receipt of an EOF"
-
-#: builtins.c:1257
-msgid "\t\tcharacter as the sole input. If set, then the value"
-msgstr "\t\tcharacter as the sole input. If set, then the value"
-
-#: builtins.c:1258
-msgid "\t\tof it is the number of EOF characters that can be seen"
-msgstr "\t\tof it is the number of EOF characters that can be seen"
-
-#: builtins.c:1259
-msgid "\t\tin a row on an empty line before the shell will exit"
-msgstr "\t\tin a row on an empty line before the shell will exit"
-
-#: builtins.c:1260
-msgid "\t\t(default 10). When unset, EOF signifies the end of input."
-msgstr "\t\t(default 10). When unset, EOF signifies the end of input."
-
-#: builtins.c:1261
-msgid "MACHTYPE\tA string describing the current system Bash is running on."
-msgstr "MACHTYPE\tA string describing the current system Bash is running on."
-
-#: builtins.c:1262
-msgid "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-msgstr "MAILCHECK\tHow often, in seconds, Bash checks for new mail."
-
-#: builtins.c:1263
-msgid "MAILPATH\tA colon-separated list of filenames which Bash checks"
-msgstr "MAILPATH\tA colon-separated list of filenames which Bash checks"
-
-#: builtins.c:1264
-msgid "\t\tfor new mail."
-msgstr "\t\tfor new mail."
-
-#: builtins.c:1265
-msgid "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-msgstr "OSTYPE\t\tThe version of Unix this version of Bash is running on."
-
-#: builtins.c:1266
-msgid "PATH A colon-separated list of directories to search when"
-msgstr "PATH A colon-separated list of directories to search when"
-
-#: builtins.c:1267
-msgid "\t\tlooking for commands."
-msgstr "\t\tlooking for commands."
-
-#: builtins.c:1268
-msgid "PROMPT_COMMAND A command to be executed before the printing of each"
-msgstr "PROMPT_COMMAND A command to be executed before the printing of each"
-
-#: builtins.c:1269
-msgid "\t\tprimary prompt."
-msgstr "\t\tprimary prompt."
-
-#: builtins.c:1270
-msgid "PS1 The primary prompt string."
-msgstr "PS1 The primary prompt string."
-
-#: builtins.c:1271
-msgid "PS2 The secondary prompt string."
-msgstr "PS2 The secondary prompt string."
-
-#: builtins.c:1272
-msgid "PWD\t\tThe full pathname of the current directory."
-msgstr "PWD\t\tThe full pathname of the current directory."
-
-#: builtins.c:1273
-msgid "SHELLOPTS\tA colon-separated list of enabled shell options."
-msgstr "SHELLOPTS\tA colon-separated list of enabled shell options."
-
-#: builtins.c:1274
-msgid "TERM The name of the current terminal type."
-msgstr "TERM The name of the current terminal type."
-
-#: builtins.c:1275
-msgid "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-msgstr "TIMEFORMAT\tThe output format for timing statistics displayed by the"
-
-#: builtins.c:1276
-msgid "\t\t`time' reserved word."
-msgstr "\t\t‘time’ reserved word."
-
-#: builtins.c:1277
-msgid "auto_resume Non-null means a command word appearing on a line by"
-msgstr "auto_resume Non-null means a command word appearing on a line by"
-
-#: builtins.c:1278
-msgid "\t\titself is first looked for in the list of currently"
-msgstr "\t\titself is first looked for in the list of currently"
-
-#: builtins.c:1279
-msgid "\t\tstopped jobs. If found there, that job is foregrounded."
-msgstr "\t\tstopped jobs. If found there, that job is foregrounded."
-
-#: builtins.c:1280
-msgid "\t\tA value of `exact' means that the command word must"
-msgstr "\t\tA value of ‘exact’ means that the command word must"
-
-#: builtins.c:1281
-msgid "\t\texactly match a command in the list of stopped jobs. A"
-msgstr "\t\texactly match a command in the list of stopped jobs. A"
-
-#: builtins.c:1282
-msgid "\t\tvalue of `substring' means that the command word must"
-msgstr "\t\tvalue of ‘substring’ means that the command word must"
-
-#: builtins.c:1283
-msgid "\t\tmatch a substring of the job. Any other value means that"
-msgstr "\t\tmatch a substring of the job. Any other value means that"
-
-#: builtins.c:1284
-msgid "\t\tthe command must be a prefix of a stopped job."
-msgstr "\t\tthe command must be a prefix of a stopped job."
-
-#: builtins.c:1287
-msgid "histchars Characters controlling history expansion and quick"
-msgstr "histchars Characters controlling history expansion and quick"
-
-#: builtins.c:1288
-msgid "\t\tsubstitution. The first character is the history"
-msgstr "\t\tsubstitution. The first character is the history"
-
-#: builtins.c:1289
-msgid "\t\tsubstitution character, usually `!'. The second is"
-msgstr "\t\tsubstitution character, usually ‘!’. The second is"
-
-#: builtins.c:1290
-msgid "\t\tthe `quick substitution' character, usually `^'. The"
-msgstr "\t\tthe ‘quick substitution’ character, usually ‘^’. The"
-
-#: builtins.c:1291
-msgid "\t\tthird is the `history comment' character, usually `#'."
-msgstr "\t\tthird is the ‘history comment’ character, usually ‘#’."
-
-#: builtins.c:1293
-msgid "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-msgstr "HISTIGNORE\tA colon-separated list of patterns used to decide which"
-
-#: builtins.c:1294
-msgid "\t\tcommands should be saved on the history list."
-msgstr "\t\tcommands should be saved on the history list."
-
-#: builtins.c:1306
-msgid "+N\tRotates the stack so that the Nth directory (counting"
-msgstr "+N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1307
-msgid "\tfrom the left of the list shown by `dirs', starting with"
-msgstr "\tfrom the left of the list shown by ‘dirs’, starting with"
-
-#: builtins.c:1308 builtins.c:1312
-msgid "\tzero) is at the top."
-msgstr "\tzero) is at the top."
-
-#: builtins.c:1310
-msgid "-N\tRotates the stack so that the Nth directory (counting"
-msgstr "-N\tRotates the stack so that the Nth directory (counting"
-
-#: builtins.c:1311
-msgid "\tfrom the right of the list shown by `dirs', starting with"
-msgstr "\tfrom the right of the list shown by ‘dirs’, starting with"
-
-#: builtins.c:1314
-msgid "-n\tsuppress the normal change of directory when adding directories"
-msgstr "-n\tsuppress the normal change of directory when adding directories"
-
-#: builtins.c:1315
-msgid "\tto the stack, so only the stack is manipulated."
-msgstr "\tto the stack, so only the stack is manipulated."
-
-#: builtins.c:1317
-msgid "dir\tadds DIR to the directory stack at the top, making it the"
-msgstr "dir\tadds DIR to the directory stack at the top, making it the"
-
-#: builtins.c:1318
-msgid "\tnew current working directory."
-msgstr "\tnew current working directory."
-
-#: builtins.c:1332
-msgid "+N\tremoves the Nth entry counting from the left of the list"
-msgstr "+N\tremoves the Nth entry counting from the left of the list"
-
-#: builtins.c:1333
-msgid "\tshown by `dirs', starting with zero. For example: `popd +0'"
-msgstr "\tshown by ‘dirs’, starting with zero. For example: ‘popd +0’"
-
-#: builtins.c:1334
-msgid "\tremoves the first directory, `popd +1' the second."
-msgstr "\tremoves the first directory, ‘popd +1’ the second."
-
-#: builtins.c:1336
-msgid "-N\tremoves the Nth entry counting from the right of the list"
-msgstr "-N\tremoves the Nth entry counting from the right of the list"
-
-#: builtins.c:1337
-msgid "\tshown by `dirs', starting with zero. For example: `popd -0'"
-msgstr "\tshown by ‘dirs’, starting with zero. For example: ‘popd -0’"
-
-#: builtins.c:1338
-msgid "\tremoves the last directory, `popd -1' the next to last."
-msgstr "\tremoves the last directory, ‘popd -1’ the next to last."
-
-#: builtins.c:1340
-msgid "-n\tsuppress the normal change of directory when removing directories"
-msgstr "-n\tsuppress the normal change of directory when removing directories"
-
-#: builtins.c:1341
-msgid "\tfrom the stack, so only the stack is manipulated."
-msgstr "\tfrom the stack, so only the stack is manipulated."
-
-#: builtins.c:1363
-msgid "+N\tdisplays the Nth entry counting from the left of the list shown by"
-msgstr "+N\tdisplays the Nth entry counting from the left of the list shown by"
-
-#: builtins.c:1364 builtins.c:1367
-msgid "\tdirs when invoked without options, starting with zero."
-msgstr "\tdirs when invoked without options, starting with zero."
-
-#: builtins.c:1366
-msgid "-N\tdisplays the Nth entry counting from the right of the list shown by"
-msgstr ""
-"-N\tdisplays the Nth entry counting from the right of the list shown by"
-
-#: builtins.c:1374
-msgid "Toggle the values of variables controlling optional behavior."
-msgstr "Toggle the values of variables controlling optional behavior."
-
-#: builtins.c:1375
-msgid "The -s flag means to enable (set) each OPTNAME; the -u flag"
-msgstr "The -s flag means to enable (set) each OPTNAME; the -u flag"
-
-#: builtins.c:1376
-msgid "unsets each OPTNAME. The -q flag suppresses output; the exit"
-msgstr "unsets each OPTNAME. The -q flag suppresses output; the exit"
-
-#: builtins.c:1377
-msgid "status indicates whether each OPTNAME is set or unset. The -o"
-msgstr "status indicates whether each OPTNAME is set or unset. The -o"
-
-#: builtins.c:1378
-msgid "option restricts the OPTNAMEs to those defined for use with"
-msgstr "option restricts the OPTNAMEs to those defined for use with"
-
-#: builtins.c:1379
-msgid "`set -o'. With no options, or with the -p option, a list of all"
-msgstr "‘set -o’. With no options, or with the -p option, a list of all"
-
-#: builtins.c:1380
-msgid "settable options is displayed, with an indication of whether or"
-msgstr "settable options is displayed, with an indication of whether or"
-
-#: builtins.c:1381
-msgid "not each is set."
-msgstr "not each is set."
-
-#: builtins.c:1387
-msgid "printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-msgstr ""
-"printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT"
-
-#: builtins.c:1388
-msgid "is a character string which contains three types of objects: plain"
-msgstr "is a character string which contains three types of objects: plain"
-
-#: builtins.c:1389
-msgid ""
-"characters, which are simply copied to standard output, character escape"
-msgstr ""
-"characters, which are simply copied to standard output, character escape"
-
-#: builtins.c:1390
-msgid "sequences which are converted and copied to the standard output, and"
-msgstr "sequences which are converted and copied to the standard output, and"
-
-#: builtins.c:1391
-msgid ""
-"format specifications, each of which causes printing of the next successive"
-msgstr ""
-"format specifications, each of which causes printing of the next successive"
-
-#: builtins.c:1392
-msgid "argument. In addition to the standard printf(1) formats, %b means to"
-msgstr "argument. In addition to the standard printf(1) formats, %b means to"
-
-#: builtins.c:1393
-msgid "expand backslash escape sequences in the corresponding argument, and %q"
-msgstr ""
-"expand backslash escape sequences in the corresponding argument, and %q"
-
-#: builtins.c:1394
-msgid "means to quote the argument in a way that can be reused as shell input."
-msgstr ""
-"means to quote the argument in a way that can be reused as shell input."
-
-#: builtins.c:1401
-msgid "For each NAME, specify how arguments are to be completed."
-msgstr "For each NAME, specify how arguments are to be completed."
-
-#: builtins.c:1402
-msgid "If the -p option is supplied, or if no options are supplied, existing"
-msgstr "If the -p option is supplied, or if no options are supplied, existing"
-
-#: builtins.c:1403
-msgid "completion specifications are printed in a way that allows them to be"
-msgstr "completion specifications are printed in a way that allows them to be"
-
-#: builtins.c:1404
-msgid "reused as input. The -r option removes a completion specification for"
-msgstr "reused as input. The -r option removes a completion specification for"
-
-#: builtins.c:1405
-msgid "each NAME, or, if no NAMEs are supplied, all completion specifications."
-msgstr ""
-"each NAME, or, if no NAMEs are supplied, all completion specifications."
-
-#: builtins.c:1413
-msgid "Display the possible completions depending on the options. Intended"
-msgstr "Display the possible completions depending on the options. Intended"
-
-#: builtins.c:1414
-msgid ""
-"to be used from within a shell function generating possible completions."
-msgstr ""
-"to be used from within a shell function generating possible completions."
-
-#: builtins.c:1415
-msgid "If the optional WORD argument is supplied, matches against WORD are"
-msgstr "If the optional WORD argument is supplied, matches against WORD are"
-
-#: builtins.c:1416
-msgid "generated."
-msgstr "generated."
+++ /dev/null
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
+++ /dev/null
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
+++ /dev/null
-#: lib/readline/bind.c:878
-#, c-format
-msgid "readline: %s: line %d: %s\n"
-msgstr ""
-
-#: lib/readline/bind.c:881
-#, c-format
-msgid "readline: %s\n"
-msgstr ""
-
-#: lib/readline/bind.c:994
-msgid "$else found without matching $if"
-msgstr ""
-
-#: lib/readline/bind.c:1024
-msgid "$endif without matching $if"
-msgstr ""
-
-#: lib/readline/bind.c:1101
-msgid "unknown parser directive"
-msgstr ""
-
-#: lib/readline/bind.c:1162
-msgid "no closing `\"' in key binding"
-msgstr ""
-
-#: lib/readline/bind.c:1977
-#, c-format
-msgid "# %s (not bound)\n"
-msgstr ""
-
-#: lib/readline/bind.c:1995
-#, c-format
-msgid "%s is not bound to any keys\n"
-msgstr ""
-
-#: lib/readline/bind.c:2001
-#, c-format
-msgid "%s can be found on "
-msgstr ""
-
-#: lib/readline/bind.c:2128
-#, c-format
-msgid "%s is set to `%s'\n"
-msgstr ""
-
-#: lib/readline/bind.c:2146
-#, c-format
-msgid "bell-style is set to `%s'\n"
-msgstr ""
-
-#: lib/readline/bind.c:2152
-#, c-format
-msgid "comment-begin is set to `%s'\n"
-msgstr ""
-
-#: lib/readline/bind.c:2158
-#, c-format
-msgid "completion-query-items is set to `%d'\n"
-msgstr ""
-
-#: lib/readline/bind.c:2164
-#, c-format
-msgid "editing-mode is set to `%s'\n"
-msgstr ""
-
-#: lib/readline/bind.c:2176
-#, c-format
-msgid "isearch-terminators is set to \"%s\"\n"
-msgstr ""
-
-#: lib/readline/bind.c:2188
-#, c-format
-msgid "keymap is set to `%s'\n"
-msgstr ""
-
-#: lib/readline/callback.c:105
-msgid "readline: readline_callback_read_char() called with no handler!\r\n"
-msgstr ""
-
-#: lib/readline/complete.c:1342
-#, c-format
-msgid "Display all %d possibilities? (y or n)"
-msgstr ""
-
-#: lib/readline/complete.c:1681
-#, c-format
-msgid ""
-"\r\n"
-"readline: bad value %d for what_to_do in rl_complete\n"
-msgstr ""
-
-#: lib/readline/display.c:1924
-#, c-format
-msgid "readline: debug: insert_some_chars: count (%d) != col (%d)\n"
-msgstr ""
-
-#: lib/readline/histexpand.c:377
-msgid "event not found"
-msgstr ""
-
-#: lib/readline/histexpand.c:381
-msgid "bad word specifier"
-msgstr ""
-
-#: lib/readline/histexpand.c:385
-msgid "substitution failed"
-msgstr ""
-
-#: lib/readline/histexpand.c:389
-msgid "unrecognized history modifier"
-msgstr ""
-
-#: lib/readline/histexpand.c:393
-msgid "no previous substitution"
-msgstr ""
-
-#: lib/readline/histexpand.c:397
-msgid "unknown expansion error"
-msgstr ""
-
-#: lib/readline/rltty.c:464
-#, c-format
-msgid "readline: warning: %s\n"
-msgstr ""
-
-#: lib/readline/rltty.c:475
-msgid "turning on OPOST for terminal\r"
-msgstr ""
-
-#: lib/readline/rltty.c:501
-msgid "turning off output flushing"
-msgstr ""
+++ /dev/null
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
+++ /dev/null
-*** ../bash-3.0/include/shmbutil.h Mon Apr 19 09:59:42 2004
---- include/shmbutil.h Thu Sep 2 15:20:47 2004
-***************
-*** 32,35 ****
---- 32,37 ----
- extern size_t xdupmbstowcs __P((wchar_t **, char ***, const char *));
-
-+ extern size_t mbstrlen __P((const char *));
-+
- extern char *xstrchr __P((const char *, int));
-
-***************
-*** 39,42 ****
---- 41,47 ----
- #endif
-
-+ #define MBSLEN(s) (((s) && (s)[0]) ? ((s)[1] ? mbstrlen (s) : 1) : 0)
-+ #define MB_STRLEN(s) ((MB_CUR_MAX > 1) ? MBSLEN (s) : STRLEN (s))
-+
- #else /* !HANDLE_MULTIBYTE */
-
-***************
-*** 54,57 ****
---- 59,64 ----
- #define MB_NULLWCH(x) (0)
- #endif
-+
-+ #define MB_STRLEN(s) (STRLEN(s))
-
- #endif /* !HANDLE_MULTIBYTE */
+++ /dev/null
-*** ../bash-3.0/subst.c Sun Jul 4 13:56:13 2004
---- subst.c Thu Aug 12 13:36:17 2004
-***************
-*** 4692,4695 ****
---- 4692,4715 ----
- }
-
-+ #if defined (HANDLE_MULTIBYTE)
-+ size_t
-+ mbstrlen (s)
-+ const char *s;
-+ {
-+ size_t clen, nc;
-+ mbstate_t mbs;
-+
-+ nc = 0;
-+ memset (&mbs, 0, sizeof (mbs));
-+ while ((clen = mbrlen(s, MB_CUR_MAX, &mbs)) != 0 && (MB_INVALIDCH(clen) == 0))
-+ {
-+ s += clen;
-+ nc++;
-+ }
-+ return nc;
-+ }
-+ #endif
-+
-+
- /* Handle the parameter brace expansion that requires us to return the
- length of a parameter. */
-***************
-*** 4747,4758 ****
- {
- t = get_dollar_var_value (arg_index);
-! number = STRLEN (t);
- FREE (t);
- }
- #if defined (ARRAY_VARS)
-! else if ((var = find_variable (name + 1)) && array_p (var))
- {
- t = array_reference (array_cell (var), 0);
-! number = STRLEN (t);
- }
- #endif
---- 4767,4778 ----
- {
- t = get_dollar_var_value (arg_index);
-! number = MB_STRLEN (t);
- FREE (t);
- }
- #if defined (ARRAY_VARS)
-! else if ((var = find_variable (name + 1)) && (invisible_p (var) == 0) && array_p (var))
- {
- t = array_reference (array_cell (var), 0);
-! number = MB_STRLEN (t);
- }
- #endif
-***************
-*** 4767,4771 ****
- dispose_words (list);
-
-! number = STRLEN (t);
- FREE (t);
- }
---- 4787,4791 ----
- dispose_words (list);
-
-! number = MB_STRLEN (t);
- FREE (t);
- }
-***************
-*** 4872,4876 ****
- case VT_VARIABLE:
- case VT_ARRAYMEMBER:
-! len = strlen (value);
- break;
- case VT_POSPARMS:
---- 4892,4896 ----
- case VT_VARIABLE:
- case VT_ARRAYMEMBER:
-! len = MB_STRLEN (value);
- break;
- case VT_POSPARMS:
-***************
-*** 4892,4896 ****
- *e1p += len;
-
-! if (*e1p >= len || *e1p < 0)
- return (-1);
-
---- 4912,4916 ----
- *e1p += len;
-
-! if (*e1p > len || *e1p < 0)
- return (-1);
-
-***************
-*** 4983,4987 ****
- return -1;
- }
-! else if ((v = find_variable (varname)) && array_p (v))
- {
- vtype = VT_ARRAYMEMBER;
---- 5003,5007 ----
- return -1;
- }
-! else if ((v = find_variable (varname)) && (invisible_p (v) == 0) && array_p (v))
- {
- vtype = VT_ARRAYMEMBER;
+++ /dev/null
-*** ../bash-3.0/variables.c Sun Jul 4 13:57:26 2004
---- variables.c Wed Aug 4 15:28:04 2004
-***************
-*** 1420,1428 ****
-
- # if defined (DEBUGGER)
-! v = init_dynamic_array_var ("BASH_ARGC", get_self, null_array_assign, (att_invisible|att_noassign));
-! v = init_dynamic_array_var ("BASH_ARGV", get_self, null_array_assign, (att_invisible|att_noassign));
- # endif /* DEBUGGER */
-! v = init_dynamic_array_var ("BASH_SOURCE", get_self, null_array_assign, (att_invisible|att_noassign));
-! v = init_dynamic_array_var ("BASH_LINENO", get_self, null_array_assign, (att_invisible|att_noassign));
- #endif
-
---- 1420,1428 ----
-
- # if defined (DEBUGGER)
-! v = init_dynamic_array_var ("BASH_ARGC", get_self, null_array_assign, att_noassign);
-! v = init_dynamic_array_var ("BASH_ARGV", get_self, null_array_assign, att_noassign);
- # endif /* DEBUGGER */
-! v = init_dynamic_array_var ("BASH_SOURCE", get_self, null_array_assign, att_noassign);
-! v = init_dynamic_array_var ("BASH_LINENO", get_self, null_array_assign, att_noassign);
- #endif
-
-***************
-*** 1600,1604 ****
- old_var = find_variable (name);
- if (old_var && local_p (old_var) && old_var->context == variable_context)
-! return (old_var);
-
- was_tmpvar = old_var && tempvar_p (old_var);
---- 1600,1607 ----
- old_var = find_variable (name);
- if (old_var && local_p (old_var) && old_var->context == variable_context)
-! {
-! VUNSETATTR (old_var, att_invisible);
-! return (old_var);
-! }
-
- was_tmpvar = old_var && tempvar_p (old_var);
-***************
-*** 2303,2306 ****
---- 2306,2315 ----
- if (old_var && local_p (old_var) && variable_context == old_var->context)
- {
-+ #if defined (ARRAY_VARS)
-+ if (array_p (old_var))
-+ array_dispose (array_cell (old_var));
-+ else
-+ #endif
-+ FREE (value_cell (old_var));
- /* Reset the attributes. Preserve the export attribute if the variable
- came from a temporary environment. Make sure it stays local, and
-***************
-*** 2309,2313 ****
- VSETATTR (old_var, att_local);
- VSETATTR (old_var, att_invisible);
-- FREE (value_cell (old_var));
- var_setvalue (old_var, (char *)NULL);
- INVALIDATE_EXPORTSTR (old_var);
---- 2318,2321 ----
-***************
-*** 3647,3650 ****
---- 3655,3659 ----
- { "LC_MESSAGES", sv_locale },
- { "LC_NUMERIC", sv_locale },
-+ { "LC_TIME", sv_locale },
-
- { "MAIL", sv_mail },
+++ /dev/null
-*** ../bash-3.0/bashline.c Mon Jul 5 23:22:12 2004
---- bashline.c Thu Sep 2 16:00:12 2004
-***************
-*** 2514,2518 ****
- static int ind;
- int glen;
-! char *ret;
-
- if (state == 0)
---- 2545,2549 ----
- static int ind;
- int glen;
-! char *ret, *ttext;
-
- if (state == 0)
-***************
-*** 2524,2538 ****
- FREE (globtext);
-
- if (rl_explicit_arg)
- {
-! globorig = savestring (text);
-! glen = strlen (text);
- globtext = (char *)xmalloc (glen + 2);
-! strcpy (globtext, text);
- globtext[glen] = '*';
- globtext[glen+1] = '\0';
- }
- else
-! globtext = globorig = savestring (text);
-
- matches = shell_glob_filename (globtext);
---- 2555,2574 ----
- FREE (globtext);
-
-+ ttext = bash_tilde_expand (text, 0);
-+
- if (rl_explicit_arg)
- {
-! globorig = savestring (ttext);
-! glen = strlen (ttext);
- globtext = (char *)xmalloc (glen + 2);
-! strcpy (globtext, ttext);
- globtext[glen] = '*';
- globtext[glen+1] = '\0';
- }
- else
-! globtext = globorig = savestring (ttext);
-!
-! if (ttext != text)
-! free (ttext);
-
- matches = shell_glob_filename (globtext);
+++ /dev/null
-*** ../bash-3.0/lib/readline/vi_mode.c Tue Jul 13 14:08:27 2004
---- lib/readline/vi_mode.c Tue Aug 17 00:12:09 2004
-***************
-*** 273,280 ****
---- 273,282 ----
- {
- case '?':
-+ _rl_free_saved_history_line ();
- rl_noninc_forward_search (count, key);
- break;
-
- case '/':
-+ _rl_free_saved_history_line ();
- rl_noninc_reverse_search (count, key);
- break;
-***************
-*** 691,695 ****
- wchar_t wc;
- char mb[MB_LEN_MAX+1];
-! int mblen;
- mbstate_t ps;
-
---- 693,697 ----
- wchar_t wc;
- char mb[MB_LEN_MAX+1];
-! int mblen, p;
- mbstate_t ps;
-
-***************
-*** 714,722 ****
- if (wc)
- {
- mblen = wcrtomb (mb, wc, &ps);
- if (mblen >= 0)
- mb[mblen] = '\0';
- rl_begin_undo_group ();
-! rl_delete (1, 0);
- rl_insert_text (mb);
- rl_end_undo_group ();
---- 716,727 ----
- if (wc)
- {
-+ p = rl_point;
- mblen = wcrtomb (mb, wc, &ps);
- if (mblen >= 0)
- mb[mblen] = '\0';
- rl_begin_undo_group ();
-! rl_vi_delete (1, 0);
-! if (rl_point < p) /* Did we retreat at EOL? */
-! rl_point++; /* XXX - should we advance more than 1 for mbchar? */
- rl_insert_text (mb);
- rl_end_undo_group ();
-***************
-*** 1311,1320 ****
- #if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! while (_rl_insert_char (1, c))
-! {
-! RL_SETSTATE (RL_STATE_MOREINPUT);
-! c = rl_read_key ();
-! RL_UNSETSTATE (RL_STATE_MOREINPUT);
-! }
- else
- #endif
---- 1316,1329 ----
- #if defined (HANDLE_MULTIBYTE)
- if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
-! {
-! if (rl_point < p) /* Did we retreat at EOL? */
-! rl_point++;
-! while (_rl_insert_char (1, c))
-! {
-! RL_SETSTATE (RL_STATE_MOREINPUT);
-! c = rl_read_key ();
-! RL_UNSETSTATE (RL_STATE_MOREINPUT);
-! }
-! }
- else
- #endif
+++ /dev/null
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <errno.h>
-
-#ifndef errno
-extern int errno;
-#endif
-main()
-{
- int x;
-
- x = waitpid(-1, (int *)0, WNOHANG|WCONTINUED);
- if (x == -1 && errno == ECHILD)
- exit (0);
- else
- exit (1);
-}