summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2014-10-23 00:51:52 +0000
committerngie <ngie@FreeBSD.org>2014-10-23 00:51:52 +0000
commit2b8c74e1741f7f2f394850d6ef56dfb989c79bb2 (patch)
tree1dcbf6df309ff1ea31e26348aa2b2faef4daf732 /share
parent9a57ba8bbcc06dd108d277a22c0dcf54515d67cf (diff)
downloadFreeBSD-src-2b8c74e1741f7f2f394850d6ef56dfb989c79bb2.zip
FreeBSD-src-2b8c74e1741f7f2f394850d6ef56dfb989c79bb2.tar.gz
MFC r271365:
Remove many false positives with make checkdpadd - Reduce DPADD and LDADD in checkdpadd to -l<foo> - Skip over -Wl,[es]*-group because -Wl,--end-group and -Wl,--start-group might be required to properly link objects (see usr.bin/clang/lldb as an example) This caveat has been present for a while with some components of the build. However, these false positives were made more more apparent after r269648. Phabric: D635 Reviewed by: jmmv (an earlier version) PR: 192730
Diffstat (limited to 'share')
-rw-r--r--share/mk/bsd.dep.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk
index 14619eb..d59ed28 100644
--- a/share/mk/bsd.dep.mk
+++ b/share/mk/bsd.dep.mk
@@ -215,8 +215,10 @@ cleandepend:
.endif
.if !target(checkdpadd) && (defined(DPADD) || defined(LDADD))
-_LDADD_FROM_DPADD= ${DPADD:C;^/usr/lib/lib(.*)\.a$;-l\1;}
-_LDADD_CANONICALIZED= ${LDADD:S/$//}
+_LDADD_FROM_DPADD= ${DPADD:R:T:C;^lib(.*)$;-l\1;g}
+# Ignore -Wl,--start-group/-Wl,--end-group as it might be required in the
+# LDADD list due to unresolved symbols
+_LDADD_CANONICALIZED= ${LDADD:N:R:T:C;^lib(.*)$;-l\1;g:N-Wl,--[es]*-group}
checkdpadd:
.if ${_LDADD_FROM_DPADD} != ${_LDADD_CANONICALIZED}
@echo ${.CURDIR}
OpenPOWER on IntegriCloud