Re: [PATCH 1/3] configure: Add test for Perl
- From
- Timo Hirvonen <tihirvon@gmail.com>
- Date
- Jul 6, 2006, 14:27 UTC
- Message-ID
- <20060706172756.a42f1627.tihirvon@gmail.com>
- In-Reply-To
- <E1FyUNT-0007Ko-JR@moooo.ath.cx>
Matthias Lederhofer <matled@gmx.net> wrote:
> This will not work with spaces in $PATH. I'd do something like this if > cut is portable (I have only freebsd and linux to test):
This works at least with SunOS /bin/sh, dash, posh and bash.
path_find()
{
if test -x "$1"
then
echo "$1"
return 0
fi
_ifs="$IFS"
IFS=:
for i in $PATH
do
if test -x "$i/$1"
then
IFS="$_ifs"
echo "$i/$1"
return 0
fi
done
IFS="$_ifs"
return 1
}> Is there any reason to check the current directory first? "which" > doesn't do it for me and without ./ in the front it does not work > (without . is not in $PATH).
It is not needed but might be useful if PERL is user configurable variable and can contain either full path or basename. For example this code
test "$PROG" || PROG=prog
PROG=`path_find "$PROG"`works with these cases
$ PROG=/usr/bin/program ./configure
$ PROG=program-1.2 ./configure-- http://onion.dynserv.net/~timo/