Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Dec 2015 03:17:18 +0000 (UTC)
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r291735 - in head: sbin/ipf/libipf share/mk usr.sbin/fifolog/lib
Message-ID:  <201512040317.tB43HIDM047266@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bdrewery
Date: Fri Dec  4 03:17:17 2015
New Revision: 291735
URL: https://svnweb.freebsd.org/changeset/base/291735

Log:
  For INTERNALLIB always add in the corresponding _DP_ and use LIBADD in
  the real build file.
  
  This lessens the need to define DPADD_<lib> and LDADD_<lib> to just very
  special cases.
  
  Sponsored by:	EMC / Isilon Storage Division

Modified:
  head/sbin/ipf/libipf/Makefile
  head/share/mk/src.libnames.mk
  head/usr.sbin/fifolog/lib/Makefile

Modified: head/sbin/ipf/libipf/Makefile
==============================================================================
--- head/sbin/ipf/libipf/Makefile	Fri Dec  4 03:17:14 2015	(r291734)
+++ head/sbin/ipf/libipf/Makefile	Fri Dec  4 03:17:17 2015	(r291735)
@@ -43,4 +43,6 @@ SRCS=		addicmp.c addipopt.c alist_free.c
 		tcp_flags.c tcpflags.c tcpoptnames.c v6ionames.c v6optvalue.c \
 		var.c verbose.c
 
+LIBADD=		kvm
+
 .include <bsd.lib.mk>

Modified: head/share/mk/src.libnames.mk
==============================================================================
--- head/share/mk/src.libnames.mk	Fri Dec  4 03:17:14 2015	(r291734)
+++ head/share/mk/src.libnames.mk	Fri Dec  4 03:17:17 2015	(r291735)
@@ -271,6 +271,8 @@ _DP_panelw=	ncursesw
 _DP_rpcsec_gss=	gssapi
 _DP_smb=	kiconv
 _DP_ulog=	md
+_DP_fifolog=	z
+_DP_ipf=	kvm
 
 # Define special cases
 LDADD_supcplusplus=	-lsupc++
@@ -293,7 +295,9 @@ LDADD_${_l}?=	-lprivate${_l}
 .else
 LDADD_${_l}?=	${LDADD_${_l}_L} -l${_l}
 .endif
-.if defined(_DP_${_l}) && defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+# Add in all dependencies for static linkage.
+.if defined(_DP_${_l}) && (${_INTERNALLIBS:M${_l}} || \
+    (defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")))
 .for _d in ${_DP_${_l}}
 DPADD_${_l}+=	${DPADD_${_d}}
 LDADD_${_l}+=	${LDADD_${_d}}
@@ -302,23 +306,17 @@ LDADD_${_l}+=	${LDADD_${_d}}
 .endfor
 
 # These are special cases where the library is broken and anything that uses
-# it needs to add more dependencies.  Many _INTERNALLIBS fall into this
-# category.  Unless the library itself is broken then the proper place to
-# define dependencies is _DP_* above.
+# it needs to add more dependencies.  Broken usually means that it has a
+# cyclic dependency and cannot link its own dependencies.  This is bad, please
+# fix the library instead.
+# Unless the library itself is broken then the proper place to define
+# dependencies is _DP_* above.
 
 # libatf-c++ exposes libatf-c abi hence we need to explicit link to atf_c for
 # atf_cxx
 DPADD_atf_cxx+=	${DPADD_atf_c}
 LDADD_atf_cxx+=	${LDADD_atf_c}
 
-# _INTERNALLIBS.
-# XXX: This should likely be reworked to have LIBADD in them and use normal
-# _DP_ lists just to avoid temptation to add more similar entries here.
-DPADD_fifolog+=	${DPADD_z}
-LDADD_fifolog+=	${LDADD_z}
-DPADD_ipf+=	${DPADD_kvm}
-LDADD_ipf+=	${LDADD_kvm}
-
 .for _l in ${LIBADD}
 DPADD+=		${DPADD_${_l}:Umissing-dpadd_${_l}}
 LDADD+=		${LDADD_${_l}}

Modified: head/usr.sbin/fifolog/lib/Makefile
==============================================================================
--- head/usr.sbin/fifolog/lib/Makefile	Fri Dec  4 03:17:14 2015	(r291734)
+++ head/usr.sbin/fifolog/lib/Makefile	Fri Dec  4 03:17:17 2015	(r291735)
@@ -7,6 +7,7 @@ SRCS=	fifolog_int.c fifolog_create.c fif
 SRCS+=	getdate.y
 
 CFLAGS+= -I${.CURDIR}
+LIBADD=	z
 
 NO_WMISSING_VARIABLE_DECLARATIONS=
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201512040317.tB43HIDM047266>