Author: bdrewery
Date: Wed Nov 25 19:49:55 2015
New Revision: 291327
URL: https://svnweb.freebsd.org/changeset/base/291327

Log:
  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

Modified:
  head/share/mk/bsd.libnames.mk
  head/share/mk/src.libnames.mk

Modified: head/share/mk/bsd.libnames.mk
==============================================================================
--- head/share/mk/bsd.libnames.mk       Wed Nov 25 19:48:09 2015        
(r291326)
+++ head/share/mk/bsd.libnames.mk       Wed Nov 25 19:49:55 2015        
(r291327)
@@ -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

Modified: head/share/mk/src.libnames.mk
==============================================================================
--- head/share/mk/src.libnames.mk       Wed Nov 25 19:48:09 2015        
(r291326)
+++ head/share/mk/src.libnames.mk       Wed Nov 25 19:49:55 2015        
(r291327)
@@ -371,4 +371,67 @@ LIBBSNMPTOOLS?=    ${LIBBSNMPTOOLSDIR}/libb
 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>__)
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to