Module Name: src
Committed By: christos
Date: Sun May 7 23:24:51 UTC 2023
Modified Files:
src/share/mk: bsd.prog.mk
Log Message:
Provide a hook to link in libraries statically in PROGDPLIBS.
OpenSSL protects the symbols in the shared object via a linker
script, but programs and tests need those protected symbols, so
they either must link against the archive, or I need to expose the
symbols. For now, I chose to expose the symbols. Note that we
cannot use -Bstatic -Lpath -llibrary -Bdynamic because this seems
to be broken with collect2 and so we use the path directly.
To generate a diff of this commit:
cvs rdiff -u -r1.341 -r1.342 src/share/mk/bsd.prog.mk
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/mk/bsd.prog.mk
diff -u src/share/mk/bsd.prog.mk:1.341 src/share/mk/bsd.prog.mk:1.342
--- src/share/mk/bsd.prog.mk:1.341 Wed Jul 13 23:48:49 2022
+++ src/share/mk/bsd.prog.mk Sun May 7 19:24:51 2023
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.prog.mk,v 1.341 2022/07/14 03:48:49 mrg Exp $
+# $NetBSD: bsd.prog.mk,v 1.342 2023/05/07 23:24:51 christos Exp $
# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94
.ifndef HOSTPROG
@@ -404,7 +404,11 @@ PROGS= ${PROG}
PROGDO.${_lib}!= cd "${_dir}" && ${PRINTOBJDIR}
.MAKEOVERRIDES+=PROGDO.${_lib}
.endif
-LDADD+= -L${PROGDO.${_lib}} -l${_lib}
+.if defined(PROGDPLIBSSTATIC)
+DPADD+= ${PROGDO.${_lib}}/lib${_lib}.a
+LDADD+= ${PROGDO.${_lib}}/lib${_lib}.a
+.else
+LDADD+= ${PROGDPLIBBEGIN} -L${PROGDO.${_lib}} -l${_lib} ${PROGDPLIBEND}
.if exists(${PROGDO.${_lib}}/lib${_lib}_pic.a)
DPADD+= ${PROGDO.${_lib}}/lib${_lib}_pic.a
.elif exists(${PROGDO.${_lib}}/lib${_lib}.so)
@@ -412,6 +416,7 @@ DPADD+= ${PROGDO.${_lib}}/lib${_lib}.so
.else
DPADD+= ${PROGDO.${_lib}}/lib${_lib}.a
.endif
+.endif
.endfor
.endif # }
#