]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/mk/src.libnames.mk
Fix recursive problem with libedit dependency, if you depends on ncursesw and
[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                 event \
28                 mandoc \
29                 netbsd \
30                 ohash \
31                 readline \
32                 sl \
33                 sm \
34                 vers
35
36 _LIBRARIES=     \
37                 ${_PRIVATELIBS} \
38                 ${_INTERNALIBS} \
39                 alias \
40                 archive \
41                 asn1 \
42                 bsdxml \
43                 bsnmp \
44                 bz2 \
45                 cam \
46                 capsicum \
47                 casper \
48                 com_err \
49                 compiler_rt \
50                 crypt \
51                 crypto \
52                 ctf \
53                 cuse \
54                 cxxrt \
55                 devstat \
56                 dialog \
57                 dpv \
58                 dwarf \
59                 edit \
60                 elf \
61                 execinfo \
62                 fetch \
63                 figpar \
64                 geom \
65                 gssapi \
66                 hdb \
67                 heimbase \
68                 heimntlm \
69                 heimsqlite \
70                 hx509 \
71                 ipsec \
72                 jail \
73                 kadm5clnt \
74                 kadm5srv \
75                 kafs5 \
76                 kdc \
77                 kiconv \
78                 krb5 \
79                 kvm \
80                 krb5 \
81                 l \
82                 lzma \
83                 m \
84                 magic \
85                 mandoc \
86                 md \
87                 memstat \
88                 mp \
89                 nandfs \
90                 ncursesw \
91                 nv \
92                 opie \
93                 pam \
94                 pcap \
95                 pjdlog \
96                 proc \
97                 procstat \
98                 pthread \
99                 radius \
100                 readline \
101                 roken \
102                 rpcsec_gss \
103                 rt \
104                 sbuf \
105                 sm \
106                 smb \
107                 ssl \
108                 stdthreads \
109                 supcplusplus \
110                 ssp_nonshared \
111                 tacplus \
112                 termcapw \
113                 ufs \
114                 ulog \
115                 usb \
116                 util \
117                 wind \
118                 wrap \
119                 xo \
120                 y \
121                 ypclnt \
122                 z
123
124 _DP_archive=    z bz2 lzma bsdxml
125 .if ${MK_OPENSSL} != "no"
126 _DP_archive+=   crypto
127 .else
128 _DP_archive+=   md
129 .endif
130 _DP_ssl=        crypto
131 _DP_ssh=        crypto crypt
132 _DP_edit=       ncursesw
133 .if ${MK_OPENSSL} != "no"
134 _DP_bsnmp=      crypto
135 .endif
136 _DP_grom=       bsdxml sbuf
137 _DP_cam=        sbuf
138 _DP_casper=     capsicum nv pjdlog
139 _DP_capsicum=   nv
140 _DP_pjdlog=     util
141 _DP_opie=       md
142 _DP_usb=        pthread
143 _DP_unbound=    pthread
144 _DP_rt= pthread
145 .if ${MK_OPENSSL} == "no"
146 _DP_radius=     md
147 .else
148 _DP_radius=     crypto
149 .endif
150 _DP_procstat=   kvm util elf
151 .if ${MK_CXX} == "yes"
152 .if ${MK_LIBCPLUSPLUS} != "no"
153 _DP_proc=       cxxrt
154 .else
155 _DP_proc=       supcplusplus
156 .endif
157 .endif
158 .if ${MK_CDDL} != "no"
159 _DP_proc+=      ctf
160 .endif
161 _DP_mp= crypto
162 _DP_memstat=    kvm
163 _DP_magic=      z
164 _DP_ldns=       crypto
165 .if ${MK_OPENSSL} != "no"
166 _DP_fetch=      ssl crypto
167 .else
168 _DP_fetch=      md
169 .endif
170 _DP_execinfo=   elf
171 _DP_dwarf=      elf
172 _DP_dpv=        dialog figpar util
173 _DP_dialog=     ncursesw m
174 _DP_cuse=       pthread
175 _DP_atf_cxx=    atf_c
176 _DP_devstat=    kvm
177
178 # Define spacial cases
179 LDADD_supcplusplus=     -lsupc++
180 LDADD_atf_c=    -L${LIBATF_CDIR} -latf-c
181 LDADD_atf_cxx=  -L${LIBATF_CXXDIR} -latf-c++
182
183 .for _l in ${_LIBRARIES}
184 .if ${_PRIVATELIBS:M${_l}}
185 LDADD_${_l}_L+=         -L${LIB${_l:tu}DIR}
186 .endif
187 .if ${_INTERNALIBS:M${_l}}
188 LDADD_${_l}_L+=         -L${LIB${_l:tu}DIR}
189 .endif
190 DPADD_${_l}?=   ${LIB${_l:tu}}
191 LDADD_${_l}?=   ${LDADD_${_l}_L} -l${_l}
192 .if defined(_DP_${_l}) && defined(NO_SHARED)
193 .for _d in ${_DP_${_l}}
194 DPADD_${_l}+=   ${DPADD_${_d}}
195 LDADD_${_l}+=   ${LDADD_${_d}}
196 .endfor
197 .endif
198 .endfor
199
200 # ucl needs and exposes libm
201 DPADD_ucl+=     ${DPADD_m}
202 LDADD_ucl+=     ${LDADD_m}
203
204 DPADD_sqlite3+= ${DPADD_pthread}
205 LDADD_sqlite3+= ${LDADD_pthread}
206
207 DPADD_atf_cxx+= ${DPADD_atf_c}
208 LDADD_atf_cxx+= ${LDADD_atf_c}
209
210 # The following depends on libraries which are using pthread
211 DPADD_hdb+=     ${DPADD_pthread}
212 LDADD_hdb+=     ${LDADD_pthread}
213 DPADD_kadm5srv+=        ${DPADD_pthread}
214 LDADD_kadm5srv+=        ${LDADD_pthread}
215
216 .for _l in ${LIBADD}
217 .if ${_PRIVATELIBS:M${_l}}
218 USEPRIVATELIB+= ${_l}
219 .endif
220 DPADD+=         ${DPADD_${_l}}
221 LDADD+=         ${LDADD_${_l}}
222 .endfor
223
224 .if defined(USEPRIVATELIB)
225 LDFLAGS+=       -rpath ${LIBPRIVATEDIR}
226 .endif
227
228 LIBATF_CDIR=    ${ROOTOBJDIR}/lib/atf/libatf-c
229 LDATF_C?=       ${LIBATF_CDIR}/libatf-c.so
230 LIBATF_C?=      ${LIBATF_CDIR}/libatf-c.a
231
232 LIBATF_CXXDIR=  ${ROOTOBJDIR}/lib/atf/libatf-c++
233 LDATF_CXX?=     ${LIBATF_CXXDIR}/libatf-c++.so
234 LIBATF_CXX?=    ${LIBATF_CXXDIR}/libatf-c++.a
235
236 LIBBSDSTATDIR=  ${ROOTOBJDIR}/lib/libbsdstat
237 LDBSDSTAT?=     ${LIBBSDSTATDIR}/libbsdstat.so
238 LIBBSDSTAT?=    ${LIBBSDSTATDIR}/libbsdstat.a
239
240 LIBEVENTDIR=    ${ROOTOBJDIR}/lib/libevent
241 LDEVENT?=       ${LIBEVENTDIR}/libevent.a
242 LIBEVENT?=      ${LIBEVENTDIR}/libevent.a
243
244 LIBHEIMIPCCDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcc
245 LDHEIMIPCC?=    ${LIBHEIMIPCCDIR}/libheimipcc.so
246 LIBHEIMIPCC?=   ${LIBHEIMIPCCDIR}/libheimipcc.a
247
248 LIBHEIMIPCSDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcs
249 LDHEIMIPCS?=    ${LIBHEIMIPCSDIR}/libheimipcs.so
250 LIBHEIMIPCS?=   ${LIBHEIMIPCSDIR}/libheimipcs.a
251
252 LIBLDNSDIR=     ${ROOTOBJDIR}/lib/libldns
253 LDLDNS?=        ${LIBLDNSDIR}/libldns.so
254 LIBLDNS?=       ${LIBLDNSDIR}/libldns.a
255
256 LIBSSHDIR=      ${ROOTOBJDIR}/secure/lib/libssh
257 LDSSH?=         ${LIBSSHDIR}/libssh.so
258 LIBSSH?=        ${LIBSSHDIR}/libssh.a
259
260 LIBUNBOUNDDIR=  ${ROOTOBJDIR}/lib/libunbound
261 LDUNBOUND?=     ${LIBUNBOUNDDIR}/libunbound.so
262 LIBUNBOUND?=    ${LIBUNBOUNDDIR}/libunbound.a
263
264 LIBUCLDIR=      ${ROOTOBJDIR}/lib/libucl
265 LDUCL?=         ${LIBUCLDIR}/libucl.so
266 LIBUCL?=        ${LIBUCLDIR}/libucl.a
267
268 LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
269 LDREADLINE?=    ${LIBREADLINEDIR}/libreadline.a
270 LIBREADLINE?=   ${LIBREADLINEDIR}/libreadline.a
271
272 LIBOHASHDIR=    ${ROOTOBJDIR}/lib/libohash
273 LDOHASH?=       ${LIBOHASHDIR}/libohash.a
274 LIBOHASH?=      ${LIBOHASHDIR}/libohash.a
275
276 LIBSQLITE3DIR=  ${ROOTOBJDIR}/lib/libsqlite3
277 LDSQLITE3?=     ${LIBSQLITE3DIR}/libsqlite3.so
278 LIBSQLITE3?=    ${LIBSQLITE3DIR}/libsqlite3.a
279
280 LIBMANDOCDIR=   ${ROOTOBJDIR}/lib/libmandoc
281 LIBMANDOC?=     ${LIBMANDOCDIR}/libmandoc.a
282
283 LIBSMDIR=       ${ROOTOBJDIR}/lib/libsm
284 LDSM?=          ${LIBSMDIR}/libsm.a
285 LIBSM?=         ${LIBSMDIR}/libsm.a
286
287 LIBNETBSDDIR?=  ${ROOTOBJDIR}/lib/libnetbsd
288 LIBNETBSD?=     ${LIBNETBSDDIR}/libnetbsd.a
289
290 LIBVERSDIR?=    ${ROOTOBJDIR}/kerberos5/lib/libvers
291 LIBVERS?=       ${LIBVERSDIR}/libvers.a
292
293 LIBSLDIR=       ${ROOTOBJDIR}/kerberos5/lib/libsl
294 LIBSL?=         ${LIBSLDIR}/libsl.a