xref: /freebsd/share/mk/src.libnames.mk (revision 2830819497fb2deae3dd71574592ace55f2fbdba)
1# $FreeBSD$
2#
3# The include file <src.libnames.mk> define library names suitable
4# for INTERNALLIB and PRIVATELIB definition
5
6.if !target(__<bsd.init.mk>__)
7.error src.libnames.mk cannot be included directly.
8.endif
9
10.include <src.opts.mk>
11
12.if ${.OBJDIR:S,${.CURDIR},,} != ${.OBJDIR}
13ROOTOBJDIR=	${.OBJDIR:S,${.CURDIR},,}${SRCTOP}
14.elif defined(OBJTOP) && ${.OBJDIR:M${OBJTOP}*} != ""
15ROOTOBJDIR=	${OBJTOP}
16.endif
17
18_PRIVATELIBS=	\
19		atf_c \
20		atf_cxx \
21		bsdstat \
22		event \
23		heimipcc \
24		heimipcs \
25		ldns \
26		sqlite3 \
27		ssh \
28		ucl \
29		unbound
30
31_INTERNALLIBS=	\
32		amu \
33		bsnmptools \
34		cron \
35		elftc \
36		fifolog \
37		ipf \
38		lpr \
39		netbsd \
40		ntp \
41		ntpevent \
42		openbsd \
43		opts \
44		parse \
45		readline \
46		sl \
47		sm \
48		smdb \
49		smutil \
50		telnet \
51		vers
52
53_LIBRARIES=	\
54		${_PRIVATELIBS} \
55		${_INTERNALLIBS} \
56		alias \
57		archive \
58		asn1 \
59		auditd \
60		avl \
61		begemot \
62		bluetooth \
63		bsdxml \
64		bsm \
65		bsnmp \
66		bz2 \
67		c \
68		c_pic \
69		calendar \
70		cam \
71		capsicum \
72		casper \
73		com_err \
74		compiler_rt \
75		crypt \
76		crypto \
77		ctf \
78		cuse \
79		cxxrt \
80		devctl \
81		devinfo \
82		devstat \
83		dialog \
84		dpv \
85		dtrace \
86		dwarf \
87		edit \
88		elf \
89		execinfo \
90		fetch \
91		figpar \
92		geom \
93		gnuregex \
94		gpio \
95		gssapi \
96		gssapi_krb5 \
97		hdb \
98		heimbase \
99		heimntlm \
100		heimsqlite \
101		hx509 \
102		ipsec \
103		jail \
104		kadm5clnt \
105		kadm5srv \
106		kafs5 \
107		kdc \
108		kiconv \
109		krb5 \
110		kvm \
111		l \
112		lzma \
113		m \
114		magic \
115		md \
116		memstat \
117		mp \
118		mt \
119		nandfs \
120		ncurses \
121		ncursesw \
122		netgraph \
123		ngatm \
124		nv \
125		opie \
126		pam \
127		panel \
128		panelw \
129		pcap \
130		pcsclite \
131		pjdlog \
132		pmc \
133		proc \
134		procstat \
135		pthread \
136		radius \
137		readline \
138		roken \
139		rpcsec_gss \
140		rpcsvc \
141		rt \
142		rtld_db \
143		sbuf \
144		sdp \
145		sm \
146		smb \
147		ssl \
148		ssp_nonshared \
149		stdthreads \
150		supcplusplus \
151		tacplus \
152		termcapw \
153		ufs \
154		ugidfw \
155		ulog \
156		usb \
157		usbhid \
158		util \
159		vmmapi \
160		wind \
161		wrap \
162		xo \
163		y \
164		ypclnt \
165		z
166
167_DP_archive=	z bz2 lzma bsdxml
168.if ${MK_OPENSSL} != "no"
169_DP_archive+=	crypto
170.else
171_DP_archive+=	md
172.endif
173_DP_ssl=	crypto
174_DP_ssh=	crypto crypt
175.if ${MK_LDNS} != "no"
176_DP_ssh+=	ldns z
177.endif
178_DP_edit=	ncursesw
179.if ${MK_OPENSSL} != "no"
180_DP_bsnmp=	crypto
181.endif
182_DP_geom=	bsdxml sbuf
183_DP_cam=	sbuf
184_DP_casper=	capsicum nv pjdlog
185_DP_capsicum=	nv
186_DP_pjdlog=	util
187_DP_opie=	md
188_DP_usb=	pthread
189_DP_unbound=	pthread
190_DP_rt=	pthread
191.if ${MK_OPENSSL} == "no"
192_DP_radius=	md
193.else
194_DP_radius=	crypto
195.endif
196_DP_procstat=	kvm util elf
197.if ${MK_CXX} == "yes"
198.if ${MK_LIBCPLUSPLUS} != "no"
199_DP_proc=	cxxrt
200.else
201_DP_proc=	supcplusplus
202.endif
203.endif
204.if ${MK_CDDL} != "no"
205_DP_proc+=	ctf
206.endif
207_DP_mp=	crypto
208_DP_memstat=	kvm
209_DP_magic=	z
210_DP_mt=		bsdxml
211_DP_ldns=	crypto
212.if ${MK_OPENSSL} != "no"
213_DP_fetch=	ssl crypto
214.else
215_DP_fetch=	md
216.endif
217_DP_execinfo=	elf
218_DP_dwarf=	elf
219_DP_dpv=	dialog figpar util
220_DP_dialog=	ncursesw m
221_DP_cuse=	pthread
222_DP_atf_cxx=	atf_c
223_DP_devstat=	kvm
224_DP_pam=	radius tacplus opie md util
225.if ${MK_KERBEROS} != "no"
226_DP_pam+=	krb5
227.endif
228.if ${MK_OPENSSH} != "no"
229_DP_pam+=	ssh
230.endif
231.if ${MK_NIS} != "no"
232_DP_pam+=	ypclnt
233.endif
234_DP_krb5+=	asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc \
235		pthread
236_DP_gssapi_krb5+=	gssapi krb5 crypto roken asn1 com_err
237_DP_lzma=	pthread
238_DP_ucl=	m
239_DP_vmmapi=	util
240_DP_ctf=	z
241_DP_proc=	rtld_db util
242_DP_dtrace=	rtld_db pthread
243_DP_xo=		util
244
245# Define spacial cases
246LDADD_supcplusplus=	-lsupc++
247LIBATF_C=	${DESTDIR}${LIBDIR}/libprivateatf-c.a
248LIBATF_CXX=	${DESTDIR}${LIBDIR}/libprivateatf-c++.a
249LDADD_atf_c=	-lprivateatf-c
250LDADD_atf_cxx=	-lprivateatf-c++
251
252.for _l in ${_PRIVATELIBS}
253LIB${_l:tu}?=	${DESTDIR}${LIBDIR}/libprivate${_l}.a
254.endfor
255
256.for _l in ${_LIBRARIES}
257.if ${_INTERNALLIBS:M${_l}}
258LDADD_${_l}_L+=		-L${LIB${_l:tu}DIR}
259.endif
260DPADD_${_l}?=	${LIB${_l:tu}}
261.if ${_PRIVATELIBS:M${_l}}
262LDADD_${_l}?=	-lprivate${_l}
263.else
264LDADD_${_l}?=	${LDADD_${_l}_L} -l${_l}
265.endif
266.if defined(_DP_${_l}) && defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
267.for _d in ${_DP_${_l}}
268DPADD_${_l}+=	${DPADD_${_d}}
269LDADD_${_l}+=	${LDADD_${_d}}
270.endfor
271.endif
272.endfor
273
274DPADD_atf_cxx+=	${DPADD_atf_c}
275LDADD_atf_cxx+=	${LDADD_atf_c}
276
277DPADD_sqlite3+=	${DPADD_pthread}
278LDADD_sqlite3+=	${LDADD_pthread}
279
280DPADD_fifolog+=	${DPADD_z}
281LDADD_fifolog+=	${LDADD_z}
282
283DPADD_ipf+=	${DPADD_kvm}
284LDADD_ipf+=	${LDADD_kvm}
285
286DPADD_mt+=	${DPADD_sbuf}
287LDADD_mt+=	${LDADD_sbuf}
288
289DPADD_dtrace+=	${DPADD_ctf} ${DPADD_elf} ${DPADD_proc}
290LDADD_dtrace+=	${LDADD_ctf} ${LDADD_elf} ${LDADD_proc}
291
292# The following depends on libraries which are using pthread
293DPADD_hdb+=	${DPADD_pthread}
294LDADD_hdb+=	${LDADD_pthread}
295DPADD_kadm5srv+=	${DPADD_pthread}
296LDADD_kadm5srv+=	${LDADD_pthread}
297DPADD_krb5+=	${DPADD_pthread}
298LDADD_krb5+=	${LDADD_pthread}
299DPADD_gssapi_krb5+=	${DPADD_pthread}
300LDADD_gssapi_krb5+=	${LDADD_pthread}
301
302.for _l in ${LIBADD}
303DPADD+=		${DPADD_${_l}:Umissing-dpadd_${_l}}
304LDADD+=		${LDADD_${_l}}
305.endfor
306
307.if defined(DPADD) && ${DPADD:Mmissing-dpadd_*}
308.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}".
309.endif
310
311LIBELFTCDIR=	${ROOTOBJDIR}/lib/libelftc
312LIBELFTC?=	${LIBELFTCDIR}/libelftc.a
313
314LIBREADLINEDIR=	${ROOTOBJDIR}/gnu/lib/libreadline/readline
315LIBREADLINE?=	${LIBREADLINEDIR}/libreadline.a
316
317LIBOPENBSDDIR=	${ROOTOBJDIR}/lib/libopenbsd
318LIBOPENBSD?=	${LIBOPENBSDDIR}/libopenbsd.a
319
320LIBSMDIR=	${ROOTOBJDIR}/lib/libsm
321LIBSM?=		${LIBSMDIR}/libsm.a
322
323LIBSMDBDIR=	${ROOTOBJDIR}/lib/libsmdb
324LIBSMDB?=	${LIBSMDBDIR}/libsmdb.a
325
326LIBSMUTILDIR=	${ROOTOBJDIR}/lib/libsmutil
327LIBSMUTIL?=	${LIBSMDBDIR}/libsmutil.a
328
329LIBNETBSDDIR?=	${ROOTOBJDIR}/lib/libnetbsd
330LIBNETBSD?=	${LIBNETBSDDIR}/libnetbsd.a
331
332LIBVERSDIR?=	${ROOTOBJDIR}/kerberos5/lib/libvers
333LIBVERS?=	${LIBVERSDIR}/libvers.a
334
335LIBSLDIR=	${ROOTOBJDIR}/kerberos5/lib/libsl
336LIBSL?=		${LIBSLDIR}/libsl.a
337
338LIBIPFDIR=	${ROOTOBJDIR}/sbin/ipf/libipf
339LIBIPF?=	${LIBIPFDIR}/libipf.a
340
341LIBTELNETDIR=	${ROOTOBJDIR}/lib/libtelnet
342LIBTELNET?=	${LIBTELNETDIR}/libtelnet.a
343
344LIBCRONDIR=	${ROOTOBJDIR}/usr.sbin/cron/lib
345LIBCRON?=	${LIBCRONDIR}/libcron.a
346
347LIBNTPDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libntp
348LIBNTP?=	${LIBNTPDIR}/libntp.a
349
350LIBNTPEVENTDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libntpevent
351LIBNTPEVENT?=	${LIBNTPEVENTDIR}/libntpevent.a
352
353LIBOPTSDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libopts
354LIBOTPS?=	${LIBOPTSDIR}/libopts.a
355
356LIBPARSEDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libparse
357LIBPARSE?=	${LIBPARSEDIR}/libparse.a
358
359LIBLPRDIR=	${ROOTOBJDIR}/usr.sbin/lpr/common_source
360LIBLPR?=	${LIBOPTSDIR}/liblpr.a
361
362LIBFIFOLOGDIR=	${ROOTOBJDIR}/usr.sbin/fifolog/lib
363LIBFIFOLOG?=	${LIBOPTSDIR}/libfifolog.a
364
365LIBBSNMPTOOLSDIR=	${ROOTOBJDIR}/usr.sbin/bsnmpd/tools/libbsnmptools
366LIBBSNMPTOOLS?=	${LIBBSNMPTOOLSDIR}/libbsnmptools.a
367
368LIBAMUDIR=	${ROOTOBJDIR}/usr.sbin/amd/libamu
369LIBAMU?=	${LIBAMUDIR}/libamu/libamu.a
370
371