The branch stable/15 has been updated by christos:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=2bee4bb7f1b3605fa0e44bed4578dc87fca2c694

commit 2bee4bb7f1b3605fa0e44bed4578dc87fca2c694
Author:     Christos Margiolis <[email protected]>
AuthorDate: 2026-01-12 14:16:35 +0000
Commit:     Christos Margiolis <[email protected]>
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

Reply via email to