Make it harder to specify invalid LIBADD by causing values without

corresponding DPADD_<lib> variables to produce a useful error message.

Differential Revision:	https://reviews.freebsd.org/D2295
Reviewed by:	bapt
Sponsored by:	DARPA, AFRL
This commit is contained in:
Brooks Davis 2015-04-16 15:34:22 +00:00
parent 3b2fd85e29
commit 757a876f36
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=281604
2 changed files with 10 additions and 1 deletions

View File

@ -35,6 +35,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11.x IS SLOW:
The const qualifier has been removed from iconv(3) to comply with The const qualifier has been removed from iconv(3) to comply with
POSIX. The ports tree is aware of this from r384038 onwards. POSIX. The ports tree is aware of this from r384038 onwards.
20150416:
Libraries specified by LIBADD in Makefiles must have a corresponding
DPADD_<lib> variable to ensure correct dependencies. This is now
enforced in src.libnames.mk.
20150324: 20150324:
From legacy ata(4) driver was removed support for SATA controllers From legacy ata(4) driver was removed support for SATA controllers
supported by more functional drivers ahci(4), siis(4) and mvs(4). supported by more functional drivers ahci(4), siis(4) and mvs(4).

View File

@ -282,10 +282,14 @@ LDADD_gssapi_krb5+= ${LDADD_pthread}
.if ${_PRIVATELIBS:M${_l}} .if ${_PRIVATELIBS:M${_l}}
USEPRIVATELIB+= ${_l} USEPRIVATELIB+= ${_l}
.endif .endif
DPADD+= ${DPADD_${_l}} DPADD+= ${DPADD_${_l}:Umissing-dpadd_${_l}}
LDADD+= ${LDADD_${_l}} LDADD+= ${LDADD_${_l}}
.endfor .endfor
.if defined(DPADD) && ${DPADD:Mmissing-dpadd_*}
.error Missing ${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/DPADD_/} variable add "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//}" to _LIBRARIES, _INTERNALLIBS, or _PRIVATELIBS and define "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/LIB/:tu}".
.endif
.if defined(USEPRIVATELIB) .if defined(USEPRIVATELIB)
LDFLAGS+= -rpath ${LIBPRIVATEDIR} LDFLAGS+= -rpath ${LIBPRIVATEDIR}
.endif .endif