git: 2bee4bb7f1b3 - stable/15 - src.opts: Introduce MK_SOUND
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 21 Jan 2026 16:07:19 UTC
The branch stable/15 has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?id=2bee4bb7f1b3605fa0e44bed4578dc87fca2c694
commit 2bee4bb7f1b3605fa0e44bed4578dc87fca2c694
Author: Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-01-12 14:16:35 +0000
Commit: Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-01-21 16:06:42 +0000
src.opts: Introduce MK_SOUND
PR: 291853
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj
Differential Revision: https://reviews.freebsd.org/D54456
(cherry picked from commit f74f891581bc4df20431607de9b761107f6a0aa7)
(cherry picked from commit 37164224eefd11278b0203e1367e1d9d1454da3f)
(cherry picked from commit 241a43cf9da8933f500e7d0df7fff621fd52168c)
(cherry picked from commit cf34eb8264954a8fd1e92081bcf67719bddbc2aa)
(cherry picked from commit 466bad427d74e666e85445729b2e63b82e10d18f)
---
lib/Makefile | 4 ++--
libexec/rc/rc.d/Makefile | 8 ++++----
sbin/devd/Makefile | 12 +++++++-----
share/man/man5/src.conf.5 | 7 ++++++-
share/mk/src.opts.mk | 6 ++++++
tools/build/mk/OptionalObsoleteFiles.inc | 13 +++++++++++++
tools/build/options/WITHOUT_SOUND | 4 ++++
tools/build/options/WITH_SOUND | 1 +
usr.bin/Makefile | 4 ++--
usr.sbin/Makefile | 6 +++---
10 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/lib/Makefile b/lib/Makefile
index 216ba1d58473..c3a95f00d4ef 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -73,7 +73,6 @@ SUBDIR= ${SUBDIR_BOOTSTRAP} \
liblzma \
libmemstat \
libmd \
- libmixer \
libmt \
lib80211 \
libnetbsd \
@@ -176,7 +175,6 @@ SUBDIR+= clang
.endif
SUBDIR.${MK_CUSE}+= libcuse
-SUBDIR.${MK_CUSE}+= virtual_oss
SUBDIR.${MK_TOOLCHAIN}+=libpe
SUBDIR.${MK_DIALOG}+= libdpv libfigpar
SUBDIR.${MK_FDT}+= libfdt
@@ -238,6 +236,8 @@ SUBDIR.${MK_PMC}+= libpmc libpmcstat
SUBDIR.${MK_RADIUS_SUPPORT}+= libradius
SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil
SUBDIR.${MK_TELNET}+= libtelnet
+SUBDIR.${MK_SOUND}+= libmixer
+SUBDIR.${MK_CUSE}.${MK_SOUND}+= virtual_oss
SUBDIR.${MK_TESTS_SUPPORT}+= atf
SUBDIR.${MK_TESTS_SUPPORT}+= liblutok
SUBDIR.${MK_TESTS}+= tests
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 3b7f45e8f101..f25338c68766 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -36,7 +36,6 @@ CONFS= DAEMON \
linux \
local \
localpkg \
- mixer \
motd \
mountcritlocal \
mountcritremote \
@@ -301,9 +300,10 @@ CONFGROUPS.${MK_VI}+= VI
VIPACKAGE= vi
VI= virecover
-CONFGROUPS.${MK_CUSE}+= VOSS
-VOSSPACKAGE= sound
-VOSS= virtual_oss
+CONFGROUPS.${MK_SOUND}+= SOUND
+SOUNDPACKAGE= sound
+SOUND= mixer \
+ virtual_oss
CONFGROUPS.${MK_WIRELESS}+= HOSTAPD
HOSTAPDPACKAGE= hostapd
diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
index 553aecf4ee88..3dab9f7c9a25 100644
--- a/sbin/devd/Makefile
+++ b/sbin/devd/Makefile
@@ -32,11 +32,6 @@ CONSOLEDIR= ${DEVDDIR}
CONSOLE+= moused.conf syscons.conf
CONSOLEPACKAGE= console-tools
-CONFGROUPS+= SND
-SNDDIR= ${DEVDDIR}
-SND= snd.conf
-SNDPACKAGE= sound
-
.if ${MK_BLUETOOTH} != "no"
CONFGROUPS+= BLUETOOTH
BLUETOOTHDIR= ${DEVDDIR}
@@ -56,6 +51,13 @@ NVMEDIR= ${DEVDDIR}
NVME+= nvmf.conf
NVMEPACKAGE= nvme-tools
+.if ${MK_SOUND} != "no"
+CONFGROUPS+= SND
+SNDDIR= ${DEVDDIR}
+SND= snd.conf
+SNDPACKAGE= sound
+.endif
+
.if ${MK_USB} != "no"
DEVD+= uath.conf ulpt.conf
.endif
diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5
index bd8a40589d07..e62290c30b7b 100644
--- a/share/man/man5/src.conf.5
+++ b/share/man/man5/src.conf.5
@@ -1,5 +1,5 @@
.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
-.Dd December 21, 2025
+.Dd January 20, 2026
.Dt SRC.CONF 5
.Os
.Sh NAME
@@ -1639,6 +1639,11 @@ legacy docs.
.It Va WITH_SORT_THREADS
Enable threads in
.Xr sort 1 .
+.It Va WITHOUT_SOUND
+Do not build userland sound utilities such as
+.Xr beep 1
+and
+.Xr mixer 8 .
.It Va WITHOUT_SOURCELESS
Do not build kernel modules that include sourceless code (either microcode or native code for host CPU).
When set, it enforces these options:
diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk
index 754f6b2be0d2..1b6ca9b7a5cc 100644
--- a/share/mk/src.opts.mk
+++ b/share/mk/src.opts.mk
@@ -171,6 +171,7 @@ __DEFAULT_YES_OPTIONS = \
SERVICESDB \
SETUID_LOGIN \
SHAREDOCS \
+ SOUND \
SOURCELESS \
SOURCELESS_HOST \
SOURCELESS_UCODE \
@@ -500,6 +501,11 @@ MK_CLANG_FULL:= no
MK_LLVM_COV:= no
.endif
+# CUSE is needed only by virtual_oss, but virtual_oss is part of MK_SOUND.
+.if ${MK_CUSE} == "no"
+MK_SOUND:= no
+.endif
+
.if ${MK_ASAN} == "yes"
# In order to get sensible backtraces from ASAN we have to install
# llvm-symbolizer as /usr/bin/addr2line instead of the elftoolchain version.
diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc
index a7ae52650999..4e602c929568 100644
--- a/tools/build/mk/OptionalObsoleteFiles.inc
+++ b/tools/build/mk/OptionalObsoleteFiles.inc
@@ -7387,6 +7387,19 @@ OLD_DIRS+=var/spool/clientmqueue
OLD_FILES+=var/db/services.db
.endif
+.if ${MK_SOUND} == no
+OLD_DIRS+=lib/mixer
+OLD_DIRS+=lib/virtual_oss
+OLD_DIRS+=usr.bin/beep
+OLD_DIRS+=usr.bin/mididump
+OLD_DIRS+=usr.sbin/mixer
+OLD_DIRS+=usr.sbin/sndctl
+OLD_DIRS+=usr.sbin/virtual_oss
+OLD_FILES+=libexec/rc/rc.d/mixer
+OLD_FILES+=libexec/rc/rc.d/virtual_oss
+OLD_FILES+=sbin/devd/snd.conf
+.endif
+
.if ${MK_NUAGEINIT} == no
OLD_FILES+=etc/rc.d/nuageinit
OLD_FILES+=usr/libexec/nuageinit
diff --git a/tools/build/options/WITHOUT_SOUND b/tools/build/options/WITHOUT_SOUND
new file mode 100644
index 000000000000..b4ca08f1263c
--- /dev/null
+++ b/tools/build/options/WITHOUT_SOUND
@@ -0,0 +1,4 @@
+Do not build userland sound utilities such as
+.Xr beep 1
+and
+.Xr mixer 8 .
diff --git a/tools/build/options/WITH_SOUND b/tools/build/options/WITH_SOUND
new file mode 100644
index 000000000000..0e2de52511ac
--- /dev/null
+++ b/tools/build/options/WITH_SOUND
@@ -0,0 +1 @@
+Compile with sound utilities and libraries support.
diff --git a/usr.bin/Makefile b/usr.bin/Makefile
index da1a9b3a681f..6d703c151135 100644
--- a/usr.bin/Makefile
+++ b/usr.bin/Makefile
@@ -7,7 +7,6 @@ SUBDIR= alias \
backlight \
banner \
basename \
- beep \
bintrans \
brandelf \
bsdcat \
@@ -86,7 +85,6 @@ SUBDIR= alias \
mandoc \
mdo \
mesg \
- mididump \
ministat \
mkdep \
mkfifo \
@@ -240,6 +238,8 @@ SUBDIR.${MK_NIS}+= ypwhich
SUBDIR.${MK_OPENSSH}+= ssh-copy-id
SUBDIR.${MK_QUOTAS}+= quota
SUBDIR.${MK_SENDMAIL}+= vacation
+SUBDIR.${MK_SOUND}+= beep
+SUBDIR.${MK_SOUND}+= mididump
SUBDIR.${MK_TALK}+= talk
SUBDIR.${MK_TELNET}+= telnet
SUBDIR.${MK_TESTS_SUPPORT}+= kyua
diff --git a/usr.sbin/Makefile b/usr.sbin/Makefile
index 0290ed4f1c58..3d3a8443a7cf 100644
--- a/usr.sbin/Makefile
+++ b/usr.sbin/Makefile
@@ -41,7 +41,6 @@ SUBDIR= adduser \
makefs \
memcontrol \
mfiutil \
- mixer \
mlxcontrol \
mountd \
mount_smbfs \
@@ -84,7 +83,6 @@ SUBDIR= adduser \
setpmac \
smbmsg \
snapinfo \
- sndctl \
spi \
spray \
syslogd \
@@ -131,7 +129,6 @@ SUBDIR.${MK_BSNMP}+= bsnmpd
.if ${MK_CAROOT} != "no"
SUBDIR.${MK_OPENSSL}+= certctl
.endif
-SUBDIR.${MK_CUSE}+= virtual_oss
SUBDIR.${MK_CXGBETOOL}+= cxgbetool
SUBDIR.${MK_EFI}+= efivar efidp efibootmgr efitable efiwake
.if ${MK_OPENSSL} != "no"
@@ -200,6 +197,9 @@ SUBDIR.${MK_SENDMAIL}+= mailstats
SUBDIR.${MK_SENDMAIL}+= makemap
SUBDIR.${MK_SENDMAIL}+= praliases
SUBDIR.${MK_SENDMAIL}+= sendmail
+SUBDIR.${MK_SOUND}+= mixer
+SUBDIR.${MK_SOUND}+= sndctl
+SUBDIR.${MK_CUSE}.${MK_SOUND}+= virtual_oss
SUBDIR.${MK_TCP_WRAPPERS}+= tcpdchk
SUBDIR.${MK_TCP_WRAPPERS}+= tcpdmatch
SUBDIR.${MK_TOOLCHAIN}+= config