Define a LIB<NAME>DIR for every library that LIBADD provides.

This is going to be used to allow DIRDEPS to be bootstrapped off of
LIBADD/DPADD.  It currently works for internal libraries which have a
DIR defined for them but also use the .a library from a src-mapped obj
directory.  It can also be useful for using -L without a --sysroot per
LIBADD to use the OBJDIR version of the libraries.

I didn't review every LIBADD, so it is possible this is missing some.

Sponsored by:	EMC / Isilon Storage Division
This commit is contained in:
Bryan Drewery 2015-11-25 19:49:55 +00:00
parent f198d81722
commit ebf076dfa5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=291327
2 changed files with 65 additions and 0 deletions

View File

@ -10,6 +10,8 @@
.sinclude <src.libnames.mk>
# Src directory locations are also defined in src.libnames.mk.
LIBCRT0?= ${DESTDIR}${LIBDIR}/crt0.o
LIBALIAS?= ${DESTDIR}${LIBDIR}/libalias.a

View File

@ -371,4 +371,67 @@ LIBBSNMPTOOLS?= ${LIBBSNMPTOOLSDIR}/libbsnmptools.a
LIBAMUDIR= ${ROOTOBJDIR}/usr.sbin/amd/libamu
LIBAMU?= ${LIBAMUDIR}/libamu/libamu.a
# Define a directory for each library. This is useful for adding -L in when
# not using a --sysroot or for meta mode bootstrapping when there is no
# Makefile.depend. These are sorted by directory.
LIBAVLDIR= ${ROOTOBJDIR}/cddl/lib/libavl
LIBCTFDIR= ${ROOTOBJDIR}/cddl/lib/libctf
LIBDTRACEDIR= ${ROOTOBJDIR}/cddl/lib/libdtrace
LIBNVPAIRDIR= ${ROOTOBJDIR}/cddl/lib/libnvpair
LIBUMEMDIR= ${ROOTOBJDIR}/cddl/lib/libumem
LIBUUTILDIR= ${ROOTOBJDIR}/cddl/lib/libuutil
LIBZFSDIR= ${ROOTOBJDIR}/cddl/lib/libzfs
LIBZFS_COREDIR= ${ROOTOBJDIR}/cddl/lib/libzfs_core
LIBZPOOLDIR= ${ROOTOBJDIR}/cddl/lib/libzpool
LIBDIALOGDIR= ${ROOTOBJDIR}/gnu/lib/libdialog
LIBGCOVDIR= ${ROOTOBJDIR}/gnu/lib/libgcov
LIBGOMPDIR= ${ROOTOBJDIR}/gnu/lib/libgomp
LIBGNUREGEXDIR= ${ROOTOBJDIR}/gnu/lib/libregex
LIBSSPDIR= ${ROOTOBJDIR}/gnu/lib/libssp
LIBSSP_NONSHAREDDIR= ${ROOTOBJDIR}/gnu/lib/libssp/libssp_nonshared
LIBSUPCPLUSPLUSDIR= ${ROOTOBJDIR}/gnu/lib/libsupc++
LIBASN1DIR= ${ROOTOBJDIR}/kerberos5/lib/libasn1
LIBGSSAPI_KRB5DIR= ${ROOTOBJDIR}/kerberos5/lib/libgssapi_krb5
LIBGSSAPI_NTLMDIR= ${ROOTOBJDIR}/kerberos5/lib/libgssapi_ntlm
LIBGSSAPI_SPNEGODIR= ${ROOTOBJDIR}/kerberos5/lib/libgssapi_spnego
LIBHDBDIR= ${ROOTOBJDIR}/kerberos5/lib/libhdb
LIBHEIMBASEDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimbase
LIBHEIMIPCCDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcc
LIBHEIMIPCSDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcs
LIBHEIMNTLMDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimntlm
LIBHX509DIR= ${ROOTOBJDIR}/kerberos5/lib/libhx509
LIBKADM5CLNTDIR= ${ROOTOBJDIR}/kerberos5/lib/libkadm5clnt
LIBKADM5SRVDIR= ${ROOTOBJDIR}/kerberos5/lib/libkadm5srv
LIBKAFS5DIR= ${ROOTOBJDIR}/kerberos5/lib/libkafs5
LIBKDCDIR= ${ROOTOBJDIR}/kerberos5/lib/libkdc
LIBKRB5DIR= ${ROOTOBJDIR}/kerberos5/lib/libkrb5
LIBROKENDIR= ${ROOTOBJDIR}/kerberos5/lib/libroken
LIBWINDDIR= ${ROOTOBJDIR}/kerberos5/lib/libwind
LIBALIASDIR= ${ROOTOBJDIR}/lib/libalias/libalias
LIBBLOCKSRUNTIMEDIR= ${ROOTOBJDIR}/lib/libblocksruntime
LIBBSNMPDIR= ${ROOTOBJDIR}/lib/libbsnmp/libbsnmp
LIBBSDXMLDIR= ${ROOTOBJDIR}/lib/libexpat
LIBKVMDIR= ${ROOTOBJDIR}/lib/libkvm
LIBPTHREADDIR= ${ROOTOBJDIR}/lib/libthr
LIBMDIR= ${ROOTOBJDIR}/lib/msun
LIBFORMDIR= ${ROOTOBJDIR}/lib/ncurses/form
LIBFORMLIBWDIR= ${ROOTOBJDIR}/lib/ncurses/formw
LIBMENUDIR= ${ROOTOBJDIR}/lib/ncurses/menu
LIBMENULIBWDIR= ${ROOTOBJDIR}/lib/ncurses/menuw
LIBTERMCAPDIR= ${ROOTOBJDIR}/lib/ncurses/ncurses
LIBTERMCAPWDIR= ${ROOTOBJDIR}/lib/ncurses/ncursesw
LIBPANELDIR= ${ROOTOBJDIR}/lib/ncurses/panel
LIBPANELWDIR= ${ROOTOBJDIR}/lib/ncurses/panelw
LIBCRYPTODIR= ${ROOTOBJDIR}/secure/lib/libcrypto
LIBSSHDIR= ${ROOTOBJDIR}/secure/lib/libssh
LIBSSLDIR= ${ROOTOBJDIR}/secure/lib/libssl
LIBTEKENDIR= ${ROOTOBJDIR}/sys/teken/libteken
LIBEGACYDIR= ${ROOTOBJDIR}/tools/build
LIBLNDIR= ${ROOTOBJDIR}/usr.bin/lex/lib
# Default other library directories to lib/libNAME.
.for lib in ${_LIBRARIES}
LIB${lib:tu}DIR?= ${ROOTOBJDIR}/lib/lib${lib}
.endfor
.endif # !target(__<src.libnames.mk>__)