Re: [PATCH v1 1/2] config.mak.in: set NO_OPENSSL and APPLE_COMMON_CRYPTO for macOS >10.11
- From
Jeff King <peff@peff.net>
- Date
- Oct 17, 2016, 09:50 UTC
- Message-ID
- <20161017095002.bbqyp2hkbuyau66t@sigill.intra.peff.net>
- In-Reply-To
- <20161017002550.88782-2-larsxschneider@gmail.com>
On Sun, Oct 16, 2016 at 05:25:49PM -0700, larsxschneider@gmail.com wrote:
Show 8 quoted lines
> From: Lars Schneider <larsxschneider@gmail.com> > > 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:
Show 14 quoted lines
> 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