From 9126ec99ca9e136666cbba5b48a8a02cb11350e0 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Mon, 15 Oct 2018 11:16:54 -0400 Subject: [PATCH] Automatically detect whether Curve25519 is available in NSS for USE_DH31 currently, USE_DH31 defaults to true. On some platforms, where older versions of NSS are in use, this should default to false. This patch automatically detects such systems and disables USE_DH31 on those platforms. It produces some amount of noise on stderr about CURVE_25519 during the build on those older platforms, but that seems ok to me, since those platforms should know that they're missing a modern feature. If you prefer less noise, i'd be happy with any modification that does a similar sort of autodetection. diff --git a/mk/userland-cflags.mk b/mk/userland-cflags.mk index d0a88b1aa1..7d88874b1c 100644 --- a/mk/userland-cflags.mk +++ b/mk/userland-cflags.mk @@ -240,7 +240,7 @@ ifeq ($(USE_DH24),true) USERLAND_CFLAGS += -DUSE_DH24 endif -USE_DH31 ?= true +USE_DH31 ?= $(shell if printf '\#include \nint main() { return SEC_OID_CURVE25519; }\n'| $(CC) -x c $$(pkg-config --cflags nss) -o /dev/null -; then echo true; else echo false; fi ) ifeq ($(USE_DH31),true) USERLAND_CFLAGS += -DUSE_DH31 endif