summaryrefslogtreecommitdiff
path: root/static/freebsd/man5/src.conf.5 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man5/src.conf.5 3.html')
-rw-r--r--static/freebsd/man5/src.conf.5 3.html1550
1 files changed, 1550 insertions, 0 deletions
diff --git a/static/freebsd/man5/src.conf.5 3.html b/static/freebsd/man5/src.conf.5 3.html
new file mode 100644
index 00000000..02e1e0b3
--- /dev/null
+++ b/static/freebsd/man5/src.conf.5 3.html
@@ -0,0 +1,1550 @@
+<table class="head">
+ <tr>
+ <td class="head-ltitle">SRC.CONF(5)</td>
+ <td class="head-vol">File Formats Manual</td>
+ <td class="head-rtitle">SRC.CONF(5)</td>
+ </tr>
+</table>
+<div class="manual-text">
+<section class="Sh">
+<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
+<p class="Pp"><code class="Nm">src.conf</code> &#x2014; <span class="Nd">source
+ build options</span></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
+<p class="Pp">The <code class="Nm">src.conf</code> file contains variables that
+ control what components will be generated during the build process of the
+ <span class="Ux">FreeBSD</span> source tree; see
+ <a class="Xr">build(7)</a>.</p>
+<p class="Pp">The <code class="Nm">src.conf</code> file uses the standard
+ makefile syntax. However, <code class="Nm">src.conf</code> should not
+ specify any dependencies to <a class="Xr">make(1)</a>. Instead,
+ <code class="Nm">src.conf</code> is to set <a class="Xr">make(1)</a>
+ variables that control the aspects of how the system builds.</p>
+<p class="Pp">The default location of <code class="Nm">src.conf</code> is the
+ top level of the source tree, or <span class="Pa">/etc/src.conf</span> if no
+ <code class="Nm">src.conf</code> is found in the source tree itself, though
+ an alternative location can be specified in the <a class="Xr">make(1)</a>
+ variable <var class="Va">SRCCONF</var>. Overriding the location of
+ <code class="Nm">src.conf</code> may be necessary if the system-wide
+ settings are not suitable for a particular build. For instance, setting
+ <var class="Va">SRCCONF</var> to <span class="Pa">/dev/null</span>
+ effectively resets all build controls to their defaults.</p>
+<p class="Pp">The only purpose of <code class="Nm">src.conf</code> is to control
+ the compilation of the <span class="Ux">FreeBSD</span> source code, which is
+ usually located in <span class="Pa">/usr/src</span>. As a rule, the system
+ administrator creates <code class="Nm">src.conf</code> when the values of
+ certain control variables need to be changed from their defaults.</p>
+<p class="Pp">In addition, control variables can be specified for a particular
+ build via the <code class="Fl">-D</code> option of <a class="Xr">make(1)</a>
+ or in its environment; see <a class="Xr">environ(7)</a>.</p>
+<p class="Pp">The environment of <a class="Xr">make(1)</a> for the build can be
+ controlled via the <var class="Va">SRC_ENV_CONF</var> variable, which
+ defaults to <span class="Pa">/etc/src-env.conf</span>. Some examples that
+ may only be set in this file are <var class="Va">WITH_DIRDEPS_BUILD</var>,
+ and <var class="Va">WITH_META_MODE</var>, and
+ <var class="Va">MAKEOBJDIRPREFIX</var> as they are environment-only
+ variables.</p>
+<p class="Pp">The values of <var class="Va">WITH_</var> and
+ <var class="Va">WITHOUT_</var> variables are ignored regardless of their
+ setting; even if they would be set to
+ &#x201C;<code class="Li">FALSE</code>&#x201D; or
+ &#x201C;<code class="Li">NO</code>&#x201D;. The presence of an option causes
+ it to be honored by <a class="Xr">make(1)</a>.</p>
+<p class="Pp">This list provides a name and short description for variables that
+ can be used for source builds.</p>
+<dl class="Bl-tag">
+ <dt id="WITHOUT_ACCT"><var class="Va">WITHOUT_ACCT</var></dt>
+ <dd>Do not build process accounting tools such as <a class="Xr">accton(8)</a>
+ and <a class="Xr">sa(8)</a>.</dd>
+ <dt id="WITHOUT_ACPI"><var class="Va">WITHOUT_ACPI</var></dt>
+ <dd>Do not build <a class="Xr">acpiconf(8)</a>, <a class="Xr">acpidump(8)</a>
+ and related programs.</dd>
+ <dt id="WITHOUT_APM"><var class="Va">WITHOUT_APM</var></dt>
+ <dd>Do not build <a class="Xr">apm(8)</a>, <a class="Xr">apmd(8)</a> and
+ related programs.</dd>
+ <dt id="WITH_ASAN"><var class="Va">WITH_ASAN</var></dt>
+ <dd>Build the base system with Address Sanitizer (ASan) to detect memory
+ corruption bugs such as buffer overflows or use-after-free. Requires that
+ Clang be used as the base system compiler and that the runtime support
+ library is available. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITH_LLVM_BINUTILS"><var class="Va">WITH_LLVM_BINUTILS</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_ASSERT_DEBUG"><var class="Va">WITHOUT_ASSERT_DEBUG</var></dt>
+ <dd>Compile programs and libraries without the <a class="Xr">assert(3)</a>
+ checks.</dd>
+ <dt id="WITHOUT_AT"><var class="Va">WITHOUT_AT</var></dt>
+ <dd>Do not build <a class="Xr">at(1)</a> and related utilities.</dd>
+ <dt id="WITHOUT_AUDIT"><var class="Va">WITHOUT_AUDIT</var></dt>
+ <dd>Do not build audit support into system programs.</dd>
+ <dt id="WITHOUT_AUTHPF"><var class="Va">WITHOUT_AUTHPF</var></dt>
+ <dd>Do not build <a class="Xr">authpf(8)</a>.</dd>
+ <dt id="WITHOUT_AUTOFS"><var class="Va">WITHOUT_AUTOFS</var></dt>
+ <dd>Do not build <a class="Xr">autofs(4)</a> related programs, libraries, and
+ kernel modules.</dd>
+ <dt id="WITHOUT_AUTO_OBJ"><var class="Va">WITHOUT_AUTO_OBJ</var></dt>
+ <dd>Disable automatic creation of objdirs. This is enabled by default if the
+ wanted OBJDIR is writable by the current user.
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITH_BEARSSL"><var class="Va">WITH_BEARSSL</var></dt>
+ <dd>Build the BearSSL library.
+ <p class="Pp">BearSSL is a tiny SSL library suitable for embedded
+ environments. For details see
+ <a class="Lk" href="https://www.BearSSL.org/">https://www.BearSSL.org/</a></p>
+ <p class="Pp">This library is currently only used to perform signature
+ verification and related operations for Verified Exec and
+ <a class="Xr">loader(8)</a>.</p>
+ <p class="Pp">Due to size constraints in the BIOS environment on x86, one
+ may need to set <var class="Va">LOADERSIZE</var> larger than the default
+ 500000, although often loader is under the 500k limit even with this
+ option. Setting <var class="Va">LOADERSIZE</var> larger than 500000 may
+ cause <a class="Xr">pxeboot(8)</a> to be too large to work. Careful
+ testing of the loader in the target environment when built with a larger
+ limit to establish safe limits is critical because different BIOS
+ environments reserve differing amounts of the low 640k space, making a
+ precise limit for everybody impossible.</p>
+ <p class="Pp">See also <var class="Va">WITH_LOADER_PXEBOOT</var> for other
+ considerations. When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITH_LOADER_EFI_SECUREBOOT"><var class="Va">WITH_LOADER_EFI_SECUREBOOT</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_LOADER_EFI_SECUREBOOT</var> is set
+ explicitly)</dd>
+ <dt id="WITH_LOADER_VERIEXEC"><var class="Va">WITH_LOADER_VERIEXEC</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_LOADER_VERIEXEC</var> is set
+ explicitly)</dd>
+ <dt id="WITH_LOADER_VERIEXEC_VECTX"><var class="Va">WITH_LOADER_VERIEXEC_VECTX</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_LOADER_VERIEXEC_VECTX</var> is set
+ explicitly)</dd>
+ <dt id="WITH_VERIEXEC"><var class="Va">WITH_VERIEXEC</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_VERIEXEC</var> is set explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_BHYVE"><var class="Va">WITHOUT_BHYVE</var></dt>
+ <dd>Do not build or install <a class="Xr">bhyve(8)</a>, associated utilities,
+ and examples.
+ <p class="Pp">This option only affects amd64/amd64 and arm64/aarch64.</p>
+ </dd>
+ <dt id="WITH_BHYVE_SNAPSHOT"><var class="Va">WITH_BHYVE_SNAPSHOT</var></dt>
+ <dd>Include support for save and restore (snapshots) in
+ <a class="Xr">bhyve(8)</a> and <a class="Xr">bhyvectl(8)</a>.
+ <p class="Pp">This option only affects amd64/amd64.</p>
+ </dd>
+ <dt id="WITH_BIND_NOW"><var class="Va">WITH_BIND_NOW</var></dt>
+ <dd>Build all binaries with the <code class="Dv">DF_BIND_NOW</code> flag set
+ to indicate that the run-time loader should perform all relocation
+ processing at process startup rather than on demand. The combination of
+ the <var class="Va">BIND_NOW</var> and <var class="Va">RELRO</var> options
+ provide &quot;full&quot; Relocation Read-Only (RELRO) support. With full
+ RELRO the entire GOT is made read-only after performing relocation at
+ startup, avoiding GOT overwrite attacks.</dd>
+ <dt id="WITHOUT_BLACKLIST"><var class="Va">WITHOUT_BLACKLIST</var></dt>
+ <dd>This option has been renamed to <var class="Va">WITHOUT_BLOCKLIST</var>.
+ When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_BLOCKLIST"><var class="Va">WITHOUT_BLOCKLIST</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_BLACKLIST_SUPPORT"><var class="Va">WITHOUT_BLACKLIST_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_BLACKLIST_SUPPORT</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_BLOCKLIST_SUPPORT"><var class="Va">WITHOUT_BLOCKLIST_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_BLOCKLIST_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_BLACKLIST_SUPPORT~2"><var class="Va">WITHOUT_BLACKLIST_SUPPORT</var></dt>
+ <dd>This option has been renamed to
+ <var class="Va">WITHOUT_BLOCKLIST_SUPPORT</var>. When set, it enforces
+ these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_BLOCKLIST_SUPPORT~2"><var class="Va">WITHOUT_BLOCKLIST_SUPPORT</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_BLOCKLIST~2"><var class="Va">WITHOUT_BLOCKLIST</var></dt>
+ <dd>Set this if you do not want to build <a class="Xr">blocklistd(8)</a> and
+ <a class="Xr">blocklistctl(8)</a>. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_BLACKLIST~2"><var class="Va">WITHOUT_BLACKLIST</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_BLACKLIST_SUPPORT~3"><var class="Va">WITHOUT_BLACKLIST_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_BLACKLIST_SUPPORT</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_BLOCKLIST_SUPPORT~3"><var class="Va">WITHOUT_BLOCKLIST_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_BLOCKLIST_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_BLOCKLIST_SUPPORT~4"><var class="Va">WITHOUT_BLOCKLIST_SUPPORT</var></dt>
+ <dd>Build some programs without <a class="Xr">libblocklist(3)</a> support,
+ like <a class="Xr">fingerd(8)</a> and <a class="Xr">sshd(8)</a>. When set,
+ it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_BLACKLIST_SUPPORT~4"><var class="Va">WITHOUT_BLACKLIST_SUPPORT</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_BLUETOOTH"><var class="Va">WITHOUT_BLUETOOTH</var></dt>
+ <dd>Do not build Bluetooth related kernel modules, programs and
+ libraries.</dd>
+ <dt id="WITHOUT_BOOT"><var class="Va">WITHOUT_BOOT</var></dt>
+ <dd>Do not build the boot blocks and loader.</dd>
+ <dt id="WITHOUT_BOOTPARAMD"><var class="Va">WITHOUT_BOOTPARAMD</var></dt>
+ <dd>Do not build or install <a class="Xr">bootparamd(8)</a>.</dd>
+ <dt id="WITHOUT_BOOTPD"><var class="Va">WITHOUT_BOOTPD</var></dt>
+ <dd>Do not build or install <a class="Xr">bootpd(8)</a>.</dd>
+ <dt id="WITH_BRANCH_PROTECTION"><var class="Va">WITH_BRANCH_PROTECTION</var></dt>
+ <dd>Build with branch protection enabled. On arm64 enable the use of pointer
+ authentication and branch target identification instructions on arm64.
+ These can be used to help mitigate some exploit techniques.</dd>
+ <dt id="WITHOUT_BSDINSTALL"><var class="Va">WITHOUT_BSDINSTALL</var></dt>
+ <dd>Do not build <a class="Xr">bsdinstall(8)</a>, <a class="Xr">sade(8)</a>,
+ and related programs.</dd>
+ <dt id="WITHOUT_BSNMP"><var class="Va">WITHOUT_BSNMP</var></dt>
+ <dd>Do not build or install <a class="Xr">bsnmpd(1)</a> and related libraries
+ and data files.</dd>
+ <dt id="WITHOUT_CALENDAR"><var class="Va">WITHOUT_CALENDAR</var></dt>
+ <dd>Do not build <a class="Xr">calendar(1)</a>.</dd>
+ <dt id="WITHOUT_CAROOT"><var class="Va">WITHOUT_CAROOT</var></dt>
+ <dd>Do not add the trusted certificates from the Mozilla NSS bundle to
+ base.</dd>
+ <dt id="WITHOUT_CASPER"><var class="Va">WITHOUT_CASPER</var></dt>
+ <dd>This option has no effect.</dd>
+ <dt id="WITH_CCACHE_BUILD"><var class="Va">WITH_CCACHE_BUILD</var></dt>
+ <dd>Use <a class="Xr">ccache(1)</a> for the build. No configuration is
+ required except to install the
+ <a class="permalink" href="#devel/ccache"><b class="Sy" id="devel/ccache">devel/ccache</b></a>
+ or
+ <a class="permalink" href="#devel/sccache"><b class="Sy" id="devel/sccache">devel/sccache</b></a>
+ package. When using with <a class="Xr">distcc(1)</a>, set
+ <a class="permalink" href="#CCACHE_PREFIX=/usr/local/bin/distcc"><b class="Sy" id="CCACHE_PREFIX=/usr/local/bin/distcc">CCACHE_PREFIX=/usr/local/bin/distcc</b></a>.
+ When using with sccache set
+ <a class="permalink" href="#CCACHE_NAME=sccache"><b class="Sy" id="CCACHE_NAME=sccache">CCACHE_NAME=sccache</b></a>
+ in <a class="Xr">src.conf(5)</a>. The default cache directory of
+ <span class="Pa">$HOME/.ccache</span> will be used, which can be
+ overridden by setting
+ <a class="permalink" href="#CCACHE_DIR"><b class="Sy" id="CCACHE_DIR">CCACHE_DIR</b></a>.
+ The
+ <a class="permalink" href="#CCACHE_COMPILERCHECK"><b class="Sy" id="CCACHE_COMPILERCHECK">CCACHE_COMPILERCHECK</b></a>
+ option defaults to
+ <a class="permalink" href="#content"><b class="Sy" id="content">content</b></a>
+ when using the in-tree bootstrap compiler, and
+ <a class="permalink" href="#mtime"><b class="Sy" id="mtime">mtime</b></a>
+ when using an external compiler. The
+ <a class="permalink" href="#CCACHE_CPP2"><b class="Sy" id="CCACHE_CPP2">CCACHE_CPP2</b></a>
+ option is used for Clang but not GCC.
+ <p class="Pp">Sharing a cache between multiple work directories requires
+ using a layout similar to <span class="Pa">/some/prefix/src</span>
+ <span class="Pa">/some/prefix/obj</span> and an environment such as:</p>
+ <div class="Bd Pp Bd-indent Li">
+ <pre>CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'</pre>
+ </div>
+ <p class="Pp">See <a class="Xr">ccache(1)</a> for more configuration
+ options.</p>
+ </dd>
+ <dt id="WITHOUT_CCD"><var class="Va">WITHOUT_CCD</var></dt>
+ <dd>Do not build <a class="Xr">geom_ccd(4)</a> and related utilities.</dd>
+ <dt id="WITHOUT_CDDL"><var class="Va">WITHOUT_CDDL</var></dt>
+ <dd>Do not build code licensed under Sun's CDDL. When set, it enforces these
+ options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_CTF"><var class="Va">WITHOUT_CTF</var></li>
+ <li id="WITHOUT_DTRACE"><var class="Va">WITHOUT_DTRACE</var></li>
+ <li id="WITHOUT_LOADER_ZFS"><var class="Va">WITHOUT_LOADER_ZFS</var></li>
+ <li id="WITHOUT_ZFS"><var class="Va">WITHOUT_ZFS</var></li>
+ <li id="WITHOUT_ZFS_TESTS"><var class="Va">WITHOUT_ZFS_TESTS</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_CLANG"><var class="Va">WITHOUT_CLANG</var></dt>
+ <dd>Do not build the Clang C/C++ compiler during the regular phase of the
+ build. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_CLANG_EXTRAS"><var class="Va">WITHOUT_CLANG_EXTRAS</var></li>
+ <li id="WITHOUT_CLANG_FORMAT"><var class="Va">WITHOUT_CLANG_FORMAT</var></li>
+ <li id="WITHOUT_CLANG_FULL"><var class="Va">WITHOUT_CLANG_FULL</var></li>
+ <li id="WITHOUT_LLVM_COV"><var class="Va">WITHOUT_LLVM_COV</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_LLVM_TARGET_AARCH64"><var class="Va">WITHOUT_LLVM_TARGET_AARCH64</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_AARCH64</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_ALL"><var class="Va">WITHOUT_LLVM_TARGET_ALL</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_ALL</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_ARM"><var class="Va">WITHOUT_LLVM_TARGET_ARM</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_ARM</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_POWERPC"><var class="Va">WITHOUT_LLVM_TARGET_POWERPC</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_POWERPC</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_RISCV"><var class="Va">WITHOUT_LLVM_TARGET_RISCV</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_RISCV</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_CLANG_BOOTSTRAP"><var class="Va">WITHOUT_CLANG_BOOTSTRAP</var></dt>
+ <dd>Do not build the Clang C/C++ compiler during the bootstrap phase of the
+ build. To be able to build the system, either gcc or clang bootstrap must
+ be enabled unless an alternate compiler is provided via XCC.</dd>
+ <dt id="WITH_CLANG_EXTRAS"><var class="Va">WITH_CLANG_EXTRAS</var></dt>
+ <dd>Build additional clang and llvm tools, such as bugpoint and
+ clang-format.</dd>
+ <dt id="WITH_CLANG_FORMAT"><var class="Va">WITH_CLANG_FORMAT</var></dt>
+ <dd>Build clang-format.</dd>
+ <dt id="WITHOUT_CLANG_FULL~2"><var class="Va">WITHOUT_CLANG_FULL</var></dt>
+ <dd>Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
+ the Clang C/C++ compiler.</dd>
+ <dt id="WITH_CLEAN"><var class="Va">WITH_CLEAN</var></dt>
+ <dd>Clean before building world and/or kernel. Note that recording a new epoch
+ in <span class="Pa">.clean_build_epoch</span> in the root of the source
+ tree will also force a clean world build. When set, these options are also
+ in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_DEPEND_CLEANUP"><var class="Va">WITHOUT_DEPEND_CLEANUP</var></dt>
+ <dd>(unless <var class="Va">WITH_DEPEND_CLEANUP</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_CPP"><var class="Va">WITHOUT_CPP</var></dt>
+ <dd>Do not build <a class="Xr">cpp(1)</a>.</dd>
+ <dt id="WITHOUT_CROSS_COMPILER"><var class="Va">WITHOUT_CROSS_COMPILER</var></dt>
+ <dd>Do not build any cross compiler in the cross-tools stage of buildworld.
+ When compiling a different version of <span class="Ux">FreeBSD</span> than
+ what is installed on the system, provide an alternate compiler with XCC to
+ ensure success. When compiling with an identical version of
+ <span class="Ux">FreeBSD</span> to the host, this option may be safely
+ used. This option may also be safe when the host version of
+ <span class="Ux">FreeBSD</span> is close to the sources being built, but
+ all bets are off if there have been any changes to the toolchain between
+ the versions. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_CLANG_BOOTSTRAP~2"><var class="Va">WITHOUT_CLANG_BOOTSTRAP</var></li>
+ <li id="WITHOUT_ELFTOOLCHAIN_BOOTSTRAP"><var class="Va">WITHOUT_ELFTOOLCHAIN_BOOTSTRAP</var></li>
+ <li id="WITHOUT_LLD_BOOTSTRAP"><var class="Va">WITHOUT_LLD_BOOTSTRAP</var></li>
+ <li id="WITHOUT_LLVM_BINUTILS_BOOTSTRAP"><var class="Va">WITHOUT_LLVM_BINUTILS_BOOTSTRAP</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_CRYPT"><var class="Va">WITHOUT_CRYPT</var></dt>
+ <dd>Do not build any crypto code. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_DMAGENT"><var class="Va">WITHOUT_DMAGENT</var></li>
+ <li id="WITHOUT_KERBEROS"><var class="Va">WITHOUT_KERBEROS</var></li>
+ <li id="WITHOUT_LDNS"><var class="Va">WITHOUT_LDNS</var></li>
+ <li id="WITHOUT_LDNS_UTILS"><var class="Va">WITHOUT_LDNS_UTILS</var></li>
+ <li id="WITHOUT_LOADER_ZFS~2"><var class="Va">WITHOUT_LOADER_ZFS</var></li>
+ <li id="WITHOUT_MITKRB5"><var class="Va">WITHOUT_MITKRB5</var></li>
+ <li id="WITHOUT_OPENSSH"><var class="Va">WITHOUT_OPENSSH</var></li>
+ <li id="WITHOUT_OPENSSL"><var class="Va">WITHOUT_OPENSSL</var></li>
+ <li id="WITHOUT_OPENSSL_KTLS"><var class="Va">WITHOUT_OPENSSL_KTLS</var></li>
+ <li id="WITHOUT_PKGBOOTSTRAP"><var class="Va">WITHOUT_PKGBOOTSTRAP</var></li>
+ <li id="WITHOUT_UNBOUND"><var class="Va">WITHOUT_UNBOUND</var></li>
+ <li id="WITHOUT_ZFS~2"><var class="Va">WITHOUT_ZFS</var></li>
+ <li id="WITHOUT_ZFS_TESTS~2"><var class="Va">WITHOUT_ZFS_TESTS</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_KERBEROS_SUPPORT"><var class="Va">WITHOUT_KERBEROS_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_KERBEROS_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITH_CTF"><var class="Va">WITH_CTF</var></dt>
+ <dd>Compile with CTF (Compact C Type Format) data. CTF data encapsulates a
+ reduced form of debugging information similar to DWARF and the venerable
+ stabs and is required for DTrace.</dd>
+ <dt id="WITHOUT_CUSE"><var class="Va">WITHOUT_CUSE</var></dt>
+ <dd>Do not build CUSE-related programs and libraries.</dd>
+ <dt id="WITHOUT_CXGBETOOL"><var class="Va">WITHOUT_CXGBETOOL</var></dt>
+ <dd>Do not build <a class="Xr">cxgbetool(8)</a>
+ <p class="Pp">This is a default setting on arm/armv7 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_CXGBETOOL"><var class="Va">WITH_CXGBETOOL</var></dt>
+ <dd>Build <a class="Xr">cxgbetool(8)</a>
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITHOUT_DEBUG_FILES"><var class="Va">WITHOUT_DEBUG_FILES</var></dt>
+ <dd>Avoid building or installing standalone debug files for each executable
+ binary and shared library.</dd>
+ <dt id="WITHOUT_DEPEND_CLEANUP~2"><var class="Va">WITHOUT_DEPEND_CLEANUP</var></dt>
+ <dd>Do not attempt to detect if the object tree needs cleaning in part or in
+ whole before building. This speeds up incremental builds, especially when
+ experimenting with build options, but may cause the build to inexplicably
+ fail or produce non-functioning binaries.</dd>
+ <dt id="WITH_DETECT_TZ_CHANGES"><var class="Va">WITH_DETECT_TZ_CHANGES</var></dt>
+ <dd>Make the time handling code detect changes to the timezone files.</dd>
+ <dt id="WITH_DIALOG"><var class="Va">WITH_DIALOG</var></dt>
+ <dd>Do build <a class="Xr">dialog(1)</a>, <a class="Xr">dialog(3)</a>,
+ <a class="Xr">dpv(1)</a>, and <a class="Xr">dpv(3)</a>.</dd>
+ <dt id="WITHOUT_DICT"><var class="Va">WITHOUT_DICT</var></dt>
+ <dd>Do not build the Webster dictionary files.</dd>
+ <dt id="WITH_DIRDEPS_BUILD"><var class="Va">WITH_DIRDEPS_BUILD</var></dt>
+ <dd>This is an alternate build system. For details see
+ https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. Build commands can
+ be seen from the top-level with:
+ <div class="Bd Bd-indent"><code class="Li">make
+ show-valid-targets</code></div>
+ The build is driven by dirdeps.mk using <var class="Va">DIRDEPS</var> stored
+ in Makefile.depend files found in each directory.
+ <p class="Pp">The build can be started from anywhere, and behaves the same.
+ The initial instance of <a class="Xr">make(1)</a> recursively reads
+ <var class="Va">DIRDEPS</var> from
+ <span class="Pa">Makefile.depend</span>, computing a graph of tree
+ dependencies from the current origin. Setting
+ <var class="Va">NO_DIRDEPS</var> skips checking dirdep dependencies and
+ will only build in the current and child directories.
+ <var class="Va">NO_DIRDEPS_BELOW</var> skips building any dirdeps and
+ only build the current directory.</p>
+ <p class="Pp">This also utilizes the <var class="Va">WITH_META_MODE</var>
+ logic for incremental builds.</p>
+ <p class="Pp">The build hides commands executed unless
+ <var class="Va">NO_SILENT</var> is defined.</p>
+ <p class="Pp">Note that there is currently no mass install feature for this.
+ This build is designed for producing packages, that can then be
+ installed on a target system.</p>
+ <p class="Pp">The implementation in <span class="Ux">FreeBSD</span> is
+ incomplete. Completion would require leaf directories for building each
+ kernel and package so that their dependencies can be tracked. When set,
+ it enforces these options:</p>
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITH_INSTALL_AS_USER"><var class="Va">WITH_INSTALL_AS_USER</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITH_META_ERROR_TARGET"><var class="Va">WITH_META_ERROR_TARGET</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_META_ERROR_TARGET</var> is set
+ explicitly)</dd>
+ <dt id="WITH_META_MODE"><var class="Va">WITH_META_MODE</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_META_MODE</var> is set
+ explicitly)</dd>
+ <dt id="WITH_STAGING"><var class="Va">WITH_STAGING</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_STAGING</var> is set explicitly)</dd>
+ <dt id="WITH_STAGING_MAN"><var class="Va">WITH_STAGING_MAN</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_STAGING_MAN</var> is set
+ explicitly)</dd>
+ <dt id="WITH_STAGING_PROG"><var class="Va">WITH_STAGING_PROG</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_STAGING_PROG</var> is set
+ explicitly)</dd>
+ <dt id="WITH_SYSROOT"><var class="Va">WITH_SYSROOT</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_SYSROOT</var> is set explicitly)</dd>
+ </dl>
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITH_DIRDEPS_CACHE"><var class="Va">WITH_DIRDEPS_CACHE</var></dt>
+ <dd>Cache result of dirdeps.mk which can save significant time for subsequent
+ builds. Depends on <var class="Va">WITH_DIRDEPS_BUILD</var>.
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITH_DISK_IMAGE_TOOLS_BOOTSTRAP"><var class="Va">WITH_DISK_IMAGE_TOOLS_BOOTSTRAP</var></dt>
+ <dd>Build <a class="Xr">etdump(1)</a>, <a class="Xr">makefs(8)</a> and
+ <a class="Xr">mkimg(1)</a> as bootstrap tools.</dd>
+ <dt id="WITHOUT_DMAGENT~2"><var class="Va">WITHOUT_DMAGENT</var></dt>
+ <dd>Do not build dma Mail Transport Agent.</dd>
+ <dt id="WITHOUT_DOCCOMPRESS"><var class="Va">WITHOUT_DOCCOMPRESS</var></dt>
+ <dd>Do not install compressed system documentation. Only the uncompressed
+ version will be installed.</dd>
+ <dt id="WITHOUT_DTRACE~2"><var class="Va">WITHOUT_DTRACE</var></dt>
+ <dd>Do not build DTrace framework kernel modules, libraries, and user
+ commands. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_CTF~2"><var class="Va">WITHOUT_CTF</var></li>
+ </ul>
+ </dd>
+ <dt id="WITH_DTRACE_ASAN"><var class="Va">WITH_DTRACE_ASAN</var></dt>
+ <dd>Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1),
+ plockstat(1)) with address and undefined behavior sanitizers. Requires
+ that Clang be used as the base system compiler and that the runtime
+ support library is available.</dd>
+ <dt id="WITH_DTRACE_TESTS"><var class="Va">WITH_DTRACE_TESTS</var></dt>
+ <dd>Build and install the DTrace test suite in
+ <span class="Pa">/usr/tests/cddl/usr.sbin/dtrace</span>. This test suite
+ is considered experimental on architectures other than amd64/amd64 and
+ running it may cause system instability.</dd>
+ <dt id="WITHOUT_DYNAMICROOT"><var class="Va">WITHOUT_DYNAMICROOT</var></dt>
+ <dd>Set this if you do not want to link <span class="Pa">/bin</span> and
+ <span class="Pa">/sbin</span> dynamically.</dd>
+ <dt id="WITHOUT_EE"><var class="Va">WITHOUT_EE</var></dt>
+ <dd>Do not build and install <a class="Xr">edit(1)</a>,
+ <a class="Xr">ee(1)</a>, and related programs.</dd>
+ <dt id="WITHOUT_EFI"><var class="Va">WITHOUT_EFI</var></dt>
+ <dd>Set not to build <a class="Xr">efivar(3)</a> and
+ <a class="Xr">efivar(8)</a>.
+ <p class="Pp">This is a default setting on i386/i386, powerpc/powerpc64 and
+ powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITH_EFI"><var class="Va">WITH_EFI</var></dt>
+ <dd>Build <a class="Xr">efivar(3)</a> and <a class="Xr">efivar(8)</a>.
+ <p class="Pp">This is a default setting on amd64/amd64, arm/armv7,
+ arm64/aarch64 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_ELFTOOLCHAIN_BOOTSTRAP~2"><var class="Va">WITHOUT_ELFTOOLCHAIN_BOOTSTRAP</var></dt>
+ <dd>Do not build ELF Tool Chain tools (addr2line, nm, size, strings and strip)
+ as part of the bootstrap process.
+ <div class="Bf Sy">An alternate bootstrap tool chain must be provided.</div>
+ </dd>
+ <dt id="WITHOUT_EXAMPLES"><var class="Va">WITHOUT_EXAMPLES</var></dt>
+ <dd>Avoid installing examples to
+ <span class="Pa">/usr/share/examples/</span>.</dd>
+ <dt id="WITHOUT_FDT"><var class="Va">WITHOUT_FDT</var></dt>
+ <dd>Do not build Flattened Device Tree support as part of the base system.
+ This includes the device tree compiler (dtc) and libfdt support library.
+ <p class="Pp">This is a default setting on amd64/amd64 and i386/i386.</p>
+ </dd>
+ <dt id="WITH_FDT"><var class="Va">WITH_FDT</var></dt>
+ <dd>Build Flattened Device Tree support as part of the base system. This
+ includes the device tree compiler (dtc) and libfdt support library.
+ <p class="Pp">This is a default setting on arm/armv7, arm64/aarch64,
+ powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_FILE"><var class="Va">WITHOUT_FILE</var></dt>
+ <dd>Do not build <a class="Xr">file(1)</a> and related programs.</dd>
+ <dt id="WITHOUT_FINGER"><var class="Va">WITHOUT_FINGER</var></dt>
+ <dd>Do not build or install <a class="Xr">finger(1)</a> and
+ <a class="Xr">fingerd(8)</a>.</dd>
+ <dt id="WITHOUT_FLOPPY"><var class="Va">WITHOUT_FLOPPY</var></dt>
+ <dd>Do not build or install programs for operating floppy disk driver.</dd>
+ <dt id="WITHOUT_FORMAT_EXTENSIONS"><var class="Va">WITHOUT_FORMAT_EXTENSIONS</var></dt>
+ <dd>Do not enable <code class="Fl">-fformat-extensions</code> when compiling
+ the kernel. Also disables all format checking.</dd>
+ <dt id="WITHOUT_FORTH"><var class="Va">WITHOUT_FORTH</var></dt>
+ <dd>Build bootloaders without Forth support.</dd>
+ <dt id="WITHOUT_FREEBSD_UPDATE"><var class="Va">WITHOUT_FREEBSD_UPDATE</var></dt>
+ <dd>Do not build <a class="Xr">freebsd-update(8)</a>.</dd>
+ <dt id="WITHOUT_FTP"><var class="Va">WITHOUT_FTP</var></dt>
+ <dd>Do not build or install <a class="Xr">ftp(1)</a>.</dd>
+ <dt id="WITHOUT_GAMES"><var class="Va">WITHOUT_GAMES</var></dt>
+ <dd>Do not build games.</dd>
+ <dt id="WITHOUT_GOOGLETEST"><var class="Va">WITHOUT_GOOGLETEST</var></dt>
+ <dd>Neither build nor install <span class="Lb">library
+ &#x201C;libgmock&#x201D;</span>, <span class="Lb">library
+ &#x201C;libgtest&#x201D;</span>, and dependent tests.</dd>
+ <dt id="WITHOUT_GPIO"><var class="Va">WITHOUT_GPIO</var></dt>
+ <dd>Do not build <a class="Xr">gpioctl(8)</a> as part of the base system.</dd>
+ <dt id="WITHOUT_HAST"><var class="Va">WITHOUT_HAST</var></dt>
+ <dd>Do not build <a class="Xr">hastd(8)</a> and related utilities.</dd>
+ <dt id="WITH_HESIOD"><var class="Va">WITH_HESIOD</var></dt>
+ <dd>Build Hesiod support.</dd>
+ <dt id="WITHOUT_HTML"><var class="Va">WITHOUT_HTML</var></dt>
+ <dd>Do not build HTML docs.</dd>
+ <dt id="WITHOUT_HYPERV"><var class="Va">WITHOUT_HYPERV</var></dt>
+ <dd>Do not build or install HyperV utilities.
+ <p class="Pp">This is a default setting on arm/armv7, powerpc/powerpc64,
+ powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_HYPERV"><var class="Va">WITH_HYPERV</var></dt>
+ <dd>Build or install HyperV utilities.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64 and
+ i386/i386.</p>
+ </dd>
+ <dt id="WITHOUT_ICONV"><var class="Va">WITHOUT_ICONV</var></dt>
+ <dd>Do not build iconv as part of libc.</dd>
+ <dt id="WITHOUT_INCLUDES"><var class="Va">WITHOUT_INCLUDES</var></dt>
+ <dd>Do not install header files. This option used to be spelled
+ <var class="Va">NO_INCS</var>.
+ <div class="Bf Sy">The option does not work for build targets.</div>
+ </dd>
+ <dt id="WITHOUT_INET"><var class="Va">WITHOUT_INET</var></dt>
+ <dd>Do not build programs and libraries related to IPv4 networking. When set,
+ it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_INET_SUPPORT"><var class="Va">WITHOUT_INET_SUPPORT</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_INET6"><var class="Va">WITHOUT_INET6</var></dt>
+ <dd>Do not build programs and libraries related to IPv6 networking. When set,
+ it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_INET6_SUPPORT"><var class="Va">WITHOUT_INET6_SUPPORT</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_INET6_SUPPORT~2"><var class="Va">WITHOUT_INET6_SUPPORT</var></dt>
+ <dd>Build libraries, programs, and kernel modules without IPv6 support.</dd>
+ <dt id="WITHOUT_INETD"><var class="Va">WITHOUT_INETD</var></dt>
+ <dd>Do not build <a class="Xr">inetd(8)</a>.</dd>
+ <dt id="WITHOUT_INET_SUPPORT~2"><var class="Va">WITHOUT_INET_SUPPORT</var></dt>
+ <dd>Build libraries, programs, and kernel modules without IPv4 support.</dd>
+ <dt id="WITHOUT_INSTALLLIB"><var class="Va">WITHOUT_INSTALLLIB</var></dt>
+ <dd>Set this to not install optional libraries. For example, when creating a
+ <a class="Xr">nanobsd(8)</a> image.
+ <div class="Bf Sy">The option does not work for build targets.</div>
+ </dd>
+ <dt id="WITH_INSTALL_AS_USER~2"><var class="Va">WITH_INSTALL_AS_USER</var></dt>
+ <dd>Make install targets succeed for non-root users by installing files with
+ owner and group attributes set to that of the user running the
+ <a class="Xr">make(1)</a> command. The user still must set the
+ <var class="Va">DESTDIR</var> variable to point to a directory where the
+ user has write permissions.</dd>
+ <dt id="WITHOUT_IPFILTER"><var class="Va">WITHOUT_IPFILTER</var></dt>
+ <dd>Do not build IP Filter package.</dd>
+ <dt id="WITH_IPFILTER_IPFS"><var class="Va">WITH_IPFILTER_IPFS</var></dt>
+ <dd>Enable building the <a class="Xr">ipfs(8)</a> tool to save and restore
+ IPFilter state tables.</dd>
+ <dt id="WITHOUT_IPFW"><var class="Va">WITHOUT_IPFW</var></dt>
+ <dd>Do not build IPFW tools.</dd>
+ <dt id="WITHOUT_IPSEC_SUPPORT"><var class="Va">WITHOUT_IPSEC_SUPPORT</var></dt>
+ <dd>Do not build the kernel with <a class="Xr">ipsec(4)</a> support. This
+ option is needed for <a class="Xr">ipsec(4)</a> and
+ <a class="Xr">tcpmd5(4)</a>.</dd>
+ <dt id="WITHOUT_ISCSI"><var class="Va">WITHOUT_ISCSI</var></dt>
+ <dd>Do not build <a class="Xr">iscsid(8)</a> and related utilities.</dd>
+ <dt id="WITHOUT_JAIL"><var class="Va">WITHOUT_JAIL</var></dt>
+ <dd>Do not build tools for the support of jails; e.g.,
+ <a class="Xr">jail(8)</a>.</dd>
+ <dt id="WITHOUT_JEMALLOC_LG_VADDR_WIDE"><var class="Va">WITHOUT_JEMALLOC_LG_VADDR_WIDE</var></dt>
+ <dd>Disallow programs to use more than 48 address bits on amd64. Incompatible
+ with LA57 mode. Enabling this option might result in a slight reduction in
+ memory consumption for jemalloc metadata, but also requires disabling LA57
+ (if hardware supports it).</dd>
+ <dt id="WITHOUT_KDUMP"><var class="Va">WITHOUT_KDUMP</var></dt>
+ <dd>Do not build <a class="Xr">kdump(1)</a> and
+ <a class="Xr">truss(1)</a>.</dd>
+ <dt id="WITHOUT_KERBEROS~2"><var class="Va">WITHOUT_KERBEROS</var></dt>
+ <dd>Set this to not build Kerberos. When set, these options are also in
+ effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_KERBEROS_SUPPORT~2"><var class="Va">WITHOUT_KERBEROS_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_KERBEROS_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_KERBEROS_SUPPORT~3"><var class="Va">WITHOUT_KERBEROS_SUPPORT</var></dt>
+ <dd>Build some programs without Kerberos support, like
+ <a class="Xr">ssh(1)</a>, <a class="Xr">telnet(1)</a>, and
+ <a class="Xr">sshd(8)</a>.</dd>
+ <dt id="WITH_KERNEL_BIN"><var class="Va">WITH_KERNEL_BIN</var></dt>
+ <dd>Generate and install kernel.bin from kernel as part of the normal build
+ and install processes for the kernel. Available only on arm and arm64.
+ <p class="Pp">Usually this will be added to the kernel config file with:</p>
+ <p class="Pp">makeoptions WITH_KERNEL_BIN=1</p>
+ <p class="Pp">though it can also be used on the command line.</p>
+ </dd>
+ <dt id="WITH_KERNEL_RETPOLINE"><var class="Va">WITH_KERNEL_RETPOLINE</var></dt>
+ <dd>Enable the &quot;retpoline&quot; mitigation for CVE-2017-5715 in the
+ kernel build.</dd>
+ <dt id="WITHOUT_KERNEL_SYMBOLS"><var class="Va">WITHOUT_KERNEL_SYMBOLS</var></dt>
+ <dd>Do not install standalone kernel debug symbol files. This option has no
+ effect at build time.</dd>
+ <dt id="WITHOUT_KVM"><var class="Va">WITHOUT_KVM</var></dt>
+ <dd>Do not build the <code class="Nm">libkvm</code> library as a part of the
+ base system.
+ <div class="Bf Sy">The option has no effect yet.</div>
+ When set, these options are also in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_KVM_SUPPORT"><var class="Va">WITHOUT_KVM_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_KVM_SUPPORT</var> is set explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_KVM_SUPPORT~2"><var class="Va">WITHOUT_KVM_SUPPORT</var></dt>
+ <dd>Build some programs without optional <code class="Nm">libkvm</code>
+ support.</dd>
+ <dt id="WITHOUT_LDNS~2"><var class="Va">WITHOUT_LDNS</var></dt>
+ <dd>Setting this variable will prevent the LDNS library from being built. When
+ set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_LDNS_UTILS~2"><var class="Va">WITHOUT_LDNS_UTILS</var></li>
+ <li id="WITHOUT_UNBOUND~2"><var class="Va">WITHOUT_UNBOUND</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_LDNS_UTILS~3"><var class="Va">WITHOUT_LDNS_UTILS</var></dt>
+ <dd>Setting this variable will prevent building the LDNS utilities
+ <a class="Xr">drill(1)</a> and <a class="Xr">host(1)</a>.</dd>
+ <dt id="WITHOUT_LEGACY_CONSOLE"><var class="Va">WITHOUT_LEGACY_CONSOLE</var></dt>
+ <dd>Do not build programs that support a legacy PC console; e.g.,
+ <a class="Xr">kbdcontrol(1)</a> and <a class="Xr">vidcontrol(1)</a>.</dd>
+ <dt id="WITHOUT_LIB32"><var class="Va">WITHOUT_LIB32</var></dt>
+ <dd>On 64-bit platforms, do not build 32-bit library set and a
+ <code class="Nm">ld-elf32.so.1</code> runtime linker.
+ <p class="Pp">This is a default setting on arm/armv7, i386/i386,
+ powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LIB32"><var class="Va">WITH_LIB32</var></dt>
+ <dd>On 64-bit platforms, build the 32-bit library set and a
+ <code class="Nm">ld-elf32.so.1</code> runtime linker.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64 and
+ powerpc/powerpc64.</p>
+ </dd>
+ <dt id="WITHOUT_LLD"><var class="Va">WITHOUT_LLD</var></dt>
+ <dd>Do not build LLVM's lld linker.</dd>
+ <dt id="WITHOUT_LLDB"><var class="Va">WITHOUT_LLDB</var></dt>
+ <dd>Do not build the LLDB debugger.
+ <p class="Pp">This is a default setting on riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LLDB"><var class="Va">WITH_LLDB</var></dt>
+ <dd>Build the LLDB debugger.
+ <p class="Pp">This is a default setting on amd64/amd64, arm/armv7,
+ arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITHOUT_LLD_BOOTSTRAP~2"><var class="Va">WITHOUT_LLD_BOOTSTRAP</var></dt>
+ <dd>Do not build the LLD linker during the bootstrap phase of the build. To be
+ able to build the system an alternate linker must be provided via
+ XLD.</dd>
+ <dt id="WITHOUT_LLVM_ASSERTIONS"><var class="Va">WITHOUT_LLVM_ASSERTIONS</var></dt>
+ <dd>Disable debugging assertions in LLVM.</dd>
+ <dt id="WITHOUT_LLVM_BINUTILS"><var class="Va">WITHOUT_LLVM_BINUTILS</var></dt>
+ <dd>Install ELF Tool Chain's binary utilities instead of LLVM's. This includes
+ <a class="Xr">addr2line(1)</a>, <a class="Xr">ar(1)</a>,
+ <a class="Xr">nm(1)</a>, <a class="Xr">objcopy(1)</a>,
+ <a class="Xr">ranlib(1)</a>, <a class="Xr">readelf(1)</a>,
+ <a class="Xr">size(1)</a>, and <a class="Xr">strip(1)</a>. Regardless of
+ this setting, LLVM tools are used for <a class="Xr">c++filt(1)</a> and
+ <a class="Xr">objdump(1)</a>. <a class="Xr">strings(1)</a> is always
+ provided by ELF Tool Chain.</dd>
+ <dt id="WITHOUT_LLVM_BINUTILS_BOOTSTRAP~2"><var class="Va">WITHOUT_LLVM_BINUTILS_BOOTSTRAP</var></dt>
+ <dd>Do not build LLVM binary utilities during the bootstrap phase of the
+ build. To be able to build the system alternate binary utilities must be
+ provided via <code class="Ev">XAR</code>, <code class="Ev">XNM</code>,
+ <code class="Ev">XOBJCOPY</code>, <code class="Ev">XSIZE</code>,
+ <code class="Ev">XSTRINGS</code>, and <code class="Ev">XSTRIPBIN</code>.
+ <p class="Pp"></p>
+ </dd>
+ <dt id="WITHOUT_LLVM_COV~2"><var class="Va">WITHOUT_LLVM_COV</var></dt>
+ <dd>Do not build the <a class="Xr">llvm-cov(1)</a> tool.</dd>
+ <dt id="WITH_LLVM_FULL_DEBUGINFO"><var class="Va">WITH_LLVM_FULL_DEBUGINFO</var></dt>
+ <dd>Generate full debug information for LLVM libraries and tools, which uses
+ more disk space and build resources, but allows for easier debugging.</dd>
+ <dt id="WITH_LLVM_LINK_STATIC_LIBRARIES"><var class="Va">WITH_LLVM_LINK_STATIC_LIBRARIES</var></dt>
+ <dd>Link LLVM libraries (libllvm, libclang, liblldb) statically into each of
+ the binaries that use them.
+ <p class="Pp">This means that binaries linked against these libraries, such
+ as clang, ld.lld and lldb will be much larger and position dependent,
+ but will start more quickly.</p>
+ </dd>
+ <dt id="WITHOUT_LLVM_TARGET_AARCH64~2"><var class="Va">WITHOUT_LLVM_TARGET_AARCH64</var></dt>
+ <dd>Do not build LLVM target support for AArch64. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITHOUT_LLVM_TARGET_ALL~2"><var class="Va">WITHOUT_LLVM_TARGET_ALL</var></dt>
+ <dd>Only build the required LLVM target support. This option is preferred to
+ specific target support options. When set, these options are also in
+ effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_LLVM_TARGET_AARCH64~3"><var class="Va">WITHOUT_LLVM_TARGET_AARCH64</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_AARCH64</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_ARM~2"><var class="Va">WITHOUT_LLVM_TARGET_ARM</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_ARM</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_POWERPC~2"><var class="Va">WITHOUT_LLVM_TARGET_POWERPC</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_POWERPC</var> is set
+ explicitly)</dd>
+ <dt id="WITHOUT_LLVM_TARGET_RISCV~2"><var class="Va">WITHOUT_LLVM_TARGET_RISCV</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_TARGET_RISCV</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_LLVM_TARGET_ARM~3"><var class="Va">WITHOUT_LLVM_TARGET_ARM</var></dt>
+ <dd>Do not build LLVM target support for ARM. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITH_LLVM_TARGET_BPF"><var class="Va">WITH_LLVM_TARGET_BPF</var></dt>
+ <dd>Build LLVM target support for BPF. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITH_LLVM_TARGET_MIPS"><var class="Va">WITH_LLVM_TARGET_MIPS</var></dt>
+ <dd>Build LLVM target support for MIPS. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITHOUT_LLVM_TARGET_POWERPC~3"><var class="Va">WITHOUT_LLVM_TARGET_POWERPC</var></dt>
+ <dd>Do not build LLVM target support for PowerPC. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITHOUT_LLVM_TARGET_RISCV~3"><var class="Va">WITHOUT_LLVM_TARGET_RISCV</var></dt>
+ <dd>Do not build LLVM target support for RISC-V. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITHOUT_LLVM_TARGET_X86"><var class="Va">WITHOUT_LLVM_TARGET_X86</var></dt>
+ <dd>Do not build LLVM target support for X86. The
+ <var class="Va">LLVM_TARGET_ALL</var> option should be used rather than
+ this in most cases.</dd>
+ <dt id="WITHOUT_LOADER_BIOS_TEXTONLY"><var class="Va">WITHOUT_LOADER_BIOS_TEXTONLY</var></dt>
+ <dd>Include graphics, font and video mode support in the i386 and amd64 BIOS
+ boot loader.</dd>
+ <dt id="WITH_LOADER_EFI_SECUREBOOT~2"><var class="Va">WITH_LOADER_EFI_SECUREBOOT</var></dt>
+ <dd>Enable building <a class="Xr">loader(8)</a> with support for verification
+ based on certificates obtained from UEFI.</dd>
+ <dt id="WITHOUT_LOADER_GELI"><var class="Va">WITHOUT_LOADER_GELI</var></dt>
+ <dd>Disable inclusion of GELI crypto support in the boot chain binaries.
+ <p class="Pp">This is a default setting on powerpc/powerpc64 and
+ powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITH_LOADER_GELI"><var class="Va">WITH_LOADER_GELI</var></dt>
+ <dd>Build GELI bootloader support.
+ <p class="Pp">This is a default setting on amd64/amd64, arm/armv7,
+ arm64/aarch64, i386/i386 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_IA32"><var class="Va">WITHOUT_LOADER_IA32</var></dt>
+ <dd>Do not build the 32-bit UEFI loader.
+ <p class="Pp">This is a default setting on arm/armv7, arm64/aarch64,
+ i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LOADER_IA32"><var class="Va">WITH_LOADER_IA32</var></dt>
+ <dd>Build the 32-bit UEFI loader.
+ <p class="Pp">This is a default setting on amd64/amd64.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_KBOOT"><var class="Va">WITHOUT_LOADER_KBOOT</var></dt>
+ <dd>Do not build kboot, a linuxboot environment loader
+ <p class="Pp">This is a default setting on arm/armv7, i386/i386,
+ powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LOADER_KBOOT"><var class="Va">WITH_LOADER_KBOOT</var></dt>
+ <dd>Build kboot, a linuxboot environment loader
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64 and
+ powerpc/powerpc64.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_LUA"><var class="Va">WITHOUT_LOADER_LUA</var></dt>
+ <dd>Do not build LUA bindings for the boot loader.
+ <p class="Pp">This is a default setting on powerpc/powerpc64 and
+ powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITH_LOADER_LUA"><var class="Va">WITH_LOADER_LUA</var></dt>
+ <dd>Build LUA bindings for the boot loader.
+ <p class="Pp">This is a default setting on amd64/amd64, arm/armv7,
+ arm64/aarch64, i386/i386 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_OFW"><var class="Va">WITHOUT_LOADER_OFW</var></dt>
+ <dd>Disable building of openfirmware bootloader components.
+ <p class="Pp">This is a default setting on amd64/amd64, arm/armv7,
+ arm64/aarch64, i386/i386 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LOADER_OFW"><var class="Va">WITH_LOADER_OFW</var></dt>
+ <dd>Build openfirmware bootloader components.
+ <p class="Pp">This is a default setting on powerpc/powerpc64 and
+ powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_PXEBOOT"><var class="Va">WITHOUT_LOADER_PXEBOOT</var></dt>
+ <dd>Do not build pxeboot on i386/amd64. When the pxeboot is too large, or
+ unneeded, it may be disabled with this option. See
+ <var class="Va">WITH_LOADER_PXEBOOT</var> for how to adjust the defaults
+ when you need both a larger <span class="Pa">/boot/loader</span> and
+ <span class="Pa">/boot/pxeboot</span>
+ <p class="Pp">This option only has an effect on x86.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_UBOOT"><var class="Va">WITHOUT_LOADER_UBOOT</var></dt>
+ <dd>Disable building of ubldr.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ i386/i386, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_LOADER_UBOOT"><var class="Va">WITH_LOADER_UBOOT</var></dt>
+ <dd>Build ubldr.
+ <p class="Pp">This is a default setting on arm/armv7 and
+ powerpc/powerpc64.</p>
+ </dd>
+ <dt id="WITH_LOADER_USB"><var class="Va">WITH_LOADER_USB</var></dt>
+ <dd>Build the usb/kshim library
+ <p class="Pp"></p>
+ </dd>
+ <dt id="WITH_LOADER_VERBOSE"><var class="Va">WITH_LOADER_VERBOSE</var></dt>
+ <dd>Build with extra verbose debugging in the loader. May explode already
+ nearly too large loader over the limit. Use with care.</dd>
+ <dt id="WITH_LOADER_VERIEXEC~2"><var class="Va">WITH_LOADER_VERIEXEC</var></dt>
+ <dd>Enable building <a class="Xr">loader(8)</a> with support for verification
+ similar to Verified Exec.
+ <p class="Pp">Depends on <var class="Va">WITH_BEARSSL</var>. May require a
+ larger <var class="Va">LOADERSIZE</var>. When set, these options are
+ also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITH_LOADER_EFI_SECUREBOOT~3"><var class="Va">WITH_LOADER_EFI_SECUREBOOT</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_LOADER_EFI_SECUREBOOT</var> is set
+ explicitly)</dd>
+ <dt id="WITH_LOADER_VERIEXEC_VECTX~2"><var class="Va">WITH_LOADER_VERIEXEC_VECTX</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_LOADER_VERIEXEC_VECTX</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITH_LOADER_VERIEXEC_PASS_MANIFEST"><var class="Va">WITH_LOADER_VERIEXEC_PASS_MANIFEST</var></dt>
+ <dd>Enable building <a class="Xr">loader(8)</a> with support to pass a
+ verified manifest to the kernel. The kernel has to be built with a module
+ to parse the manifest.
+ <p class="Pp">Depends on <var class="Va">WITH_LOADER_VERIEXEC</var>.</p>
+ </dd>
+ <dt id="WITH_LOADER_VERIEXEC_VECTX~3"><var class="Va">WITH_LOADER_VERIEXEC_VECTX</var></dt>
+ <dd>Enable building <a class="Xr">loader(8)</a> with support for hashing and
+ verifying kernel and modules as a side effect of loading.
+ <p class="Pp">Depends on <var class="Va">WITH_LOADER_VERIEXEC</var>.</p>
+ </dd>
+ <dt id="WITHOUT_LOADER_ZFS~3"><var class="Va">WITHOUT_LOADER_ZFS</var></dt>
+ <dd>Do not build ZFS file system boot loader support.</dd>
+ <dt id="WITHOUT_LOCALES"><var class="Va">WITHOUT_LOCALES</var></dt>
+ <dd>Do not build localization files; see <a class="Xr">locale(1)</a>.</dd>
+ <dt id="WITHOUT_LOCATE"><var class="Va">WITHOUT_LOCATE</var></dt>
+ <dd>Do not build <a class="Xr">locate(1)</a> and related programs.</dd>
+ <dt id="WITHOUT_LPR"><var class="Va">WITHOUT_LPR</var></dt>
+ <dd>Do not build <a class="Xr">lpr(1)</a> and related programs.</dd>
+ <dt id="WITHOUT_LS_COLORS"><var class="Va">WITHOUT_LS_COLORS</var></dt>
+ <dd>Build <a class="Xr">ls(1)</a> without support for colors to distinguish
+ file types.</dd>
+ <dt id="WITHOUT_MACHDEP_OPTIMIZATIONS"><var class="Va">WITHOUT_MACHDEP_OPTIMIZATIONS</var></dt>
+ <dd>Prefer machine-independent non-assembler code in libc and libm.</dd>
+ <dt id="WITHOUT_MAIL"><var class="Va">WITHOUT_MAIL</var></dt>
+ <dd>Do not build any mail support (MUA or MTA). When set, it enforces these
+ options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_DMAGENT~3"><var class="Va">WITHOUT_DMAGENT</var></li>
+ <li id="WITHOUT_MAILWRAPPER"><var class="Va">WITHOUT_MAILWRAPPER</var></li>
+ <li id="WITHOUT_SENDMAIL"><var class="Va">WITHOUT_SENDMAIL</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_MAILWRAPPER~2"><var class="Va">WITHOUT_MAILWRAPPER</var></dt>
+ <dd>Do not build the <a class="Xr">mailwrapper(8)</a> MTA selector.</dd>
+ <dt id="WITHOUT_MAKE"><var class="Va">WITHOUT_MAKE</var></dt>
+ <dd>Do not install <a class="Xr">make(1)</a> and related support files.</dd>
+ <dt id="WITHOUT_MAKE_CHECK_USE_SANDBOX"><var class="Va">WITHOUT_MAKE_CHECK_USE_SANDBOX</var></dt>
+ <dd>Do not execute &#x201C;<code class="Li">make check</code>&#x201D; in
+ limited sandbox mode. This option should be paired with
+ <var class="Va">WITH_INSTALL_AS_USER</var> if executed as an unprivileged
+ user. See <a class="Xr">tests(7)</a> for more details.</dd>
+ <dt id="WITH_MALLOC_PRODUCTION"><var class="Va">WITH_MALLOC_PRODUCTION</var></dt>
+ <dd>Disable assertions and statistics gathering in
+ <a class="Xr">malloc(3)</a>. The run-time options
+ <code class="Dv">opt.abort</code>, <code class="Dv">opt.abort_conf</code>,
+ and <code class="Dv">opt.junk</code> also default to false.</dd>
+ <dt id="WITHOUT_MAN"><var class="Va">WITHOUT_MAN</var></dt>
+ <dd>Do not build manual pages. When set, these options are also in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_MAN_UTILS"><var class="Va">WITHOUT_MAN_UTILS</var></dt>
+ <dd>(unless <var class="Va">WITH_MAN_UTILS</var> is set explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_MANCOMPRESS"><var class="Va">WITHOUT_MANCOMPRESS</var></dt>
+ <dd>Do not install compressed man pages. Only the uncompressed versions will
+ be installed.</dd>
+ <dt id="WITH_MANSPLITPKG"><var class="Va">WITH_MANSPLITPKG</var></dt>
+ <dd>Split man pages into their own packages during make package.</dd>
+ <dt id="WITHOUT_MAN_UTILS~2"><var class="Va">WITHOUT_MAN_UTILS</var></dt>
+ <dd>Do not build utilities for manual pages, <a class="Xr">apropos(1)</a>,
+ <a class="Xr">makewhatis(1)</a>, <a class="Xr">man(1)</a>,
+ <a class="Xr">whatis(1)</a>, <a class="Xr">manctl(8)</a>, and related
+ support files.</dd>
+ <dt id="WITH_META_ERROR_TARGET~2"><var class="Va">WITH_META_ERROR_TARGET</var></dt>
+ <dd>Enable the META_MODE .ERROR target.
+ <p class="Pp">This target will copy the meta file of a failed target to
+ <var class="Va">ERROR_LOGDIR</var> (default is
+ &#x2018;<code class="Li">${SRCTOP:H}/error</code>&#x2019;) to help with
+ failure analysis. Depends on <var class="Va">WITH_META_MODE</var>. This
+ default when <var class="Va">WITH_DIRDEPS_BUILD</var> is set.</p>
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITH_META_MODE~2"><var class="Va">WITH_META_MODE</var></dt>
+ <dd>Create <a class="Xr">make(1)</a> meta files when building, which can
+ provide a reliable incremental build when using
+ <a class="Xr">filemon(4)</a>. The meta file is created in OBJDIR as
+ <span class="Pa">target.meta</span>. These meta files track the command
+ that was executed, its output, and the current directory. The
+ <a class="Xr">filemon(4)</a> module is required unless
+ <var class="Va">NO_FILEMON</var> is defined. When the module is loaded,
+ any files used by the commands executed are tracked as dependencies for
+ the target in its meta file. The target is considered out-of-date and
+ rebuilt if any of these conditions are true compared to the last build:
+ <ul class="Bl-bullet Bl-compact">
+ <li>The command to execute changes.</li>
+ <li>The current working directory changes.</li>
+ <li>The target's meta file is missing.</li>
+ <li>The target's meta file is missing filemon data when filemon is loaded
+ and a previous run did not have it loaded.</li>
+ <li>[requires <a class="Xr">filemon(4)</a>] Files read, executed or linked
+ to are newer than the target.</li>
+ <li>[requires <a class="Xr">filemon(4)</a>] Files read, written, executed
+ or linked are missing.</li>
+ </ul>
+ The meta files can also be useful for debugging.
+ <p class="Pp">The build hides commands that are executed unless
+ <var class="Va">NO_SILENT</var> is defined. Errors cause
+ <a class="Xr">make(1)</a> to show some of its environment for further
+ debugging.</p>
+ <p class="Pp">The build operates as it normally would otherwise. This option
+ originally invoked a different build system but that was renamed to
+ <var class="Va">WITH_DIRDEPS_BUILD</var>.</p>
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITHOUT_MITKRB5~2"><var class="Va">WITHOUT_MITKRB5</var></dt>
+ <dd>Set this to build KTH Heimdal instead of MIT Kerberos 5.</dd>
+ <dt id="WITHOUT_MLX5TOOL"><var class="Va">WITHOUT_MLX5TOOL</var></dt>
+ <dd>Do not build <a class="Xr">mlx5tool(8)</a>
+ <p class="Pp">This is a default setting on arm/armv7 and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_MLX5TOOL"><var class="Va">WITH_MLX5TOOL</var></dt>
+ <dd>Build <a class="Xr">mlx5tool(8)</a>
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITHOUT_NETCAT"><var class="Va">WITHOUT_NETCAT</var></dt>
+ <dd>Do not build <a class="Xr">nc(1)</a> utility.</dd>
+ <dt id="WITHOUT_NETGRAPH"><var class="Va">WITHOUT_NETGRAPH</var></dt>
+ <dd>Do not build applications to support <a class="Xr">netgraph(4)</a>. When
+ set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_BLUETOOTH~2"><var class="Va">WITHOUT_BLUETOOTH</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_NETGRAPH_SUPPORT"><var class="Va">WITHOUT_NETGRAPH_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_NETGRAPH_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_NETGRAPH_SUPPORT~2"><var class="Va">WITHOUT_NETGRAPH_SUPPORT</var></dt>
+ <dd>Build libraries, programs, and kernel modules without netgraph
+ support.</dd>
+ <dt id="WITHOUT_NETLINK"><var class="Va">WITHOUT_NETLINK</var></dt>
+ <dd>Do not build <a class="Xr">genl(1)</a> utility.</dd>
+ <dt id="WITHOUT_NETLINK_SUPPORT"><var class="Va">WITHOUT_NETLINK_SUPPORT</var></dt>
+ <dd>Make libraries and programs use rtsock and <a class="Xr">sysctl(3)</a>
+ interfaces instead of <a class="Xr">snl(3)</a>.</dd>
+ <dt id="WITHOUT_NIS"><var class="Va">WITHOUT_NIS</var></dt>
+ <dd>Do not build <a class="Xr">NIS(8)</a> support and related programs. If
+ set, you might need to adopt your <a class="Xr">nsswitch.conf(5)</a> and
+ remove &#x2018;nis&#x2019; entries.</dd>
+ <dt id="WITHOUT_NLS"><var class="Va">WITHOUT_NLS</var></dt>
+ <dd>Do not build NLS catalogs. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_NLS_CATALOGS"><var class="Va">WITHOUT_NLS_CATALOGS</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_NLS_CATALOGS~2"><var class="Va">WITHOUT_NLS_CATALOGS</var></dt>
+ <dd>Do not build NLS catalog support for <a class="Xr">csh(1)</a>.</dd>
+ <dt id="WITHOUT_NS_CACHING"><var class="Va">WITHOUT_NS_CACHING</var></dt>
+ <dd>Disable name caching in the <span class="Pa">nsswitch</span> subsystem.
+ The generic caching daemon, <a class="Xr">nscd(8)</a>, will not be built
+ either if this option is set.</dd>
+ <dt id="WITHOUT_NTP"><var class="Va">WITHOUT_NTP</var></dt>
+ <dd>Do not build <a class="Xr">ntpd(8)</a> and related programs.</dd>
+ <dt id="WITHOUT_NUAGEINIT"><var class="Va">WITHOUT_NUAGEINIT</var></dt>
+ <dd>Do not install the limited cloud init support scripts.</dd>
+ <dt id="WITHOUT_OFED"><var class="Va">WITHOUT_OFED</var></dt>
+ <dd>Do not build the &#x201C;OpenFabrics Enterprise Distribution&#x201D;
+ InfiniBand software stack, including kernel modules and userspace
+ libraries.
+ <p class="Pp">This is a default setting on arm/armv7. When set, it enforces
+ these options:</p>
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_OFED_EXTRA"><var class="Va">WITHOUT_OFED_EXTRA</var></li>
+ </ul>
+ </dd>
+ <dt id="WITH_OFED"><var class="Va">WITH_OFED</var></dt>
+ <dd>Build the &#x201C;OpenFabrics Enterprise Distribution&#x201D; InfiniBand
+ software stack, including kernel modules and userspace libraries.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_OFED_EXTRA"><var class="Va">WITH_OFED_EXTRA</var></dt>
+ <dd>Build the non-essential components of the &#x201C;OpenFabrics Enterprise
+ Distribution&#x201D; Infiniband software stack, mostly examples.</dd>
+ <dt id="WITH_OPENLDAP"><var class="Va">WITH_OPENLDAP</var></dt>
+ <dd>Enable building LDAP support for kerberos using an openldap client from
+ ports.</dd>
+ <dt id="WITHOUT_OPENMP"><var class="Va">WITHOUT_OPENMP</var></dt>
+ <dd>Do not build LLVM's OpenMP runtime.
+ <p class="Pp">This is a default setting on arm/armv7.</p>
+ </dd>
+ <dt id="WITH_OPENMP"><var class="Va">WITH_OPENMP</var></dt>
+ <dd>Build LLVM's OpenMP runtime.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_OPENSSH~2"><var class="Va">WITHOUT_OPENSSH</var></dt>
+ <dd>Do not build OpenSSH.</dd>
+ <dt id="WITHOUT_OPENSSL~2"><var class="Va">WITHOUT_OPENSSL</var></dt>
+ <dd>Do not build OpenSSL. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_DMAGENT~4"><var class="Va">WITHOUT_DMAGENT</var></li>
+ <li id="WITHOUT_KERBEROS~3"><var class="Va">WITHOUT_KERBEROS</var></li>
+ <li id="WITHOUT_LDNS~3"><var class="Va">WITHOUT_LDNS</var></li>
+ <li id="WITHOUT_LDNS_UTILS~4"><var class="Va">WITHOUT_LDNS_UTILS</var></li>
+ <li id="WITHOUT_LOADER_ZFS~4"><var class="Va">WITHOUT_LOADER_ZFS</var></li>
+ <li id="WITHOUT_MITKRB5~3"><var class="Va">WITHOUT_MITKRB5</var></li>
+ <li id="WITHOUT_OPENSSH~3"><var class="Va">WITHOUT_OPENSSH</var></li>
+ <li id="WITHOUT_OPENSSL_KTLS~2"><var class="Va">WITHOUT_OPENSSL_KTLS</var></li>
+ <li id="WITHOUT_PKGBOOTSTRAP~2"><var class="Va">WITHOUT_PKGBOOTSTRAP</var></li>
+ <li id="WITHOUT_UNBOUND~3"><var class="Va">WITHOUT_UNBOUND</var></li>
+ <li id="WITHOUT_ZFS~3"><var class="Va">WITHOUT_ZFS</var></li>
+ <li id="WITHOUT_ZFS_TESTS~3"><var class="Va">WITHOUT_ZFS_TESTS</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_KERBEROS_SUPPORT~4"><var class="Va">WITHOUT_KERBEROS_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_KERBEROS_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_OPENSSL_KTLS~3"><var class="Va">WITHOUT_OPENSSL_KTLS</var></dt>
+ <dd>Do not include kernel TLS support in OpenSSL.
+ <p class="Pp">This is a default setting on arm/armv7, i386/i386 and
+ riscv/riscv64.</p>
+ </dd>
+ <dt id="WITH_OPENSSL_KTLS"><var class="Va">WITH_OPENSSL_KTLS</var></dt>
+ <dd>Include kernel TLS support in OpenSSL.
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ powerpc/powerpc64 and powerpc/powerpc64le.</p>
+ </dd>
+ <dt id="WITHOUT_PAM"><var class="Va">WITHOUT_PAM</var></dt>
+ <dd>Do not build PAM library and modules.
+ <div class="Bf Sy">This option is deprecated and does nothing.</div>
+ When set, these options are also in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_PAM_SUPPORT"><var class="Va">WITHOUT_PAM_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_PAM_SUPPORT</var> is set explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_PAM_SUPPORT~2"><var class="Va">WITHOUT_PAM_SUPPORT</var></dt>
+ <dd>Build <a class="Xr">ppp(8)</a> without PAM support.</dd>
+ <dt id="WITHOUT_PF"><var class="Va">WITHOUT_PF</var></dt>
+ <dd>Do not build PF firewall package. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_AUTHPF~2"><var class="Va">WITHOUT_AUTHPF</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_PIE"><var class="Va">WITHOUT_PIE</var></dt>
+ <dd>Do not build dynamically linked binaries as Position-Independent
+ Executable (PIE).
+ <p class="Pp">This is a default setting on arm/armv7 and i386/i386.</p>
+ </dd>
+ <dt id="WITH_PIE"><var class="Va">WITH_PIE</var></dt>
+ <dd>Build dynamically linked binaries as Position-Independent Executable
+ (PIE).
+ <p class="Pp">This is a default setting on amd64/amd64, arm64/aarch64,
+ powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.</p>
+ </dd>
+ <dt id="WITHOUT_PKGBOOTSTRAP~3"><var class="Va">WITHOUT_PKGBOOTSTRAP</var></dt>
+ <dd>Do not build <a class="Xr">pkg(7)</a> bootstrap tool.</dd>
+ <dt id="WITHOUT_PKGCONF"><var class="Va">WITHOUT_PKGCONF</var></dt>
+ <dd>Do not build the pkgconf binaries nor the libpkgconf library.</dd>
+ <dt id="WITHOUT_PKGSERVE"><var class="Va">WITHOUT_PKGSERVE</var></dt>
+ <dd>Do not build or install <a class="Xr">pkg-serve(8)</a>.</dd>
+ <dt id="WITHOUT_PMC"><var class="Va">WITHOUT_PMC</var></dt>
+ <dd>Do not build <a class="Xr">pmccontrol(8)</a> and related programs.</dd>
+ <dt id="WITHOUT_PPP"><var class="Va">WITHOUT_PPP</var></dt>
+ <dd>Do not build <a class="Xr">ppp(8)</a> and related programs.</dd>
+ <dt id="WITHOUT_PTHREADS_ASSERTIONS"><var class="Va">WITHOUT_PTHREADS_ASSERTIONS</var></dt>
+ <dd>Disable debugging assertions in pthreads library.</dd>
+ <dt id="WITHOUT_QUOTAS"><var class="Va">WITHOUT_QUOTAS</var></dt>
+ <dd>Do not build <a class="Xr">quota(1)</a> and related programs.</dd>
+ <dt id="WITHOUT_RADIUS_SUPPORT"><var class="Va">WITHOUT_RADIUS_SUPPORT</var></dt>
+ <dd>Do not build radius support into various applications, like
+ <a class="Xr">pam_radius(8)</a> and <a class="Xr">ppp(8)</a>.</dd>
+ <dt id="WITH_RATELIMIT"><var class="Va">WITH_RATELIMIT</var></dt>
+ <dd>Build the system with rate limit support.
+ <p class="Pp">This makes <code class="Dv">SO_MAX_PACING_RATE</code>
+ effective in <a class="Xr">getsockopt(2)</a>, and
+ <var class="Ar">txrlimit</var> support in <a class="Xr">ifconfig(8)</a>,
+ by proxy.</p>
+ </dd>
+ <dt id="WITHOUT_RBOOTD"><var class="Va">WITHOUT_RBOOTD</var></dt>
+ <dd>Do not build or install <a class="Xr">rbootd(8)</a>.</dd>
+ <dt id="WITHOUT_RELRO"><var class="Va">WITHOUT_RELRO</var></dt>
+ <dd>Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
+ See also the <var class="Va">BIND_NOW</var> option.</dd>
+ <dt id="WITH_REPRODUCIBLE_BUILD"><var class="Va">WITH_REPRODUCIBLE_BUILD</var></dt>
+ <dd>Exclude build metadata (such as the build time, user, or host) from the
+ kernel, boot loaders, and <a class="Xr">uname(1)</a> output, so that
+ builds produce bit-for-bit identical output.</dd>
+ <dt id="WITH_REPRODUCIBLE_PATHS"><var class="Va">WITH_REPRODUCIBLE_PATHS</var></dt>
+ <dd>Modify the paths encoded in binary artifacts to be standard path
+ <p class="Pp">Normally, the actual path is encoded in the binary. However,
+ this makes the build differ depending on the path it was built from.
+ With this option enabled, the paths recorded are /usr/src, regardless of
+ the actual path. With this option disabled, the actual paths are
+ recorded.</p>
+ </dd>
+ <dt id="WITHOUT_RESCUE"><var class="Va">WITHOUT_RESCUE</var></dt>
+ <dd>Do not build <a class="Xr">rescue(8)</a>.</dd>
+ <dt id="WITH_RETPOLINE"><var class="Va">WITH_RETPOLINE</var></dt>
+ <dd>Build the base system with the retpoline speculative execution
+ vulnerability mitigation for CVE-2017-5715.</dd>
+ <dt id="WITHOUT_ROUTED"><var class="Va">WITHOUT_ROUTED</var></dt>
+ <dd>Do not build <a class="Xr">routed(8)</a> utility.</dd>
+ <dt id="WITH_RPCBIND_WARMSTART_SUPPORT"><var class="Va">WITH_RPCBIND_WARMSTART_SUPPORT</var></dt>
+ <dd>Build <a class="Xr">rpcbind(8)</a> with warmstart support.</dd>
+ <dt id="WITH_RUN_TESTS"><var class="Va">WITH_RUN_TESTS</var></dt>
+ <dd>Run tests as part of the build.</dd>
+ <dt id="WITHOUT_SCTP_SUPPORT"><var class="Va">WITHOUT_SCTP_SUPPORT</var></dt>
+ <dd>Disable support in the kernel for the <a class="Xr">sctp(4)</a> Stream
+ Control Transmission Protocol loadable kernel module.</dd>
+ <dt id="WITHOUT_SENDMAIL~2"><var class="Va">WITHOUT_SENDMAIL</var></dt>
+ <dd>Do not build <a class="Xr">sendmail(8)</a> and related programs.</dd>
+ <dt id="WITHOUT_SERVICESDB"><var class="Va">WITHOUT_SERVICESDB</var></dt>
+ <dd>Do not install <span class="Pa">/var/db/services.db</span>.</dd>
+ <dt id="WITHOUT_SETUID_LOGIN"><var class="Va">WITHOUT_SETUID_LOGIN</var></dt>
+ <dd>Set this to disable the installation of <a class="Xr">login(1)</a> as a
+ set-user-ID root program.</dd>
+ <dt id="WITHOUT_SHAREDOCS"><var class="Va">WITHOUT_SHAREDOCS</var></dt>
+ <dd>Do not build the <span class="Ux">4.4BSD</span> legacy docs.</dd>
+ <dt id="WITH_SORT_THREADS"><var class="Va">WITH_SORT_THREADS</var></dt>
+ <dd>Enable threads in <a class="Xr">sort(1)</a>.</dd>
+ <dt id="WITHOUT_SOUND"><var class="Va">WITHOUT_SOUND</var></dt>
+ <dd>Do not build userland sound utilities such as <a class="Xr">beep(1)</a>
+ and <a class="Xr">mixer(8)</a>.</dd>
+ <dt id="WITHOUT_SOURCELESS"><var class="Va">WITHOUT_SOURCELESS</var></dt>
+ <dd>Do not build kernel modules that include sourceless code (either microcode
+ or native code for host CPU). When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_SOURCELESS_HOST"><var class="Va">WITHOUT_SOURCELESS_HOST</var></li>
+ <li id="WITHOUT_SOURCELESS_UCODE"><var class="Va">WITHOUT_SOURCELESS_UCODE</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_SOURCELESS_HOST~2"><var class="Va">WITHOUT_SOURCELESS_HOST</var></dt>
+ <dd>Do not build kernel modules that include sourceless native code for host
+ CPU.</dd>
+ <dt id="WITHOUT_SOURCELESS_UCODE~2"><var class="Va">WITHOUT_SOURCELESS_UCODE</var></dt>
+ <dd>Do not build kernel modules that include sourceless microcode.</dd>
+ <dt id="WITHOUT_SPLIT_KERNEL_DEBUG"><var class="Va">WITHOUT_SPLIT_KERNEL_DEBUG</var></dt>
+ <dd>Do not build standalone kernel debug files. Debug data (if enabled by the
+ kernel configuration file) will be included in the kernel and modules.
+ When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_KERNEL_SYMBOLS~2"><var class="Va">WITHOUT_KERNEL_SYMBOLS</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_SSP"><var class="Va">WITHOUT_SSP</var></dt>
+ <dd>Do not build world with stack smashing protection. See
+ <a class="Xr">mitigations(7)</a> for more information.</dd>
+ <dt id="WITH_STAGING~2"><var class="Va">WITH_STAGING</var></dt>
+ <dd>Enable staging of files to a stage tree. This can be best thought of as
+ auto-install to <var class="Va">DESTDIR</var> with some extra meta data to
+ ensure dependencies can be tracked. Depends on
+ <var class="Va">WITH_DIRDEPS_BUILD</var>. When set, these options are also
+ in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITH_STAGING_MAN~2"><var class="Va">WITH_STAGING_MAN</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_STAGING_MAN</var> is set
+ explicitly)</dd>
+ <dt id="WITH_STAGING_PROG~2"><var class="Va">WITH_STAGING_PROG</var></dt>
+ <dd>(unless <var class="Va">WITHOUT_STAGING_PROG</var> is set
+ explicitly)</dd>
+ </dl>
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITH_STAGING_MAN~3"><var class="Va">WITH_STAGING_MAN</var></dt>
+ <dd>Enable staging of man pages to stage tree.</dd>
+ <dt id="WITH_STAGING_PROG~3"><var class="Va">WITH_STAGING_PROG</var></dt>
+ <dd>Enable staging of PROGs to stage tree.</dd>
+ <dt id="WITH_STALE_STAGED"><var class="Va">WITH_STALE_STAGED</var></dt>
+ <dd>Check staged files are not stale.</dd>
+ <dt id="WITHOUT_STATS"><var class="Va">WITHOUT_STATS</var></dt>
+ <dd>Neither build nor install <span class="Lb">library
+ &#x201C;libstats&#x201D;</span> and dependent binaries.</dd>
+ <dt id="WITHOUT_SYSCONS"><var class="Va">WITHOUT_SYSCONS</var></dt>
+ <dd>Do not build <a class="Xr">syscons(4)</a> support files such as keyboard
+ maps, fonts, and screen output maps.</dd>
+ <dt id="WITH_SYSROOT~2"><var class="Va">WITH_SYSROOT</var></dt>
+ <dd>Enable use of sysroot during build. Depends on
+ <var class="Va">WITH_DIRDEPS_BUILD</var>.
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITHOUT_SYSTEM_COMPILER"><var class="Va">WITHOUT_SYSTEM_COMPILER</var></dt>
+ <dd>Do not opportunistically skip building a cross-compiler during the
+ bootstrap phase of the build. Normally, if the currently installed
+ compiler matches the planned bootstrap compiler type and revision, then it
+ will not be built. This does not prevent a compiler from being built for
+ installation though, only for building one for the build itself. The
+ <var class="Va">WITHOUT_CLANG</var> option controls that.</dd>
+ <dt id="WITHOUT_SYSTEM_LINKER"><var class="Va">WITHOUT_SYSTEM_LINKER</var></dt>
+ <dd>Do not opportunistically skip building a cross-linker during the bootstrap
+ phase of the build. Normally, if the currently installed linker matches
+ the planned bootstrap linker type and revision, then it will not be built.
+ This does not prevent a linker from being built for installation though,
+ only for building one for the build itself. The
+ <var class="Va">WITHOUT_LLD</var> option controls that.
+ <p class="Pp">This option is only relevant when
+ <var class="Va">WITH_LLD_BOOTSTRAP</var> is set.</p>
+ </dd>
+ <dt id="WITHOUT_TALK"><var class="Va">WITHOUT_TALK</var></dt>
+ <dd>Do not build or install <a class="Xr">talk(1)</a> and
+ <a class="Xr">talkd(8)</a>.</dd>
+ <dt id="WITHOUT_TCP_WRAPPERS"><var class="Va">WITHOUT_TCP_WRAPPERS</var></dt>
+ <dd>Do not build or install <a class="Xr">tcpd(8)</a>, and related
+ utilities.</dd>
+ <dt id="WITHOUT_TCSH"><var class="Va">WITHOUT_TCSH</var></dt>
+ <dd>Do not build and install <span class="Pa">/bin/csh</span> (which is
+ <a class="Xr">tcsh(1)</a>).</dd>
+ <dt id="WITHOUT_TELNET"><var class="Va">WITHOUT_TELNET</var></dt>
+ <dd>Do not build <a class="Xr">telnet(1)</a> and related programs.</dd>
+ <dt id="WITHOUT_TESTS"><var class="Va">WITHOUT_TESTS</var></dt>
+ <dd>Do not build nor install the <span class="Ux">FreeBSD</span> Test Suite in
+ <span class="Pa">/usr/tests/</span>. See <a class="Xr">tests(7)</a> for
+ more details. This also disables the build of all test-related
+ dependencies, including ATF. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_DTRACE_TESTS"><var class="Va">WITHOUT_DTRACE_TESTS</var></li>
+ <li id="WITHOUT_ZFS_TESTS~4"><var class="Va">WITHOUT_ZFS_TESTS</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_GOOGLETEST~2"><var class="Va">WITHOUT_GOOGLETEST</var></dt>
+ <dd>(unless <var class="Va">WITH_GOOGLETEST</var> is set explicitly)</dd>
+ <dt id="WITHOUT_TESTS_SUPPORT"><var class="Va">WITHOUT_TESTS_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_TESTS_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_TESTS_SUPPORT~2"><var class="Va">WITHOUT_TESTS_SUPPORT</var></dt>
+ <dd>Disable the build of all test-related dependencies, including ATF. When
+ set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_GOOGLETEST~3"><var class="Va">WITHOUT_GOOGLETEST</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_TEXTPROC"><var class="Va">WITHOUT_TEXTPROC</var></dt>
+ <dd>Do not build programs used for text processing.</dd>
+ <dt id="WITHOUT_TFTP"><var class="Va">WITHOUT_TFTP</var></dt>
+ <dd>Do not build or install <a class="Xr">tftp(1)</a> and
+ <a class="Xr">tftpd(8)</a>.</dd>
+ <dt id="WITHOUT_TOOLCHAIN"><var class="Va">WITHOUT_TOOLCHAIN</var></dt>
+ <dd>Do not install programs used for program development, compilers, debuggers
+ etc. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_CLANG~2"><var class="Va">WITHOUT_CLANG</var></li>
+ <li id="WITHOUT_CLANG_EXTRAS~2"><var class="Va">WITHOUT_CLANG_EXTRAS</var></li>
+ <li id="WITHOUT_CLANG_FORMAT~2"><var class="Va">WITHOUT_CLANG_FORMAT</var></li>
+ <li id="WITHOUT_CLANG_FULL~3"><var class="Va">WITHOUT_CLANG_FULL</var></li>
+ <li id="WITHOUT_LLD~2"><var class="Va">WITHOUT_LLD</var></li>
+ <li id="WITHOUT_LLDB~2"><var class="Va">WITHOUT_LLDB</var></li>
+ <li id="WITHOUT_LLVM_COV~3"><var class="Va">WITHOUT_LLVM_COV</var></li>
+ </ul>
+ <p class="Pp">When set, these options are also in effect:</p>
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_LLVM_BINUTILS~2"><var class="Va">WITHOUT_LLVM_BINUTILS</var></dt>
+ <dd>(unless <var class="Va">WITH_LLVM_BINUTILS</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITH_UBSAN"><var class="Va">WITH_UBSAN</var></dt>
+ <dd>Build the base system with Undefined Behavior Sanitizer (UBSan) to detect
+ various kinds of undefined behavior at runtime. Requires that Clang be
+ used as the base system compiler and that the runtime support library is
+ available</dd>
+ <dt id="WITHOUT_UNBOUND~4"><var class="Va">WITHOUT_UNBOUND</var></dt>
+ <dd>Do not build <a class="Xr">unbound(8)</a> and related programs.</dd>
+ <dt id="WITH_UNDEFINED_VERSION"><var class="Va">WITH_UNDEFINED_VERSION</var></dt>
+ <dd>Link libraries with --undefined-version which permits version maps to
+ contain symbols that are not present in the library. If this is necessary
+ to build a particular configuration, a bug is present and the
+ configuration should be reported.</dd>
+ <dt id="WITHOUT_UNIFIED_OBJDIR"><var class="Va">WITHOUT_UNIFIED_OBJDIR</var></dt>
+ <dd>Use the historical object directory format for <a class="Xr">build(7)</a>
+ targets. For native-builds and builds done directly in sub-directories the
+ format of <span class="Pa">${MAKEOBJDIRPREFIX}/${.CURDIR}</span> is used,
+ while for cross-builds
+ <span class="Pa">${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}</span>
+ is used.
+ <p class="Pp">This option is transitional and will be removed in a future
+ version of <span class="Ux">FreeBSD</span>, at which time
+ <var class="Va">WITH_UNIFIED_OBJDIR</var> will be enabled
+ permanently.</p>
+ <p class="Pp">This must be set in the environment, make command line, or
+ <span class="Pa">/etc/src-env.conf</span>, not
+ <span class="Pa">/etc/src.conf</span>.</p>
+ </dd>
+ <dt id="WITHOUT_USB"><var class="Va">WITHOUT_USB</var></dt>
+ <dd>Do not build USB-related programs and libraries. When set, it enforces
+ these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_USB_GADGET_EXAMPLES"><var class="Va">WITHOUT_USB_GADGET_EXAMPLES</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_USB_GADGET_EXAMPLES~2"><var class="Va">WITHOUT_USB_GADGET_EXAMPLES</var></dt>
+ <dd>Do not build USB gadget kernel modules.</dd>
+ <dt id="WITHOUT_UTMPX"><var class="Va">WITHOUT_UTMPX</var></dt>
+ <dd>Do not build user accounting tools such as <a class="Xr">last(1)</a>,
+ <a class="Xr">users(1)</a>, <a class="Xr">who(1)</a>,
+ <a class="Xr">ac(8)</a>, <a class="Xr">lastlogin(8)</a> and
+ <a class="Xr">utx(8)</a>.</dd>
+ <dt id="WITH_VERIEXEC~2"><var class="Va">WITH_VERIEXEC</var></dt>
+ <dd>Enable building <a class="Xr">veriexec(8)</a> which loads the contents of
+ verified manifests into the kernel for use by
+ <a class="Xr">mac_veriexec(4)</a>
+ <p class="Pp">Depends on <var class="Va">WITH_BEARSSL</var>.</p>
+ </dd>
+ <dt id="WITHOUT_VI"><var class="Va">WITHOUT_VI</var></dt>
+ <dd>Do not build and install vi, view, ex and related programs.</dd>
+ <dt id="WITHOUT_VT"><var class="Va">WITHOUT_VT</var></dt>
+ <dd>Do not build <a class="Xr">vt(4)</a> support files (fonts and
+ keymaps).</dd>
+ <dt id="WITHOUT_WARNS"><var class="Va">WITHOUT_WARNS</var></dt>
+ <dd>Set this to not add warning flags to the compiler invocations. Useful as a
+ temporary workaround when code enters the tree which triggers warnings in
+ environments that differ from the original developer.</dd>
+ <dt id="WITHOUT_WERROR"><var class="Va">WITHOUT_WERROR</var></dt>
+ <dd>Set this to not treat compiler warnings as errors. Useful as a temporary
+ workaround when working on fixing compiler warnings. When set, warnings
+ are still printed in the build log but do not fail the build.</dd>
+ <dt id="WITHOUT_WIRELESS"><var class="Va">WITHOUT_WIRELESS</var></dt>
+ <dd>Do not build programs used for 802.11 wireless networks; especially
+ <a class="Xr">wpa_supplicant(8)</a> and <a class="Xr">hostapd(8)</a>. When
+ set, these options are also in effect:
+ <p class="Pp"></p>
+ <dl class="Bl-inset Bl-compact">
+ <dt id="WITHOUT_WIRELESS_SUPPORT"><var class="Va">WITHOUT_WIRELESS_SUPPORT</var></dt>
+ <dd>(unless <var class="Va">WITH_WIRELESS_SUPPORT</var> is set
+ explicitly)</dd>
+ </dl>
+ </dd>
+ <dt id="WITHOUT_WIRELESS_SUPPORT~2"><var class="Va">WITHOUT_WIRELESS_SUPPORT</var></dt>
+ <dd>Build libraries, programs, and kernel modules without 802.11 wireless
+ support.</dd>
+ <dt id="WITHOUT_WPA_SUPPLICANT_EAPOL"><var class="Va">WITHOUT_WPA_SUPPLICANT_EAPOL</var></dt>
+ <dd>Build <a class="Xr">wpa_supplicant(8)</a> without support for the IEEE
+ 802.1X protocol and without support for EAP-PEAP, EAP-TLS, EAP-LEAP, and
+ EAP-TTLS protocols (usable only via 802.1X).</dd>
+ <dt id="WITH_ZEROREGS"><var class="Va">WITH_ZEROREGS</var></dt>
+ <dd>Build the basesystem with code to zero caller-used register contents on
+ function return. This prevents leaking temporary values for side channel
+ attacks. Additionally this reduces the number of usable ROP gadgets for
+ attackers.</dd>
+ <dt id="WITHOUT_ZFS~4"><var class="Va">WITHOUT_ZFS</var></dt>
+ <dd>Do not build the ZFS file system kernel module, libraries such as
+ <a class="Xr">libbe(3)</a>, and user commands such as
+ <a class="Xr">zpool(8)</a> or <a class="Xr">zfs(8)</a>. Also disable ZFS
+ support in utilities and libraries which implement ZFS-specific
+ functionality. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_ZFS_TESTS~5"><var class="Va">WITHOUT_ZFS_TESTS</var></li>
+ </ul>
+ </dd>
+ <dt id="WITHOUT_ZFS_TESTS~6"><var class="Va">WITHOUT_ZFS_TESTS</var></dt>
+ <dd>Do not build and install the legacy ZFS test suite.</dd>
+ <dt id="WITHOUT_ZONEINFO"><var class="Va">WITHOUT_ZONEINFO</var></dt>
+ <dd>Do not build the timezone database. When set, it enforces these options:
+ <p class="Pp"></p>
+ <ul class="Bl-item Bl-compact">
+ <li id="WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT"><var class="Va">WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT</var></li>
+ </ul>
+ </dd>
+ <dt id="WITH_ZONEINFO_LEAPSECONDS_SUPPORT"><var class="Va">WITH_ZONEINFO_LEAPSECONDS_SUPPORT</var></dt>
+ <dd>Build leapsecond information in to the timezone database. This option
+ violates <span class="St">IEEE Std 1003.1 (&#x201C;POSIX.1&#x201D;)</span>
+ and all other applicable standards, and is known to cause unexpected
+ issues with date/time handling in many applications and programming
+ languages.</dd>
+</dl>
+<p class="Pp">The following options accept a single value from a list of valid
+ values.</p>
+<dl class="Bl-tag">
+ <dt id="INIT_ALL"><var class="Va">INIT_ALL</var></dt>
+ <dd>Control default initialization of stack variables in C and C++ code.
+ Options other than <code class="Li">none</code> require the Clang compiler
+ or GCC 12.0 or later. The default value is <code class="Li">none</code>.
+ Valid values are:
+ <dl class="Bl-tag">
+ <dt id="none"><a class="permalink" href="#none"><code class="Li">none</code></a></dt>
+ <dd>Do not initialize stack variables (standard C/C++ behavior).</dd>
+ <dt id="pattern"><a class="permalink" href="#pattern"><code class="Li">pattern</code></a></dt>
+ <dd>Build the base system or kernel with stack variables initialized to
+ (compiler defined) debugging patterns on function entry.</dd>
+ <dt id="zero"><a class="permalink" href="#zero"><code class="Li">zero</code></a></dt>
+ <dd>Build the base system or kernel with stack variables initialized to
+ zero on function entry. This value is converted to
+ <code class="Li">none</code> for amd64 kernel builds due to
+ incompatibility with ifunc memset.</dd>
+ </dl>
+ </dd>
+ <dt id="LIBC_MALLOC"><var class="Va">LIBC_MALLOC</var></dt>
+ <dd>Specify the <a class="Xr">malloc(3)</a> implementation used by libc. The
+ default value is <code class="Li">jemalloc</code>. Valid values are:
+ <dl class="Bl-tag">
+ <dt id="jemalloc"><a class="permalink" href="#jemalloc"><code class="Li">jemalloc</code></a></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ </dl>
+ <p class="Pp">Other implementations are expected in the future in both
+ <span class="Ux">FreeBSD</span> and downstream consumers.</p>
+ </dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1>
+<dl class="Bl-tag Bl-compact">
+ <dt><span class="Pa">/etc/src.conf</span></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt><span class="Pa">/etc/src-env.conf</span></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+ <dt><span class="Pa">/usr/share/mk/bsd.own.mk</span></dt>
+ <dd style="width: auto;">&#x00A0;</dd>
+</dl>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
+ ALSO</a></h1>
+<p class="Pp"><a class="Xr">make(1)</a>, <a class="Xr">make.conf(5)</a>,
+ <a class="Xr">build(7)</a>, <a class="Xr">ports(7)</a></p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1>
+<p class="Pp">The <code class="Nm">src.conf</code> file appeared in
+ <span class="Ux">FreeBSD 7.0</span>.</p>
+</section>
+<section class="Sh">
+<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1>
+<p class="Pp">This manual page was autogenerated by
+ <span class="An">tools/build/options/makeman</span>.</p>
+</section>
+</div>
+<table class="foot">
+ <tr>
+ <td class="foot-date">April 22, 2026</td>
+ <td class="foot-os">FreeBSD 15.0</td>
+ </tr>
+</table>