diff options
Diffstat (limited to 'static/freebsd/man5/src.conf.5 3.html')
| -rw-r--r-- | static/freebsd/man5/src.conf.5 3.html | 1550 |
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> — <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 + “<code class="Li">FALSE</code>” or + “<code class="Li">NO</code>”. 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 "full" 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 + “libgmock”</span>, <span class="Lb">library + “libgtest”</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 "retpoline" 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 “<code class="Li">make check</code>” 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 + ‘<code class="Li">${SRCTOP:H}/error</code>’) 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 ‘nis’ 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 “OpenFabrics Enterprise Distribution” + 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 “OpenFabrics Enterprise Distribution” 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 “OpenFabrics Enterprise + Distribution” 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 + “libstats”</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 (“POSIX.1”)</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;"> </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;"> </dd> + <dt><span class="Pa">/etc/src-env.conf</span></dt> + <dd style="width: auto;"> </dd> + <dt><span class="Pa">/usr/share/mk/bsd.own.mk</span></dt> + <dd style="width: auto;"> </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> |
