Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11
From: Jeff King <hidden>
Date: 2016-10-17 09:57:17
On Sun, Oct 16, 2016 at 05:25:49PM -0700, larsxschneider@gmail.com wrote:
From: Lars Schneider <redacted> Apple removed the OpenSSL header files in macOS 10.11 and above. OpenSSL was deprecated since macOS 10.7. Set `NO_OPENSSL` and `APPLE_COMMON_CRYPTO` to `YesPlease` as default for macOS. Make it possible to override this and use OpenSSL by defining `DARWIN_OPENSSL`.
I like that you gave an override, but I don't think it works in all cases:
quoted hunk ↗ jump to hunk
diff --git a/config.mak.uname b/config.mak.uname index b232908..f0c94a9 100644 --- a/config.mak.uname +++ b/config.mak.uname@@ -108,6 +108,12 @@ ifeq ($(uname_S),Darwin) ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 11 && echo 1),1) HAVE_GETDELIM = YesPlease endif + ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 15 && echo 1),1) + ifndef DARWIN_OPENSSL + NO_OPENSSL = YesPlease + APPLE_COMMON_CRYPTO=YesPlease + endif + endif
This is in config.mak.uname, which gets sourced before config.mak (and ifndef is evaluated at the time of parsing). So it would work to do: make DARWIN_OPENSSL=Yep but not: echo DARWIN_OPENSSL=Yep >>config.mak make I think you'd have to set a flag in config.mak.uname, and then resolve it in the Makefile proper like: ifdef DARWIN_OPENSSL # Overrides AUTO_AVOID_OPENSSL, do nothing. else ifdef AUTO_AVOID_OPENSSL NO_OPENSSL = YesPlease APPLE_COMMON_CRYPTO = YesPlease endif but that's totally untested. -Peff