2 # The include file <bsd.libnames.mk> define library names.
3 # Other include files (e.g. bsd.prog.mk, bsd.lib.mk) include this
4 # file where necessary.
6 .if !target(__<bsd.init.mk>__)
7 .error bsd.libnames.mk cannot be included directly.
10 LIBDESTDIR?= ${SYSROOT:U${DESTDIR}}
12 .sinclude <src.libnames.mk>
14 # Src directory locations are also defined in src.libnames.mk.
16 LIBCRT0?= ${LIBDESTDIR}${LIBDIR_BASE}/crt0.o
18 LIB80211?= ${LIBDESTDIR}${LIBDIR_BASE}/lib80211.a
19 LIB9P?= ${LIBDESTDIR}${LIBDIR_BASE}/lib9p.a
20 LIBALIAS?= ${LIBDESTDIR}${LIBDIR_BASE}/libalias.a
21 LIBARCHIVE?= ${LIBDESTDIR}${LIBDIR_BASE}/libarchive.a
22 LIBASN1?= ${LIBDESTDIR}${LIBDIR_BASE}/libasn1.a
23 LIBATM?= ${LIBDESTDIR}${LIBDIR_BASE}/libatm.a
24 LIBAUDITD?= ${LIBDESTDIR}${LIBDIR_BASE}/libauditd.a
25 LIBAVL?= ${LIBDESTDIR}${LIBDIR_BASE}/libavl.a
26 LIBBE?= ${LIBDESTDIR}${LIBDIR_BASE}/libbe.a
27 LIBBEGEMOT?= ${LIBDESTDIR}${LIBDIR_BASE}/libbegemot.a
28 LIBBLACKLIST?= ${LIBDESTDIR}${LIBDIR_BASE}/libblacklist.a
29 LIBBLOCKSRUNTIME?= ${LIBDESTDIR}${LIBDIR_BASE}/libBlocksRuntime.a
30 LIBBLUETOOTH?= ${LIBDESTDIR}${LIBDIR_BASE}/libbluetooth.a
31 LIBBSDXML?= ${LIBDESTDIR}${LIBDIR_BASE}/libbsdxml.a
32 LIBBSM?= ${LIBDESTDIR}${LIBDIR_BASE}/libbsm.a
33 LIBBSNMP?= ${LIBDESTDIR}${LIBDIR_BASE}/libbsnmp.a
34 LIBBZ2?= ${LIBDESTDIR}${LIBDIR_BASE}/libbz2.a
35 LIBC?= ${LIBDESTDIR}${LIBDIR_BASE}/libc.a
36 LIBCALENDAR?= ${LIBDESTDIR}${LIBDIR_BASE}/libcalendar.a
37 LIBCAM?= ${LIBDESTDIR}${LIBDIR_BASE}/libcam.a
38 LIBCOMPAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libcompat.a
39 LIBCOMPILER_RT?=${LIBDESTDIR}${LIBDIR_BASE}/libcompiler_rt.a
40 LIBCOM_ERR?= ${LIBDESTDIR}${LIBDIR_BASE}/libcom_err.a
41 LIBCPLUSPLUS?= ${LIBDESTDIR}${LIBDIR_BASE}/libc++.a
42 LIBCRYPT?= ${LIBDESTDIR}${LIBDIR_BASE}/libcrypt.a
43 LIBCRYPTO?= ${LIBDESTDIR}${LIBDIR_BASE}/libcrypto.a
44 LIBCTF?= ${LIBDESTDIR}${LIBDIR_BASE}/libctf.a
45 LIBCURSES?= ${LIBDESTDIR}${LIBDIR_BASE}/libcurses.a
46 LIBCUSE?= ${LIBDESTDIR}${LIBDIR_BASE}/libcuse.a
47 LIBCXGB4?= ${LIBDESTDIR}${LIBDIR_BASE}/libcxgb4.a
48 LIBCXXRT?= ${LIBDESTDIR}${LIBDIR_BASE}/libcxxrt.a
49 LIBC_PIC?= ${LIBDESTDIR}${LIBDIR_BASE}/libc_pic.a
50 LIBDEVCTL?= ${LIBDESTDIR}${LIBDIR_BASE}/libdevctl.a
51 LIBDEVDCTL?= ${LIBDESTDIR}${LIBDIR_BASE}/libdevdctl.a
52 LIBDEVINFO?= ${LIBDESTDIR}${LIBDIR_BASE}/libdevinfo.a
53 LIBDEVSTAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libdevstat.a
54 LIBDIALOG?= ${LIBDESTDIR}${LIBDIR_BASE}/libdialog.a
55 LIBDL?= ${LIBDESTDIR}${LIBDIR_BASE}/libdl.a
56 LIBDNS?= ${LIBDESTDIR}${LIBDIR_BASE}/libdns.a
57 LIBDPV?= ${LIBDESTDIR}${LIBDIR_BASE}/libdpv.a
58 LIBDTRACE?= ${LIBDESTDIR}${LIBDIR_BASE}/libdtrace.a
59 LIBDWARF?= ${LIBDESTDIR}${LIBDIR_BASE}/libdwarf.a
60 LIBEDIT?= ${LIBDESTDIR}${LIBDIR_BASE}/libedit.a
61 LIBEFIVAR?= ${LIBDESTDIR}${LIBDIR_BASE}/libefivar.a
62 LIBELF?= ${LIBDESTDIR}${LIBDIR_BASE}/libelf.a
63 LIBEXECINFO?= ${LIBDESTDIR}${LIBDIR_BASE}/libexecinfo.a
64 LIBFETCH?= ${LIBDESTDIR}${LIBDIR_BASE}/libfetch.a
65 LIBFIGPAR?= ${LIBDESTDIR}${LIBDIR_BASE}/libfigpar.a
66 LIBFL?= "don't use LIBFL, use LIBL"
67 LIBFORMW?= ${LIBDESTDIR}${LIBDIR_BASE}/libformw.a
68 LIBG2C?= ${LIBDESTDIR}${LIBDIR_BASE}/libg2c.a
69 LIBGEOM?= ${LIBDESTDIR}${LIBDIR_BASE}/libgeom.a
70 LIBGPIO?= ${LIBDESTDIR}${LIBDIR_BASE}/libgpio.a
71 LIBGSSAPI?= ${LIBDESTDIR}${LIBDIR_BASE}/libgssapi.a
72 LIBGSSAPI_KRB5?= ${LIBDESTDIR}${LIBDIR_BASE}/libgssapi_krb5.a
73 LIBHDB?= ${LIBDESTDIR}${LIBDIR_BASE}/libhdb.a
74 LIBHEIMBASE?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimbase.a
75 LIBHEIMNTLM?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimntlm.a
76 LIBHEIMSQLITE?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimsqlite.a
77 LIBHX509?= ${LIBDESTDIR}${LIBDIR_BASE}/libhx509.a
78 LIBIBCM?= ${LIBDESTDIR}${LIBDIR_BASE}/libibcm.a
79 LIBIBMAD?= ${LIBDESTDIR}${LIBDIR_BASE}/libibmad.a
80 LIBIBNETDISC?= ${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.a
81 LIBIBUMAD?= ${LIBDESTDIR}${LIBDIR_BASE}/libibumad.a
82 LIBIBVERBS?= ${LIBDESTDIR}${LIBDIR_BASE}/libibverbs.a
83 LIBICP?= ${LIBDESTDIR}${LIBDIR_BASE}/libicp.a
84 LIBIPSEC?= ${LIBDESTDIR}${LIBDIR_BASE}/libipsec.a
85 LIBIPT?= ${LIBDESTDIR}${LIBDIR_BASE}/libipt.a
86 LIBIRDMA?= ${LIBDESTDIR}${LIBDIR_BASE}/libirdma.a
87 LIBISCSIUTIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libiscsiutil.a
88 LIBJAIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libjail.a
89 LIBKADM5CLNT?= ${LIBDESTDIR}${LIBDIR_BASE}/libkadm5clnt.a
90 LIBKADM5SRV?= ${LIBDESTDIR}${LIBDIR_BASE}/libkadm5srv.a
91 LIBKAFS5?= ${LIBDESTDIR}${LIBDIR_BASE}/libkafs5.a
92 LIBKDC?= ${LIBDESTDIR}${LIBDIR_BASE}/libkdc.a
93 LIBKEYCAP?= ${LIBDESTDIR}${LIBDIR_BASE}/libkeycap.a
94 LIBKICONV?= ${LIBDESTDIR}${LIBDIR_BASE}/libkiconv.a
95 LIBKRB5?= ${LIBDESTDIR}${LIBDIR_BASE}/libkrb5.a
96 LIBKVM?= ${LIBDESTDIR}${LIBDIR_BASE}/libkvm.a
97 LIBL?= ${LIBDESTDIR}${LIBDIR_BASE}/libl.a
98 LIBLN?= "don't use LIBLN, use LIBL"
99 LIBLZMA?= ${LIBDESTDIR}${LIBDIR_BASE}/liblzma.a
100 LIBM?= ${LIBDESTDIR}${LIBDIR_BASE}/libm.a
101 LIBMAGIC?= ${LIBDESTDIR}${LIBDIR_BASE}/libmagic.a
102 LIBMD?= ${LIBDESTDIR}${LIBDIR_BASE}/libmd.a
103 LIBMEMSTAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libmemstat.a
104 LIBMENU?= ${LIBDESTDIR}${LIBDIR_BASE}/libmenu.a
105 LIBMILTER?= ${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a
106 LIBMLX4?= ${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a
107 LIBMLX5?= ${LIBDESTDIR}${LIBDIR_BASE}/libmlx5.a
108 LIBMP?= ${LIBDESTDIR}${LIBDIR_BASE}/libmp.a
109 LIBMT?= ${LIBDESTDIR}${LIBDIR_BASE}/libmt.a
110 LIBNCURSES?= ${LIBDESTDIR}${LIBDIR_BASE}/libncurses.a
111 LIBNCURSESW?= ${LIBDESTDIR}${LIBDIR_BASE}/libncursesw.a
112 LIBNETGRAPH?= ${LIBDESTDIR}${LIBDIR_BASE}/libnetgraph.a
113 LIBNETMAP?= ${LIBDESTDIR}${LIBDIR_BASE}/libnetmap.a
114 LIBNGATM?= ${LIBDESTDIR}${LIBDIR_BASE}/libngatm.a
115 LIBNV?= ${LIBDESTDIR}${LIBDIR_BASE}/libnv.a
116 LIBNVPAIR?= ${LIBDESTDIR}${LIBDIR_BASE}/libnvpair.a
117 LIBOPENCSD?= ${LIBDESTDIR}${LIBDIR_BASE}/libopencsd.a
118 LIBOPENSM?= ${LIBDESTDIR}${LIBDIR_BASE}/libopensm.a
119 LIBOSMCOMP?= ${LIBDESTDIR}${LIBDIR_BASE}/libosmcomp.a
120 LIBOSMVENDOR?= ${LIBDESTDIR}${LIBDIR_BASE}/libosmvendor.a
121 LIBPAM?= ${LIBDESTDIR}${LIBDIR_BASE}/libpam.a
122 LIBPANEL?= ${LIBDESTDIR}${LIBDIR_BASE}/libpanel.a
123 LIBPANELW?= ${LIBDESTDIR}${LIBDIR_BASE}/libpanelw.a
124 LIBPCAP?= ${LIBDESTDIR}${LIBDIR_BASE}/libpcap.a
125 LIBPJDLOG?= ${LIBDESTDIR}${LIBDIR_BASE}/libpjdlog.a
126 LIBPMC?= ${LIBDESTDIR}${LIBDIR_BASE}/libpmc.a
127 LIBPROC?= ${LIBDESTDIR}${LIBDIR_BASE}/libproc.a
128 LIBPROCSTAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libprocstat.a
129 LIBPTHREAD?= ${LIBDESTDIR}${LIBDIR_BASE}/libpthread.a
130 LIBRADIUS?= ${LIBDESTDIR}${LIBDIR_BASE}/libradius.a
131 LIBRDMACM?= ${LIBDESTDIR}${LIBDIR_BASE}/librdmacm.a
132 LIBREGEX?= ${LIBDESTDIR}${LIBDIR_BASE}/libregex.a
133 LIBROKEN?= ${LIBDESTDIR}${LIBDIR_BASE}/libroken.a
134 LIBRPCSEC_GSS?= ${LIBDESTDIR}${LIBDIR_BASE}/librpcsec_gss.a
135 LIBRPCSVC?= ${LIBDESTDIR}${LIBDIR_BASE}/librpcsvc.a
136 LIBRT?= ${LIBDESTDIR}${LIBDIR_BASE}/librt.a
137 LIBRTLD_DB?= ${LIBDESTDIR}${LIBDIR_BASE}/librtld_db.a
138 LIBSBUF?= ${LIBDESTDIR}${LIBDIR_BASE}/libsbuf.a
139 LIBSDP?= ${LIBDESTDIR}${LIBDIR_BASE}/libsdp.a
140 LIBSMB?= ${LIBDESTDIR}${LIBDIR_BASE}/libsmb.a
141 LIBSPL?= ${LIBDESTDIR}${LIBDIR_BASE}/libspl.a
142 LIBSSL?= ${LIBDESTDIR}${LIBDIR_BASE}/libssl.a
143 LIBSSP_NONSHARED?= ${LIBDESTDIR}${LIBDIR_BASE}/libssp_nonshared.a
144 LIBSTATS?= ${LIBDESTDIR}${LIBDIR_BASE}/libstats.a
145 LIBSTDTHREADS?= ${LIBDESTDIR}${LIBDIR_BASE}/libstdthreads.a
146 LIBSYSDECODE?= ${LIBDESTDIR}${LIBDIR_BASE}/libsysdecode.a
147 LIBTACPLUS?= ${LIBDESTDIR}${LIBDIR_BASE}/libtacplus.a
148 LIBTERMCAP?= ${LIBDESTDIR}${LIBDIR_BASE}/libtermcap.a
149 LIBTERMCAPW?= ${LIBDESTDIR}${LIBDIR_BASE}/libtermcapw.a
150 LIBTERMLIB?= "don't use LIBTERMLIB, use LIBTERMCAP"
151 LIBTINFOW= ${LIBDESTDIR}${LIBDIR_BASE}/libtinfow.a
152 LIBTPOOL?= ${LIBDESTDIR}${LIBDIR_BASE}/libtpool.a
153 LIBUFS?= ${LIBDESTDIR}${LIBDIR_BASE}/libufs.a
154 LIBUGIDFW?= ${LIBDESTDIR}${LIBDIR_BASE}/libugidfw.a
155 LIBULOG?= ${LIBDESTDIR}${LIBDIR_BASE}/libulog.a
156 LIBUMEM?= ${LIBDESTDIR}${LIBDIR_BASE}/libumem.a
157 LIBUSB?= ${LIBDESTDIR}${LIBDIR_BASE}/libusb.a
158 LIBUSBHID?= ${LIBDESTDIR}${LIBDIR_BASE}/libusbhid.a
159 LIBUTIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libutil.a
160 LIBUUTIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libuutil.a
161 LIBVGL?= ${LIBDESTDIR}${LIBDIR_BASE}/libvgl.a
162 LIBVMMAPI?= ${LIBDESTDIR}${LIBDIR_BASE}/libvmmapi.a
163 LIBWIND?= ${LIBDESTDIR}${LIBDIR_BASE}/libwind.a
164 LIBWRAP?= ${LIBDESTDIR}${LIBDIR_BASE}/libwrap.a
165 LIBXO?= ${LIBDESTDIR}${LIBDIR_BASE}/libxo.a
166 LIBXPG4?= ${LIBDESTDIR}${LIBDIR_BASE}/libxpg4.a
167 LIBY?= ${LIBDESTDIR}${LIBDIR_BASE}/liby.a
168 LIBYPCLNT?= ${LIBDESTDIR}${LIBDIR_BASE}/libypclnt.a
169 LIBZ?= ${LIBDESTDIR}${LIBDIR_BASE}/libz.a
170 LIBZDB?= ${LIBDESTDIR}${LIBDIR_BASE}/libzdb.a
171 LIBZFS?= ${LIBDESTDIR}${LIBDIR_BASE}/libzfs.a
172 LIBZFS_CORE?= ${LIBDESTDIR}${LIBDIR_BASE}/libzfs_core.a
173 LIBZFSBOOTENV?= ${LIBDESTDIR}${LIBDIR_BASE}/libzfsbootenv.a
174 LIBZPOOL?= ${LIBDESTDIR}${LIBDIR_BASE}/libzpool.a
175 LIBZUTIL?= ${LIBDESTDIR}${LIBDIR_BASE}/libzutil.a
177 # enforce the 2 -lpthread and -lc to always be the last in that exact order
179 .if ${LDADD:M-lpthread}
180 LDADD:= ${LDADD:N-lpthread} -lpthread
183 LDADD:= ${LDADD:N-lc} -lc
187 # Only do this for src builds.
189 .if defined(_LIBRARIES) && defined(LIB) && \
190 ${_LIBRARIES:M${LIB}} != ""
191 .if !defined(LIB${LIB:tu})
192 .error ${.CURDIR}: Missing value for LIB${LIB:tu} in ${_this:T}. Likely should be: LIB${LIB:tu}?= $${LIBDESTDIR}$${LIBDIR_BASE}/lib${LIB}.a
196 # Derive LIB*SRCDIR from LIB*DIR
197 .for lib in ${_LIBRARIES}
198 LIB${lib:tu}SRCDIR?= ${SRCTOP}/${LIB${lib:tu}DIR:S,^${OBJTOP}/,,}
204 # There are LIBADD defined in an out-of-tree build. Are they *all*
205 # in-tree libraries? If so convert them to LDADD to support
210 .if empty(LIB${l:tu})
214 .if ${_convert_libadd} == 1
215 .warning Converting out-of-tree build LIBADDs into LDADD. This is not fully supported.
222 .endif # defined(SRCTOP)