delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/04/11/09:35:42

From: "Tim Van Holder" <tim DOT van DOT holder AT pandora DOT be>
To: <djgpp-workers AT delorie DOT com>
Subject: Re: New bash 2.04 beta release
Date: Wed, 11 Apr 2001 15:34:58 +0200
Message-ID: <CAEGKOHJKAAFPKOCLHDIAEGBCCAA.tim.van.holder@pandora.be>
MIME-Version: 1.0
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
In-Reply-To: <3791-Wed11Apr2001123128+0300-eliz@is.elta.co.il>
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Importance: Normal
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> The problem is, the path separator issue is not limited to Autoconf
> and the scripts it generates.  It is also relevant to running shell
> scripts which have nothing to do with Autoconf.  If PATH_SEPARATOR is
> not set to :, these scripts will break.
> 
> Is it possible to modify Autoconf to use a different variable for this
> purpose?  It would be nice if we could continue to use PATH_SEPARATOR
> without risking the conflict with Autoconf.
I set PATH_SEPARATOR in Autoconf exactly to avoid conflicts with bash.
If autoconf finds ';' to be the proper pathsep (as it is for DOS), it
will also use that to walk $PATH.  But if the user has PATH_SEPARATOR
set to ':', that will break.  So I set PATH_SEPARATOR to the value we
found.  Also, there's an AC_SUBST for PATH_SEPARATOR, so it would get
set anyway.
There's no clean way out of this, I guess; as I have said before, I
personally prefer scripts doing the right thing in a DOSsy environment
without having to add special features to bash.  And having autoconf
provide a means to have those scripts (which are usually part of a
GNU package using autoconf anyway) configure themselves to do so, that
is a Good Thing(tm).

So let me know which packages have scripts that break with
PATH_SEPARATOR=';'; I'll endeavour to adapt those packages to use
autoconf 2.50 and use @PATH_SEPARATOR@ to configure themselves to work
correctly on DOS.


For the record, this is what autoconf does to determine the pathsep:

echo "#! $SHELL" >conftest.sh
echo  "exit 0"   >>conftest.sh
chmod +x conftest.sh
if PATH=".;."; conftest.sh; then
  ac_path_separator=';'
else
  ac_path_separator=:
fi
AC_SUBST([PATH_SEPARATOR], "$ac_path_separator")dnl
rm -f conftest.sh

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019