aboutsummaryrefslogtreecommitdiff
path: root/share/mk
diff options
context:
space:
mode:
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.lib.mk13
-rw-r--r--share/mk/bsd.libnames.mk1
-rw-r--r--share/mk/bsd.man.mk34
-rw-r--r--share/mk/bsd.prog.mk4
-rw-r--r--share/mk/local.dirdeps-options.mk1
-rw-r--r--share/mk/src.libnames.mk11
-rw-r--r--share/mk/src.opts.mk12
7 files changed, 66 insertions, 10 deletions
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 065e635ed43d..159957b6300b 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -82,7 +82,18 @@ DEV_TAG_ARGS= ${TAG_ARGS},dev
.else
DEV_TAG_ARGS= ${TAG_ARGS}
.endif
-.endif # !defined(NO_ROOT)
+
+.endif # defined(NO_ROOT)
+
+# By default, put library manpages in the -dev subpackage, since they're not
+# usually interesting if the development files aren't installed. For pages
+# that should be installed in the base package, define a new MANNODEV group.
+# Note that bsd.man.mk ignores this setting if MANSPLITPKG is enabled: then
+# manpages are always installed in the -man subpackage.
+MANSUBPACKAGE?= -dev
+MANGROUPS?= MAN
+MANGROUPS+= MANNODEV
+MANNODEVSUBPACKAGE=
# ELF hardening knobs
.if ${MK_BIND_NOW} != "no"
diff --git a/share/mk/bsd.libnames.mk b/share/mk/bsd.libnames.mk
index 3ff4c4e90a1b..2f099e0579b2 100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@ -27,6 +27,7 @@ LIBAVL?= ${LIBDESTDIR}${LIBDIR_BASE}/libavl.a
LIBBE?= ${LIBDESTDIR}${LIBDIR_BASE}/libbe.a
LIBBEGEMOT?= ${LIBDESTDIR}${LIBDIR_BASE}/libbegemot.a
LIBBLACKLIST?= ${LIBDESTDIR}${LIBDIR_BASE}/libblacklist.a
+LIBBLOCKLIST?= ${LIBDESTDIR}${LIBDIR_BASE}/libblocklist.a
LIBBLOCKSRUNTIME?= ${LIBDESTDIR}${LIBDIR_BASE}/libBlocksRuntime.a
LIBBLUETOOTH?= ${LIBDESTDIR}${LIBDIR_BASE}/libbluetooth.a
LIBBSDXML?= ${LIBDESTDIR}${LIBDIR_BASE}/libbsdxml.a
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index 0a3594e05d94..dde11afb8283 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -61,6 +61,16 @@
MANGROUPS?= MAN
+# MAN_SUBPACKAGE is the subpackage manpages will be installed in. When
+# MANSPLITPKG is enabled, this is ignored and the subpackage is forced
+# to be "-man", otherwise it defaults to empty so manpages go in the
+# base package. This can be set to "-dev" for manpages that should go
+# in the -dev package.
+MAN_SUBPACKAGE?=
+
+# The default man package, if not otherwise specified.
+MAN_PACKAGE= ${PACKAGE:Uutilities}
+
# Backwards compatibility.
MINSTALL?= ${MANINSTALL}
@@ -97,6 +107,14 @@ manlinksinstall: .PHONY
all-man:
+# Take groups from both MANGROUPS and MANGROUPS.yes, to allow syntax like
+# MANGROUPS.${MK_FOO}=FOO. Sort and uniq the list of groups in case of
+# duplicates.
+.if defined(MANGROUPS) || defined(MANGROUPS.yes)
+MANGROUPS:=${MANGROUPS} ${MANGROUPS.yes}
+MANGROUPS:=${MANGROUPS:O:u}
+.endif
+
.for __group in ${MANGROUPS}
realmaninstall: realmaninstall-${__group}
@@ -105,17 +123,19 @@ manlinksinstall: manlinksinstall-${__group}
${__group}OWN?= ${MANOWN}
${__group}GRP?= ${MANGRP}
${__group}MODE?= ${MANMODE}
-${__group}PACKAGE?= ${PACKAGE:Uutilities}
+# If MANSPLITPKG is enabled, ignore the requested man subpackage and put the
+# manpages in -man instead.
+.if ${MK_MANSPLITPKG} == "yes"
+${__group}SUBPACKAGE= -man
+.else
+${__group}SUBPACKAGE?= ${MAN_SUBPACKAGE}
+.endif
+${__group}PACKAGE?= ${MAN_PACKAGE}${${__group}SUBPACKAGE}
# Tag processing is only done for NO_ROOT installs.
.if defined(NO_ROOT)
-
.if !defined(${__group}TAGS) || ! ${${__group}TAGS:Mpackage=*}
-.if ${MK_MANSPLITPKG} == "no" || ${${__group}PACKAGE:M*-man}
-${__group}TAGS+= package=${${__group}PACKAGE}
-.else
-${__group}TAGS+= package=${${__group}PACKAGE}-man
-.endif
+${__group}TAGS+= package=${${__group}PACKAGE}
.endif
${__group}TAG_ARGS= -T ${${__group}TAGS:ts,:[*]}
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index 10e1c177e2b2..5697845079e2 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -49,9 +49,11 @@ CXXFLAGS+= -mretpoline
LDFLAGS+= -Wl,-zretpolineplt
.endif
.else
+.if !defined(_NO_INCLUDE_COMPILERMK)
.warning Retpoline requested but not supported by compiler or linker
.endif
.endif
+.endif
# LLD sensibly defaults to -znoexecstack, so do the same for BFD
LDFLAGS.bfd+= -Wl,-znoexecstack
.if ${MK_BRANCH_PROTECTION} != "no"
@@ -71,9 +73,11 @@ CFLAGS+= -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clan
CXXFLAGS+= -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang
.endif
.else
+.if !defined(_NO_INCLUDE_COMPILERMK)
.warning INIT_ALL (${OPT_INIT_ALL}) requested but not supported by compiler
.endif
.endif
+.endif
# Zero used registers on return (mitigate some ROP)
.if ${MK_ZEROREGS} != "no"
diff --git a/share/mk/local.dirdeps-options.mk b/share/mk/local.dirdeps-options.mk
index 4eef5311375e..5773c4979e56 100644
--- a/share/mk/local.dirdeps-options.mk
+++ b/share/mk/local.dirdeps-options.mk
@@ -2,6 +2,7 @@
# avoid duplication
DIRDEPS.AUDIT.yes= lib/libbsm
DIRDEPS.BLACKLIST_SUPPORT.yes+= lib/libblacklist
+DIRDEPS.BLOCKLIST_SUPPORT.yes+= lib/libblocklist
DIRDEPS.CASPER.yes+= lib/libcasper/libcasper
DIRDEPS.GSSAPI.yes+= lib/libgssapi
DIRDEPS.JAIL.yes+= lib/libjail
diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk
index 3e108591251a..fd0424a96d9b 100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@ -29,6 +29,7 @@ _PRIVATELIBS= \
heimipcs \
kldelf \
ldns \
+ opencsd \
samplerate \
sqlite3 \
ssh \
@@ -264,8 +265,12 @@ _LIBRARIES+= \
.if ${MK_BLACKLIST} != "no"
_LIBRARIES+= \
- blacklist \
+ blacklist
+.endif
+.if ${MK_BLOCKLIST} != "no"
+_LIBRARIES+= \
+ blocklist
.endif
.if ${MK_OFED} != "no"
@@ -319,6 +324,9 @@ _DP_zstd= pthread
.if ${MK_BLACKLIST} != "no"
_DP_blacklist+= pthread
.endif
+.if ${MK_BLOCKLIST} != "no"
+_DP_blocklist+= pthread
+.endif
_DP_crypto= pthread
# See comment by _DP_archive above
.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING)
@@ -865,6 +873,7 @@ LIBGTESTDIR= ${_LIB_OBJTOP}/lib/googletest/gtest
LIBGTEST_MAINDIR= ${_LIB_OBJTOP}/lib/googletest/gtest_main
LIBALIASDIR= ${_LIB_OBJTOP}/lib/libalias/libalias
LIBBLACKLISTDIR= ${_LIB_OBJTOP}/lib/libblacklist
+LIBBLOCKLISTDIR= ${_LIB_OBJTOP}/lib/libblocklist
LIBBLOCKSRUNTIMEDIR= ${_LIB_OBJTOP}/lib/libblocksruntime
LIBBSNMPDIR= ${_LIB_OBJTOP}/lib/libbsnmp/libbsnmp
LIBCASPERDIR= ${_LIB_OBJTOP}/lib/libcasper/libcasper
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index 9bd4e6a1842f..e10455cd4e82 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -66,6 +66,7 @@ __DEFAULT_YES_OPTIONS = \
AUTOFS \
BHYVE \
BLACKLIST \
+ BLOCKLIST \
BLUETOOTH \
BOOT \
BOOTPARAMD \
@@ -242,6 +243,7 @@ __LIBC_MALLOC_DEFAULT= jemalloc
#
.for var in \
BLACKLIST \
+ BLOCKLIST \
BZIP2 \
INET \
INET6 \
@@ -300,7 +302,7 @@ __DEFAULT_NO_OPTIONS+=FDT
__DEFAULT_YES_OPTIONS+=FDT
.endif
-.if ${__T:Marm*} == "" && ${__T:Mriscv64*} == ""
+.if ${__T:Mriscv64*} == ""
__DEFAULT_YES_OPTIONS+=LLDB
.else
__DEFAULT_NO_OPTIONS+=LLDB
@@ -391,6 +393,14 @@ MK_SOURCELESS_HOST:= no
MK_SOURCELESS_UCODE:= no
.endif
+.if ${MK_BLACKLIST} == "no"
+MK_BLOCKLIST:= no
+.endif
+
+.if ${MK_BLACKLIST_SUPPORT} == "no"
+MK_BLOCKLIST_SUPPORT:= no
+.endif
+
.if ${MK_CDDL} == "no"
MK_CTF:= no
MK_DTRACE:= no