Re: [PATCH v3 3/3] cache.h: eliminate SHA-1 deprecation warnings on OS X 10.8
From: David Aguilar <hidden>
Date: 2016-06-15 22:57:14
On Mon, May 13, 2013 at 12:55 AM, Eric Sunshine [off-list ref] wrote:
On Mon, May 13, 2013 at 3:20 AM, David Aguilar [off-list ref] wrote:quoted
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 option to the Makefile to allow choosing this implementation and define it by default on Darwin. Define COMMON_DIGEST_FOR_SHA1 to enable the OpenSSL compatibility macros in CommonDigest.h. Helped-by: Eric Sunshine [off-list ref] Signed-off-by: David Aguilar <redacted> --- Here's a replacement patch for what's in pu. This version uses the built-in #defines and can thus avoid touching cache.h. Makefile | 6 ++++++ 1 file changed, 6 insertions(+)diff --git a/Makefile b/Makefile index 25282b4..9d174b9 100644 --- a/Makefile +++ b/Makefile@@ -1055,6 +1055,7 @@ ifeq ($(uname_S),Darwin) endif endif COMMON_DIGEST_HMAC = YesPlease + COMMON_DIGEST_SHA1 = YesPlease NO_REGEX = YesPlease PTHREAD_LIBS = endif@@ -1390,10 +1391,15 @@ 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=1This is incorrect. As noted in my previous email, you need to define COMMON_DIGEST_FOR_OPENSSL, not COMMON_DIGEST_FOR_SHA1, in order for CommonDigest.h to provide the OpenSSL defines magically. Thus: s/COMMON_DIGEST_FOR_SHA1=1/COMMON_DIGEST_FOR_OPENSSL/
Yes, you're right. Strangely, it compiled just fine either way which is why I hadn't noticed. I'll resend along w/ a replacement for 2/3 to drop the "=1" in the -D definition. -- David