aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Drewery <bdrewery@FreeBSD.org>2015-11-25 19:49:55 +0000
committerBryan Drewery <bdrewery@FreeBSD.org>2015-11-25 19:49:55 +0000
commitebf076dfa5eb89d6e7b507f84c139ff1fac3f559 (patch)
tree415d6e42cec95527d73a738bcda2a46432a0aa13
parentf198d817224bcf428a2f5df90eb59753ed6e2459 (diff)
downloadsrc-ebf076dfa5eb89d6e7b507f84c139ff1fac3f559.tar.gz
src-ebf076dfa5eb89d6e7b507f84c139ff1fac3f559.zip
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
Notes
Notes: svn path=/head/; revision=291327
-rw-r--r--share/mk/bsd.libnames.mk2
-rw-r--r--share/mk/src.libnames.mk63
2 files changed, 65 insertions, 0 deletions
diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
index 6d3bbe7b8510..7d7faf11e235 100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@ -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
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 94d41e8fa965..bb5757818cf1 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -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>__)