summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorgjb <gjb@FreeBSD.org>2015-05-06 11:50:30 +0000
committergjb <gjb@FreeBSD.org>2015-05-06 11:50:30 +0000
commite9b794a6dfdf28ce835f5730e5884b97bc62aa19 (patch)
tree759e7355bf352e43e4a156a773a28d3d9fdbcad7 /share
parent55e5b36d38ff95ded004ed97fe9ed303abb36184 (diff)
parent462d48d659bae28be32c0d488ddeeaaf99d87bae (diff)
downloadFreeBSD-src-e9b794a6dfdf28ce835f5730e5884b97bc62aa19.zip
FreeBSD-src-e9b794a6dfdf28ce835f5730e5884b97bc62aa19.tar.gz
MFH: r282315-r282534
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'share')
-rw-r--r--share/misc/bsd-family-tree18
-rw-r--r--share/mk/atf.test.mk6
-rw-r--r--share/mk/bsd.incs.mk2
-rw-r--r--share/mk/bsd.lib.mk36
-rw-r--r--share/mk/bsd.prog.mk4
-rw-r--r--share/mk/src.libnames.mk65
6 files changed, 50 insertions, 81 deletions
diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree
index 7df15cc..0bf1113 100644
--- a/share/misc/bsd-family-tree
+++ b/share/misc/bsd-family-tree
@@ -321,8 +321,15 @@ FreeBSD 5.2 | | | |
| FreeBSD | | | |
| 10.1 | | | DragonFly 4.0.1
| | | | |
+ | | | | DragonFly 4.0.2
| | | | |
+ | | | | DragonFly 4.0.3
| | | | |
+ | | | | DragonFly 4.0.4
+ | | | | |
+ | | | | DragonFly 4.0.5
+ | | | | |
+ | | | OpenBSD 5.7 |
| | | | |
| | | | |
FreeBSD 11 -current | NetBSD -current OpenBSD -current DragonFly -current
@@ -655,11 +662,16 @@ DragonFly 3.8.1 2014-06-16 [DFB]
DragonFly 3.6.3 2014-06-17 [DFB]
FreeBSD 9.3 2014-07-05 [FBD]
DragonFly 3.8.2 2014-08-08 [DFB]
-NetBSD 6.1.5 2014-09-22 [NDB]
+NetBSD 6.1.5 2014-09-22 [NBD]
Mac OS X 10.10 2014-10-16 [APL]
OpenBSD 5.6 2014-11-01 [OBD]
FreeBSD 10.1 2014-11-14 [FBD]
DragonFly 4.0.1 2014-11-25 [DFB]
+DragonFly 4.0.2 2015-01-07 [DFB]
+DragonFly 4.0.3 2015-01-21 [DFB]
+DragonFly 4.0.4 2015-03-09 [DFB]
+DragonFly 4.0.5 2015-03-23 [DFB]
+OpenBSD 5.7 2015-05-01 [OBD]
Bibliography
------------------------
@@ -679,6 +691,10 @@ McKusick, Marshall Kirk, George Neville-Neil. The Design and
Implementation of the FreeBSD Operating System.
Addison-Wesley Professional, Published: Aug 2, 2004. ISBN 0-201-70245-2
+McKusick, Marshall Kirk, George Neville-Neil, Robert Watson. The
+Design and Implementation of the FreeBSD Operating System, 2nd Edition.
+Pearson Education, Inc., 2014. ISBN 0-321-96897-2
+
Doug McIlroy. Research Unix Reader.
Michael G. Brown. The Role of BSD in the Development of Unix.
diff --git a/share/mk/atf.test.mk b/share/mk/atf.test.mk
index 0863203..dffd466 100644
--- a/share/mk/atf.test.mk
+++ b/share/mk/atf.test.mk
@@ -72,11 +72,10 @@ MAN.${_T}?= # empty
SRCS.${_T}?= ${_T}.c
DPADD.${_T}+= ${LIBATF_C}
.if empty(LDFLAGS:M-static) && empty(LDFLAGS.${_T}:M-static)
-LDADD.${_T}+= ${LDATF_C}
+LDADD.${_T}+= ${LDADD_atf_c}
.else
LDADD.${_T}+= ${LIBATF_C}
.endif
-USEPRIVATELIB+= atf-c
TEST_INTERFACE.${_T}= atf
.endfor
.endif
@@ -90,11 +89,10 @@ MAN.${_T}?= # empty
SRCS.${_T}?= ${_T}${CXX_SUFFIX:U.cc}
DPADD.${_T}+= ${LIBATF_CXX} ${LIBATF_C}
.if empty(LDFLAGS:M-static) && empty(LDFLAGS.${_T}:M-static)
-LDADD.${_T}+= ${LDATF_CXX} ${LDATF_C}
+LDADD.${_T}+= ${LDADD_atf_cxx} ${LDADD_atf_c}
.else
LDADD.${_T}+= ${LIBATF_CXX} ${LIBATF_C}
.endif
-USEPRIVATELIB+= atf-c++
TEST_INTERFACE.${_T}= atf
.endfor
.endif
diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
index a7e7683..cc65baf 100644
--- a/share/mk/bsd.incs.mk
+++ b/share/mk/bsd.incs.mk
@@ -23,7 +23,7 @@ all: buildincludes
${group}OWN?= ${BINOWN}
${group}GRP?= ${BINGRP}
${group}MODE?= ${NOBINMODE}
-${group}DIR?= ${INCLUDEDIR}
+${group}DIR?= ${INCLUDEDIR}${PRIVATELIB:D/private/${LIB}}
_${group}INCS=
.for header in ${${group}}
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 2d0eb00..2c8ab36 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -11,6 +11,7 @@ _LD= ${CXX}
_LD= ${CC}
.endif
+LIB_PRIVATE= ${PRIVATELIB:Dprivate}
# Set up the variables controlling shared libraries. After this section,
# SHLIB_NAME will be defined only if we are to create a shared library.
# SHLIB_LINK will be defined only if we are to create a link to it.
@@ -23,7 +24,7 @@ _LD= ${CC}
SHLIB= ${LIB}
.endif
.if !defined(SHLIB_NAME) && defined(SHLIB) && defined(SHLIB_MAJOR)
-SHLIB_NAME= lib${SHLIB}.so.${SHLIB_MAJOR}
+SHLIB_NAME= lib${LIB_PRIVATE}${SHLIB}.so.${SHLIB_MAJOR}
.endif
.if defined(SHLIB_NAME) && !empty(SHLIB_NAME:M*.so.*)
SHLIB_LINK?= ${SHLIB_NAME:R}
@@ -128,13 +129,8 @@ PO_FLAG=-pg
all: beforebuild .WAIT
beforebuild: objwarn
-.if defined(PRIVATELIB)
-_LIBDIR:=${LIBPRIVATEDIR}
-_SHLIBDIR:=${LIBPRIVATEDIR}
-.else
_LIBDIR:=${LIBDIR}
_SHLIBDIR:=${SHLIBDIR}
-.endif
.if defined(SHLIB_NAME)
.if ${MK_DEBUG_FILES} != "no"
@@ -162,19 +158,15 @@ ${SHLIB_NAME_FULL}: ${VERSION_MAP}
LDFLAGS+= -Wl,--version-script=${VERSION_MAP}
.endif
-.if defined(USEPRIVATELIB)
-LDFLAGS+= -rpath ${LIBPRIVATEDIR}
-.endif
-
.if defined(LIB) && !empty(LIB) || defined(SHLIB_NAME)
OBJS+= ${SRCS:N*.h:R:S/$/.o/}
NOPATH_FILES+= ${OBJS}
.endif
.if defined(LIB) && !empty(LIB)
-_LIBS= lib${LIB}.a
+_LIBS= lib${LIB_PRIVATE}${LIB}.a
-lib${LIB}.a: ${OBJS} ${STATICOBJS}
+lib${LIB_PRIVATE}${LIB}.a: ${OBJS} ${STATICOBJS}
@${ECHO} building static ${LIB} library
@rm -f ${.TARGET}
@${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${OBJS} ${STATICOBJS} | tsort -q` ${ARADD}
@@ -184,11 +176,11 @@ lib${LIB}.a: ${OBJS} ${STATICOBJS}
.if !defined(INTERNALLIB)
.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
-_LIBS+= lib${LIB}_p.a
+_LIBS+= lib${LIB_PRIVATE}${LIB}_p.a
POBJS+= ${OBJS:.o=.po} ${STATICOBJS:.o=.po}
NOPATH_FILES+= ${POBJS}
-lib${LIB}_p.a: ${POBJS}
+lib${LIB_PRIVATE}${LIB}_p.a: ${POBJS}
@${ECHO} building profiled ${LIB} library
@rm -f ${.TARGET}
@${AR} ${ARFLAGS} ${.TARGET} `NM='${NM}' lorder ${POBJS} | tsort -q` ${ARADD}
@@ -243,9 +235,9 @@ ${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL}
.endif #defined(SHLIB_NAME)
.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
-_LIBS+= lib${LIB}_pic.a
+_LIBS+= lib${LIB_PRIVATE}${LIB}_pic.a
-lib${LIB}_pic.a: ${SOBJS}
+lib${LIB_PRIVATE}${LIB}_pic.a: ${SOBJS}
@${ECHO} building special pic ${LIB} library
@rm -f ${.TARGET}
@${AR} ${ARFLAGS} ${.TARGET} ${SOBJS} ${ARADD}
@@ -305,13 +297,13 @@ _SHLINSTALLFLAGS:= ${_SHLINSTALLFLAGS${ie}}
realinstall: _libinstall
.ORDER: beforeinstall _libinstall
_libinstall:
-.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no" && !defined(PRIVATELIB)
+.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${_LIBDIR}
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}
.endif
-.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB) && !defined(PRIVATELIB)
+.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${_LIBDIR}
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}
.endif
.if defined(SHLIB_NAME)
${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
@@ -325,7 +317,7 @@ _libinstall:
${_INSTALLFLAGS} \
${SHLIB_NAME}.debug ${DESTDIR}${DEBUGFILEDIR}
.endif
-.if defined(SHLIB_LINK) && !defined(PRIVATELIB)
+.if defined(SHLIB_LINK)
# ${_SHLIBDIRPREFIX} and ${_LDSCRIPTROOT} are both needed when cross-building
# and when building 32 bits library shims. ${_SHLIBDIRPREFIX} is the directory
# prefix where shared objects will be installed by the install target.
@@ -366,7 +358,7 @@ _libinstall:
.endif # SHLIB_LDSCRIPT
.endif # SHLIB_LINK
.endif # SHIB_NAME
-.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no" && !defined(PRIVATELIB)
+.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}
.endif
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index 3fb70d1..8366ade 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -51,10 +51,6 @@ STRIP?= -s
LDFLAGS+= -static
.endif
-.if defined(USEPRIVATELIB)
-LDFLAGS+= -L${_SHLIBDIRPREFIX}${LIBPRIVATEDIR} -rpath ${LIBPRIVATEDIR}
-.endif
-
.if ${MK_DEBUG_FILES} != "no"
PROG_FULL=${PROG}.full
# Use ${DEBUGDIR} for base system debug files, else .debug subdirectory
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 512ad2f..192bc00 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -15,6 +15,7 @@ _PRIVATELIBS= \
atf_c \
atf_cxx \
bsdstat \
+ event \
heimipcc \
heimipcs \
ldns \
@@ -28,7 +29,6 @@ _INTERNALIBS= \
bsnmptools \
cron \
elftc \
- event \
fifolog \
ipf \
lpr \
@@ -233,18 +233,25 @@ _DP_vmmapi= util
# Define spacial cases
LDADD_supcplusplus= -lsupc++
-LDADD_atf_c= -L${LIBATF_CDIR} -latf-c
-LDADD_atf_cxx= -L${LIBATF_CXXDIR} -latf-c++
+LIBATF_C= ${DESTDIR}${LIBDIR}/libprivateatf-c.a
+LIBATF_CXX= ${DESTDIR}${LIBDIR}/libprivateatf-c++.a
+LDADD_atf_c= -lprivateatf-c
+LDADD_atf_cxx= -lprivateatf-c++
+
+.for _l in ${_PRIVATELIBS}
+LIB${_l:tu}?= ${DESTDIR}${LIBDIR}/libprivate${_l}.a
+.endfor
.for _l in ${_LIBRARIES}
-.if ${_PRIVATELIBS:M${_l}}
-LDADD_${_l}_L+= -L${LIB${_l:tu}DIR}
-.endif
.if ${_INTERNALIBS:M${_l}}
LDADD_${_l}_L+= -L${LIB${_l:tu}DIR}
.endif
DPADD_${_l}?= ${LIB${_l:tu}}
+.if ${_PRIVATELIBS:M${_l}}
+LDADD_${_l}?= -lprivate${_l}
+.else
LDADD_${_l}?= ${LDADD_${_l}_L} -l${_l}
+.endif
.if defined(_DP_${_l}) && defined(NO_SHARED)
.for _d in ${_DP_${_l}}
DPADD_${_l}+= ${DPADD_${_d}}
@@ -253,12 +260,12 @@ LDADD_${_l}+= ${LDADD_${_d}}
.endif
.endfor
-DPADD_sqlite3+= ${DPADD_pthread}
-LDADD_sqlite3+= ${LDADD_pthread}
-
DPADD_atf_cxx+= ${DPADD_atf_c}
LDADD_atf_cxx+= ${LDADD_atf_c}
+DPADD_sqlite3+= ${DPADD_pthread}
+LDADD_sqlite3+= ${LDADD_pthread}
+
DPADD_fifolog+= ${DPADD_z}
LDADD_fifolog+= ${LDADD_z}
@@ -290,55 +297,15 @@ LDADD+= ${LDADD_${_l}}
.error Missing ${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/DPADD_/} variable add "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//}" to _LIBRARIES, _INTERNALLIBS, or _PRIVATELIBS and define "${DPADD:Mmissing-dpadd_*:S/missing-dpadd_//:S/^/LIB/:tu}".
.endif
-.if defined(USEPRIVATELIB)
-LDFLAGS+= -rpath ${LIBPRIVATEDIR}
-.endif
-
-LIBATF_CDIR= ${ROOTOBJDIR}/lib/atf/libatf-c
-LDATF_C?= ${LIBATF_CDIR}/libatf-c.so
-LIBATF_C?= ${LIBATF_CDIR}/libatf-c.a
-
-LIBATF_CXXDIR= ${ROOTOBJDIR}/lib/atf/libatf-c++
-LDATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++.so
-LIBATF_CXX?= ${LIBATF_CXXDIR}/libatf-c++.a
-
-LIBBSDSTATDIR= ${ROOTOBJDIR}/lib/libbsdstat
-LIBBSDSTAT?= ${LIBBSDSTATDIR}/libbsdstat.a
-
LIBELFTCDIR= ${ROOTOBJDIR}/lib/libelftc
-LDELFTC?= ${LIBELFTCDIR}/libelftc.a
LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
-LIBEVENTDIR= ${ROOTOBJDIR}/lib/libevent
-LIBEVENT?= ${LIBEVENTDIR}/libevent.a
-
-LIBHEIMIPCCDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcc
-LIBHEIMIPCC?= ${LIBHEIMIPCCDIR}/libheimipcc.a
-
-LIBHEIMIPCSDIR= ${ROOTOBJDIR}/kerberos5/lib/libheimipcs
-LIBHEIMIPCS?= ${LIBHEIMIPCSDIR}/libheimipcs.a
-
-LIBLDNSDIR= ${ROOTOBJDIR}/lib/libldns
-LIBLDNS?= ${LIBLDNSDIR}/libldns.a
-
-LIBSSHDIR= ${ROOTOBJDIR}/secure/lib/libssh
-LIBSSH?= ${LIBSSHDIR}/libssh.a
-
-LIBUNBOUNDDIR= ${ROOTOBJDIR}/lib/libunbound
-LIBUNBOUND?= ${LIBUNBOUNDDIR}/libunbound.a
-
-LIBUCLDIR= ${ROOTOBJDIR}/lib/libucl
-LIBUCL?= ${LIBUCLDIR}/libucl.a
-
LIBREADLINEDIR= ${ROOTOBJDIR}/gnu/lib/libreadline/readline
LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a
LIBOHASHDIR= ${ROOTOBJDIR}/lib/libohash
LIBOHASH?= ${LIBOHASHDIR}/libohash.a
-LIBSQLITE3DIR= ${ROOTOBJDIR}/lib/libsqlite3
-LIBSQLITE3?= ${LIBSQLITE3DIR}/libsqlite3.a
-
LIBMANDOCDIR= ${ROOTOBJDIR}/lib/libmandoc
LIBMANDOC?= ${LIBMANDOCDIR}/libmandoc.a
OpenPOWER on IntegriCloud