aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-10-30 20:38:34 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-10-30 20:38:34 +0100
commitdd9da5146299b769fad874d32a8ae110312cb68f (patch)
treebc7acd81269587140a3746deaf96fae86ad4e628
parent3dba85254719215747e150301081477a47b38645 (diff)
downloadupstream-dd9da5146299b769fad874d32a8ae110312cb68f.tar.gz
upstream-dd9da5146299b769fad874d32a8ae110312cb68f.tar.bz2
upstream-dd9da5146299b769fad874d32a8ae110312cb68f.zip
openssl: enable OPENSSL_WITH_DEPRECATED when OpenSSL is built as a build dep
Some package (e.g. libunbound) depend on OPENSSL_WITH_DEPRECATED. In some situations it may happen that libunbound and openssl are only pulled in as build dependencies, but are not enabled in .config. In such cases, the defaults of symbols like OPENSSL_WITH_DEPRECATED are ignored (as the whole symbol depends on PACKAGE_libopenssl), and config symbol dependencies of libunbound aren't effective either (as libunbound is not actually enabled). This commit works around the issue by introducing a hidden negated symbol OPENSSL_NO_DEPRECATED, which is always disabled when PACKAGE_libopenssl is disabled, and ensures that OpenSSL is built with deprecated APIs in this case. A user can still manage to break the build by explicitly enabling libopenssl and disabling OPENSSL_WITH_DEPRECATED; the interaction between build dependencies and config symbols will require further discussion. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
-rw-r--r--package/libs/openssl/Config.in4
-rw-r--r--package/libs/openssl/Makefile4
2 files changed, 6 insertions, 2 deletions
diff --git a/package/libs/openssl/Config.in b/package/libs/openssl/Config.in
index 96d3ba3e9d..c39e28510f 100644
--- a/package/libs/openssl/Config.in
+++ b/package/libs/openssl/Config.in
@@ -20,6 +20,10 @@ config OPENSSL_WITH_DEPRECATED
default y
prompt "Include deprecated APIs"
+config OPENSSL_NO_DEPRECATED
+ bool
+ default !OPENSSL_WITH_DEPRECATED
+
config OPENSSL_WITH_DTLS
bool
default n
diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile
index b64a51d6d3..1e28267560 100644
--- a/package/libs/openssl/Makefile
+++ b/package/libs/openssl/Makefile
@@ -36,7 +36,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_OPENSSL_WITH_EC2M \
CONFIG_OPENSSL_WITH_SSL3 \
CONFIG_OPENSSL_HARDWARE_SUPPORT \
- CONFIG_OPENSSL_WITH_DEPRECATED \
+ CONFIG_OPENSSL_NO_DEPRECATED \
CONFIG_OPENSSL_WITH_DTLS \
CONFIG_OPENSSL_WITH_COMPRESSION \
CONFIG_OPENSSL_WITH_NPN \
@@ -130,7 +130,7 @@ ifndef CONFIG_OPENSSL_HARDWARE_SUPPORT
OPENSSL_OPTIONS += no-hw
endif
-ifndef CONFIG_OPENSSL_WITH_DEPRECATED
+ifdef CONFIG_OPENSSL_NO_DEPRECATED
OPENSSL_OPTIONS += no-deprecated
endif