Re: [PATCH] config.mak.uname: set PERL_PATH for FreeBSD 5.0+
From: Eric Wong <hidden>
Date: 2016-07-20 18:07:08
Johannes Schindelin [off-list ref] wrote:
Hi Eric, On Wed, 20 Jul 2016, Eric Wong wrote:quoted
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 + endifIn 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)