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

Re: [PATCH v2] Makefile: Use libc strlcpy on OSX >= 10.2

From
Benjamin Kramer <benny.kra@googlemail.com>
Date
Jan 24, 2009, 20:23 UTC
Message-ID
<7f978c810901241223n4f7c581av8a687a12b60367fe@mail.gmail.com>
In-Reply-To
<7v8wp0o5il.fsf@gitster.siamese.dyndns.org>
On Sat, Jan 24, 2009 at 20:42, Junio C Hamano <gitster@pobox.com> wrote:
Show 7 quoted lines
>
> This existing one says "If 'uname -r' output does not begin with two
> characters '9.' (nine and dot), then set OLD_ICONV".
>
> I am guessing that 'uname -r' says 9.X in "Darwin 9.X" (which is OSX
> 10.5), and existing conditional says that versions before 9.X needs
> OLD_ICONV but later ones do not need it.

Yeah, that's because versions before 10.5 aka darwin 9 aka "Leopard" have a broken iconv implementation.

> Does 1.X stand for OSX 10.2?  A quick googling finds a handful pages that
> say that OSX 10.2 = Darwin 6.x and OSX 10.3 = Darwin 7.x, and I am not
> sure where you are getting that "begins with one-and-dot" from....
I've got my information from [1]. It says:

darwin 1.3 => OSX 10.0 darwin 1.4 => OSX 10.1 darwin 6 => OSX 10.2 darwin 7 => OSX 10.3 etc.

I don't know why they chose this weird versioning scheme, but wait, it gets even crazier

darwin 1.4.1 => OSX 10.1 darwin 5.1 => OSX 10.1.1

So my patch checks only for 10.1 but not for 10.1.1 *sigh*
-     NO_STRLCPY = YesPlease
+     ifeq ($(shell expr "$(uname_R)" : '[015]\.'),2)
+             NO_STRLCPY = YesPlease
+     endif

Should get all darwin versions before 6.0 in which strlcpy(3) was introduced. Thanks for your patience ;)

--------------- [1] http://www.opensource.apple.com/darwinsource/

Previous: Junio C Hamano
Message 3 of 3 in “Makefile: Use libc strlcpy on OSX >= 10.2”
  1. Makefile: Use libc strlcpy on OSX >= 10.2Benjamin Kramer, Jan 24, 2009
  2. Junio C HamanoJan 24, 2009
  3. Benjamin KramerJan 24, 2009

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.