Mail Archives: djgpp-workers/2001/04/11/09:35:42
> 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 -