From: Junio C Hamano Date: Thu, 16 May 2013 00:36:20 GMT Subject: Re: [PATCH v6 1/2] cache.h: eliminate SHA-1 deprecation warnings on Mac OS X Message-ID: <7vbo8bahh7.fsf@alter.siamese.dyndns.org> In-Reply-To: <1368663120-47102-1-git-send-email-davvid@gmail.com> David Aguilar writes: > Mac OS X 10.8 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 CommonCrytpo SHA-1 > functions for SHA1_Init(), SHA1_Update(), and SHA1_Final(). > > Add a NO_COMMON_DIGEST_FOR_OPENSSL option to the Makefile to allow > users to opt out of using this library. When defined, Git will > use OpenSSL instead. > > COMMON_DIGEST_FOR_OPENSSL is defined to enable the OpenSSL > compatibility macros in CommonDigest.h. This symbol will also cover not just SHA but also HMAC, would it make more sense to call it COMMON_CRYPTO_FOR_OPENSSL? After all, that is what Apple calls this library, no? > > Helped-by: Eric Sunshine > Helped-by: Torsten Bögershausen > Signed-off-by: David Aguilar > --- > Changes since last time: > > Name the Makefile variable after the #define for consistency. > > Makefile | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/Makefile b/Makefile > index f698c1a..b0eb949 100644 > --- a/Makefile > +++ b/Makefile > @@ -137,6 +137,10 @@ all:: > # specify your own (or DarwinPort's) include directories and > # library directories by defining CFLAGS and LDFLAGS appropriately. > # > +# Define NO_COMMON_DIGEST_FOR_OPENSSL if you are building on Darwin/Mac OS X > +# and do not want to use Apple's CommonCrypto library. This allows you to > +# provide your own OpenSSL library, for example from MacPorts. > +# > # Define BLK_SHA1 environment variable to make use of the bundled > # optimized C SHA1 routine. > # > @@ -1054,6 +1058,9 @@ ifeq ($(uname_S),Darwin) > BASIC_LDFLAGS += -L/opt/local/lib > endif > endif > + ifndef NO_COMMON_DIGEST_FOR_OPENSSL > + COMMON_DIGEST_FOR_OPENSSL = YesPlease > + endif > NO_REGEX = YesPlease > PTHREAD_LIBS = > endif > @@ -1389,10 +1396,16 @@ ifdef PPC_SHA1 > LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o > LIB_H += ppc/sha1.h > else > +ifdef COMMON_DIGEST_FOR_OPENSSL > + BASIC_CFLAGS += -DCOMMON_DIGEST_FOR_OPENSSL > + SHA1_HEADER = > +else > SHA1_HEADER = > EXTLIBS += $(LIB_4_CRYPTO) > endif > endif > +endif > + > ifdef NO_PERL_MAKEMAKER > export NO_PERL_MAKEMAKER > endif