NAME
src.conf
—
source build options
DESCRIPTION
Thesrc.conf
file contains variables that control what
components will be generated during the build process of the
FreeBSD source tree; see
build(7).
The src.conf
file uses the standard
makefile syntax. However, src.conf
should not
specify any dependencies to
make(1). Instead, src.conf
is to set
make(1) variables that control the aspects of how the system
builds.
The default location of src.conf
is
/etc/src.conf, though an alternative location can be
specified in the make(1) variable SRCCONF. Overriding
the location of src.conf
may be necessary if the
system-wide settings are not suitable for a particular build. For instance,
setting SRCCONF to /dev/null
effectively resets all build controls to their defaults.
The only purpose of src.conf
is to control
the compilation of the FreeBSD source code, which is
usually located in /usr/src. As a rule, the system
administrator creates src.conf
when the values of
certain control variables need to be changed from their defaults.
In addition, control variables can be specified for a particular
build via the -D
option of
make(1) or in its environment; see
environ(7).
The environment of make(1) for the build can be controlled via the SRC_ENV_CONF variable, which defaults to /etc/src-env.conf. Some examples that may only be set in this file are WITH_DIRDEPS_BUILD, and WITH_META_MODE, and MAKEOBJDIRPREFIX as they are environment-only variables.
The values of variables are ignored regardless of their setting;
even if they would be set to “FALSE
”
or “NO
”. The presence of an option
causes it to be honored by
make(1).
This list provides a name and short description for variables that can be used for source builds.
- WITHOUT_ACCT
- Set to not build process accounting tools such as accton(8) and sa(8).
- WITHOUT_ACPI
- Set to not build acpiconf(8), acpidump(8) and related programs.
- WITHOUT_APM
- Set to not build apm(8), apmd(8) and related programs.
- WITHOUT_ASSERT_DEBUG
- Set to compile programs and libraries without the assert(3) checks.
- WITHOUT_AT
- Set to not build at(1) and related utilities.
- WITHOUT_ATM
- Set to not build programs and libraries related to ATM networking.
- WITHOUT_AUDIT
- Set to not build audit support into system programs.
- WITHOUT_AUTHPF
- Set to not build authpf(8).
- WITHOUT_AUTOFS
- Set to not build autofs(5) related programs, libraries, and kernel modules.
- WITHOUT_AUTO_OBJ
- Disable automatic creation of objdirs. This is enabled by default if the
wanted OBJDIR is writable by the current user.
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITH_BEARSSL
- Build the BearSSL library.
BearSSL is a tiny SSL library suitable for embedded environments. For details see http://www.BearSSL.org/
This library is currently only used to perform signature verification and related operations for Verified Exec and loader(8). When set, these options are also in effect:
- WITH_LOADER_EFI_SECUREBOOT
- (unless WITHOUT_LOADER_EFI_SECUREBOOT is set explicitly)
- WITH_LOADER_VERIEXEC
- (unless WITHOUT_LOADER_VERIEXEC is set explicitly)
- WITH_LOADER_VERIEXEC_VECTX
- (unless WITHOUT_LOADER_VERIEXEC_VECTX is set explicitly)
- WITH_VERIEXEC
- (unless WITHOUT_VERIEXEC is set explicitly)
- WITHOUT_BHYVE
- Set to not build or install
bhyve(8), associated utilities, and examples.
This option only affects amd64/amd64.
- WITH_BHYVE_SNAPSHOT
- Set to include support for save and restore (snapshots) in
bhyve(8) and
bhyvectl(8).
This option only affects amd64/amd64.
- WITH_BIND_NOW
- Build all binaries with the
DF_BIND_NOW
flag set to indicate that the run-time loader should perform all relocation processing at process startup rather than on demand. - WITHOUT_BLACKLIST
- Set this if you do not want to build
blacklistd(8) and
blacklistctl(8). When set, these options are also in
effect:
- WITHOUT_BLACKLIST_SUPPORT
- (unless WITH_BLACKLIST_SUPPORT is set explicitly)
- WITHOUT_BLACKLIST_SUPPORT
- Set to build some programs without libblacklist(3) support, like fingerd(8), ftpd(8), and sshd(8).
- WITHOUT_BLUETOOTH
- Set to not build Bluetooth related kernel modules, programs and libraries.
- WITHOUT_BOOT
- Set to not build the boot blocks and loader.
- WITHOUT_BOOTPARAMD
- Set to not build or install bootparamd(8).
- WITHOUT_BOOTPD
- Set to not build or install bootpd(8).
- WITHOUT_BSDINSTALL
- Set to not build bsdinstall(8), sade(8), and related programs.
- WITHOUT_BSD_CPIO
- Set to not build the BSD licensed version of cpio based on libarchive(3).
- WITHOUT_BSNMP
- Set to not build or install bsnmpd(1) and related libraries and data files.
- WITHOUT_BZIP2
- Set to not build contributed bzip2 software as a part of the base system.
The option has no effect yet.When set, these options are also in effect:
- WITHOUT_BZIP2_SUPPORT
- (unless WITH_BZIP2_SUPPORT is set explicitly)
- WITHOUT_BZIP2_SUPPORT
- Set to build some programs without optional bzip2 support.
- WITHOUT_CALENDAR
- Set to not build calendar(1).
- WITHOUT_CAPSICUM
- Set to not build Capsicum support into system programs. When set, it
enforces these options:
- WITHOUT_CASPER
- WITHOUT_CAROOT
- Set to not add the trusted certificates from the Mozilla NSS bundle to base.
- WITHOUT_CASPER
- Set to not build Casper program and related libraries.
- WITH_CCACHE_BUILD
- Set to use ccache(1) for the build. No configuration is required
except to install the
devel/ccache
package. When using with
distcc(1), set
CCACHE_PREFIX=/usr/local/bin/distcc.
The default cache directory of $HOME/.ccache will
be used, which can be overridden by setting
CCACHE_DIR.
The
CCACHE_COMPILERCHECK
option defaults to
content
when using the in-tree bootstrap compiler, and
mtime
when using an external compiler. The
CCACHE_CPP2
option is used for Clang but not GCC.
Sharing a cache between multiple work directories requires using a layout similar to /some/prefix/src /some/prefix/obj and an environment such as:
CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
See ccache(1) for more configuration options.
- WITHOUT_CCD
- Set to not build geom_ccd(4) and related utilities.
- WITHOUT_CDDL
- Set to not build code licensed under Sun's CDDL. When set, it enforces
these options:
- WITHOUT_CTF
- WITHOUT_LOADER_ZFS
- WITHOUT_ZFS
- WITHOUT_CLANG
- Set to not build the Clang C/C++ compiler during the regular phase of the
build. When set, it enforces these options:
- WITHOUT_CLANG_EXTRAS
- WITHOUT_CLANG_FORMAT
- WITHOUT_CLANG_FULL
- WITHOUT_LLVM_COV
- WITHOUT_CLANG_BOOTSTRAP
- Set to 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.
- WITH_CLANG_EXTRAS
- Set to build additional clang and llvm tools, such as bugpoint and clang-format.
- WITH_CLANG_FORMAT
- Set to build clang-format.
- WITHOUT_CLANG_FULL
- Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler.
- WITHOUT_CLANG_IS_CC
- Do not install links to the Clang C/C++ compiler as /usr/bin/cc, /usr/bin/c++ and /usr/bin/cpp.
- WITHOUT_CLEAN
- Do not clean before building world and/or kernel.
- WITHOUT_CPP
- Set to not build cpp(1).
- WITHOUT_CROSS_COMPILER
- Set to not build any cross compiler in the cross-tools stage of
buildworld. When compiling a different version of
FreeBSD than what is installed on the system,
provide an alternate compiler with XCC to ensure success. When compiling
with an identical version of FreeBSD to the host,
this option may be safely used. This option may also be safe when the host
version of FreeBSD 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:
- WITHOUT_CLANG_BOOTSTRAP
- WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
- WITHOUT_LLD_BOOTSTRAP
- WITHOUT_CRYPT
- Set to not build any crypto code. When set, it enforces these options:
- WITHOUT_DMAGENT
- WITHOUT_KERBEROS
- WITHOUT_KERBEROS_SUPPORT
- WITHOUT_LDNS
- WITHOUT_LDNS_UTILS
- WITHOUT_OPENSSH
- WITHOUT_OPENSSL
- WITHOUT_PKGBOOTSTRAP
- WITHOUT_SVN
- WITHOUT_SVNLITE
- WITHOUT_UNBOUND
- WITHOUT_ZFS
When set, these options are also in effect:
- WITHOUT_GSSAPI
- (unless WITH_GSSAPI is set explicitly)
- WITH_CTF
- Set to 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.
- WITHOUT_CUSE
- Set to not build CUSE-related programs and libraries.
- WITHOUT_CXGBETOOL
- Set to not build
cxgbetool(8)
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
- WITH_CXGBETOOL
- Set to build
cxgbetool(8)
This is a default setting on amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
- WITHOUT_CXX
- Set to not build c++(1) and related libraries. It will also prevent building
of gperf(1) and
devd(8). When set, it enforces these options:
- WITHOUT_CLANG
- WITHOUT_CLANG_EXTRAS
- WITHOUT_CLANG_FORMAT
- WITHOUT_CLANG_FULL
- WITHOUT_DTRACE_TESTS
- WITHOUT_GOOGLETEST
- WITHOUT_LLVM_COV
- WITHOUT_TESTS
- WITHOUT_DEBUG_FILES
- Set to avoid building or installing standalone debug files for each executable binary and shared library.
- WITHOUT_DIALOG
- Set to not build
dialog(1),
dialog(3),
dpv(1), and
dpv(3). When set, it enforces these options:
- WITHOUT_BSDINSTALL
- WITHOUT_DICT
- Set to not build the Webster dictionary files.
- WITH_DIRDEPS_BUILD
- This is an experimental build system. For details see
http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. Build commands can
be seen from the top-level with:
The build is driven by dirdeps.mk using DIRDEPS stored in Makefile.depend files found in each directory.
make show-valid-targets
The build can be started from anywhere, and behaves the same. The initial instance of make(1) recursively reads DIRDEPS from Makefile.depend, computing a graph of tree dependencies from the current origin. Setting NO_DIRDEPS skips checking dirdep dependencies and will only build in the current and child directories. NO_DIRDEPS_BELOW skips building any dirdeps and only build the current directory.
This also utilizes the WITH_META_MODE logic for incremental builds.
The build hides commands executed unless NO_SILENT is defined.
Note that there is currently no mass install feature for this.
When set, it enforces these options:
- WITH_INSTALL_AS_USER
When set, these options are also in effect:
- WITH_META_MODE
- (unless WITHOUT_META_MODE is set explicitly)
- WITH_STAGING
- (unless WITHOUT_STAGING is set explicitly)
- WITH_STAGING_MAN
- (unless WITHOUT_STAGING_MAN is set explicitly)
- WITH_STAGING_PROG
- (unless WITHOUT_STAGING_PROG is set explicitly)
- WITH_SYSROOT
- (unless WITHOUT_SYSROOT is set explicitly)
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITH_DIRDEPS_CACHE
- Cache result of dirdeps.mk which can save significant time for subsequent
builds. Depends on WITH_DIRDEPS_BUILD.
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITHOUT_DMAGENT
- Set to not build dma Mail Transport Agent.
- WITHOUT_DOCCOMPRESS
- Set to not install compressed system documentation. Only the uncompressed version will be installed.
- WITH_DTRACE_TESTS
- Set to build and install the DTrace test suite in /usr/tests/cddl/usr.sbin/dtrace. This test suite is considered experimental on architectures other than amd64/amd64 and running it may cause system instability.
- WITHOUT_DYNAMICROOT
- Set this if you do not want to link /bin and /sbin dynamically.
- WITHOUT_EE
- Set to not build and install edit(1), ee(1), and related programs.
- WITHOUT_EFI
- Set not to build
efivar(3) and
efivar(8).
This is a default setting on mips/mips, mips/mips64, powerpc/powerpc and powerpc/powerpc64.
- WITH_EFI
- Set to build
efivar(3) and
efivar(8).
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
- Set to not build ELF Tool Chain tools (addr2line, nm, size, strings and
strip) as part of the bootstrap process.
An alternate bootstrap tool chain must be provided.
- WITHOUT_EXAMPLES
- Set to avoid installing examples to /usr/share/examples/.
- WITH_EXPERIMENTAL
- Set to include experimental features in the build.
- WITH_EXTRA_TCP_STACKS
- Set to build extra TCP stack modules.
- WITHOUT_FDT
- Set to not build Flattened Device Tree support as part of the base system. This includes the device tree compiler (dtc) and libfdt support library.
- WITHOUT_FILE
- Set to not build
file(1) and related programs. When set, it enforces these options:
- WITHOUT_SVNLITE
- WITHOUT_FINGER
- Set to not build or install finger(1) and fingerd(8).
- WITHOUT_FLOPPY
- Set to not build or install programs for operating floppy disk driver.
- WITHOUT_FMTREE
- Set to not build and install /usr/sbin/fmtree.
- WITHOUT_FORMAT_EXTENSIONS
- Set to not enable
-fformat-extensions
when compiling the kernel. Also disables all format checking. - WITHOUT_FORTH
- Set to build bootloaders without Forth support.
- WITHOUT_FP_LIBC
- Set to build
libc
without floating-point support. - WITHOUT_FREEBSD_UPDATE
- Set to not build freebsd-update(8).
- WITHOUT_FTP
- Set to not build or install ftp(1) and ftpd(8).
- WITHOUT_GAMES
- Set to not build games.
- WITHOUT_GH_BC
- Set to not build and install the enhanced bc(1) and dc(1) programs instead of the traditional FreeBSD versions.
- WITHOUT_GNU_DIFF
- Set to not build GNU diff3(1).
- WITHOUT_GOOGLETEST
- Set to neither build nor install library
“libgmock”, library
“libgtest”, and dependent tests.
This is a default setting on mips/mips and mips/mips64.
- WITH_GOOGLETEST
- Set to build and install library
“libgmock”, library
“libgtest”, and dependent tests.
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_GPIO
- Set to not build gpioctl(8) as part of the base system.
- WITHOUT_GSSAPI
- Set to not build libgssapi.
- WITHOUT_HAST
- Set to not build hastd(8) and related utilities.
- WITH_HESIOD
- Set to build Hesiod support.
- WITHOUT_HTML
- Set to not build HTML docs.
- WITHOUT_HYPERV
- Set to not build or install HyperV utilities.
This is a default setting on arm/armv6, arm/armv7, arm64/aarch64, mips/mips, mips/mips64, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
- WITH_HYPERV
- Set to build or install HyperV utilities.
This is a default setting on amd64/amd64 and i386/i386.
- WITHOUT_ICONV
- Set to not build iconv as part of libc.
- WITHOUT_INCLUDES
- Set to not install header files. This option used to be spelled
NO_INCS.
The option does not work for build targets.
- WITHOUT_INET
- Set to not build programs and libraries related to IPv4 networking. When
set, it enforces these options:
- WITHOUT_INET_SUPPORT
- WITHOUT_INET6
- Set to not build programs and libraries related to IPv6 networking. When
set, it enforces these options:
- WITHOUT_INET6_SUPPORT
- WITHOUT_INET6_SUPPORT
- Set to build libraries, programs, and kernel modules without IPv6 support.
- WITHOUT_INETD
- Set to not build inetd(8).
- WITHOUT_INET_SUPPORT
- Set to build libraries, programs, and kernel modules without IPv4 support.
- WITH_INIT_ALL_PATTERN
- Set to build the base system or kernel with stack variables initialized to (compiler defined) debugging patterns on function entry. This option requires the clang compiler.
- WITH_INIT_ALL_ZERO
- Set to build the base system or kernel with stack variables initialized to zero on function entry. This option requires that the clang compiler be used.
- WITHOUT_INSTALLLIB
- Set this to not install optional libraries. For example, when creating a
nanobsd(8) image.
The option does not work for build targets.
- WITH_INSTALL_AS_USER
- Set to make install targets succeed for non-root users by installing files with owner and group attributes set to that of the user running the make(1) command. The user still must set the DESTDIR variable to point to a directory where the user has write permissions.
- WITHOUT_IPFILTER
- Set to not build IP Filter package.
- WITHOUT_IPFW
- Set to not build IPFW tools.
- WITHOUT_IPSEC_SUPPORT
- Set to not build the kernel with ipsec(4) support. This option is needed for ipsec(4) and tcpmd5(4).
- WITHOUT_ISCSI
- Set to not build iscsid(8) and related utilities.
- WITHOUT_JAIL
- Set to not build tools for the support of jails; e.g., jail(8).
- WITHOUT_KDUMP
- Set to not build kdump(1) and truss(1).
- WITHOUT_KERBEROS
- Set this to not build Kerberos 5 (KTH Heimdal). When set, these options
are also in effect:
- WITHOUT_GSSAPI
- (unless WITH_GSSAPI is set explicitly)
- WITHOUT_KERBEROS_SUPPORT
- (unless WITH_KERBEROS_SUPPORT is set explicitly)
- WITHOUT_KERBEROS_SUPPORT
- Set to build some programs without Kerberos support, like ssh(1), telnet(1), sshd(8), and telnetd(8).
- WITH_KERNEL_RETPOLINE
- Set to enable the "retpoline" mitigation for CVE-2017-5715 in the kernel build.
- WITHOUT_KERNEL_SYMBOLS
- Set to not install kernel symbol files.
This option is recommended for those people who have small root partitions.
- WITHOUT_KVM
- Set to not build the
libkvm
library as a part of the base system.The option has no effect yet.When set, these options are also in effect:- WITHOUT_KVM_SUPPORT
- (unless WITH_KVM_SUPPORT is set explicitly)
- WITHOUT_KVM_SUPPORT
- Set to build some programs without optional
libkvm
support. - WITHOUT_LDNS
- Setting this variable will prevent the LDNS library from being built. When
set, it enforces these options:
- WITHOUT_LDNS_UTILS
- WITHOUT_UNBOUND
- WITHOUT_LDNS_UTILS
- Setting this variable will prevent building the LDNS utilities drill(1) and host(1).
- WITHOUT_LEGACY_CONSOLE
- Set to not build programs that support a legacy PC console; e.g., kbdcontrol(1) and vidcontrol(1).
- WITHOUT_LIB32
- On 64-bit platforms, set to not build 32-bit library set and a
ld-elf32.so.1
runtime linker.This is a default setting on arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_LIBCPLUSPLUS
- Set to avoid building libcxxrt and libc++.
- WITH_LIBSOFT
- On armv6 only, set to enable soft float ABI compatibility libraries. This option is for transitioning to the new hard float ABI.
- WITHOUT_LLD
- Set to not build LLVM's lld linker.
- WITHOUT_LLDB
- Set to not build the LLDB debugger.
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
- WITH_LLDB
- Set to build the LLDB debugger.
This is a default setting on amd64/amd64, arm64/aarch64 and i386/i386.
- WITHOUT_LLD_BOOTSTRAP
- Set to 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.
- WITHOUT_LLD_IS_LD
- Do not install a /usr/bin/ld symlink to ld.lld. The system will not have a usable tool chain unless a linker is provided some other way.
- WITH_LLVM_ASSERTIONS
- Set to enable debugging assertions in LLVM.
- WITHOUT_LLVM_COV
- Set to not build the llvm-cov(1) tool.
- WITHOUT_LLVM_CXXFILT
- Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
- WITHOUT_LLVM_TARGET_AARCH64
- Set to not build LLVM target support for AArch64. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITHOUT_LLVM_TARGET_ALL
- Set to only build the required LLVM target support. This option is
preferred to specific target support options. When set, these options are
also in effect:
- WITHOUT_LLVM_TARGET_AARCH64
- (unless WITH_LLVM_TARGET_AARCH64 is set explicitly)
- WITHOUT_LLVM_TARGET_ARM
- (unless WITH_LLVM_TARGET_ARM is set explicitly)
- WITHOUT_LLVM_TARGET_MIPS
- (unless WITH_LLVM_TARGET_MIPS is set explicitly)
- WITHOUT_LLVM_TARGET_POWERPC
- (unless WITH_LLVM_TARGET_POWERPC is set explicitly)
- WITHOUT_LLVM_TARGET_RISCV
- (unless WITH_LLVM_TARGET_RISCV is set explicitly)
- WITHOUT_LLVM_TARGET_ARM
- Set to not build LLVM target support for ARM. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITH_LLVM_TARGET_BPF
- Set to build LLVM target support for BPF. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITHOUT_LLVM_TARGET_MIPS
- Set to not build LLVM target support for MIPS. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITHOUT_LLVM_TARGET_POWERPC
- Set to not build LLVM target support for PowerPC. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITHOUT_LLVM_TARGET_RISCV
- Set to not build LLVM target support for RISC-V. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITHOUT_LLVM_TARGET_X86
- Set to not build LLVM target support for X86. The LLVM_TARGET_ALL option should be used rather than this in most cases.
- WITH_LOADER_EFI_SECUREBOOT
- Enable building loader(8) with support for verification based on certificates obtained from UEFI.
- WITH_LOADER_FIREWIRE
- Enable firewire support in /boot/loader on x86. This option is a nop on all other platforms.
- WITHOUT_LOADER_GELI
- Disable inclusion of GELI crypto support in the boot chain binaries.
This is a default setting on powerpc/powerpc and powerpc/powerpc64.
- WITH_LOADER_GELI
- Set to build GELI bootloader support.
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, mips/mips64, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_LOADER_LUA
- Set to not build LUA bindings for the boot loader.
This is a default setting on powerpc/powerpc and powerpc/powerpc64.
- WITH_LOADER_LUA
- Set to build LUA bindings for the boot loader.
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, mips/mips64, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_LOADER_OFW
- Disable building of openfirmware bootloader components.
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, mips/mips64, riscv/riscv64 and riscv/riscv64sf.
- WITH_LOADER_OFW
- Set to build openfirmware bootloader components.
This is a default setting on powerpc/powerpc and powerpc/powerpc64.
- WITHOUT_LOADER_UBOOT
- Disable building of ubldr.
This is a default setting on amd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
- WITH_LOADER_UBOOT
- Set to build ubldr.
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc and powerpc/powerpc64.
- WITH_LOADER_VERBOSE
- Set to build with extra verbose debugging in the loader. May explode already nearly too large loader over the limit. Use with care.
- WITH_LOADER_VERIEXEC
- Enable building
loader(8) with support for verification similar to Verified Exec.
Depends on WITH_BEARSSL. When set, these options are also in effect:
- WITH_LOADER_EFI_SECUREBOOT
- (unless WITHOUT_LOADER_EFI_SECUREBOOT is set explicitly)
- WITH_LOADER_VERIEXEC_VECTX
- (unless WITHOUT_LOADER_VERIEXEC_VECTX is set explicitly)
- WITH_LOADER_VERIEXEC_PASS_MANIFEST
- Enable building
loader(8) with support to pass a verified manifest to the kernel.
The kernel has to be built with a module to parse the manifest.
Depends on WITH_LOADER_VERIEXEC.
- WITHOUT_LOADER_ZFS
- Set to not build ZFS file system boot loader support.
- WITHOUT_LOCALES
- Set to not build localization files; see locale(1).
- WITHOUT_LOCATE
- Set to not build locate(1) and related programs.
- WITHOUT_LPR
- Set to not build lpr(1) and related programs.
- WITHOUT_LS_COLORS
- Set to build ls(1) without support for colors to distinguish file types.
- WITHOUT_LZMA_SUPPORT
- Set to build some programs without optional lzma compression support.
- WITHOUT_MAIL
- Set to not build any mail support (MUA or MTA). When set, it enforces
these options:
- WITHOUT_DMAGENT
- WITHOUT_MAILWRAPPER
- WITHOUT_SENDMAIL
- WITHOUT_MAILWRAPPER
- Set to not build the mailwrapper(8) MTA selector.
- WITHOUT_MAKE
- Set to not install make(1) and related support files.
- WITHOUT_MAKE_CHECK_USE_SANDBOX
- Set to not execute “
make check
” in limited sandbox mode. This option should be paired with WITH_INSTALL_AS_USER if executed as an unprivileged user. See tests(7) for more details. - WITHOUT_MALLOC_PRODUCTION
- Set to enable assertions and statistics gathering in malloc(3). It also defaults the A and J runtime options to on.
- WITHOUT_MAN
- Set to not build manual pages. When set, these options are also in effect:
- WITHOUT_MAN_UTILS
- (unless WITH_MAN_UTILS is set explicitly)
- WITHOUT_MANCOMPRESS
- Set to not to install compressed man pages. Only the uncompressed versions will be installed.
- WITHOUT_MAN_UTILS
- Set to not build utilities for manual pages, apropos(1), makewhatis(1), man(1), whatis(1), manctl(8), and related support files.
- WITH_META_MODE
- Create make(1) meta files when building, which can provide a reliable
incremental build when using
filemon(4). The meta file is created in OBJDIR as
target.meta. These meta files track the command
that was executed, its output, and the current directory. The
filemon(4) module is required unless
NO_FILEMON 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:
- The command to execute changes.
- The current working directory changes.
- The target's meta file is missing.
- The target's meta file is missing filemon data when filemon is loaded and a previous run did not have it loaded.
- [requires filemon(4)] Files read, executed or linked to are newer than the target.
- [requires filemon(4)] Files read, written, executed or linked are missing.
The build hides commands that are executed unless NO_SILENT is defined. Errors cause make(1) to show some of its environment for further debugging.
The build operates as it normally would otherwise. This option originally invoked a different build system but that was renamed to WITH_DIRDEPS_BUILD.
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITHOUT_MLX5TOOL
- Set to not build
mlx5tool(8)
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
- WITH_MLX5TOOL
- Set to build
mlx5tool(8)
This is a default setting on amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
- WITHOUT_NDIS
- Set to not build programs and libraries related to NDIS emulation support.
- WITHOUT_NETCAT
- Set to not build nc(1) utility.
- WITHOUT_NETGRAPH
- Set to not build applications to support
netgraph(4). When set, it enforces these options:
- WITHOUT_ATM
- WITHOUT_BLUETOOTH
When set, these options are also in effect:
- WITHOUT_NETGRAPH_SUPPORT
- (unless WITH_NETGRAPH_SUPPORT is set explicitly)
- WITHOUT_NETGRAPH_SUPPORT
- Set to build libraries, programs, and kernel modules without netgraph support.
- WITHOUT_NIS
- Set to not build NIS(8) support and related programs. If set, you might need to adopt your nsswitch.conf(5) and remove ‘nis’ entries.
- WITHOUT_NLS
- Set to not build NLS catalogs. When set, it enforces these options:
- WITHOUT_NLS_CATALOGS
- WITHOUT_NLS_CATALOGS
- Set to not build NLS catalog support for csh(1).
- WITHOUT_NS_CACHING
- Set to disable name caching in the nsswitch subsystem. The generic caching daemon, nscd(8), will not be built either if this option is set.
- WITHOUT_NTP
- Set to not build ntpd(8) and related programs.
- WITHOUT_NVME
- Set to not build nvme related tools and kernel modules.
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
- WITH_NVME
- Set to build nvme related tools and kernel modules.
This is a default setting on amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
- WITH_OFED
- Set to build the “OpenFabrics Enterprise Distribution” Infiniband software stack.
- WITH_OFED_EXTRA
- Set to build the non-essential components of the “OpenFabrics Enterprise Distribution” Infiniband software stack, mostly examples.
- WITH_OPENLDAP
- Enable building LDAP support for kerberos using an openldap client from ports.
- WITHOUT_OPENMP
- Set to not build LLVM's OpenMP runtime.
This is a default setting on arm/armv6, arm/armv7, mips/mips, mips/mips64, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
- WITH_OPENMP
- Set to build LLVM's OpenMP runtime.
This is a default setting on amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
- WITHOUT_OPENSSH
- Set to not build OpenSSH.
- WITHOUT_OPENSSL
- Set to not build OpenSSL. When set, it enforces these options:
- WITHOUT_DMAGENT
- WITHOUT_KERBEROS
- WITHOUT_KERBEROS_SUPPORT
- WITHOUT_LDNS
- WITHOUT_LDNS_UTILS
- WITHOUT_OPENSSH
- WITHOUT_PKGBOOTSTRAP
- WITHOUT_SVN
- WITHOUT_SVNLITE
- WITHOUT_UNBOUND
- WITHOUT_ZFS
When set, these options are also in effect:
- WITHOUT_GSSAPI
- (unless WITH_GSSAPI is set explicitly)
- WITH_OPENSSL_KTLS
- Set to include kernel TLS support in OpenSSL.
- WITHOUT_PAM
- Set to not build PAM library and modules.
This option is deprecated and does nothing.When set, these options are also in effect:
- WITHOUT_PAM_SUPPORT
- (unless WITH_PAM_SUPPORT is set explicitly)
- WITHOUT_PAM_SUPPORT
- Set to build some programs without PAM support, particularly ftpd(8) and ppp(8).
- WITHOUT_PF
- Set to not build PF firewall package. When set, it enforces these options:
- WITHOUT_AUTHPF
- WITH_PIE
- Build dynamically linked binaries as Position-Independent Executable (PIE).
- WITHOUT_PKGBOOTSTRAP
- Set to not build pkg(7) bootstrap tool.
- WITHOUT_PMC
- Set to not build pmccontrol(8) and related programs.
- WITHOUT_PORTSNAP
- Set to not build or install portsnap(8) and related files.
- WITHOUT_PPP
- Set to not build ppp(8) and related programs.
- WITHOUT_PROFILE
- Set to not build profiled libraries for use with
gprof(8).
This is a default setting on mips/mips64.
- WITH_PROFILE
- Set to build profiled libraries for use with
gprof(8).
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mips, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
- WITHOUT_QUOTAS
- Set to not build quota(1) and related programs.
- WITHOUT_RADIUS_SUPPORT
- Set to not build radius support into various applications, like pam_radius(8) and ppp(8).
- WITH_RATELIMIT
- Set to build the system with rate limit support.
This makes
SO_MAX_PACING_RATE
effective in getsockopt(2), and txrlimit support in ifconfig(8), by proxy. - WITHOUT_RBOOTD
- Set to not build or install rbootd(8).
- WITH_REPRODUCIBLE_BUILD
- Set to exclude build metadata (such as the build time, user, or host) from the kernel, boot loaders, and uname output, so that builds produce bit-for-bit identical output.
- WITHOUT_RESCUE
- Set to not build rescue(8).
- WITH_RETPOLINE
- Set to build the base system with the retpoline speculative execution vulnerability mitigation for CVE-2017-5715.
- WITHOUT_ROUTED
- Set to not build routed(8) utility.
- WITH_RPCBIND_WARMSTART_SUPPORT
- Set to build rpcbind(8) with warmstart support.
- WITHOUT_SENDMAIL
- Set to not build sendmail(8) and related programs.
- WITHOUT_SERVICESDB
- Set to not install /var/db/services.db.
- WITHOUT_SETUID_LOGIN
- Set this to disable the installation of login(1) as a set-user-ID root program.
- WITHOUT_SHAREDOCS
- Set to not build the 4.4BSD legacy docs.
- WITHOUT_SHARED_TOOLCHAIN
- Set to build the toolchain binaries as statically linked executables. The set includes cc(1), make(1) and necessary utilities like assembler, linker and library archive manager.
- WITH_SORT_THREADS
- Set to enable threads in sort(1).
- WITHOUT_SOURCELESS
- Set to not build kernel modules that include sourceless code (either
microcode or native code for host CPU). When set, it enforces these
options:
- WITHOUT_SOURCELESS_HOST
- WITHOUT_SOURCELESS_UCODE
- WITHOUT_SOURCELESS_HOST
- Set to not build kernel modules that include sourceless native code for host CPU.
- WITHOUT_SOURCELESS_UCODE
- Set to not build kernel modules that include sourceless microcode.
- WITHOUT_SSP
- Set to not build world with propolice stack smashing protection.
This is a default setting on mips/mips and mips/mips64.
- WITH_SSP
- Set to build world with propolice stack smashing protection.
This is a default setting on amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
- WITH_STAGING
- Enable staging of files to a stage tree. This can be best thought of as
auto-install to DESTDIR with some extra meta data to
ensure dependencies can be tracked. Depends on
WITH_DIRDEPS_BUILD. When set, these options are also
in effect:
- WITH_STAGING_MAN
- (unless WITHOUT_STAGING_MAN is set explicitly)
- WITH_STAGING_PROG
- (unless WITHOUT_STAGING_PROG is set explicitly)
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITH_STAGING_MAN
- Enable staging of man pages to stage tree.
- WITH_STAGING_PROG
- Enable staging of PROGs to stage tree.
- WITH_STALE_STAGED
- Check staged files are not stale.
- WITHOUT_STATS
- Set to neither build nor install library “libstats” and dependent binaries.
- WITH_SVN
- Set to install svnlite(1) as svn(1).
- WITHOUT_SVNLITE
- Set to not build svnlite(1) and related programs.
- WITHOUT_SYSCONS
- Set to not build syscons(4) support files such as keyboard maps, fonts, and screen output maps.
- WITH_SYSROOT
- Enable use of sysroot during build. Depends on
WITH_DIRDEPS_BUILD.
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITHOUT_SYSTEM_COMPILER
- Set to 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 WITHOUT_CLANG option controls that.
- WITHOUT_SYSTEM_LINKER
- Set to 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
WITHOUT_LLD option controls that.
This option is only relevant when WITH_LLD_BOOTSTRAP is set.
- WITHOUT_TALK
- Set to not build or install talk(1) and talkd(8).
- WITHOUT_TCP_WRAPPERS
- Set to not build or install tcpd(8), and related utilities.
- WITHOUT_TCSH
- Set to not build and install /bin/csh (which is tcsh(1)).
- WITHOUT_TELNET
- Set to not build telnet(1) and related programs.
- WITHOUT_TESTS
- Set to not build nor install the FreeBSD Test
Suite in /usr/tests/. See
tests(7) for more details. This also disables the build of all
test-related dependencies, including ATF. When set, it enforces these
options:
- WITHOUT_DTRACE_TESTS
When set, these options are also in effect:
- WITHOUT_GOOGLETEST
- (unless WITH_GOOGLETEST is set explicitly)
- WITHOUT_TESTS_SUPPORT
- (unless WITH_TESTS_SUPPORT is set explicitly)
- WITHOUT_TESTS_SUPPORT
- Set to disables the build of all test-related dependencies, including ATF.
When set, it enforces these options:
- WITHOUT_GOOGLETEST
- WITHOUT_TEXTPROC
- Set to not build programs used for text processing.
- WITHOUT_TFTP
- Set to not build or install tftp(1) and tftpd(8).
- WITHOUT_TOOLCHAIN
- Set to not install header or programs used for program development,
compilers, debuggers etc. When set, it enforces these options:
- WITHOUT_CLANG
- WITHOUT_CLANG_EXTRAS
- WITHOUT_CLANG_FORMAT
- WITHOUT_CLANG_FULL
- WITHOUT_INCLUDES
- WITHOUT_LLD
- WITHOUT_LLDB
- WITHOUT_LLVM_COV
- WITHOUT_UNBOUND
- Set to not build unbound(8) and related programs.
- WITHOUT_UNIFIED_OBJDIR
- Set to use the historical object directory format for
build(7) targets. For native-builds and builds done directly in
sub-directories the format of
${MAKEOBJDIRPREFIX}/${.CURDIR} is used, while for
cross-builds
${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
is used.
This option is transitional and will be removed before the 12.0 release, at which time will be enabled permanently.
This must be set in the environment, make command line, or /etc/src-env.conf, not /etc/src.conf.
- WITHOUT_USB
- Set to not build USB-related programs and libraries.
- WITHOUT_USB_GADGET_EXAMPLES
- Set to not build USB gadget kernel modules.
- WITHOUT_UTMPX
- Set to not build user accounting tools such as last(1), users(1), who(1), ac(8), lastlogin(8) and utx(8).
- WITH_VERIEXEC
- Enable building
veriexec(8) which loads the contents of verified manifests
into the kernel for use by
mac_veriexec(4)
Depends on WITH_BEARSSL.
- WITHOUT_VI
- Set to not build and install vi, view, ex and related programs.
- WITHOUT_VT
- Set to not build vt(4) support files (fonts and keymaps).
- WITHOUT_WARNS
- 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.
- WITHOUT_WERROR
- 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.
- WITHOUT_WIRELESS
- Set to not build programs used for 802.11 wireless networks; especially
wpa_supplicant(8) and
hostapd(8). When set, these options are also in effect:
- WITHOUT_WIRELESS_SUPPORT
- (unless WITH_WIRELESS_SUPPORT is set explicitly)
- WITHOUT_WIRELESS_SUPPORT
- Set to build libraries, programs, and kernel modules without 802.11 wireless support.
- WITHOUT_WPA_SUPPLICANT_EAPOL
- Build wpa_supplicant(8) 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).
- WITHOUT_ZFS
- Set to not build ZFS file system kernel module, libraries, and user commands.
- WITHOUT_ZONEINFO
- Set to not build the timezone database. When set, it enforces these
options:
- WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
- WITH_ZONEINFO_LEAPSECONDS_SUPPORT
- Set to build leapsecond information in to the timezone database.
FILES
- /etc/src.conf
- /etc/src-env.conf
- /usr/share/mk/bsd.own.mk
SEE ALSO
HISTORY
The src.conf
file appeared in
FreeBSD 7.0.
AUTHORS
This manual page was autogenerated by tools/build/options/makeman.