* NEWS: Autoconf-generated shell scripts no longer export BIN_SH,

due to configuration hassles with this.  See Tonya Underwood's report
<http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00003.html>.
* doc/autoconf.texi (Special Shell Variables): Likewise.

2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
    Stepan Kasal  <kasal@ucw.cz>

* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Don't set BIN_SH.
(_AS_DETECT_BETTER_SHELL): Don't look in /usr/bin/posix.

2006-10-11  Stepan Kasal  <kasal@ucw.cz>

* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Move the
  initialization which is not inherited through the environment
(_AS_BOURNE_COMPATIBLE): ... to this new macro.
(_AS_RUN): Call _AS_BOURNE_COMPATIBLE, not AS_BOURNE_COMPATIBLE.
This commit is contained in:
Paul Eggert 2006-10-11 19:35:57 +00:00
parent 43a3be8e55
commit 520f7f02ed
4 changed files with 51 additions and 22 deletions

View File

@ -1,3 +1,23 @@
2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
* NEWS: Autoconf-generated shell scripts no longer export BIN_SH,
due to configuration hassles with this. See Tonya Underwood's report
<http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00003.html>.
* doc/autoconf.texi (Special Shell Variables): Likewise.
2006-10-11 Paul Eggert <eggert@cs.ucla.edu>
Stepan Kasal <kasal@ucw.cz>
* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Don't set BIN_SH.
(_AS_DETECT_BETTER_SHELL): Don't look in /usr/bin/posix.
2006-10-11 Stepan Kasal <kasal@ucw.cz>
* lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Move the
initialization which is not inherited through the environment
(_AS_BOURNE_COMPATIBLE): ... to this new macro.
(_AS_RUN): Call _AS_BOURNE_COMPATIBLE, not AS_BOURNE_COMPATIBLE.
2006-10-09 Paul Eggert <eggert@cs.ucla.edu> 2006-10-09 Paul Eggert <eggert@cs.ucla.edu>
* doc/autoconf.texi (Limitations of Usual Tools): Describe * doc/autoconf.texi (Limitations of Usual Tools): Describe

6
NEWS
View File

@ -1,5 +1,11 @@
* Major changes in Autoconf 2.60b (??) * Major changes in Autoconf 2.60b (??)
** BIN_SH
Autoconf-generated shell scripts no longer export BIN_SH, due to
configuration hassles with this. Installers who need BIN_SH in
their environment should set it before invoking 'configure' and
'make'. As far as we know, this affects only Unixware installations.
** Obsolescent macros ** Obsolescent macros
The documentation now says that the following macros are obsolescent, The documentation now says that the following macros are obsolescent,
as they are superseded by Gnulib: as they are superseded by Gnulib:

View File

@ -11891,7 +11891,6 @@ the last command executed.
@evindex BIN_SH @evindex BIN_SH
In Tru64, if @env{BIN_SH} is set to @code{xpg4}, subsidiary invocations of In Tru64, if @env{BIN_SH} is set to @code{xpg4}, subsidiary invocations of
the standard shell conform to Posix. the standard shell conform to Posix.
Autoconf-generated scripts export this variable when they start up.
@item CDPATH @item CDPATH
@evindex CDPATH @evindex CDPATH

View File

@ -161,24 +161,30 @@ $2
# -------------------- # --------------------
# Try to be as Bourne and/or POSIX as possible. # Try to be as Bourne and/or POSIX as possible.
# #
# FIXME: The assignment to BIN_SH is dubious; see # This does not set BIN_SH, due to the problems described in
# <http://lists.gnu.org/archive/html/autoconf-patches/2006-03/msg00081.html>. # <http://lists.gnu.org/archive/html/autoconf-patches/2006-03/msg00081.html>.
# It might be better to remove it, but first please see # People who need BIN_SH should set it in their environment before invoking
# configure; apparently this would include UnixWare, as described in
# <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00025.html>. # <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00025.html>.
m4_define([AS_BOURNE_COMPATIBLE], m4_define([AS_BOURNE_COMPATIBLE],
[# Be Bourne compatible [# Be more Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then DUALCASE=1; export DUALCASE # for MKS sh
emulate sh _$0
])
# _AS_BOURNE_COMPATIBLE
# ---------------------
# This is the part of AS_BOURNE_COMPATIBLE which has to be repeated inside
# each instance.
m4_define([_AS_BOURNE_COMPATIBLE],
[AS_IF([test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1],
[emulate sh
NULLCMD=: NULLCMD=:
[#] Zsh 3.x and 4.x performs word splitting on ${1+"$[@]"}, which [#] Zsh 3.x and 4.x performs word splitting on ${1+"$[@]"}, which
# is contrary to our usage. Disable this feature. # is contrary to our usage. Disable this feature.
alias -g '${1+"$[@]"}'='"$[@]"' alias -g '${1+"$[@]"}'='"$[@]"'
setopt NO_GLOB_SUBST setopt NO_GLOB_SUBST],
else [AS_CASE([`(set -o) 2>/dev/null`], [*posix*], [set -o posix])])
case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh
]) ])
@ -189,7 +195,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
m4_define([_AS_RUN], m4_define([_AS_RUN],
[m4_ifval([$2], [m4_ifval([$2],
[{ $2 <<\_ASEOF [{ $2 <<\_ASEOF
AS_BOURNE_COMPATIBLE _AS_BOURNE_COMPATIBLE
$1 $1
_ASEOF _ASEOF
}], }],
@ -223,16 +229,14 @@ m4_expand_once([m4_append([_AS_DETECT_SUGGESTED_BODY], [
# The real workhorse for detecting a shell with the correct # The real workhorse for detecting a shell with the correct
# features. # features.
# #
# FIXME: The '/usr/bin/posix' below works around a shell bug in OSF # In previous versions, we prepended /usr/posix/bin to the path, but that
# <http://lists.gnu.org/archive/html/autoconf-patches/2006-03/msg00081.html> # caused a regression on OpenServer 6.0.0
# but this causes a regression on OpenServer 6.0.0
# <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00017.html> # <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00017.html>
# The code should test for the OSF bug directly rather than look at # and on HP-UX 11.11, see the failure of test 120 in
# /usr/bin/posix here. # <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00003.html>
# #
# FIXME: The 'test -f "$as_shell.exe"' works around a problem in OS/2 # FIXME: The code should test for the OSF bug described in
# <http://lists.gnu.org/archive/html/autoconf/2006-06/msg00038.html> # <http://lists.gnu.org/archive/html/autoconf-patches/2006-03/msg00081.html>.
# but we should replace the two test -f calls with a single AS_EXECUTABLE_P.
# #
m4_defun_once([_AS_DETECT_BETTER_SHELL], m4_defun_once([_AS_DETECT_BETTER_SHELL],
[m4_wrap([m4_divert_text([M4SH-SANITIZE], [ [m4_wrap([m4_divert_text([M4SH-SANITIZE], [
@ -245,7 +249,7 @@ if test "x$CONFIG_SHELL" = x; then
_AS_RUN([_AS_DETECT_SUGGESTED_BODY]) 2> /dev/null], _AS_RUN([_AS_DETECT_SUGGESTED_BODY]) 2> /dev/null],
[], [],
[as_candidate_shells= [as_candidate_shells=
_AS_PATH_WALK([/usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH], _AS_PATH_WALK([/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH],
[case $as_dir in [case $as_dir in
/*) /*)
for as_base in sh bash ksh sh5; do for as_base in sh bash ksh sh5; do