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
This commit is contained in:
ngie 2014-10-23 00:51:52 +00:00
parent 9a57ba8bbc
commit 2b8c74e174

View File

@ -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}