git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Jun 2, 2015, 19:57 UTC
Message-ID
<CAPig+cQLSF4=-4b1qOY4ChBj00=trvAO0qFEh0kOjLonJL4MBg@mail.gmail.com>
In-Reply-To
<20150602190403.GA12660@peff.net>
On Tue, Jun 2, 2015 at 3:04 PM, Jeff King <peff@peff.net> wrote:
Show 6 quoted lines
> On Tue, Jun 02, 2015 at 02:44:13PM -0400, Jeff King wrote:
>> > +   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)

I considered that and waffled on it. Either approach uses an extra process, but I suppose `...` would likely be less expensive since it's just forking the shell rather than exec()ing a new one.

> Oops, I missed the trailing '.' in the regex there, and it probably
> needs double-quotes in case the inner expr fails to match anything.

Which is messy considering the double quotes already surrounding $(uname_R). Suggestions?

> We could also use "test -gt" instead of the outer expr, which is more
> idiomatic shell. But it reports via exit code, so you'd need "&& echo 1"
> at the end.

Yes, I messed around with that as well but didn't want to stray too far from existing practice.

I suppose the combination of `...` with built-in 'test' and built-in 'echo' would be the most efficient choice. Do you want it re-rolled?

Previous: Jeff KingNext: Jeff King
Message 5 of 9 in “auto-detect getdelim()”
  1. 0/2 auto-detect getdelim()Eric Sunshine, Jun 2, 2015
  2. 1/2 config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releasesEric Sunshine, Jun 2, 2015
  3. Jeff KingJun 2, 2015
  4. Jeff KingJun 2, 2015
  5. Eric SunshineJun 2, 2015
  6. Jeff KingJun 2, 2015
  7. Eric SunshineJun 2, 2015
  8. 2/2 configure: add getdelim() checkEric Sunshine, Jun 2, 2015
  9. Jeff KingJun 2, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.