cache.h: eliminate SHA-1 deprecation warnings on Mac OS X

As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to OpenSSL ABI instability, thus leading to build diagnostics such as: warning: 'SHA1_Init' is deprecated (declared at /usr/include/openssl/sha.h:121) Silence the warnings by using Apple's CommonCrypto SHA-1 replacement functions for SHA1_Init(), SHA1_Update(), and SHA1_Final(). COMMON_DIGEST_FOR_OPENSSL is defined to instruct <CommonCrypto/CommonDigest.h> to provide compatibility macros associating OpenSSL SHA-1 functions with their CommonCrypto counterparts. [es: reworded commit message] Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

David Aguilar committed May 19, 2013 at 06:23 UTC 61067954ce166e8a6fbcd109376fe2d9681ca333
1 file changed +6
Makefile
+6
@@ -1396,11 +1396,17 @@ ifdef PPC_SHA1
1396 SHA1_HEADER = "ppc/sha1.h"
1397 LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
1398 LIB_H += ppc/sha1.h
1399 +else
1400 +ifdef APPLE_COMMON_CRYPTO
1401 + COMPAT_CFLAGS += -DCOMMON_DIGEST_FOR_OPENSSL
1402 + SHA1_HEADER = <CommonCrypto/CommonDigest.h>
1403 else
1404 SHA1_HEADER = <openssl/sha.h>
1405 EXTLIBS += $(LIB_4_CRYPTO)
1406 endif
1407 endif
1408 +endif
1409 +
1410 ifdef NO_PERL_MAKEMAKER
1411 export NO_PERL_MAKEMAKER
1412 endif