aboutsummaryrefslogtreecommitdiff
path: root/secure/lib
diff options
context:
space:
mode:
authorPierre Pronchery <pierre@freebsdfoundation.org>2023-09-15 15:14:16 +0000
committerEd Maste <emaste@FreeBSD.org>2023-09-16 15:55:12 +0000
commit1a18383a52bc373e316d224cef1298debf6f7e25 (patch)
tree4e2d71bec343f4bfd4352059f2172fe948c901a8 /secure/lib
parentef89b78bb1f60484cc743fa590d623ad896ca8e9 (diff)
downloadsrc-1a18383a52bc373e316d224cef1298debf6f7e25.tar.gz
src-1a18383a52bc373e316d224cef1298debf6f7e25.zip
libcrypto: link engines and the legacy provider to libcrypto
OpenSSL's legacy provider module and engines need to link to libcrypto.so, as it provides some of the actual implementations of legacy routines. This is a little tricky due to build order issues. Introduce a small hack (LIBCRYPTO_WITHOUT_SUBDIRS) that builds libcrypto.so in its usual early phase without any OpenSSL provider modules or engines. This is intended to restore the test suite; a future change should remove the hack and replace it with a better approach. PR: 254853, 273528 Discussed with: Folks at EuroBSDCon in Coimbra Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'secure/lib')
-rw-r--r--secure/lib/libcrypto/Makefile2
-rw-r--r--secure/lib/libcrypto/engines/Makefile.inc2
-rw-r--r--secure/lib/libcrypto/modules/legacy/Makefile1
3 files changed, 5 insertions, 0 deletions
diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile
index 585e89861815..d8ae91bb3272 100644
--- a/secure/lib/libcrypto/Makefile
+++ b/secure/lib/libcrypto/Makefile
@@ -1,6 +1,8 @@
SHLIBDIR?= /lib
+.if !defined(LIBCRYPTO_WITHOUT_SUBDIRS)
SUBDIR= engines modules
+.endif
.include <bsd.own.mk>
.include <src.opts.mk>
diff --git a/secure/lib/libcrypto/engines/Makefile.inc b/secure/lib/libcrypto/engines/Makefile.inc
index 39b728ff722f..13d5f4849cbc 100644
--- a/secure/lib/libcrypto/engines/Makefile.inc
+++ b/secure/lib/libcrypto/engines/Makefile.inc
@@ -16,6 +16,8 @@ CFLAGS+= -DB_ENDIAN
.endif
CFLAGS+= -DNDEBUG
+LIBADD= crypto
+
.PATH: ${LCRYPTO_SRC}/engines
WARNS?= 0
diff --git a/secure/lib/libcrypto/modules/legacy/Makefile b/secure/lib/libcrypto/modules/legacy/Makefile
index 913c0c41f5eb..a285d0b1148b 100644
--- a/secure/lib/libcrypto/modules/legacy/Makefile
+++ b/secure/lib/libcrypto/modules/legacy/Makefile
@@ -1,5 +1,6 @@
SHLIB_NAME?= legacy.so
+LIBADD= crypto
SRCS+= legacyprov.c prov_running.c