bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PATH_SEPARATOR test and djgpp


From: Karl Berry
Subject: PATH_SEPARATOR test and djgpp
Date: Tue, 18 Jan 2005 17:52:40 -0500

I have not checked the autoconf code, but Eli is commenting that the
current PATH_SEPARATOR test (as reported to us) might fail on djgpp.

Also an issue about test -x.  Are there still current systems which do
not support test -x?  I'm somewhat dubious.  It was an important issue
10 years ago, not so sure about today.

Anyway, just passing along FWIW ...

karl

Date: Tue, 18 Jan 2005 22:18:41 +0200
From: "Eli Zaretskii" <address@hidden>
To: Eric Blake <address@hidden>
Cc: address@hidden, address@hidden, address@hidden
Subject: Re: Fw: bug in texi2dvi, and hack patch

> Date: Tue, 18 Jan 2005 06:29:08 -0700
> From: Eric Blake <address@hidden>
> Cc: address@hidden, address@hidden
> [...]
> Instead of using $COMSPEC for determining the path
> separator, you should use autoconf's approach (look at any recent
> configure script generated by autoconf 2.59 for this snippet):
> 
> 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

If this is what Autoconf 2.59 really does (i.e., no typos etc. in this
snippet), then Autoconf 2.59 is broken, at least for DJGPP, because it
will always produce PATH_SEPARATOR=:.  This is because it invalidates
PATH, and therefore defeats the DJGPP magic that looks for sh.exe
along PATH if /bin/sh.exe does not exist.  (And /bin/sh.exe does not
exists on almost every DJGPP installation.)

[...]

> Additionally, according to autoconf, `test -x' is not portable.

But needed for DJGPP/MinGW, where "test -f tex" does not find tex.exe,
but "test -x tex" does.

So if this is changed to not use "test -x", the non-Posix systems will
still need "test -x" (which is okay for those systems, since the
ported Bash supports "test -x").

[...]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]