Re: [PATCH] config.mak.uname: set PERL_PATH for FreeBSD 5.0+
- From
- Eric Wong <e@80x24.org>
- Date
- Jul 20, 2016, 18:07 UTC
- Message-ID
- <20160720180702.GA13404@starla>
- In-Reply-To
- <alpine.DEB.2.20.1607201322350.14111@virtualbox>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 26 quoted lines
> Hi Eric, > > On Wed, 20 Jul 2016, Eric Wong wrote: > > > diff --git a/config.mak.uname b/config.mak.uname > > index a88f139..6c29545 100644 > > --- a/config.mak.uname > > +++ b/config.mak.uname > > @@ -202,6 +202,11 @@ ifeq ($(uname_S),FreeBSD) > > NO_UINTMAX_T = YesPlease > > NO_STRTOUMAX = YesPlease > > endif > > + R_MAJOR := $(shell expr "$(uname_R)" : '\([0-9]*\)\.') > > + > > + ifeq ($(shell test "$(R_MAJOR)" -ge 5 && echo 1),1) > > + PERL_PATH = /usr/local/bin/perl > > + endif > > In keeping with other uname_R usage, should this not read > > # Since FreeBSD 5.0, Perl is part of the core > ifneq ($(shell expr "$(uname_R)" : '[1-4]\.'),2) > PERL_PATH = /usr/local/bin/perl > endif > > instead?
That's fine; however I don't use `expr` often, so it required a little more time to realize the '2' means 2 characters were matched.
Also, my use of a numeric comparison may be more future-proof in case FreeBSD decides to have /usr/bin/perl again.
I also wonder why we don't use `which` to search for somewhat standard path components, instead. Something like:
PERL_PATH = $(shell PATH=/bin:/usr/bin:/usr/local/bin which perl)