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