From 41ae64f37403cd72496a53c6ac2acd690fbc29fa Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Wed, 10 Sep 2014 07:55:51 +0000 Subject: [PATCH] Remove many false positives with make checkdpadd - Reduce DPADD and LDADD in checkdpadd to -l - 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 MFC after: 2 weeks --- share/mk/bsd.dep.mk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/share/mk/bsd.dep.mk b/share/mk/bsd.dep.mk index 509c17f5823..5ce2fa49575 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}