From: Stepan Kasal Date: Fri, 6 Oct 2006 15:31:26 +0000 (+0000) Subject: Cancel the previous change for now. X-Git-Tag: AUTOCONF-2.60b~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee62b2bba5a39cc19c08034abe9e3509404289b0;p=thirdparty%2Fautoconf.git Cancel the previous change for now. --- diff --git a/ChangeLog b/ChangeLog index ee2e21b3c..83febf4a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,5 @@ 2006-10-04 Paul Eggert - * doc/autoconf.texi (Special Shell Variables): Autoconf-generated - shell scripts no longer export BIN_SH, due to configuration - hassles with this. See, for example, Tonya Underwood's report - . - * lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Don't set BIN_SH - or DUALCASE. - (_AS_DETECT_BETTER_SHELL): Don't look in /usr/bin/posix. - Use AS_EXECUTABLE_P rather than test -f. - (AS_SHELL_SANITIZE): Set DUALCASE. - (AS_EXECUTABLE_P): Just invoke as_executable_p. - (_AS_TEST_PREPARE): Default to test -f, rather than to nothing. - * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Use a single call to AC_DO_TOKENS rather than multiple, for efficiency. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index dbc75b193..0075384cb 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -11891,6 +11891,7 @@ the last command executed. @evindex BIN_SH In Tru64, if @env{BIN_SH} is set to @code{xpg4}, subsidiary invocations of the standard shell conform to Posix. +Autoconf-generated scripts export this variable when they start up. @item CDPATH @evindex CDPATH diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index d81e36622..405432d82 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -161,10 +161,9 @@ $2 # -------------------- # Try to be as Bourne and/or POSIX as possible. # -# This does not set BIN_SH, due to the problems described in +# FIXME: The assignment to BIN_SH is dubious; see # . -# People who need BIN_SH should set it in their environment before invoking -# configure; apparently this would include UnixWare, as described in +# It might be better to remove it, but first please see # . m4_define([AS_BOURNE_COMPATIBLE], [# Be Bourne compatible @@ -178,6 +177,8 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then else 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 ]) @@ -222,9 +223,16 @@ m4_expand_once([m4_append([_AS_DETECT_SUGGESTED_BODY], [ # The real workhorse for detecting a shell with the correct # features. # -# FIXME: The code should test for the OSF bug described in -# . -# Looking for /usr/bin/posix/sh causes more troubles than it cures. +# FIXME: The '/usr/bin/posix' below works around a shell bug in OSF +# +# but this causes a regression on OpenServer 6.0.0 +# +# The code should test for the OSF bug directly rather than look at +# /usr/bin/posix here. +# +# FIXME: The 'test -f "$as_shell.exe"' works around a problem in OS/2 +# +# but we should replace the two test -f calls with a single AS_EXECUTABLE_P. # m4_defun_once([_AS_DETECT_BETTER_SHELL], [m4_wrap([m4_divert_text([M4SH-SANITIZE], [ @@ -237,7 +245,7 @@ if test "x$CONFIG_SHELL" = x; then _AS_RUN([_AS_DETECT_SUGGESTED_BODY]) 2> /dev/null], [], [as_candidate_shells= - _AS_PATH_WALK([/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH], + _AS_PATH_WALK([/usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH], [case $as_dir in /*) for as_base in sh bash ksh sh5; do @@ -247,7 +255,7 @@ if test "x$CONFIG_SHELL" = x; then for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. - AS_IF([AS_EXECUTABLE_P(["$as_shell"]) && + AS_IF([{ test -f "$as_shell" || test -f "$as_shell.exe"; } && _AS_RUN([_AS_DETECT_REQUIRED_BODY], [("$as_shell") 2> /dev/null])], [CONFIG_SHELL=$as_shell @@ -334,7 +342,6 @@ m4_defun([AS_SHELL_SANITIZE], ## --------------------- ## AS_BOURNE_COMPATIBLE -DUALCASE=1; export DUALCASE # for MKS sh # PATH needs CR _AS_CR_PREPARE @@ -778,7 +785,7 @@ fi # Check whether a file is executable. m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl -$as_executable_p $1[]dnl +{ test -f $1 && $as_executable_p $1; }dnl ])# AS_EXECUTABLE_P @@ -1014,7 +1021,7 @@ m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else - as_executable_p='test -f' + as_executable_p=: fi ])# _AS_TEST_PREPARE