Re: [PATCH 1/2] config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
- From
Jeff King <peff@peff.net>
- Date
- Jun 2, 2015, 18:44 UTC
- Message-ID
- <20150602184413.GA11437@peff.net>
- In-Reply-To
- <1433269138-10890-2-git-send-email-sunshine@sunshineco.com>
On Tue, Jun 02, 2015 at 02:18:57PM -0400, Eric Sunshine wrote:
Show 10 quoted lines
> The use of 'expr' in this new test is decidedly different from existing
> instances which merely check if `uname -R` matches a particular single
> digit and a period. If the new test took the same approach, it would
> have to match either one digit (in a particular range) plus a period, or
> two digits with the first being "1", plus a period. The resulting 'expr'
> expression quickly becomes ugly and quite difficult to decipher. Hence,
> the new test instead takes advantage of expr's relational operator '>='
> to keep things simple and make the test easy to understand at a glance
> ("if version >= 11" where 11 is the Darwin major version number of OS X
> 10.7).I think that is OK with respect to portability; we are already inside a $(uname_S) check, so we know we are on some form of Mac OS. But...
> + ifeq ($(shell expr $(shell expr "$(uname_R)" : '\([0-9][0-9]*\)\.') '>=' 11),1)
Do you need to spawn two shells? It seems like:
$(shell expr `expr "$(uname_R)" : '\([0-9][0-9]*\)'` '>=' 11),1)
should do the same thing.
-Peff