xref: /freebsd/share/mk/src.libnames.mk (revision c6db8143eda5c775467145ac73e8ebec47afdd8f)
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
12ROOTSRCDIR=	${.MAKE.MAKEFILES:M*/src.libnames.mk:H:H:H}
13ROOTOBJDIR=	${.OBJDIR:S/${.CURDIR}//}${ROOTSRCDIR}
14_PRIVATELIBS=	\
15		atf_c \
16		atf_cxx \
17		bsdstat \
18		heimipcc \
19		heimipcs \
20		ldns \
21		sqlite3 \
22		ssh \
23		ucl \
24		unbound
25
26_INTERNALIBS=	\
27		amu \
28		bsnmptools \
29		cron \
30		event \
31		fifolog \
32		ipf \
33		lpr \
34		mandoc \
35		netbsd \
36		ntp \
37		ohash \
38		opts \
39		parse \
40		readline \
41		sl \
42		sm \
43		smdb \
44		smutil \
45		telnet \
46		vers
47
48_LIBRARIES=	\
49		${_PRIVATELIBS} \
50		${_INTERNALIBS} \
51		alias \
52		archive \
53		asn1 \
54		auditd \
55		begemot \
56		bluetooth \
57		bsdxml \
58		bsnmp \
59		bsm \
60		bz2 \
61		calendar \
62		cam \
63		capsicum \
64		casper \
65		com_err \
66		compiler_rt \
67		crypt \
68		crypto \
69		ctf \
70		cuse \
71		cxxrt \
72		devinfo \
73		devstat \
74		dialog \
75		dpv \
76		dwarf \
77		edit \
78		elf \
79		execinfo \
80		fetch \
81		figpar \
82		geom \
83		gnuregex \
84		gssapi \
85		hdb \
86		heimbase \
87		heimntlm \
88		heimsqlite \
89		hx509 \
90		ipsec \
91		jail \
92		kadm5clnt \
93		kadm5srv \
94		kafs5 \
95		kdc \
96		kiconv \
97		krb5 \
98		kvm \
99		krb5 \
100		l \
101		lzma \
102		m \
103		magic \
104		mandoc \
105		md \
106		memstat \
107		mp \
108		nandfs \
109		netgraph \
110		ngatm \
111		ncursesw \
112		nv \
113		opie \
114		pam \
115		pcap \
116		pcsclite \
117		pjdlog \
118		pmc \
119		proc \
120		procstat \
121		pthread \
122		radius \
123		readline \
124		roken \
125		rpcsec_gss \
126		rpcsvc \
127		rt \
128		sbuf \
129		sdp \
130		sm \
131		smb \
132		ssl \
133		stdthreads \
134		supcplusplus \
135		ssp_nonshared \
136		tacplus \
137		termcapw \
138		ugidfw \
139		ufs \
140		ulog \
141		usb \
142		usbhid \
143		util \
144		vmmapi \
145		wind \
146		wrap \
147		xo \
148		y \
149		ypclnt \
150		z
151
152_DP_archive=	z bz2 lzma bsdxml
153.if ${MK_OPENSSL} != "no"
154_DP_archive+=	crypto
155.else
156_DP_archive+=	md
157.endif
158_DP_ssl=	crypto
159_DP_ssh=	crypto crypt
160_DP_edit=	ncursesw
161.if ${MK_OPENSSL} != "no"
162_DP_bsnmp=	crypto
163.endif
164_DP_grom=	bsdxml sbuf
165_DP_cam=	sbuf
166_DP_casper=	capsicum nv pjdlog
167_DP_capsicum=	nv
168_DP_pjdlog=	util
169_DP_opie=	md
170_DP_usb=	pthread
171_DP_unbound=	pthread
172_DP_rt=	pthread
173.if ${MK_OPENSSL} == "no"
174_DP_radius=	md
175.else
176_DP_radius=	crypto
177.endif
178_DP_procstat=	kvm util elf
179.if ${MK_CXX} == "yes"
180.if ${MK_LIBCPLUSPLUS} != "no"
181_DP_proc=	cxxrt
182.else
183_DP_proc=	supcplusplus
184.endif
185.endif
186.if ${MK_CDDL} != "no"
187_DP_proc+=	ctf
188.endif
189_DP_mp=	crypto
190_DP_memstat=	kvm
191_DP_magic=	z
192_DP_ldns=	crypto
193.if ${MK_OPENSSL} != "no"
194_DP_fetch=	ssl crypto
195.else
196_DP_fetch=	md
197.endif
198_DP_execinfo=	elf
199_DP_dwarf=	elf
200_DP_dpv=	dialog figpar util
201_DP_dialog=	ncursesw m
202_DP_cuse=	pthread
203_DP_atf_cxx=	atf_c
204_DP_devstat=	kvm
205_DP_pam=	radius tacplus opie md util
206.if ${MK_KERBEROS} != "no"
207_DP_pam+=	krb5
208.endif
209.if ${MK_OPENSSH} != "no"
210_DP_pam+=	ssh
211.endif
212.if ${MK_NIS} != "no"
213_DP_pam+=	ypclnt
214.endif
215_DP_krb5+=	asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc
216
217# Define spacial cases
218LDADD_supcplusplus=	-lsupc++
219LDADD_atf_c=	-L${LIBATF_CDIR} -latf-c
220LDADD_atf_cxx=	-L${LIBATF_CXXDIR} -latf-c++
221
222.for _l in ${_LIBRARIES}
223.if ${_PRIVATELIBS:M${_l}}
224LDADD_${_l}_L+=		-L${LIB${_l:tu}DIR}
225.endif
226.if ${_INTERNALIBS:M${_l}}
227LDADD_${_l}_L+=		-L${LIB${_l:tu}DIR}
228.endif
229DPADD_${_l}?=	${LIB${_l:tu}}
230LDADD_${_l}?=	${LDADD_${_l}_L} -l${_l}
231.if defined(_DP_${_l}) && defined(NO_SHARED)
232.for _d in ${_DP_${_l}}
233DPADD_${_l}+=	${DPADD_${_d}}
234LDADD_${_l}+=	${LDADD_${_d}}
235.endfor
236.endif
237.endfor
238
239# ucl needs and exposes libm
240DPADD_ucl+=	${DPADD_m}
241LDADD_ucl+=	${LDADD_m}
242
243DPADD_sqlite3+=	${DPADD_pthread}
244LDADD_sqlite3+=	${LDADD_pthread}
245
246DPADD_atf_cxx+=	${DPADD_atf_c}
247LDADD_atf_cxx+=	${LDADD_atf_c}
248
249DPADD_ipf+=	${DPADD_kvm}
250LDADD_ipf+=	${LDADD_kvm}
251
252# The following depends on libraries which are using pthread
253DPADD_hdb+=	${DPADD_pthread}
254LDADD_hdb+=	${LDADD_pthread}
255DPADD_kadm5srv+=	${DPADD_pthread}
256LDADD_kadm5srv+=	${LDADD_pthread}
257
258.for _l in ${LIBADD}
259.if ${_PRIVATELIBS:M${_l}}
260USEPRIVATELIB+=	${_l}
261.endif
262DPADD+=		${DPADD_${_l}}
263LDADD+=		${LDADD_${_l}}
264.endfor
265
266.if defined(USEPRIVATELIB)
267LDFLAGS+=	-rpath ${LIBPRIVATEDIR}
268.endif
269
270LIBATF_CDIR=	${ROOTOBJDIR}/lib/atf/libatf-c
271LDATF_C?=	${LIBATF_CDIR}/libatf-c.so
272LIBATF_C?=	${LIBATF_CDIR}/libatf-c.a
273
274LIBATF_CXXDIR=	${ROOTOBJDIR}/lib/atf/libatf-c++
275LDATF_CXX?=	${LIBATF_CXXDIR}/libatf-c++.so
276LIBATF_CXX?=	${LIBATF_CXXDIR}/libatf-c++.a
277
278LIBBSDSTATDIR=	${ROOTOBJDIR}/lib/libbsdstat
279LDBSDSTAT?=	${LIBBSDSTATDIR}/libbsdstat.so
280LIBBSDSTAT?=	${LIBBSDSTATDIR}/libbsdstat.a
281
282LIBEVENTDIR=	${ROOTOBJDIR}/lib/libevent
283LDEVENT?=	${LIBEVENTDIR}/libevent.a
284LIBEVENT?=	${LIBEVENTDIR}/libevent.a
285
286LIBHEIMIPCCDIR=	${ROOTOBJDIR}/kerberos5/lib/libheimipcc
287LDHEIMIPCC?=	${LIBHEIMIPCCDIR}/libheimipcc.so
288LIBHEIMIPCC?=	${LIBHEIMIPCCDIR}/libheimipcc.a
289
290LIBHEIMIPCSDIR=	${ROOTOBJDIR}/kerberos5/lib/libheimipcs
291LDHEIMIPCS?=	${LIBHEIMIPCSDIR}/libheimipcs.so
292LIBHEIMIPCS?=	${LIBHEIMIPCSDIR}/libheimipcs.a
293
294LIBLDNSDIR=	${ROOTOBJDIR}/lib/libldns
295LDLDNS?=	${LIBLDNSDIR}/libldns.so
296LIBLDNS?=	${LIBLDNSDIR}/libldns.a
297
298LIBSSHDIR=	${ROOTOBJDIR}/secure/lib/libssh
299LDSSH?=		${LIBSSHDIR}/libssh.so
300LIBSSH?=	${LIBSSHDIR}/libssh.a
301
302LIBUNBOUNDDIR=	${ROOTOBJDIR}/lib/libunbound
303LDUNBOUND?=	${LIBUNBOUNDDIR}/libunbound.so
304LIBUNBOUND?=	${LIBUNBOUNDDIR}/libunbound.a
305
306LIBUCLDIR=	${ROOTOBJDIR}/lib/libucl
307LDUCL?=		${LIBUCLDIR}/libucl.so
308LIBUCL?=	${LIBUCLDIR}/libucl.a
309
310LIBREADLINEDIR=	${ROOTOBJDIR}/gnu/lib/libreadline/readline
311LDREADLINE?=	${LIBREADLINEDIR}/libreadline.a
312LIBREADLINE?=	${LIBREADLINEDIR}/libreadline.a
313
314LIBOHASHDIR=	${ROOTOBJDIR}/lib/libohash
315LDOHASH?=	${LIBOHASHDIR}/libohash.a
316LIBOHASH?=	${LIBOHASHDIR}/libohash.a
317
318LIBSQLITE3DIR=	${ROOTOBJDIR}/lib/libsqlite3
319LDSQLITE3?=	${LIBSQLITE3DIR}/libsqlite3.so
320LIBSQLITE3?=	${LIBSQLITE3DIR}/libsqlite3.a
321
322LIBMANDOCDIR=	${ROOTOBJDIR}/lib/libmandoc
323LIBMANDOC?=	${LIBMANDOCDIR}/libmandoc.a
324
325LIBSMDIR=	${ROOTOBJDIR}/lib/libsm
326LDSM?=		${LIBSMDIR}/libsm.a
327LIBSM?=		${LIBSMDIR}/libsm.a
328
329LIBSMDBDIR=	${ROOTOBJDIR}/lib/libsmdb
330LIBSMDB?=	${LIBSMDBDIR}/libsmdb.a
331
332LIBSMUTILDIR=	${ROOTOBJDIR}/lib/libsmutil
333LIBSMUTIL?=	${LIBSMDBDIR}/libsmutil.a
334
335LIBNETBSDDIR?=	${ROOTOBJDIR}/lib/libnetbsd
336LIBNETBSD?=	${LIBNETBSDDIR}/libnetbsd.a
337
338LIBVERSDIR?=	${ROOTOBJDIR}/kerberos5/lib/libvers
339LIBVERS?=	${LIBVERSDIR}/libvers.a
340
341LIBSLDIR=	${ROOTOBJDIR}/kerberos5/lib/libsl
342LIBSL?=		${LIBSLDIR}/libsl.a
343
344LIBIPFDIR=	${ROOTOBJDIR}/sbin/ipf/libipf
345LIBIPF?=	${LIBIPFDIR}/libipf.a
346
347LIBTELNETDIR=	${ROOTOBJDIR}/lib/libtelnet
348LIBTELNET?=	${LIBIPFDIR}/libtelnet.a
349
350LIBCRONDIR=	${ROOTOBJDIR}/usr.sbin/cron/lib
351LIBCRON?=	${LIBCRONDIR}/libcron.a
352
353LIBNTPDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libntp
354LIBNTP?=	${LIBNTPDIR}/libntp.a
355
356LIBOPTSDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libopts
357LIBOTPS?=	${LIBOPTSDIR}/libopts.a
358
359LIBPARSEDIR=	${ROOTOBJDIR}/usr.sbin/ntp/libparse
360LIBPARSE?=	${LIBOPTSDIR}/libparse.a
361
362LIBLPRDIR=	${ROOTOBJDIR}/usr.sbin/lpr/common_source
363LIBLPR?=	${LIBOPTSDIR}/liblpr.a
364
365LIBFIFOLOGDIR=	${ROOTOBJDIR}/usr.sbin/fifolog/lib
366LIBFIFOLOG?=	${LIBOPTSDIR}/libfifolog.a
367
368LIBBSNMPTOOLSDIR=	${ROOTOBJDIR}/usr.sbin/bsnmpd/tools/libbsnmptools
369LIBBSNMPTOOLS?=	${LIBBSNMPTOOLSDIR}/libbsnmptools.a
370
371LIBAMUDIR=	${ROOTOBJDIR}/usr.sbin/amd/libamu
372LIBAMU?=	${LIBAMUDIR}/libamu/libamu.a
373