1d029c3aaSBaptiste Daroussin# 2d029c3aaSBaptiste Daroussin# The include file <src.libnames.mk> define library names suitable 3d029c3aaSBaptiste Daroussin# for INTERNALLIB and PRIVATELIB definition 4d029c3aaSBaptiste Daroussin 5d029c3aaSBaptiste Daroussin.if !target(__<bsd.init.mk>__) 6d029c3aaSBaptiste Daroussin.error src.libnames.mk cannot be included directly. 7d029c3aaSBaptiste Daroussin.endif 8d029c3aaSBaptiste Daroussin 94aa63711SBryan Drewery.if !target(__<src.libnames.mk>__) 104aa63711SBryan Drewery__<src.libnames.mk>__: 114aa63711SBryan Drewery 1285e4c389SBaptiste Daroussin.include <src.opts.mk> 1385e4c389SBaptiste Daroussin 1485e4c389SBaptiste Daroussin_PRIVATELIBS= \ 1585e4c389SBaptiste Daroussin atf_c \ 1685e4c389SBaptiste Daroussin atf_cxx \ 1772a600a7SAlan Somers auditd \ 1837d0601fSBaptiste Daroussin bsddialog \ 1985e4c389SBaptiste Daroussin bsdstat \ 202e85df65SEd Maste cbor \ 217a0c41d5SAlan Somers devdctl \ 22c5ea81f7SEd Maste event1 \ 237b1e19adSEd Maste fido2 \ 24f3c5273dSEnji Cooper gmock \ 25f3c5273dSEnji Cooper gtest \ 26f3c5273dSEnji Cooper gmock_main \ 27f3c5273dSEnji Cooper gtest_main \ 2891bac0a9SBaptiste Daroussin heimipcc \ 29882e68f6SBaptiste Daroussin heimipcs \ 30968bcca2SKa Ho Ng kldelf \ 3185e4c389SBaptiste Daroussin ldns \ 3285e4c389SBaptiste Daroussin sqlite3 \ 3385e4c389SBaptiste Daroussin ssh \ 3485e4c389SBaptiste Daroussin ucl \ 35e2290905SBaptiste Daroussin unbound \ 36e2290905SBaptiste Daroussin zstd 37873ad7fbSBaptiste Daroussin 38d7f944a0SEric van Gyzen# Let projects based on FreeBSD append to _PRIVATELIBS 39d7f944a0SEric van Gyzen# by maintaining their own LOCAL_PRIVATELIBS list. 40d7f944a0SEric van Gyzen_PRIVATELIBS+= ${LOCAL_PRIVATELIBS} 41d7f944a0SEric van Gyzen 425abe80cfSBryan Drewery_INTERNALLIBS= \ 4329a8bda7SBaptiste Daroussin amu \ 4429a8bda7SBaptiste Daroussin bsnmptools \ 45db08bfceSKonstantin Belousov c_nossp_pic \ 4629a8bda7SBaptiste Daroussin cron \ 47f59bb61eSKyle Evans der \ 48d9a9f23dSDag-Erling Smørgrav diff \ 4931942939SEd Maste elftc \ 50f29af861SMark Johnston fdt \ 5129a8bda7SBaptiste Daroussin fifolog \ 52e1157dceSEd Maste ifconfig \ 53cc0d90a7SBaptiste Daroussin ipf \ 5463783933SJohn Baldwin iscsiutil \ 5529a8bda7SBaptiste Daroussin lpr \ 56564b9ff2SBrooks Davis lua \ 57c697fb7fSBrooks Davis lutok \ 582df4d962SBaptiste Daroussin netbsd \ 5929a8bda7SBaptiste Daroussin ntp \ 602b15cb3dSCy Schubert ntpevent \ 612da066efSJohn Baldwin nvmf \ 62a36eca08SCraig Rodrigues openbsd \ 6329a8bda7SBaptiste Daroussin opts \ 6429a8bda7SBaptiste Daroussin parse \ 65c1da2974SEd Maste pe \ 660d71f9f3SKristof Provost pfctl \ 67*05427f46SKyle Evans pkgecc \ 68d27927f7SRuslan Bukin pmcstat \ 6985abe784SBaptiste Daroussin sl \ 7085abe784SBaptiste Daroussin sm \ 7130fca3b0SBaptiste Daroussin smdb \ 7230fca3b0SBaptiste Daroussin smutil \ 7330fca3b0SBaptiste Daroussin telnet \ 7425ecdc7dSCy Schubert vers \ 7525ecdc7dSCy Schubert wpaap \ 7625ecdc7dSCy Schubert wpacommon \ 7725ecdc7dSCy Schubert wpacrypto \ 7825ecdc7dSCy Schubert wpadrivers \ 7925ecdc7dSCy Schubert wpaeap_common \ 8025ecdc7dSCy Schubert wpaeap_peer \ 8125ecdc7dSCy Schubert wpaeap_server \ 8225ecdc7dSCy Schubert wpaeapol_auth \ 8325ecdc7dSCy Schubert wpaeapol_supp \ 8425ecdc7dSCy Schubert wpal2_packet \ 85a90b9d01SCy Schubert wpapasn \ 8625ecdc7dSCy Schubert wparadius \ 8725ecdc7dSCy Schubert wparsn_supp \ 8825ecdc7dSCy Schubert wpatls \ 8925ecdc7dSCy Schubert wpautils \ 9025ecdc7dSCy Schubert wpawps 9185e4c389SBaptiste Daroussin 92d7f944a0SEric van Gyzen# Let projects based on FreeBSD append to _INTERNALLIBS 93d7f944a0SEric van Gyzen# by maintaining their own LOCAL_INTERNALLIBS list. 94d7f944a0SEric van Gyzen_INTERNALLIBS+= ${LOCAL_INTERNALLIBS} 95d7f944a0SEric van Gyzen 9685e4c389SBaptiste Daroussin_LIBRARIES= \ 97873ad7fbSBaptiste Daroussin ${_PRIVATELIBS} \ 985abe80cfSBryan Drewery ${_INTERNALLIBS} \ 99f3dd2bc7SBryan Drewery ${LOCAL_LIBRARIES} \ 1005c15e5d0SAdrian Chadd 80211 \ 101100353cfSJakub Wojciech Klama 9p \ 102882e68f6SBaptiste Daroussin alias \ 10385e4c389SBaptiste Daroussin archive \ 10491bac0a9SBaptiste Daroussin asn1 \ 1057be46fbdSBaptiste Daroussin avl \ 106c65e42dbSXin LI BlocksRuntime \ 10728f16a0fSKyle Evans be \ 10830fca3b0SBaptiste Daroussin begemot \ 10930fca3b0SBaptiste Daroussin bluetooth \ 11085e4c389SBaptiste Daroussin bsdxml \ 11130fca3b0SBaptiste Daroussin bsm \ 11292fc4f55SBaptiste Daroussin bsnmp \ 11385e4c389SBaptiste Daroussin bz2 \ 1148794b8a7SBaptiste Daroussin c \ 1158794b8a7SBaptiste Daroussin c_pic \ 11630fca3b0SBaptiste Daroussin calendar \ 11785e4c389SBaptiste Daroussin cam \ 11885e4c389SBaptiste Daroussin casper \ 119c501d73cSMariusz Zaborski cap_dns \ 120cdd6ea94SMariusz Zaborski cap_fileargs \ 121c501d73cSMariusz Zaborski cap_grp \ 122832dc76bSMariusz Zaborski cap_net \ 12394dc5715SRyan Moeller cap_netdb \ 124c501d73cSMariusz Zaborski cap_pwd \ 125c501d73cSMariusz Zaborski cap_sysctl \ 1267b4fce76SMariusz Zaborski cap_syslog \ 12791bac0a9SBaptiste Daroussin com_err \ 128d98c8ac0SBaptiste Daroussin compiler_rt \ 12985e4c389SBaptiste Daroussin crypt \ 13085e4c389SBaptiste Daroussin crypto \ 131d98c8ac0SBaptiste Daroussin ctf \ 13285e4c389SBaptiste Daroussin cuse \ 13385e4c389SBaptiste Daroussin cxxrt \ 13464de8019SJohn Baldwin devctl \ 1357a0c41d5SAlan Somers devdctl \ 13629a8bda7SBaptiste Daroussin devinfo \ 13785e4c389SBaptiste Daroussin devstat \ 13885e4c389SBaptiste Daroussin dialog \ 13999ac8154SKonstantin Belousov dl \ 14085e4c389SBaptiste Daroussin dpv \ 141d612f139SBaptiste Daroussin dtrace \ 14285e4c389SBaptiste Daroussin dwarf \ 14385e4c389SBaptiste Daroussin edit \ 144d49a5dddSWarner Losh efivar \ 14585e4c389SBaptiste Daroussin elf \ 14685e4c389SBaptiste Daroussin execinfo \ 14785e4c389SBaptiste Daroussin fetch \ 14885e4c389SBaptiste Daroussin figpar \ 149a46722b5SBaptiste Daroussin formw \ 15085e4c389SBaptiste Daroussin geom \ 1512a113662SRui Paulo gpio \ 15285e4c389SBaptiste Daroussin gssapi \ 1538794b8a7SBaptiste Daroussin gssapi_krb5 \ 154882e68f6SBaptiste Daroussin hdb \ 15591bac0a9SBaptiste Daroussin heimbase \ 156882e68f6SBaptiste Daroussin heimntlm \ 157882e68f6SBaptiste Daroussin heimsqlite \ 15891bac0a9SBaptiste Daroussin hx509 \ 1599e5787d2SMatt Macy icp \ 16085e4c389SBaptiste Daroussin ipsec \ 16130b3274fSRuslan Bukin ipt \ 16285e4c389SBaptiste Daroussin jail \ 163882e68f6SBaptiste Daroussin kadm5clnt \ 164882e68f6SBaptiste Daroussin kadm5srv \ 165882e68f6SBaptiste Daroussin kafs5 \ 166882e68f6SBaptiste Daroussin kdc \ 16785e4c389SBaptiste Daroussin kiconv \ 16891bac0a9SBaptiste Daroussin krb5 \ 16992fc4f55SBaptiste Daroussin kvm \ 17085e4c389SBaptiste Daroussin l \ 17185e4c389SBaptiste Daroussin lzma \ 17285e4c389SBaptiste Daroussin m \ 17385e4c389SBaptiste Daroussin magic \ 17485e4c389SBaptiste Daroussin md \ 17585e4c389SBaptiste Daroussin memstat \ 17685e4c389SBaptiste Daroussin mp \ 17732e5044dSBaptiste Daroussin mt \ 17892fc4f55SBaptiste Daroussin ncursesw \ 17930fca3b0SBaptiste Daroussin netgraph \ 1805c4f8d80SVincenzo Maffione netmap \ 18130fca3b0SBaptiste Daroussin ngatm \ 18285e4c389SBaptiste Daroussin nv \ 18335309222SBryan Drewery nvpair \ 184cde6fa28SRuslan Bukin opencsd \ 18585e4c389SBaptiste Daroussin pam \ 186c0b57599SBaptiste Daroussin panel \ 187c0b57599SBaptiste Daroussin panelw \ 18885e4c389SBaptiste Daroussin pcap \ 18929a8bda7SBaptiste Daroussin pcsclite \ 19085e4c389SBaptiste Daroussin pjdlog \ 19129a8bda7SBaptiste Daroussin pmc \ 19285e4c389SBaptiste Daroussin proc \ 19385e4c389SBaptiste Daroussin procstat \ 19485e4c389SBaptiste Daroussin pthread \ 19585e4c389SBaptiste Daroussin radius \ 196b37f6c98SKyle Evans regex \ 19791bac0a9SBaptiste Daroussin roken \ 19885e4c389SBaptiste Daroussin rpcsec_gss \ 19930fca3b0SBaptiste Daroussin rpcsvc \ 20085e4c389SBaptiste Daroussin rt \ 201d612f139SBaptiste Daroussin rtld_db \ 20285e4c389SBaptiste Daroussin sbuf \ 20330fca3b0SBaptiste Daroussin sdp \ 20485e4c389SBaptiste Daroussin sm \ 20585e4c389SBaptiste Daroussin smb \ 2069e5787d2SMatt Macy spl \ 20785e4c389SBaptiste Daroussin ssl \ 20892fc4f55SBaptiste Daroussin ssp_nonshared \ 2091a13f2e6SEdward Tomasz Napierala stats \ 21085e4c389SBaptiste Daroussin stdthreads \ 21185e4c389SBaptiste Daroussin supcplusplus \ 212e9d96105SBrooks Davis sys \ 213d6fb4894SJohn Baldwin sysdecode \ 21485e4c389SBaptiste Daroussin tacplus \ 21585e4c389SBaptiste Daroussin termcapw \ 216396851c2SBaptiste Daroussin tinfow \ 2179e5787d2SMatt Macy tpool \ 21885e4c389SBaptiste Daroussin ufs \ 21992fc4f55SBaptiste Daroussin ugidfw \ 22085e4c389SBaptiste Daroussin ulog \ 22135309222SBryan Drewery umem \ 22285e4c389SBaptiste Daroussin usb \ 22330fca3b0SBaptiste Daroussin usbhid \ 22485e4c389SBaptiste Daroussin util \ 22535309222SBryan Drewery uutil \ 22629a8bda7SBaptiste Daroussin vmmapi \ 22791bac0a9SBaptiste Daroussin wind \ 22885e4c389SBaptiste Daroussin wrap \ 229ca88232bSBaptiste Daroussin xo \ 23085e4c389SBaptiste Daroussin y \ 231d98c8ac0SBaptiste Daroussin ypclnt \ 23235309222SBryan Drewery z \ 233a4e5e010SMartin Matuska zdb \ 23435309222SBryan Drewery zfs_core \ 23535309222SBryan Drewery zfs \ 236e307eb94SToomas Soome zfsbootenv \ 23735309222SBryan Drewery zpool \ 2389e5787d2SMatt Macy zutil 23935309222SBryan Drewery 24095856e14SKurt Lidl.if ${MK_BLACKLIST} != "no" 24195856e14SKurt Lidl_LIBRARIES+= \ 24295856e14SKurt Lidl blacklist \ 24395856e14SKurt Lidl 24495856e14SKurt Lidl.endif 24595856e14SKurt Lidl 246de1f9ee2SBryan Drewery.if ${MK_OFED} != "no" 247de1f9ee2SBryan Drewery_LIBRARIES+= \ 248de1f9ee2SBryan Drewery cxgb4 \ 249de1f9ee2SBryan Drewery ibcm \ 250de1f9ee2SBryan Drewery ibmad \ 251e110d077SHans Petter Selasky ibnetdisc \ 252de1f9ee2SBryan Drewery ibumad \ 253de1f9ee2SBryan Drewery ibverbs \ 254cdcd52d4SBartosz Sobczak irdma \ 255de1f9ee2SBryan Drewery mlx4 \ 256e110d077SHans Petter Selasky mlx5 \ 257de1f9ee2SBryan Drewery rdmacm \ 258e110d077SHans Petter Selasky osmcomp \ 259e110d077SHans Petter Selasky opensm \ 260e110d077SHans Petter Selasky osmvendor 261de1f9ee2SBryan Drewery.endif 26285e4c389SBaptiste Daroussin 263a92958dfSSimon J. Gerraty.if ${MK_BEARSSL} == "yes" 2645ea556d9SSimon J. Gerraty_LIBRARIES+= \ 265a92958dfSSimon J. Gerraty bearssl \ 266a92958dfSSimon J. Gerraty secureboot \ 267a92958dfSSimon J. Gerraty 2685ea556d9SSimon J. GerratyLIBBEARSSL?= ${LIBBEARSSLDIR}/libbearssl.a 2695ea556d9SSimon J. GerratyLIBSECUREBOOT?= ${LIBSECUREBOOTDIR}/libsecureboot.a 270a92958dfSSimon J. Gerraty.endif 271a92958dfSSimon J. Gerraty 272a92958dfSSimon J. Gerraty.if ${MK_VERIEXEC} == "yes" 2735ea556d9SSimon J. Gerraty_LIBRARIES+= veriexec 274a92958dfSSimon J. Gerraty 2755ea556d9SSimon J. GerratyLIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a 276a92958dfSSimon J. Gerraty.endif 277a92958dfSSimon J. Gerraty 2785afa1972SBryan Drewery# Each library's LIBADD needs to be duplicated here for static linkage of 2795afa1972SBryan Drewery# 2nd+ order consumers. Auto-generating this would be better. 2803a42764aSBryan Drewery_DP_80211= sbuf bsdxml 281100353cfSJakub Wojciech Klama_DP_9p= sbuf 282cff48238SVitaliy Gusev.if ${MK_CASPER} != "no" 283cff48238SVitaliy Gusev_DP_9p+= casper cap_pwd cap_grp 284cff48238SVitaliy Gusev.endif 285cff48238SVitaliy Gusev 286ed405075SJessica Clarke# XXX: Not bootstrapped so uses host version on non-FreeBSD, so don't use a 287ed405075SJessica Clarke# FreeBSD-specific dependency list 288ed405075SJessica Clarke.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) 28985686f34SBaptiste Daroussin_DP_archive= z bz2 lzma bsdxml zstd 290ed405075SJessica Clarke.endif 2919e9c651cSGreg V_DP_avl= spl 292d287d328SAlfonso S. Siciliano_DP_bsddialog= ncursesw tinfow 2931fc317e3SBaptiste Daroussin_DP_zstd= pthread 29495856e14SKurt Lidl.if ${MK_BLACKLIST} != "no" 29595856e14SKurt Lidl_DP_blacklist+= pthread 29695856e14SKurt Lidl.endif 297acd3ae12SJung-uk Kim_DP_crypto= pthread 29870f1e134SJessica Clarke# See comment by _DP_archive above 29970f1e134SJessica Clarke.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING) 30085e4c389SBaptiste Daroussin.if ${MK_OPENSSL} != "no" 30185e4c389SBaptiste Daroussin_DP_archive+= crypto 30285e4c389SBaptiste Daroussin.else 30385e4c389SBaptiste Daroussin_DP_archive+= md 30485e4c389SBaptiste Daroussin.endif 30570f1e134SJessica Clarke.endif 3067bce8739SBryan Drewery_DP_sqlite3= pthread 30785e4c389SBaptiste Daroussin_DP_ssl= crypto 30870b19675SBryan Drewery_DP_ssh= crypto crypt z 309eafea10bSBaptiste Daroussin.if ${MK_LDNS} != "no" 31070b19675SBryan Drewery_DP_ssh+= ldns 311eafea10bSBaptiste Daroussin.endif 312cbc83e37SBaptiste Daroussin_DP_edit= tinfow 31385e4c389SBaptiste Daroussin.if ${MK_OPENSSL} != "no" 31485e4c389SBaptiste Daroussin_DP_bsnmp= crypto 31585e4c389SBaptiste Daroussin.endif 3168e16f692SEnji Cooper_DP_geom= bsdxml sbuf 31785e4c389SBaptiste Daroussin_DP_cam= sbuf 318968bcca2SKa Ho Ng_DP_kldelf= elf 3197f911abeSJohn Baldwin_DP_kvm= elf 320c501d73cSMariusz Zaborski_DP_casper= nv 321c501d73cSMariusz Zaborski_DP_cap_dns= nv 322cdd6ea94SMariusz Zaborski_DP_cap_fileargs= nv 323c501d73cSMariusz Zaborski_DP_cap_grp= nv 324c501d73cSMariusz Zaborski_DP_cap_pwd= nv 325c501d73cSMariusz Zaborski_DP_cap_sysctl= nv 3267b4fce76SMariusz Zaborski_DP_cap_syslog= nv 327cb5e41b1SRobert Clausecker_DP_crypt= md 328b00ab754SHans Petter Selasky.if ${MK_OFED} != "no" 329b00ab754SHans Petter Selasky_DP_pcap= ibverbs mlx5 330b00ab754SHans Petter Selasky.endif 33185e4c389SBaptiste Daroussin_DP_pjdlog= util 33285e4c389SBaptiste Daroussin_DP_usb= pthread 3335afa1972SBryan Drewery_DP_unbound= ssl crypto pthread 33485e4c389SBaptiste Daroussin_DP_rt= pthread 33585e4c389SBaptiste Daroussin.if ${MK_OPENSSL} == "no" 33685e4c389SBaptiste Daroussin_DP_radius= md 33785e4c389SBaptiste Daroussin.else 33885e4c389SBaptiste Daroussin_DP_radius= crypto 33985e4c389SBaptiste Daroussin.endif 340a7e13d50SMark Johnston_DP_rtld_db= elf procstat 34185e4c389SBaptiste Daroussin_DP_procstat= kvm util elf 34285e4c389SBaptiste Daroussin_DP_proc= cxxrt 34385e4c389SBaptiste Daroussin.if ${MK_CDDL} != "no" 3445716a77aSBaptiste Daroussin_DP_proc+= ctf 34585e4c389SBaptiste Daroussin.endif 3460bbf2702SXin LI_DP_proc+= elf procstat rtld_db util z 34785e4c389SBaptiste Daroussin_DP_mp= crypto 34885e4c389SBaptiste Daroussin_DP_memstat= kvm 34985e4c389SBaptiste Daroussin_DP_magic= z 350ed8addefSBryan Drewery_DP_mt= sbuf bsdxml 351365b89e8SJohn Baldwin_DP_nvmf= nv 3520ffba319SDag-Erling Smørgrav_DP_ldns= ssl crypto 353564b9ff2SBrooks Davis_DP_lua= m 354c697fb7fSBrooks Davis_DP_lutok= lua 35585e4c389SBaptiste Daroussin.if ${MK_OPENSSL} != "no" 35685e4c389SBaptiste Daroussin_DP_fetch= ssl crypto 35785e4c389SBaptiste Daroussin.else 35885e4c389SBaptiste Daroussin_DP_fetch= md 35985e4c389SBaptiste Daroussin.endif 36085e4c389SBaptiste Daroussin_DP_execinfo= elf 361dbf05458SMark Johnston_DP_dwarf= elf z 362cbc83e37SBaptiste Daroussin_DP_dpv= dialog figpar util tinfow ncursesw 363cbc83e37SBaptiste Daroussin_DP_dialog= tinfow ncursesw m 36485e4c389SBaptiste Daroussin_DP_cuse= pthread 36585e4c389SBaptiste Daroussin_DP_atf_cxx= atf_c 366b4af4f93SKyle Evans_DP_gtest= pthread regex 367f3c5273dSEnji Cooper_DP_gmock= gtest 368f3c5273dSEnji Cooper_DP_gmock_main= gmock 369f3c5273dSEnji Cooper_DP_gtest_main= gtest 37085e4c389SBaptiste Daroussin_DP_devstat= kvm 3710aa27001SDag-Erling Smørgrav_DP_pam= radius tacplus md util 37230fca3b0SBaptiste Daroussin.if ${MK_KERBEROS} != "no" 37330fca3b0SBaptiste Daroussin_DP_pam+= krb5 37430fca3b0SBaptiste Daroussin.endif 37530fca3b0SBaptiste Daroussin.if ${MK_OPENSSH} != "no" 3767b1e19adSEd Maste_DP_fido2+= crypto z 37730fca3b0SBaptiste Daroussin_DP_pam+= ssh 37830fca3b0SBaptiste Daroussin.endif 37930fca3b0SBaptiste Daroussin.if ${MK_NIS} != "no" 38030fca3b0SBaptiste Daroussin_DP_pam+= ypclnt 38130fca3b0SBaptiste Daroussin.endif 3823091cdb1SCy Schubert_DP_roken= crypt 3835afa1972SBryan Drewery_DP_kadm5clnt= com_err krb5 roken 3845afa1972SBryan Drewery_DP_kadm5srv= com_err hdb krb5 roken 3855afa1972SBryan Drewery_DP_heimntlm= crypto com_err krb5 roken 3865afa1972SBryan Drewery_DP_hx509= asn1 com_err crypto roken wind 3875afa1972SBryan Drewery_DP_hdb= asn1 com_err krb5 roken sqlite3 3885afa1972SBryan Drewery_DP_asn1= com_err roken 3895afa1972SBryan Drewery_DP_kdc= roken hdb hx509 krb5 heimntlm asn1 crypto 3905afa1972SBryan Drewery_DP_wind= com_err roken 3915afa1972SBryan Drewery_DP_heimbase= pthread 3925afa1972SBryan Drewery_DP_heimipcc= heimbase roken pthread 3935afa1972SBryan Drewery_DP_heimipcs= heimbase roken pthread 3945afa1972SBryan Drewery_DP_kafs5= asn1 krb5 roken 395e343ebbfSCy Schubert_DP_krb5= asn1 com_err crypt crypto hx509 roken wind heimbase heimipcc 396e343ebbfSCy Schubert_DP_gssapi_krb5= gssapi krb5 crypto roken asn1 com_err 39765422c96SXin LI_DP_lzma= md pthread 3984bf54857SBaptiste Daroussin_DP_ucl= m 399ea4a4d8aSBaptiste Daroussin_DP_vmmapi= util 400cde6fa28SRuslan Bukin_DP_opencsd= cxxrt 4019e5787d2SMatt Macy_DP_ctf= spl z 40293f27766SDomagoj Stolfa_DP_dtrace= ctf elf proc pthread rtld_db xo 403550d2b80SEnji Cooper_DP_xo= util 4049e5787d2SMatt Macy_DP_ztest= geom m nvpair umem zpool pthread avl zfs_core spl zutil zfs uutil icp 4055afa1972SBryan Drewery# The libc dependencies are not strictly needed but are defined to make the 4065afa1972SBryan Drewery# assert happy. 40799ea6757SBrooks Davis_DP_c= compiler_rt sys 4089aa786cbSEd Maste# Use libssp_nonshared only on i386 and power*. Other archs emit direct calls 4099aa786cbSEd Maste# to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. 4100f611708SEd Maste.if ${MK_SSP} != "no" && \ 4110f611708SEd Maste (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "") 4125afa1972SBryan Drewery_DP_c+= ssp_nonshared 4135afa1972SBryan Drewery.endif 4141a13f2e6SEdward Tomasz Napierala_DP_stats= sbuf pthread 4155afa1972SBryan Drewery_DP_stdthreads= pthread 416e9d96105SBrooks Davis_DP_sys= compiler_rt 417e9d96105SBrooks Davis# Use libssp_nonshared only on i386 and power*. Other archs emit direct calls 418e9d96105SBrooks Davis# to __stack_chk_fail, not __stack_chk_fail_local provided by libssp_nonshared. 419e9d96105SBrooks Davis.if ${MK_SSP} != "no" && \ 420e9d96105SBrooks Davis (${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH:Mpower*} != "") 421e9d96105SBrooks Davis_DP_sys+= ssp_nonshared 422e9d96105SBrooks Davis.endif 42399ea6757SBrooks Davis.if !defined(BOOTSTRAPPING) 42499ea6757SBrooks Davis_DP_thr= c sys 42599ea6757SBrooks Davis_DP_pthread= ${_DP_thr} 42699ea6757SBrooks Davis.endif 42721850106SDag-Erling Smørgrav_DP_tacplus= md pam 428396851c2SBaptiste Daroussin_DP_ncursesw= tinfow 429a46722b5SBaptiste Daroussin_DP_formw= ncursesw 4309e9c651cSGreg V_DP_nvpair= spl 4315afa1972SBryan Drewery_DP_panelw= ncursesw 4325afa1972SBryan Drewery_DP_rpcsec_gss= gssapi 4335afa1972SBryan Drewery_DP_smb= kiconv 4345afa1972SBryan Drewery_DP_ulog= md 4357aab86d5SBryan Drewery_DP_fifolog= z 4367aab86d5SBryan Drewery_DP_ipf= kvm 4379e5787d2SMatt Macy_DP_tpool= spl 4389e5787d2SMatt Macy_DP_uutil= avl spl 439315ee00fSMartin Matuska_DP_zfs= md pthread rt umem util uutil m avl bsdxml crypto geom nvpair \ 4409e5787d2SMatt Macy z zfs_core zutil 441e307eb94SToomas Soome_DP_zfsbootenv= zfs nvpair 4429e9c651cSGreg V_DP_zfs_core= nvpair spl zutil 4439e5787d2SMatt Macy_DP_zpool= md pthread z icp spl nvpair avl umem 4449e9c651cSGreg V_DP_zutil= avl geom m tpool 445e307eb94SToomas Soome_DP_be= zfs spl nvpair zfsbootenv 4465c4f8d80SVincenzo Maffione_DP_netmap= 4474d135bbdSJohn Baldwin_DP_ifconfig= m 4480d71f9f3SKristof Provost_DP_pfctl= nv 449e110d077SHans Petter Selasky 450e110d077SHans Petter Selasky# OFED support 451400b94bbSBryan Drewery.if ${MK_OFED} != "no" 452400b94bbSBryan Drewery_DP_cxgb4= ibverbs pthread 453400b94bbSBryan Drewery_DP_ibcm= ibverbs 454e110d077SHans Petter Selasky_DP_ibmad= ibumad 455e110d077SHans Petter Selasky_DP_ibnetdisc= osmcomp ibmad ibumad 456e110d077SHans Petter Selasky_DP_ibumad= 457e110d077SHans Petter Selasky_DP_ibverbs= 458cdcd52d4SBartosz Sobczak_DP_irdma= ibverbs pthread 459400b94bbSBryan Drewery_DP_mlx4= ibverbs pthread 460e110d077SHans Petter Selasky_DP_mlx5= ibverbs pthread 461400b94bbSBryan Drewery_DP_rdmacm= ibverbs 462e110d077SHans Petter Selasky_DP_osmcomp= pthread 463e110d077SHans Petter Selasky_DP_opensm= pthread 464e110d077SHans Petter Selasky_DP_osmvendor= ibumad pthread 465400b94bbSBryan Drewery.endif 46685e4c389SBaptiste Daroussin 4671c4ced8fSEnji Cooper# Define special cases 46885e4c389SBaptiste DaroussinLDADD_supcplusplus= -lsupc++ 469c99b67a7SBryan DreweryLIBATF_C= ${LIBDESTDIR}${LIBDIR_BASE}/libprivateatf-c.a 470c99b67a7SBryan DreweryLIBATF_CXX= ${LIBDESTDIR}${LIBDIR_BASE}/libprivateatf-c++.a 4715551c573SBaptiste DaroussinLDADD_atf_c= -lprivateatf-c 4725551c573SBaptiste DaroussinLDADD_atf_cxx= -lprivateatf-c++ 4735551c573SBaptiste Daroussin 474f3c5273dSEnji CooperLIBGMOCK= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategmock.a 4754309e4b5SEnji CooperLIBGMOCK_MAIN= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategmock_main.a 476f3c5273dSEnji CooperLIBGTEST= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategtest.a 4774309e4b5SEnji CooperLIBGTEST_MAIN= ${LIBDESTDIR}${LIBDIR_BASE}/libprivategtest_main.a 478f3c5273dSEnji CooperLDADD_gmock= -lprivategmock 479f3c5273dSEnji CooperLDADD_gtest= -lprivategtest 480f3c5273dSEnji CooperLDADD_gmock_main= -lprivategmock_main 481f3c5273dSEnji CooperLDADD_gtest_main= -lprivategtest_main 482f3c5273dSEnji Cooper 4835551c573SBaptiste Daroussin.for _l in ${_PRIVATELIBS} 484c99b67a7SBryan DreweryLIB${_l:tu}?= ${LIBDESTDIR}${LIBDIR_BASE}/libprivate${_l}.a 4855551c573SBaptiste Daroussin.endfor 48685e4c389SBaptiste Daroussin 487bcf99d2dSEd Maste.if ${MK_PIE} != "no" 488bcf99d2dSEd MastePIE_SUFFIX= _pie 489bcf99d2dSEd Maste.endif 490bcf99d2dSEd Maste 49185e4c389SBaptiste Daroussin.for _l in ${_LIBRARIES} 4928f224624SBryan Drewery.if ${_INTERNALLIBS:M${_l}} || !defined(SYSROOT) 493768987b5SBaptiste DaroussinLDADD_${_l}_L+= -L${LIB${_l:tu}DIR} 49485e4c389SBaptiste Daroussin.endif 49585e4c389SBaptiste DaroussinDPADD_${_l}?= ${LIB${_l:tu}} 4965551c573SBaptiste Daroussin.if ${_PRIVATELIBS:M${_l}} 4975551c573SBaptiste DaroussinLDADD_${_l}?= -lprivate${_l} 498bcf99d2dSEd Maste.elif ${_INTERNALLIBS:M${_l}} 499bcf99d2dSEd MasteLDADD_${_l}?= ${LDADD_${_l}_L} -l${_l:S/${PIE_SUFFIX}//}${PIE_SUFFIX} 5005551c573SBaptiste Daroussin.else 501768987b5SBaptiste DaroussinLDADD_${_l}?= ${LDADD_${_l}_L} -l${_l} 5025551c573SBaptiste Daroussin.endif 5037aab86d5SBryan Drewery# Add in all dependencies for static linkage. 504f0a6ab51SJessica Clarke# Bootstrapping from non-FreeBSD needs special handling, since it overrides 505f0a6ab51SJessica Clarke# NO_SHARED back to yes despite only building static versions of bootstrap 506f0a6ab51SJessica Clarke# libraries (see tools/build/mk/Makefile.boot.pre). 5077aab86d5SBryan Drewery.if defined(_DP_${_l}) && (${_INTERNALLIBS:M${_l}} || \ 508f0a6ab51SJessica Clarke (defined(NO_SHARED) && ${NO_SHARED:tl} != "no") || \ 509f0a6ab51SJessica Clarke (defined(BOOTSTRAPPING) && ${.MAKE.OS} != "FreeBSD")) 51085e4c389SBaptiste Daroussin.for _d in ${_DP_${_l}} 51185e4c389SBaptiste DaroussinDPADD_${_l}+= ${DPADD_${_d}} 51285e4c389SBaptiste DaroussinLDADD_${_l}+= ${LDADD_${_d}} 51385e4c389SBaptiste Daroussin.endfor 51485e4c389SBaptiste Daroussin.endif 51585e4c389SBaptiste Daroussin.endfor 51685e4c389SBaptiste Daroussin 5175afa1972SBryan Drewery# These are special cases where the library is broken and anything that uses 5187aab86d5SBryan Drewery# it needs to add more dependencies. Broken usually means that it has a 5197aab86d5SBryan Drewery# cyclic dependency and cannot link its own dependencies. This is bad, please 5207aab86d5SBryan Drewery# fix the library instead. 5217aab86d5SBryan Drewery# Unless the library itself is broken then the proper place to define 5227aab86d5SBryan Drewery# dependencies is _DP_* above. 5235afa1972SBryan Drewery 5245afa1972SBryan Drewery# libatf-c++ exposes libatf-c abi hence we need to explicit link to atf_c for 5255afa1972SBryan Drewery# atf_cxx 52652a78c67SBaptiste DaroussinDPADD_atf_cxx+= ${DPADD_atf_c} 52752a78c67SBaptiste DaroussinLDADD_atf_cxx+= ${LDADD_atf_c} 52852a78c67SBaptiste Daroussin 529f3c5273dSEnji CooperDPADD_gmock+= ${DPADD_gtest} 530f3c5273dSEnji CooperLDADD_gmock+= ${LDADD_gtest} 531f3c5273dSEnji Cooper 532f3c5273dSEnji CooperDPADD_gmock_main+= ${DPADD_gmock} 533f3c5273dSEnji CooperLDADD_gmock_main+= ${LDADD_gmock} 534f3c5273dSEnji Cooper 535f3c5273dSEnji CooperDPADD_gtest_main+= ${DPADD_gtest} 536f3c5273dSEnji CooperLDADD_gtest_main+= ${LDADD_gtest} 537f3c5273dSEnji Cooper 5387b861220SBryan Drewery# Detect LDADD/DPADD that should be LIBADD, before modifying LDADD here. 539aaa345b8SBryan Drewery_BADLDADD= 5407b861220SBryan Drewery.for _l in ${LDADD:M-l*:N-l*/*:C,^-l,,} 541aaa345b8SBryan Drewery.if ${_LIBRARIES:M${_l}} && !${_PRIVATELIBS:M${_l}} 5427b861220SBryan Drewery_BADLDADD+= ${_l} 5437b861220SBryan Drewery.endif 5447b861220SBryan Drewery.endfor 5457b861220SBryan Drewery.if !empty(_BADLDADD) 5467b861220SBryan Drewery.error ${.CURDIR}: These libraries should be LIBADD+=foo rather than DPADD/LDADD+=-lfoo: ${_BADLDADD} 5477b861220SBryan Drewery.endif 5487b861220SBryan Drewery 54985e4c389SBaptiste Daroussin.for _l in ${LIBADD} 5502fd6394dSBryan DreweryDPADD+= ${DPADD_${_l}} 55185e4c389SBaptiste DaroussinLDADD+= ${LDADD_${_l}} 55285e4c389SBaptiste Daroussin.endfor 553d029c3aaSBaptiste Daroussin 554bc4b1a17SBrooks Davis_LIB_OBJTOP?= ${OBJTOP} 5555afa1972SBryan Drewery# INTERNALLIB definitions. 556d9a9f23dSDag-Erling SmørgravLIBDIFFDIR= ${_LIB_OBJTOP}/lib/libdiff 557d9a9f23dSDag-Erling SmørgravLIBDIFF?= ${LIBDIFFDIR}/libdiff${PIE_SUFFIX}.a 558d9a9f23dSDag-Erling Smørgrav 559bc4b1a17SBrooks DavisLIBELFTCDIR= ${_LIB_OBJTOP}/lib/libelftc 560bcf99d2dSEd MasteLIBELFTC?= ${LIBELFTCDIR}/libelftc${PIE_SUFFIX}.a 56131942939SEd Maste 562f29af861SMark JohnstonLIBFDTDIR= ${_LIB_OBJTOP}/lib/libfdt 563f29af861SMark JohnstonLIBFDT?= ${LIBFDTDIR}/libfdt${PIE_SUFFIX}.a 564f29af861SMark Johnston 565564b9ff2SBrooks DavisLIBLUADIR= ${_LIB_OBJTOP}/lib/liblua 566564b9ff2SBrooks DavisLIBLUA?= ${LIBLUADIR}/liblua${PIE_SUFFIX}.a 567564b9ff2SBrooks Davis 568c697fb7fSBrooks DavisLIBLUTOKDIR= ${_LIB_OBJTOP}/lib/liblutok 569c697fb7fSBrooks DavisLIBLUTOK?= ${LIBLUTOKDIR}/liblutok${PIE_SUFFIX}.a 570c697fb7fSBrooks Davis 571bc4b1a17SBrooks DavisLIBPEDIR= ${_LIB_OBJTOP}/lib/libpe 572bcf99d2dSEd MasteLIBPE?= ${LIBPEDIR}/libpe${PIE_SUFFIX}.a 573c1da2974SEd Maste 574bc4b1a17SBrooks DavisLIBOPENBSDDIR= ${_LIB_OBJTOP}/lib/libopenbsd 575bcf99d2dSEd MasteLIBOPENBSD?= ${LIBOPENBSDDIR}/libopenbsd${PIE_SUFFIX}.a 576beb7fbfcSBaptiste Daroussin 577bc4b1a17SBrooks DavisLIBSMDIR= ${_LIB_OBJTOP}/lib/libsm 578bcf99d2dSEd MasteLIBSM?= ${LIBSMDIR}/libsm${PIE_SUFFIX}.a 5792df4d962SBaptiste Daroussin 580bc4b1a17SBrooks DavisLIBSMDBDIR= ${_LIB_OBJTOP}/lib/libsmdb 581bcf99d2dSEd MasteLIBSMDB?= ${LIBSMDBDIR}/libsmdb${PIE_SUFFIX}.a 58230fca3b0SBaptiste Daroussin 583bc4b1a17SBrooks DavisLIBSMUTILDIR= ${_LIB_OBJTOP}/lib/libsmutil 584bcf99d2dSEd MasteLIBSMUTIL?= ${LIBSMUTILDIR}/libsmutil${PIE_SUFFIX}.a 58530fca3b0SBaptiste Daroussin 586e9d96105SBrooks DavisLIBSYSDIR= ${_LIB_OBJTOP}/lib/libsys 587e9d96105SBrooks DavisLIBSYS?= ${LIBSYSDIR}/libsys${PIE_SUFFIX}.a 588e9d96105SBrooks Davis 589bc4b1a17SBrooks DavisLIBNETBSDDIR?= ${_LIB_OBJTOP}/lib/libnetbsd 590bcf99d2dSEd MasteLIBNETBSD?= ${LIBNETBSDDIR}/libnetbsd${PIE_SUFFIX}.a 59185abe784SBaptiste Daroussin 592bc4b1a17SBrooks DavisLIBVERSDIR?= ${_LIB_OBJTOP}/kerberos5/lib/libvers 593bcf99d2dSEd MasteLIBVERS?= ${LIBVERSDIR}/libvers${PIE_SUFFIX}.a 59485abe784SBaptiste Daroussin 595bc4b1a17SBrooks DavisLIBSLDIR= ${_LIB_OBJTOP}/kerberos5/lib/libsl 596bcf99d2dSEd MasteLIBSL?= ${LIBSLDIR}/libsl${PIE_SUFFIX}.a 597cc0d90a7SBaptiste Daroussin 598bc4b1a17SBrooks DavisLIBIFCONFIGDIR= ${_LIB_OBJTOP}/lib/libifconfig 599e1157dceSEd MasteLIBIFCONFIG?= ${LIBIFCONFIGDIR}/libifconfig${PIE_SUFFIX}.a 600e1157dceSEd Maste 601bc4b1a17SBrooks DavisLIBIPFDIR= ${_LIB_OBJTOP}/sbin/ipf/libipf 602bcf99d2dSEd MasteLIBIPF?= ${LIBIPFDIR}/libipf${PIE_SUFFIX}.a 60330fca3b0SBaptiste Daroussin 6044f79bd4aSKonstantin BelousovLIBNVDIR= ${_LIB_OBJTOP}/lib/libnv 6054f79bd4aSKonstantin BelousovLIBNV?= ${LIBNVDIR}/libnv${PIE_SUFFIX}.a 6064f79bd4aSKonstantin Belousov 60763783933SJohn BaldwinLIBISCSIUTILDIR= ${_LIB_OBJTOP}/lib/libiscsiutil 60863783933SJohn BaldwinLIBISCSIUTIL?= ${LIBISCSIUTILDIR}/libiscsiutil${PIE_SUFFIX}.a 60963783933SJohn Baldwin 6102da066efSJohn BaldwinLIBNVMFDIR= ${_LIB_OBJTOP}/lib/libnvmf 6112da066efSJohn BaldwinLIBNVMF?= ${LIBNVMFDIR}/libnvmf${PIE_SUFFIX}.a 6122da066efSJohn Baldwin 613bc4b1a17SBrooks DavisLIBTELNETDIR= ${_LIB_OBJTOP}/lib/libtelnet 614bcf99d2dSEd MasteLIBTELNET?= ${LIBTELNETDIR}/libtelnet${PIE_SUFFIX}.a 61529a8bda7SBaptiste Daroussin 616bc4b1a17SBrooks DavisLIBCRONDIR= ${_LIB_OBJTOP}/usr.sbin/cron/lib 617bcf99d2dSEd MasteLIBCRON?= ${LIBCRONDIR}/libcron${PIE_SUFFIX}.a 61829a8bda7SBaptiste Daroussin 619f59bb61eSKyle EvansLIBDERDIR= ${_LIB_OBJTOP}/lib/libder 620f59bb61eSKyle EvansLIBDER?= ${LIBDERDIR}/libder${PIE_SUFFIX}.a 621f59bb61eSKyle Evans 622bc4b1a17SBrooks DavisLIBNTPDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libntp 623bcf99d2dSEd MasteLIBNTP?= ${LIBNTPDIR}/libntp${PIE_SUFFIX}.a 62429a8bda7SBaptiste Daroussin 625bc4b1a17SBrooks DavisLIBNTPEVENTDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libntpevent 626bcf99d2dSEd MasteLIBNTPEVENT?= ${LIBNTPEVENTDIR}/libntpevent${PIE_SUFFIX}.a 6272b15cb3dSCy Schubert 628bc4b1a17SBrooks DavisLIBOPTSDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libopts 629bcf99d2dSEd MasteLIBOPTS?= ${LIBOPTSDIR}/libopts${PIE_SUFFIX}.a 63029a8bda7SBaptiste Daroussin 631bc4b1a17SBrooks DavisLIBPARSEDIR= ${_LIB_OBJTOP}/usr.sbin/ntp/libparse 632bcf99d2dSEd MasteLIBPARSE?= ${LIBPARSEDIR}/libparse${PIE_SUFFIX}.a 63329a8bda7SBaptiste Daroussin 6343075939dSLexi WinterLIBPFCTLDIR= ${_LIB_OBJTOP}/lib/libpfctl 6350d71f9f3SKristof ProvostLIBPFCTL?= ${LIBPFCTLDIR}/libpfctl${PIE_SUFFIX}.a 6360d71f9f3SKristof Provost 637bc4b1a17SBrooks DavisLIBLPRDIR= ${_LIB_OBJTOP}/usr.sbin/lpr/common_source 638bcf99d2dSEd MasteLIBLPR?= ${LIBLPRDIR}/liblpr${PIE_SUFFIX}.a 63929a8bda7SBaptiste Daroussin 640bc4b1a17SBrooks DavisLIBFIFOLOGDIR= ${_LIB_OBJTOP}/usr.sbin/fifolog/lib 641bcf99d2dSEd MasteLIBFIFOLOG?= ${LIBFIFOLOGDIR}/libfifolog${PIE_SUFFIX}.a 64229a8bda7SBaptiste Daroussin 643bc4b1a17SBrooks DavisLIBBSNMPTOOLSDIR= ${_LIB_OBJTOP}/usr.sbin/bsnmpd/tools/libbsnmptools 644bcf99d2dSEd MasteLIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools${PIE_SUFFIX}.a 64529a8bda7SBaptiste Daroussin 646bcf99d2dSEd MasteLIBBE?= ${LIBBEDIR}/libbe${PIE_SUFFIX}.a 64728f16a0fSKyle Evans 648*05427f46SKyle EvansLIBPKGECCDIR= ${_LIB_OBJTOP}/secure/lib/libpkgecc 649*05427f46SKyle EvansLIBPKGECC?= ${LIBPKGECCDIR}/libpkgecc${PIE_SUFFIX}.a 650*05427f46SKyle Evans 651bc4b1a17SBrooks DavisLIBPMCSTATDIR= ${_LIB_OBJTOP}/lib/libpmcstat 652bcf99d2dSEd MasteLIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a 653d27927f7SRuslan Bukin 65425ecdc7dSCy SchubertLIBWPAAPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/ap 65525ecdc7dSCy SchubertLIBWPAAP?= ${LIBWPAAPDIR}/libwpaap${PIE_SUFFIX}.a 65625ecdc7dSCy Schubert 65725ecdc7dSCy SchubertLIBWPACOMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/common 65825ecdc7dSCy SchubertLIBWPACOMMON?= ${LIBWPACOMMONDIR}/libwpacommon${PIE_SUFFIX}.a 65925ecdc7dSCy Schubert 66025ecdc7dSCy SchubertLIBWPACRYPTODIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/crypto 66125ecdc7dSCy SchubertLIBWPACRYPTO?= ${LIBWPACRYPTODIR}/libwpacrypto${PIE_SUFFIX}.a 66225ecdc7dSCy Schubert 66325ecdc7dSCy SchubertLIBWPADRIVERSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/drivers 66425ecdc7dSCy SchubertLIBWPADRIVERS?= ${LIBWPADRIVERSDIR}/libwpadrivers${PIE_SUFFIX}.a 66525ecdc7dSCy Schubert 66625ecdc7dSCy SchubertLIBWPAEAP_COMMONDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_common 66725ecdc7dSCy SchubertLIBWPAEAP_COMMON?= ${LIBWPAEAP_COMMONDIR}/libwpaeap_common${PIE_SUFFIX}.a 66825ecdc7dSCy Schubert 66925ecdc7dSCy SchubertLIBWPAEAP_PEERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_peer 67025ecdc7dSCy SchubertLIBWPAEAP_PEER?= ${LIBWPAEAP_PEERDIR}/libwpaeap_peer${PIE_SUFFIX}.a 67125ecdc7dSCy Schubert 67225ecdc7dSCy SchubertLIBWPAEAP_SERVERDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eap_server 67325ecdc7dSCy SchubertLIBWPAEAP_SERVER?= ${LIBWPAEAP_SERVERDIR}/libwpaeap_server${PIE_SUFFIX}.a 67425ecdc7dSCy Schubert 67525ecdc7dSCy SchubertLIBWPAEAPOL_AUTHDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_auth 67625ecdc7dSCy SchubertLIBWPAEAPOL_AUTH?= ${LIBWPAEAPOL_AUTHDIR}/libwpaeapol_auth${PIE_SUFFIX}.a 67725ecdc7dSCy Schubert 67825ecdc7dSCy SchubertLIBWPAEAPOL_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/eapol_supp 67925ecdc7dSCy SchubertLIBWPAEAPOL_SUPP?= ${LIBWPAEAPOL_SUPPDIR}/libwpaeapol_supp${PIE_SUFFIX}.a 68025ecdc7dSCy Schubert 68125ecdc7dSCy SchubertLIBWPAL2_PACKETDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/l2_packet 68225ecdc7dSCy SchubertLIBWPAL2_PACKET?= ${LIBWPAL2_PACKETDIR}/libwpal2_packet${PIE_SUFFIX}.a 68325ecdc7dSCy Schubert 684a90b9d01SCy SchubertLIBWPAPASNDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/pasn 685a90b9d01SCy SchubertLIBWPAPASN?= ${LIBWPAPASNDIR}/libwpapasn${PIE_SUFFIX}.a 686a90b9d01SCy Schubert 68725ecdc7dSCy SchubertLIBWPARADIUSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/radius 68825ecdc7dSCy SchubertLIBWPARADIUS?= ${LIBWPARADIUSDIR}/libwparadius${PIE_SUFFIX}.a 68925ecdc7dSCy Schubert 69025ecdc7dSCy SchubertLIBWPARSN_SUPPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/rsn_supp 69125ecdc7dSCy SchubertLIBWPARSN_SUPP?= ${LIBWPARSN_SUPPDIR}/libwparsn_supp${PIE_SUFFIX}.a 69225ecdc7dSCy Schubert 69325ecdc7dSCy SchubertLIBWPATLSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/tls 69425ecdc7dSCy SchubertLIBWPATLS?= ${LIBWPATLSDIR}/libwpatls${PIE_SUFFIX}.a 69525ecdc7dSCy Schubert 69625ecdc7dSCy SchubertLIBWPAUTILSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/utils 69725ecdc7dSCy SchubertLIBWPAUTILS?= ${LIBWPAUTILSDIR}/libwpautils${PIE_SUFFIX}.a 69825ecdc7dSCy Schubert 69925ecdc7dSCy SchubertLIBWPAWPSDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/wps 70025ecdc7dSCy SchubertLIBWPAWPS?= ${LIBWPAWPSDIR}/libwpawps${PIE_SUFFIX}.a 70125ecdc7dSCy Schubert 702bc4b1a17SBrooks DavisLIBC_NOSSP_PICDIR= ${_LIB_OBJTOP}/lib/libc 703db08bfceSKonstantin BelousovLIBC_NOSSP_PIC?= ${LIBC_NOSSP_PICDIR}/libc_nossp_pic.a 704db08bfceSKonstantin Belousov 705ebf076dfSBryan Drewery# Define a directory for each library. This is useful for adding -L in when 706ebf076dfSBryan Drewery# not using a --sysroot or for meta mode bootstrapping when there is no 707ebf076dfSBryan Drewery# Makefile.depend. These are sorted by directory. 7080c8ff61eSBrooks DavisLIBAVLDIR= ${_LIB_OBJTOP}/cddl/lib/libavl 7090c8ff61eSBrooks DavisLIBCTFDIR= ${_LIB_OBJTOP}/cddl/lib/libctf 7100c8ff61eSBrooks DavisLIBDTRACEDIR= ${_LIB_OBJTOP}/cddl/lib/libdtrace 7110c8ff61eSBrooks DavisLIBICPDIR= ${_LIB_OBJTOP}/cddl/lib/libicp 7124f79bd4aSKonstantin BelousovLIBICP?= ${LIBICPDIR}/libicp${PIE_SUFFIX}.a 7130c8ff61eSBrooks DavisLIBICP_RESCUEDIR= ${_LIB_OBJTOP}/cddl/lib/libicp_rescue 7144f79bd4aSKonstantin BelousovLIBICP_RESCUE?= ${LIBICP_RESCUEDIR}/libicp_rescue${PIE_SUFFIX}.a 7150c8ff61eSBrooks DavisLIBNVPAIRDIR= ${_LIB_OBJTOP}/cddl/lib/libnvpair 7164f79bd4aSKonstantin BelousovLIBNVPAIR?= ${LIBNVPAIRDIR}/libnvpair${PIE_SUFFIX}.a 7170c8ff61eSBrooks DavisLIBUMEMDIR= ${_LIB_OBJTOP}/cddl/lib/libumem 7180c8ff61eSBrooks DavisLIBUUTILDIR= ${_LIB_OBJTOP}/cddl/lib/libuutil 719a4e5e010SMartin MatuskaLIBZDBDIR= ${_LIB_OBJTOP}/cddl/lib/libzdb 720a4e5e010SMartin MatuskaLIBZDB?= ${LIBZDBDIR}/libzdb${PIE_SUFFIX}.a 7210c8ff61eSBrooks DavisLIBZFSDIR= ${_LIB_OBJTOP}/cddl/lib/libzfs 7224f79bd4aSKonstantin BelousovLIBZFS?= ${LIBZFSDIR}/libzfs${PIE_SUFFIX}.a 7230c8ff61eSBrooks DavisLIBZFS_COREDIR= ${_LIB_OBJTOP}/cddl/lib/libzfs_core 7244f79bd4aSKonstantin BelousovLIBZFS_CORE?= ${LIBZFS_COREDIR}/libzfs_core${PIE_SUFFIX}.a 7250c8ff61eSBrooks DavisLIBZFSBOOTENVDIR= ${_LIB_OBJTOP}/cddl/lib/libzfsbootenv 7264f79bd4aSKonstantin BelousovLIBZFSBOOTENV?= ${LIBZFSBOOTENVDIR}/libzfsbootenv${PIE_SUFFIX}.a 7270c8ff61eSBrooks DavisLIBZPOOLDIR= ${_LIB_OBJTOP}/cddl/lib/libzpool 7284f79bd4aSKonstantin BelousovLIBZPOOL?= ${LIBZPOOLDIR}/libzpool${PIE_SUFFIX}.a 7290c8ff61eSBrooks DavisLIBZUTILDIR= ${_LIB_OBJTOP}/cddl/lib/libzutil 7304f79bd4aSKonstantin BelousovLIBZUTIL?= ${LIBZUTILDIR}/libzutil${PIE_SUFFIX}.a 7310c8ff61eSBrooks DavisLIBTPOOLDIR= ${_LIB_OBJTOP}/cddl/lib/libtpool 732e110d077SHans Petter Selasky 733e110d077SHans Petter Selasky# OFED support 7340c8ff61eSBrooks DavisLIBCXGB4DIR= ${_LIB_OBJTOP}/lib/ofed/libcxgb4 7350c8ff61eSBrooks DavisLIBIBCMDIR= ${_LIB_OBJTOP}/lib/ofed/libibcm 7360c8ff61eSBrooks DavisLIBIBMADDIR= ${_LIB_OBJTOP}/lib/ofed/libibmad 7370c8ff61eSBrooks DavisLIBIBNETDISCDIR=${_LIB_OBJTOP}/lib/ofed/libibnetdisc 7380c8ff61eSBrooks DavisLIBIBUMADDIR= ${_LIB_OBJTOP}/lib/ofed/libibumad 7390c8ff61eSBrooks DavisLIBIBVERBSDIR= ${_LIB_OBJTOP}/lib/ofed/libibverbs 7400c8ff61eSBrooks DavisLIBIRDMADIR= ${_LIB_OBJTOP}/lib/ofed/libirdma 7410c8ff61eSBrooks DavisLIBMLX4DIR= ${_LIB_OBJTOP}/lib/ofed/libmlx4 7420c8ff61eSBrooks DavisLIBMLX5DIR= ${_LIB_OBJTOP}/lib/ofed/libmlx5 7430c8ff61eSBrooks DavisLIBRDMACMDIR= ${_LIB_OBJTOP}/lib/ofed/librdmacm 7440c8ff61eSBrooks DavisLIBOSMCOMPDIR= ${_LIB_OBJTOP}/lib/ofed/complib 7450c8ff61eSBrooks DavisLIBOPENSMDIR= ${_LIB_OBJTOP}/lib/ofed/libopensm 7460c8ff61eSBrooks DavisLIBOSMVENDORDIR=${_LIB_OBJTOP}/lib/ofed/libvendor 747e110d077SHans Petter Selasky 7480c8ff61eSBrooks DavisLIBDIALOGDIR= ${_LIB_OBJTOP}/gnu/lib/libdialog 7490c8ff61eSBrooks DavisLIBSSPDIR= ${_LIB_OBJTOP}/lib/libssp 7500c8ff61eSBrooks DavisLIBSSP_NONSHAREDDIR= ${_LIB_OBJTOP}/lib/libssp_nonshared 7510c8ff61eSBrooks DavisLIBASN1DIR= ${_LIB_OBJTOP}/kerberos5/lib/libasn1 7520c8ff61eSBrooks DavisLIBGSSAPI_KRB5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_krb5 7530c8ff61eSBrooks DavisLIBGSSAPI_NTLMDIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_ntlm 7540c8ff61eSBrooks DavisLIBGSSAPI_SPNEGODIR= ${_LIB_OBJTOP}/kerberos5/lib/libgssapi_spnego 7550c8ff61eSBrooks DavisLIBHDBDIR= ${_LIB_OBJTOP}/kerberos5/lib/libhdb 7560c8ff61eSBrooks DavisLIBHEIMBASEDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimbase 7570c8ff61eSBrooks DavisLIBHEIMIPCCDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimipcc 7580c8ff61eSBrooks DavisLIBHEIMIPCSDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimipcs 7590c8ff61eSBrooks DavisLIBHEIMNTLMDIR= ${_LIB_OBJTOP}/kerberos5/lib/libheimntlm 7600c8ff61eSBrooks DavisLIBHX509DIR= ${_LIB_OBJTOP}/kerberos5/lib/libhx509 7610c8ff61eSBrooks DavisLIBKADM5CLNTDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkadm5clnt 7620c8ff61eSBrooks DavisLIBKADM5SRVDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkadm5srv 7630c8ff61eSBrooks DavisLIBKAFS5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libkafs5 7640c8ff61eSBrooks DavisLIBKDCDIR= ${_LIB_OBJTOP}/kerberos5/lib/libkdc 7650c8ff61eSBrooks DavisLIBKRB5DIR= ${_LIB_OBJTOP}/kerberos5/lib/libkrb5 7660c8ff61eSBrooks DavisLIBROKENDIR= ${_LIB_OBJTOP}/kerberos5/lib/libroken 7670c8ff61eSBrooks DavisLIBWINDDIR= ${_LIB_OBJTOP}/kerberos5/lib/libwind 7680c8ff61eSBrooks DavisLIBATF_CDIR= ${_LIB_OBJTOP}/lib/atf/libatf-c 7690c8ff61eSBrooks DavisLIBATF_CXXDIR= ${_LIB_OBJTOP}/lib/atf/libatf-c++ 7700c8ff61eSBrooks DavisLIBGMOCKDIR= ${_LIB_OBJTOP}/lib/googletest/gmock 7710c8ff61eSBrooks DavisLIBGMOCK_MAINDIR= ${_LIB_OBJTOP}/lib/googletest/gmock_main 7720c8ff61eSBrooks DavisLIBGTESTDIR= ${_LIB_OBJTOP}/lib/googletest/gtest 7730c8ff61eSBrooks DavisLIBGTEST_MAINDIR= ${_LIB_OBJTOP}/lib/googletest/gtest_main 7740c8ff61eSBrooks DavisLIBALIASDIR= ${_LIB_OBJTOP}/lib/libalias/libalias 7750c8ff61eSBrooks DavisLIBBLACKLISTDIR= ${_LIB_OBJTOP}/lib/libblacklist 7760c8ff61eSBrooks DavisLIBBLOCKSRUNTIMEDIR= ${_LIB_OBJTOP}/lib/libblocksruntime 7770c8ff61eSBrooks DavisLIBBSNMPDIR= ${_LIB_OBJTOP}/lib/libbsnmp/libbsnmp 7780c8ff61eSBrooks DavisLIBCASPERDIR= ${_LIB_OBJTOP}/lib/libcasper/libcasper 7790c8ff61eSBrooks DavisLIBCAP_DNSDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_dns 7800c8ff61eSBrooks DavisLIBCAP_GRPDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_grp 7810c8ff61eSBrooks DavisLIBCAP_NETDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_net 7820c8ff61eSBrooks DavisLIBCAP_PWDDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_pwd 7830c8ff61eSBrooks DavisLIBCAP_SYSCTLDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_sysctl 7840c8ff61eSBrooks DavisLIBCAP_SYSLOGDIR= ${_LIB_OBJTOP}/lib/libcasper/services/cap_syslog 7850c8ff61eSBrooks DavisLIBCBORDIR= ${_LIB_OBJTOP}/lib/libcbor 7860c8ff61eSBrooks DavisLIBBSDXMLDIR= ${_LIB_OBJTOP}/lib/libexpat 7870c8ff61eSBrooks DavisLIBFIDO2DIR= ${_LIB_OBJTOP}/lib/libfido2 7880c8ff61eSBrooks DavisLIBKVMDIR= ${_LIB_OBJTOP}/lib/libkvm 7890c8ff61eSBrooks DavisLIBPTHREADDIR= ${_LIB_OBJTOP}/lib/libthr 7900c8ff61eSBrooks DavisLIBMDIR= ${_LIB_OBJTOP}/lib/msun 7910c8ff61eSBrooks DavisLIBFORMWDIR= ${_LIB_OBJTOP}/lib/ncurses/form 7920c8ff61eSBrooks DavisLIBMENUWDIR= ${_LIB_OBJTOP}/lib/ncurses/menu 7930c8ff61eSBrooks DavisLIBNCURSESWDIR= ${_LIB_OBJTOP}/lib/ncurses/ncurses 7940c8ff61eSBrooks DavisLIBTINFOWDIR= ${_LIB_OBJTOP}/lib/ncurses/tinfo 7950c8ff61eSBrooks DavisLIBPANELWDIR= ${_LIB_OBJTOP}/lib/ncurses/panel 7960c8ff61eSBrooks DavisLIBCRYPTODIR= ${_LIB_OBJTOP}/secure/lib/libcrypto 7970c8ff61eSBrooks DavisLIBSPLDIR= ${_LIB_OBJTOP}/cddl/lib/libspl 7980c8ff61eSBrooks DavisLIBSSHDIR= ${_LIB_OBJTOP}/secure/lib/libssh 7990c8ff61eSBrooks DavisLIBSSLDIR= ${_LIB_OBJTOP}/secure/lib/libssl 8000c8ff61eSBrooks DavisLIBTEKENDIR= ${_LIB_OBJTOP}/sys/teken/libteken 8010c8ff61eSBrooks DavisLIBEGACYDIR= ${_LIB_OBJTOP}/tools/build 8020c8ff61eSBrooks DavisLIBLNDIR= ${_LIB_OBJTOP}/usr.bin/lex/lib 803ebf076dfSBryan Drewery 804396851c2SBaptiste DaroussinLIBTERMCAPWDIR= ${LIBTINFOWDIR} 8055e99f843SBryan Drewery 806073ccb9dSSimon J. Gerraty.-include <site.src.libnames.mk> 807073ccb9dSSimon J. Gerraty 808ebf076dfSBryan Drewery# Default other library directories to lib/libNAME. 809ebf076dfSBryan Drewery.for lib in ${_LIBRARIES} 81011ffa20fSBryan DreweryLIB${lib:tu}DIR?= ${OBJTOP}/lib/lib${lib} 811ebf076dfSBryan Drewery.endfor 812ebf076dfSBryan Drewery 8132fd6394dSBryan Drewery# Validate that listed LIBADD are valid. 8142fd6394dSBryan Drewery.for _l in ${LIBADD} 8152fd6394dSBryan Drewery.if empty(_LIBRARIES:M${_l}) 8162fd6394dSBryan Drewery_BADLIBADD+= ${_l} 8172fd6394dSBryan Drewery.endif 8182fd6394dSBryan Drewery.endfor 8192fd6394dSBryan Drewery.if !empty(_BADLIBADD) 8202fd6394dSBryan Drewery.error ${.CURDIR}: Invalid LIBADD used which may need to be added to ${_this:T}: ${_BADLIBADD} 8212fd6394dSBryan Drewery.endif 8222fd6394dSBryan Drewery 8235afa1972SBryan Drewery# Sanity check that libraries are defined here properly when building them. 8245afa1972SBryan Drewery.if defined(LIB) && ${_LIBRARIES:M${LIB}} != "" 8255afa1972SBryan Drewery.if !empty(LIBADD) && \ 8265afa1972SBryan Drewery (!defined(_DP_${LIB}) || ${LIBADD:O:u} != ${_DP_${LIB}:O:u}) 8275afa1972SBryan Drewery.error ${.CURDIR}: Missing or incorrect _DP_${LIB} entry in ${_this:T}. Should match LIBADD for ${LIB} ('${LIBADD}' vs '${_DP_${LIB}}') 8285afa1972SBryan Drewery.endif 829382cab60SBryan Drewery# Note that OBJTOP is not yet defined here but for the purpose of the check 830382cab60SBryan Drewery# it is fine as it resolves to the SRC directory. 8315afa1972SBryan Drewery.if !defined(LIB${LIB:tu}DIR) || !exists(${SRCTOP}/${LIB${LIB:tu}DIR:S,^${OBJTOP}/,,}) 8325afa1972SBryan Drewery.error ${.CURDIR}: Missing or incorrect value for LIB${LIB:tu}DIR in ${_this:T}: ${LIB${LIB:tu}DIR:S,^${OBJTOP}/,,} 8335afa1972SBryan Drewery.endif 8345afa1972SBryan Drewery.if ${_INTERNALLIBS:M${LIB}} != "" && !defined(LIB${LIB:tu}) 8355afa1972SBryan Drewery.error ${.CURDIR}: Missing value for LIB${LIB:tu} in ${_this:T}. Likely should be: LIB${LIB:tu}?= $${LIB${LIB:tu}DIR}/lib${LIB}.a 8365afa1972SBryan Drewery.endif 8375afa1972SBryan Drewery.endif 8385afa1972SBryan Drewery 8394aa63711SBryan Drewery.endif # !target(__<src.libnames.mk>__) 840