# Git on Mac OS X 10.4.10

14 messages from 2014-08-14 to 2014-08-15. Participants: Markus Hitter, Torsten Bögershausen, Jonathan Nieder, Junio C Hamano, Kyle J. McKay, Eric Sunshine.
Thread: https://gitlist.dev/t/37348

## Markus Hitter, 2014-08-14 12:13

Subject: Git on Mac OS X 10.4.10
Message-ID: <53ECA7DB.7060407@jump-ing.de>
URL: https://gitlist.dev/e/53ECA7DB.7060407%40jump-ing.de

```
I'm new to this list, so: Hello everybody!

My backup servers run Mac OS X 10.4.10. Yes, these are old, but very
reliable and easily up to the task. And Mac OS X 10.4 is the latest OS
supported there (PowerPC G3).

Recently I tried to upgrade to v2.0.4 (from 1.7.11.4).

Issue 1: I get many of these warnings:

    LINK [many cases]
/usr/bin/ld: warning multiple definitions of symbol _regcomp
libgit.a(regex.o) definition of _regcomp in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regcomp.So)
definition of _regcomp
/usr/bin/ld: warning multiple definitions of symbol _regexec
libgit.a(regex.o) definition of _regexec in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regexec.So)
definition of _regexec
/usr/bin/ld: warning multiple definitions of symbol _regfree
libgit.a(regex.o) definition of _regfree in section (__TEXT,__text)
/usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regfree.So)
definition of _regfree

Is this expected?


Issue 2: I need this simple patch ...

--- compat/apple-common-crypto.h.org	2014-07-30 23:19:53.000000000 +0200
+++ compat/apple-common-crypto.h	2014-08-14 12:57:37.000000000 +0200
@@ -2,7 +2,7 @@
 #define OPENSSL_NO_MD5
 #define HEADER_HMAC_H
 #define HEADER_SHA_H
-#include <CommonCrypto/CommonHMAC.h>
+//#include <CommonCrypto/CommonHMAC.h>
 #define HMAC_CTX CCHmacContext
 #define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len)
 #define HMAC_Update CCHmacUpdate

... and this command sequence ...

make all
touch imap-send.o
touch git-imap-send
make all

... to get it compiling. All, except git-imap-send, obviously, which is
no loss for my purposes.

I tried many releases, the patch requirement started with about v1.9.1,
the git-imap-send failure somewhere between 1.8.1.6 and 1.8.4.3.

Trying to be a good Open Source citizen, how would I proceed?


Thanks,
Markus


P.S.1: error without the patch is:

In file included from git-compat-util.h:330,
                 from cache.h:4,
                 from advice.c:1:
compat/apple-common-crypto.h:5:37: error: CommonCrypto/CommonHMAC.h: No
such file or directory


P.S.2: error without faking git-imap-send is:

    CC imap-send.o
imap-send.c: In function ‘cram’:
imap-send.c:881: error: ‘CCHmacContext’ undeclared (first use in this
function)
imap-send.c:881: error: (Each undeclared identifier is reported only once
imap-send.c:881: error: for each function it appears in.)
imap-send.c:881: error: parse error before ‘hmac’
imap-send.c:896: error: ‘hmac’ undeclared (first use in this function)
imap-send.c:896: error: ‘kCCHmacAlgMD5’ undeclared (first use in this
function)
make: *** [imap-send.o] Error 1


-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/

```

## Torsten Bögershausen, 2014-08-14 14:39

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <53ECCA14.40900@web.de>
URL: https://gitlist.dev/e/53ECCA14.40900%40web.de
In-Reply-To: <53ECA7DB.7060407@jump-ing.de>

```
On 08/14/2014 02:13 PM, Markus Hitter wrote:
> I'm new to this list, so: Hello everybody!
>
> My backup servers run Mac OS X 10.4.10. Yes, these are old, but very
> reliable and easily up to the task. And Mac OS X 10.4 is the latest OS
> supported there (PowerPC G3).
>
> Recently I tried to upgrade to v2.0.4 (from 1.7.11.4).
>
> Issue 1: I get many of these warnings:
>
>      LINK [many cases]
> /usr/bin/ld: warning multiple definitions of symbol _regcomp
> libgit.a(regex.o) definition of _regcomp in section (__TEXT,__text)
> /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regcomp.So)
> definition of _regcomp
> /usr/bin/ld: warning multiple definitions of symbol _regexec
> libgit.a(regex.o) definition of _regexec in section (__TEXT,__text)
> /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regexec.So)
> definition of _regexec
> /usr/bin/ld: warning multiple definitions of symbol _regfree
> libgit.a(regex.o) definition of _regfree in section (__TEXT,__text)
> /usr/lib/gcc/powerpc-apple-darwin8/4.0.1/../../../libSystem.dylib(regfree.So)
> definition of _regfree
>
> Is this expected?
No.
Git has its own regcomp() (and the regXXX() ) in ./compat/regex/*, and 
for some reasons the linker
picks them both from libgit.a (which is a static library) and the 
dynamic library in libSystem.dylib

Either the linker needs to be convinced not to do that (by changing the 
command line to the linker,
changing the order of libraries may help, I don't know)
Or each regcomp in the .h and .c files is changed into git_regcomp.
This change shouldn't break anything.

>
>
> Issue 2: I need this simple patch ...
>
> --- compat/apple-common-crypto.h.org	2014-07-30 23:19:53.000000000 +0200
> +++ compat/apple-common-crypto.h	2014-08-14 12:57:37.000000000 +0200
> @@ -2,7 +2,7 @@
>   #define OPENSSL_NO_MD5
>   #define HEADER_HMAC_H
>   #define HEADER_SHA_H
> -#include <CommonCrypto/CommonHMAC.h>
> +//#include <CommonCrypto/CommonHMAC.h>
>   #define HMAC_CTX CCHmacContext
>   #define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key, len)
>   #define HMAC_Update CCHmacUpdate
The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
but not in 10.4 (I don't know about 10.5).
You can try to tweak the "makefiles",  search for NO_APPLE_COMMON_CRYPTO,
and set NO_APPLE_COMMON_CRYPTO, but only  for Darwin 10.3 (or below)

> ... and this command sequence ...
>
> make all
> touch imap-send.o
> touch git-imap-send
> make all
>
> ... to get it compiling. All, except git-imap-send, obviously, which is
> no loss for my purposes.
>
> I tried many releases, the patch requirement started with about v1.9.1,
> the git-imap-send failure somewhere between 1.8.1.6 and 1.8.4.3.
>
> Trying to be a good Open Source citizen, how would I proceed?
If you want to share your changes, please send a patch to this list.
> Thanks,
> Markus

```

## Markus Hitter, 2014-08-14 18:39

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <53ED0257.3070505@jump-ing.de>
URL: https://gitlist.dev/e/53ED0257.3070505%40jump-ing.de
In-Reply-To: <53ECCA14.40900@web.de>

```
Am 14.08.2014 um 16:39 schrieb Torsten Bögershausen:
> On 08/14/2014 02:13 PM, Markus Hitter wrote:
>> Issue 2: I need this simple patch ...
>>
>> --- compat/apple-common-crypto.h.org    2014-07-30 23:19:53.000000000
>> +0200
>> +++ compat/apple-common-crypto.h    2014-08-14 12:57:37.000000000 +0200
>> @@ -2,7 +2,7 @@
>>   #define OPENSSL_NO_MD5
>>   #define HEADER_HMAC_H
>>   #define HEADER_SHA_H
>> -#include <CommonCrypto/CommonHMAC.h>
>> +//#include <CommonCrypto/CommonHMAC.h>
>>   #define HMAC_CTX CCHmacContext
>>   #define HMAC_Init(hmac, key, len, algo) CCHmacInit(hmac, algo, key,
>> len)
>>   #define HMAC_Update CCHmacUpdate
> The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
> but not in 10.4 (I don't know about 10.5).
> You can try to tweak the "makefiles",  search for NO_APPLE_COMMON_CRYPTO,
> and set NO_APPLE_COMMON_CRYPTO, but only  for Darwin 10.3 (or below)

Thanks. This:

export NO_APPLE_COMMON_CRYPTO=yes
make configure
CFLAGS=-O2 ./configure --without-tcltk --prefix=/usr/global
make all

compiles fine on 10.4.10. Would a configure patch checking for the
existence of CommonHMAC.h and, if not found, defining this variable, be
acceptable? Googling around, it's a bit unclear to me on how to
contribute something to Git.


Markus

-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/

```

## Jonathan Nieder, 2014-08-14 22:29

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <20140814222939.GA32124@google.com>
URL: https://gitlist.dev/e/20140814222939.GA32124%40google.com
In-Reply-To: <53ED0257.3070505@jump-ing.de>

```
Hi Markus,

> export NO_APPLE_COMMON_CRYPTO=yes
> make configure
> CFLAGS=-O2 ./configure --without-tcltk --prefix=/usr/global
> make all
>
> compiles fine on 10.4.10. Would a configure patch checking for the
> existence of CommonHMAC.h and, if not found, defining this variable, be
> acceptable?

Yes, that sounds useful.

Orthogonal to that: a patch to the Darwin section of config.mak.uname
so you can build without the 'make configure' would be even more
welcome. :)

See Documentation/SubmittingPatches for details about how to
contribute to git.  (Or if you're short on time, see section 5 of that
file, "Sign your work", and then push your code somewhere and tell us
about it.)

Thanks,
Jonathan

```

## Junio C Hamano, 2014-08-14 23:18

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <xmqqppg21wyk.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqppg21wyk.fsf%40gitster.dls.corp.google.com
In-Reply-To: <53ED0257.3070505@jump-ing.de>

```
Markus Hitter <mah@jump-ing.de> writes:

>> The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
>> but not in 10.4 (I don't know about 10.5).

Is this about platform dependency, or what the end user happens to
choose to install (in other words, is there an add-on users of 10.4
can choose to add, which allows them to use that header)?

```

## Kyle J. McKay, 2014-08-15 07:46

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <273241271546c07e692ae93774993f5@74d39fa044aa309eaea14b9f57fe79c>
URL: https://gitlist.dev/e/273241271546c07e692ae93774993f5%4074d39fa044aa309eaea14b9f57fe79c
In-Reply-To: <xmqqppg21wyk.fsf@gitster.dls.corp.google.com>

```
On Aug 14, 2014, at 16:18, Junio C Hamano wrote:

> Markus Hitter <mah@jump-ing.de> writes:
>
>>> The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
>>> but not in 10.4 (I don't know about 10.5).

That header is new with 10.5

> Is this about platform dependency, or what the end user happens to
> choose to install (in other words, is there an add-on users of 10.4
> can choose to add, which allows them to use that header)?

Nope, it's a platform dependency.  Not available prior to 10.5.

The below patch does the right thing.  Conveniently there's already
a test for 10.4 and earlier so only a single line need be added.

--Kyle

---- 8< ----
Subject: [PATCH] config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems

Older MacOS systems prior to 10.5 do not have the CommonCrypto
support Git uses so set NO_APPLE_COMMON_CRYPTO on those systems.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
---
 config.mak.uname | 1 +
 1 file changed, 1 insertion(+)

diff --git a/config.mak.uname b/config.mak.uname
index 7846bd76..f8e12c96 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -88,6 +88,7 @@ ifeq ($(uname_S),Darwin)
 	NEEDS_LIBICONV = YesPlease
 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
 		OLD_ICONV = UnfortunatelyYes
+		NO_APPLE_COMMON_CRYPTO = YesPlease
 	endif
 	ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
 		NO_STRLCPY = YesPlease
-- 
1.8.5

```

## Eric Sunshine, 2014-08-15 09:39

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <CAPig+cSGs-MzG=nG7ONRvcMhnrJx4vUri2d5nHovQiQ9w+ckDQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcSGs-MzG%3DnG7ONRvcMhnrJx4vUri2d5nHovQiQ9w%2BckDQ%40mail.gmail.com
In-Reply-To: <273241271546c07e692ae93774993f5@74d39fa044aa309eaea14b9f57fe79c>

```
On Fri, Aug 15, 2014 at 3:46 AM, Kyle J. McKay <mackyle@gmail.com> wrote:
> On Aug 14, 2014, at 16:18, Junio C Hamano wrote:
>
>> Markus Hitter <mah@jump-ing.de> writes:
>>
>>>> The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
>>>> but not in 10.4 (I don't know about 10.5).
>
> That header is new with 10.5
>
>> Is this about platform dependency, or what the end user happens to
>> choose to install (in other words, is there an add-on users of 10.4
>> can choose to add, which allows them to use that header)?
>
> Nope, it's a platform dependency.  Not available prior to 10.5.
>
> The below patch does the right thing.  Conveniently there's already
> a test for 10.4 and earlier so only a single line need be added.

I tested with Mac OS X 10.5 (and 10.9) to verify that there is no
regression. Works fine.

> --Kyle
>
> ---- 8< ----
> Subject: [PATCH] config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
>
> Older MacOS systems prior to 10.5 do not have the CommonCrypto
> support Git uses so set NO_APPLE_COMMON_CRYPTO on those systems.
>
> Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
> ---
>  config.mak.uname | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index 7846bd76..f8e12c96 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -88,6 +88,7 @@ ifeq ($(uname_S),Darwin)
>         NEEDS_LIBICONV = YesPlease
>         ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
>                 OLD_ICONV = UnfortunatelyYes
> +               NO_APPLE_COMMON_CRYPTO = YesPlease
>         endif
>         ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
>                 NO_STRLCPY = YesPlease
> --
> 1.8.5

```

## Markus Hitter, 2014-08-15 12:34

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <53EDFE44.6000800@jump-ing.de>
URL: https://gitlist.dev/e/53EDFE44.6000800%40jump-ing.de
In-Reply-To: <273241271546c07e692ae93774993f5@74d39fa044aa309eaea14b9f57fe79c>

```
Am 15.08.2014 um 09:46 schrieb Kyle J. McKay:
> The below patch does the right thing.  Conveniently there's already
> a test for 10.4 and earlier so only a single line need be added.

I can confirm this patch works. Thank you very much.


> ---- 8< ----
> Subject: [PATCH] config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
> 
> Older MacOS systems prior to 10.5 do not have the CommonCrypto
> support Git uses so set NO_APPLE_COMMON_CRYPTO on those systems.
> 
> Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
> ---
>  config.mak.uname | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/config.mak.uname b/config.mak.uname
> index 7846bd76..f8e12c96 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -88,6 +88,7 @@ ifeq ($(uname_S),Darwin)
>  	NEEDS_LIBICONV = YesPlease
>  	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
>  		OLD_ICONV = UnfortunatelyYes
> +		NO_APPLE_COMMON_CRYPTO = YesPlease
>  	endif
>  	ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
>  		NO_STRLCPY = YesPlease
> 


-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/

```

## Markus Hitter, 2014-08-15 12:48

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <53EE01B4.3040905@jump-ing.de>
URL: https://gitlist.dev/e/53EE01B4.3040905%40jump-ing.de
In-Reply-To: <20140814222939.GA32124@google.com>

```
Am 15.08.2014 um 00:29 schrieb Jonathan Nieder:
> Orthogonal to that: a patch to the Darwin section of config.mak.uname
> so you can build without the 'make configure' would be even more
> welcome. :)

On this one. You need at least NO_GETTEXT and NO_EXPAT. I've attached a config.mak.autogen to show what's needed.

However, if somebody chooses to install gettext or expat after OS installation, how is the build process expected to detect this? IMHO, checking for OS version number instead of actually available features is the wrong thing to do.


Markus

-- 
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. (FH) Markus Hitter
http://www.jump-ing.de/


# git Makefile configuration, included in main Makefile
# config.mak.autogen.  Generated from config.mak.in by configure.

CC = cc
CFLAGS = -g -O2
CPPFLAGS = 
LDFLAGS = 
AR = ar
TAR = tar
DIFF = diff
PACKAGE_TARNAME = git
#INSTALL = @INSTALL@		# needs install-sh or install.sh in sources

prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
gitexecdir = ${exec_prefix}/libexec/git-core
datarootdir = @datarootdir@
template_dir = ${prefix}/share/git-core/templates
sysconfdir = ${prefix}/etc
docdir = @docdir@

mandir = ${prefix}/man
htmldir = @htmldir@

AUTOCONFIGURED=YesPlease
INLINE=
CC_LD_DYNPATH=
TCLTK_PATH=wish
NEEDS_SSL_WITH_CRYPTO=
NO_OPENSSL=
NO_CURL=
NO_EXPAT=YesPlease
NEEDS_LIBICONV=YesPlease
NO_ICONV=
NO_DEFLATE_BOUND=
NEEDS_SOCKET=
NO_INET_NTOP=
NO_INET_PTON=
NO_HSTRERROR=
NEEDS_RESOLV=
NEEDS_LIBGEN=
LIBC_CONTAINS_LIBINTL=
NO_GETTEXT=YesPlease
NO_SYS_SELECT_H=
NO_SYS_POLL_H=
NO_INTTYPES_H=
OLD_ICONV=UnfortunatelyYes
SOCKLEN_T=
NO_D_INO_IN_DIRENT=
NO_D_TYPE_IN_DIRENT=
NO_GECOS_IN_PWENT=
NO_SOCKADDR_STORAGE=
NO_IPV6=
NO_REGEX=
FREAD_READS_DIRECTORIES=
SNPRINTF_RETURNS_BOGUS=
NO_LIBGEN_H=
HAVE_PATHS_H=YesPlease
HAVE_LIBCHARSET_H=YesPlease
HAVE_STRINGS_H=YesPlease
CHARSET_LIB=-liconv
NO_STRCASESTR=
NO_MEMMEM=YesPlease
NO_STRLCPY=
NO_UINTMAX_T=
NO_STRTOUMAX=
NO_SETENV=
NO_UNSETENV=
NO_MKDTEMP=
NO_MKSTEMPS=
NO_INITGROUPS=
PTHREAD_CFLAGS=
PTHREAD_LIBS=
NO_PTHREADS=

```

## Junio C Hamano, 2014-08-15 16:29

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <xmqqlhqp1zt1.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqlhqp1zt1.fsf%40gitster.dls.corp.google.com
In-Reply-To: <273241271546c07e692ae93774993f5@74d39fa044aa309eaea14b9f57fe79c>

```
"Kyle J. McKay" <mackyle@gmail.com> writes:

> On Aug 14, 2014, at 16:18, Junio C Hamano wrote:
>
>> Markus Hitter <mah@jump-ing.de> writes:
>>
>>>> The  <CommonCrypto/CommonHMAC.h> is in Mac OS X 10.6 .. 10.9,
>>>> but not in 10.4 (I don't know about 10.5).
>
> That header is new with 10.5
>
>> Is this about platform dependency, or what the end user happens to
>> choose to install (in other words, is there an add-on users of 10.4
>> can choose to add, which allows them to use that header)?
>
> Nope, it's a platform dependency.  Not available prior to 10.5.
>
> The below patch does the right thing.  Conveniently there's already
> a test for 10.4 and earlier so only a single line need be added.
>
> --Kyle

Nice.  Use of APPLE_COMMON_CRYPTO thing is not new to the upcoming
release, so let me queue it for the next development cycle, not
applying directly before curring 2.1 release today.

Thanks.


>
> ---- 8< ----
> Subject: [PATCH] config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
>
> Older MacOS systems prior to 10.5 do not have the CommonCrypto
> support Git uses so set NO_APPLE_COMMON_CRYPTO on those systems.
>
> Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
> ---
>  config.mak.uname | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index 7846bd76..f8e12c96 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -88,6 +88,7 @@ ifeq ($(uname_S),Darwin)
>  	NEEDS_LIBICONV = YesPlease
>  	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
>  		OLD_ICONV = UnfortunatelyYes
> +		NO_APPLE_COMMON_CRYPTO = YesPlease
>  	endif
>  	ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
>  		NO_STRLCPY = YesPlease

```

## Junio C Hamano, 2014-08-15 17:02

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <xmqqbnrl1ya1.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqbnrl1ya1.fsf%40gitster.dls.corp.google.com
In-Reply-To: <273241271546c07e692ae93774993f5@74d39fa044aa309eaea14b9f57fe79c>

```
"Kyle J. McKay" <mackyle@gmail.com> writes:

> The below patch does the right thing.  Conveniently there's already
> a test for 10.4 and earlier so only a single line need be added.
>
> --Kyle
>
> ---- 8< ----
> Subject: [PATCH] config.mak.uname: set NO_APPLE_COMMON_CRYPTO on older systems
>
> Older MacOS systems prior to 10.5 do not have the CommonCrypto
> support Git uses so set NO_APPLE_COMMON_CRYPTO on those systems.
>
> Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
> ---
>  config.mak.uname | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index 7846bd76..f8e12c96 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -88,6 +88,7 @@ ifeq ($(uname_S),Darwin)
>  	NEEDS_LIBICONV = YesPlease
>  	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
>  		OLD_ICONV = UnfortunatelyYes
> +		NO_APPLE_COMMON_CRYPTO = YesPlease
>  	endif
>  	ifeq ($(shell expr "$(uname_R)" : '[15]\.'),2)
>  		NO_STRLCPY = YesPlease

By the way, can we document this "uname_R on MacOS X" business
nearby, perhaps like this?

-- >8 --
Subject: config.mak.uname: add hint on uname_R for MacOS X

I always have to scratch my head every time I see this cryptic
pattern "[15678]\."; leave a short note to remind the maintainer
and the reviewers.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 config.mak.uname | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/config.mak.uname b/config.mak.uname
index f8e12c9..7e49aca 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -86,6 +86,10 @@ ifeq ($(uname_S),Darwin)
 	NEEDS_CRYPTO_WITH_SSL = YesPlease
 	NEEDS_SSL_WITH_CRYPTO = YesPlease
 	NEEDS_LIBICONV = YesPlease
+	# Note: $(uname_R) gives us the underlying Darwin version.
+	# - MacOS 10.0 = Darwin 1.*
+	# - MacOS 10.x.? = Darwin (x+4).* for (1 <= x)
+	# i.e. "begins with [15678] and the a dot" means "10.4.* or older".
 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
 		OLD_ICONV = UnfortunatelyYes
 		NO_APPLE_COMMON_CRYPTO = YesPlease

```

## Kyle J. McKay, 2014-08-15 17:56

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <FF233C51-7AEA-4A10-8446-D8233F55E89B@gmail.com>
URL: https://gitlist.dev/e/FF233C51-7AEA-4A10-8446-D8233F55E89B%40gmail.com
In-Reply-To: <xmqqbnrl1ya1.fsf@gitster.dls.corp.google.com>

```
On Aug 15, 2014, at 10:02, Junio C Hamano wrote:

> By the way, can we document this "uname_R on MacOS X" business
> nearby, perhaps like this?
>
> -- >8 --
> Subject: config.mak.uname: add hint on uname_R for MacOS X
>
> I always have to scratch my head every time I see this cryptic
> pattern "[15678]\."; leave a short note to remind the maintainer
> and the reviewers.
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
> config.mak.uname | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index f8e12c9..7e49aca 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -86,6 +86,10 @@ ifeq ($(uname_S),Darwin)
> 	NEEDS_CRYPTO_WITH_SSL = YesPlease
> 	NEEDS_SSL_WITH_CRYPTO = YesPlease
> 	NEEDS_LIBICONV = YesPlease
> +	# Note: $(uname_R) gives us the underlying Darwin version.
> +	# - MacOS 10.0 = Darwin 1.*
> +	# - MacOS 10.x.? = Darwin (x+4).* for (1 <= x)
> +	# i.e. "begins with [15678] and the a dot" means "10.4.* or older".

s/the a dot/a dot/

> 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
> 		OLD_ICONV = UnfortunatelyYes
> 		NO_APPLE_COMMON_CRYPTO = YesPlease

Otherwise looks good.  Mac OS X 10.1.0 doesn't actually fit the  
pattern (it's still Darwin 1.*), but it's so old and it doesn't affect  
the 10.4.* or older test (or the later 10.1.* or older test), so let's  
just ignore that anomaly.  :)

```

## Junio C Hamano, 2014-08-15 18:04

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <xmqqy4upzl1s.fsf@gitster.dls.corp.google.com>
URL: https://gitlist.dev/e/xmqqy4upzl1s.fsf%40gitster.dls.corp.google.com
In-Reply-To: <FF233C51-7AEA-4A10-8446-D8233F55E89B@gmail.com>

```
"Kyle J. McKay" <mackyle@gmail.com> writes:

>> +	# i.e. "begins with [15678] and the a dot" means "10.4.* or older".
>
> s/the a dot/a dot/
>
>> 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
>> 		OLD_ICONV = UnfortunatelyYes
>> 		NO_APPLE_COMMON_CRYPTO = YesPlease
>
> Otherwise looks good.  Mac OS X 10.1.0 doesn't actually fit the
> pattern (it's still Darwin 1.*), but it's so old and it doesn't affect
> the 10.4.* or older test (or the later 10.1.* or older test), so let's
> just ignore that anomaly.  :)

Thanks.  The 10.1.0 anomaly actually was bothering me, too.  How
about doing it this way?

-- >8 --
Subject: [PATCH v2] config.mak.uname: add hint on uname_R for MacOS X

I always have to scratch my head every time I see this cryptic
pattern "[15678]\."; leave a short note to remind the maintainer
and the reviewers.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 config.mak.uname | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/config.mak.uname b/config.mak.uname
index f8e12c9..414760f 100644
--- a/config.mak.uname
+++ b/config.mak.uname
@@ -86,6 +86,10 @@ ifeq ($(uname_S),Darwin)
 	NEEDS_CRYPTO_WITH_SSL = YesPlease
 	NEEDS_SSL_WITH_CRYPTO = YesPlease
 	NEEDS_LIBICONV = YesPlease
+	# Note: $(uname_R) gives us the underlying Darwin version.
+	# - MacOS 10.0.* and MacOS 10.1.0 = Darwin 1.*
+	# - MacOS 10.x.* = Darwin (x+4).* for (1 <= x)
+	# i.e. "begins with [15678] and a dot" means "10.4.* or older".
 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
 		OLD_ICONV = UnfortunatelyYes
 		NO_APPLE_COMMON_CRYPTO = YesPlease
-- 
2.1.0-rc2-283-g1433d67

```

## Kyle J. McKay, 2014-08-15 18:51

Subject: Re: Git on Mac OS X 10.4.10
Message-ID: <3463C0CF-5E65-4934-A6C2-D466AB7B1144@gmail.com>
URL: https://gitlist.dev/e/3463C0CF-5E65-4934-A6C2-D466AB7B1144%40gmail.com
In-Reply-To: <xmqqy4upzl1s.fsf@gitster.dls.corp.google.com>

```
On Aug 15, 2014, at 11:04, Junio C Hamano wrote:

> The 10.1.0 anomaly actually was bothering me, too.  How
> about doing it this way?
>
> -- >8 --
> Subject: [PATCH v2] config.mak.uname: add hint on uname_R for MacOS X
>
> I always have to scratch my head every time I see this cryptic
> pattern "[15678]\."; leave a short note to remind the maintainer
> and the reviewers.
>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
> config.mak.uname | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index f8e12c9..414760f 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -86,6 +86,10 @@ ifeq ($(uname_S),Darwin)
> 	NEEDS_CRYPTO_WITH_SSL = YesPlease
> 	NEEDS_SSL_WITH_CRYPTO = YesPlease
> 	NEEDS_LIBICONV = YesPlease
> +	# Note: $(uname_R) gives us the underlying Darwin version.
> +	# - MacOS 10.0.* and MacOS 10.1.0 = Darwin 1.*
> +	# - MacOS 10.x.* = Darwin (x+4).* for (1 <= x)
> +	# i.e. "begins with [15678] and a dot" means "10.4.* or older".
> 	ifeq ($(shell expr "$(uname_R)" : '[15678]\.'),2)
> 		OLD_ICONV = UnfortunatelyYes
> 		NO_APPLE_COMMON_CRYPTO = YesPlease
> -- 
> 2.1.0-rc2-283-g1433d67
>

Very nice.

```
