Mac OS X Mountain Lion prints warnings when building git: warning: 'SHA1_Init' is deprecated (declared at /usr/include/openssl/sha.h:121) Silence the warnings by using the Common Digest SHA-1 functions for SHA1_Init(), SHA1_Update(), and SHA1_Final(). Add a COMMON_DIGEST_SHA1 knob to the Makefile to allow choosing this implementation and define it by default on Darwin. Signed-off-by: David Aguilar <davvid@xxxxxxxxx> --- The previous version of this patch (somehow?) eliminated the SHA1 warnings, but it was not redefining SHA1_HEADER to CommonDigest.h. This version goes all the way. Some warnings still exist around the HMAC functions (and others) used by e.g. imap.c, which should be dealt with separately. Makefile | 7 +++++++ cache.h | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/Makefile b/Makefile index 0f931a2..d8a45b4 100644 --- a/Makefile +++ b/Makefile @@ -1054,6 +1054,7 @@ ifeq ($(uname_S),Darwin) BASIC_LDFLAGS += -L/opt/local/lib endif endif + COMMON_DIGEST_SHA1 = YesPlease PTHREAD_LIBS = endif @@ -1388,10 +1389,16 @@ ifdef PPC_SHA1 LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o LIB_H += ppc/sha1.h else +ifdef COMMON_DIGEST_SHA1 + BASIC_CFLAGS += -DCOMMON_DIGEST_FOR_SHA1=1 + SHA1_HEADER = <CommonCrypto/CommonDigest.h> + EXTLIBS += $(LIB_4_CRYPTO) +else SHA1_HEADER = <openssl/sha.h> EXTLIBS += $(LIB_4_CRYPTO) endif endif +endif ifdef NO_PERL_MAKEMAKER export NO_PERL_MAKEMAKER endif diff --git a/cache.h b/cache.h index 94ca1ac..e2b24c6 100644 --- a/cache.h +++ b/cache.h @@ -10,11 +10,18 @@ #include SHA1_HEADER #ifndef git_SHA_CTX +#ifdef COMMON_DIGEST_FOR_SHA1 +#define git_SHA_CTX CC_SHA1_CTX +#define git_SHA1_Init CC_SHA1_Init +#define git_SHA1_Update CC_SHA1_Update +#define git_SHA1_Final CC_SHA1_Final +#else #define git_SHA_CTX SHA_CTX #define git_SHA1_Init SHA1_Init #define git_SHA1_Update SHA1_Update #define git_SHA1_Final SHA1_Final #endif +#endif #include <zlib.h> typedef struct git_zstream { -- 1.8.3.rc1.45.g88f80b8.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html