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