]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/src.libnames.mk
Merge from head
[FreeBSD/FreeBSD.git] / share / mk / src.libnames.mk
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}
13 ROOTOBJDIR=     ${.OBJDIR:S,${.CURDIR},,}${SRCTOP}
14 .elif defined(OBJTOP) && ${.OBJDIR:M${OBJTOP}*} != ""
15 ROOTOBJDIR=     ${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                 ohash \
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
246 LDADD_supcplusplus=     -lsupc++
247 LIBATF_C=       ${DESTDIR}${LIBDIR}/libprivateatf-c.a
248 LIBATF_CXX=     ${DESTDIR}${LIBDIR}/libprivateatf-c++.a
249 LDADD_atf_c=    -lprivateatf-c
250 LDADD_atf_cxx=  -lprivateatf-c++
251
252 .for _l in ${_PRIVATELIBS}
253 LIB${_l:tu}?=   ${DESTDIR}${LIBDIR}/libprivate${_l}.a
254 .endfor
255
256 .for _l in ${_LIBRARIES}
257 .if ${_INTERNALLIBS:M${_l}}
258 LDADD_${_l}_L+=         -L${LIB${_l:tu}DIR}
259 .endif
260 DPADD_${_l}?=   ${LIB${_l:tu}}
261 .if ${_PRIVATELIBS:M${_l}}
262 LDADD_${_l}?=   -lprivate${_l}
263 .else
264 LDADD_${_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}}
268 DPADD_${_l}+=   ${DPADD_${_d}}
269 LDADD_${_l}+=   ${LDADD_${_d}}
270 .endfor
271 .endif
272 .endfor
273
274 DPADD_atf_cxx+= ${DPADD_atf_c}
275 LDADD_atf_cxx+= ${LDADD_atf_c}
276
277 DPADD_sqlite3+= ${DPADD_pthread}
278 LDADD_sqlite3+= ${LDADD_pthread}
279
280 DPADD_fifolog+= ${DPADD_z}
281 LDADD_fifolog+= ${LDADD_z}
282
283 DPADD_ipf+=     ${DPADD_kvm}
284 LDADD_ipf+=     ${LDADD_kvm}
285
286 DPADD_mt+=      ${DPADD_sbuf}
287 LDADD_mt+=      ${LDADD_sbuf}
288
289 DPADD_dtrace+=  ${DPADD_ctf} ${DPADD_elf} ${DPADD_proc}
290 LDADD_dtrace+=  ${LDADD_ctf} ${LDADD_elf} ${LDADD_proc}
291
292 # The following depends on libraries which are using pthread
293 DPADD_hdb+=     ${DPADD_pthread}
294 LDADD_hdb+=     ${LDADD_pthread}
295 DPADD_kadm5srv+=        ${DPADD_pthread}
296 LDADD_kadm5srv+=        ${LDADD_pthread}
297 DPADD_krb5+=    ${DPADD_pthread}
298 LDADD_krb5+=    ${LDADD_pthread}
299 DPADD_gssapi_krb5+=     ${DPADD_pthread}
300 LDADD_gssapi_krb5+=     ${LDADD_pthread}
301
302 .for _l in ${LIBADD}
303 DPADD+=         ${DPADD_${_l}:Umissing-dpadd_${_l}}
304 LDADD+=         ${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
311 LIBELFTCDIR=    ${ROOTOBJDIR}/lib/libelftc
312 LIBELFTC?=      ${LIBELFTCDIR}/libelftc.a
313
314 LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
315 LIBREADLINE?=   ${LIBREADLINEDIR}/libreadline.a
316
317 LIBOHASHDIR=    ${ROOTOBJDIR}/lib/libohash
318 LIBOHASH?=      ${LIBOHASHDIR}/libohash.a
319
320 LIBSMDIR=       ${ROOTOBJDIR}/lib/libsm
321 LIBSM?=         ${LIBSMDIR}/libsm.a
322
323 LIBSMDBDIR=     ${ROOTOBJDIR}/lib/libsmdb
324 LIBSMDB?=       ${LIBSMDBDIR}/libsmdb.a
325
326 LIBSMUTILDIR=   ${ROOTOBJDIR}/lib/libsmutil
327 LIBSMUTIL?=     ${LIBSMDBDIR}/libsmutil.a
328
329 LIBNETBSDDIR?=  ${ROOTOBJDIR}/lib/libnetbsd
330 LIBNETBSD?=     ${LIBNETBSDDIR}/libnetbsd.a
331
332 LIBVERSDIR?=    ${ROOTOBJDIR}/kerberos5/lib/libvers
333 LIBVERS?=       ${LIBVERSDIR}/libvers.a
334
335 LIBSLDIR=       ${ROOTOBJDIR}/kerberos5/lib/libsl
336 LIBSL?=         ${LIBSLDIR}/libsl.a
337
338 LIBIPFDIR=      ${ROOTOBJDIR}/sbin/ipf/libipf
339 LIBIPF?=        ${LIBIPFDIR}/libipf.a
340
341 LIBTELNETDIR=   ${ROOTOBJDIR}/lib/libtelnet
342 LIBTELNET?=     ${LIBTELNETDIR}/libtelnet.a
343
344 LIBCRONDIR=     ${ROOTOBJDIR}/usr.sbin/cron/lib
345 LIBCRON?=       ${LIBCRONDIR}/libcron.a
346
347 LIBNTPDIR=      ${ROOTOBJDIR}/usr.sbin/ntp/libntp
348 LIBNTP?=        ${LIBNTPDIR}/libntp.a
349
350 LIBNTPEVENTDIR= ${ROOTOBJDIR}/usr.sbin/ntp/libntpevent
351 LIBNTPEVENT?=   ${LIBNTPEVENTDIR}/libntpevent.a
352
353 LIBOPTSDIR=     ${ROOTOBJDIR}/usr.sbin/ntp/libopts
354 LIBOTPS?=       ${LIBOPTSDIR}/libopts.a
355
356 LIBPARSEDIR=    ${ROOTOBJDIR}/usr.sbin/ntp/libparse
357 LIBPARSE?=      ${LIBPARSEDIR}/libparse.a
358
359 LIBLPRDIR=      ${ROOTOBJDIR}/usr.sbin/lpr/common_source
360 LIBLPR?=        ${LIBOPTSDIR}/liblpr.a
361
362 LIBFIFOLOGDIR=  ${ROOTOBJDIR}/usr.sbin/fifolog/lib
363 LIBFIFOLOG?=    ${LIBOPTSDIR}/libfifolog.a
364
365 LIBBSNMPTOOLSDIR=       ${ROOTOBJDIR}/usr.sbin/bsnmpd/tools/libbsnmptools
366 LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a
367
368 LIBAMUDIR=      ${ROOTOBJDIR}/usr.sbin/amd/libamu
369 LIBAMU?=        ${LIBAMUDIR}/libamu/libamu.a
370