Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SRC.CONF(5)		       File Formats Manual		     SRC.CONF(5)

NAME
     src.conf -- source build options

DESCRIPTION
     The  src.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 the top level of the source tree, or
     /etc/src.conf if no src.conf is found in the source tree itself, 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  de-
     faults.

     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 vari-
     ables.

     The values of WITH_ and WITHOUT_ 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
	     Do not build process accounting tools such as accton(8) and sa(8).

     WITHOUT_ACPI
	     Do not build acpiconf(8), acpidump(8) and related programs.

     WITHOUT_APM
	     Do not build apm(8), apmd(8) and related programs.

     WITH_ASAN
	     Build  the base system with Address Sanitizer (ASan) to detect mem-
	     ory 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:

	     WITH_LLVM_BINUTILS
	     WITH_LLVM_CXXFILT

     WITHOUT_ASSERT_DEBUG
	     Compile programs and libraries without the assert(3) checks.

     WITHOUT_AT
	     Do not build at(1) and related utilities.

     WITHOUT_AUDIT
	     Do not build audit support into system programs.

     WITHOUT_AUTHPF
	     Do not build authpf(8).

     WITHOUT_AUTOFS
	     Do not build autofs(4) related programs, libraries, and kernel mod-
	     ules.

     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 https://www.BearSSL.org/

	     This library is currently only used to perform signature  verifica-
	     tion and related operations for Verified Exec and loader(8).

	     Due  to  size  constraints  in the BIOS environment on x86, one may
	     need to set LOADERSIZE larger than the default 500000, although of-
	     ten loader is under the 500k limit even with this option.	 Setting
	     LOADERSIZE  larger than 500000 may cause pxeboot(8) 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	impossi-
	     ble.

	     See  also	WITH_LOADER_PXEBOOT for other considerations.  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 explic-
	     itly)
	     WITH_LOADER_VERIEXEC_VECTX (unless WITHOUT_LOADER_VERIEXEC_VECTX is
	     set explicitly)
	     WITH_VERIEXEC (unless WITHOUT_VERIEXEC is set explicitly)

     WITHOUT_BHYVE
	     Do not build or install bhyve(8), associated utilities,  and  exam-
	     ples.

	     This option only affects amd64/amd64 and arm64/aarch64.

     WITH_BHYVE_SNAPSHOT
	     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.   The  combination  of  the
	     BIND_NOW  and  RELRO  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 at-
	     tacks.

     WITHOUT_BLACKLIST
	     This option has been renamed to WITHOUT_BLOCKLIST.   When	set,  it
	     enforces these options:

	     WITHOUT_BLOCKLIST

	     When set, these options are also in effect:

	     WITHOUT_BLACKLIST_SUPPORT (unless WITH_BLACKLIST_SUPPORT is set ex-
	     plicitly)
	     WITHOUT_BLOCKLIST_SUPPORT (unless WITH_BLOCKLIST_SUPPORT is set ex-
	     plicitly)

     WITHOUT_BLACKLIST_SUPPORT
	     This  option  has	been renamed to WITHOUT_BLOCKLIST_SUPPORT.  When
	     set, it enforces these options:

	     WITHOUT_BLOCKLIST_SUPPORT

     WITHOUT_BLOCKLIST
	     Set this if you do not  want  to  build  blocklistd(8)  and  block-
	     listctl(8).  When set, it enforces these options:

	     WITHOUT_BLACKLIST

	     When set, these options are also in effect:

	     WITHOUT_BLACKLIST_SUPPORT (unless WITH_BLACKLIST_SUPPORT is set ex-
	     plicitly)
	     WITHOUT_BLOCKLIST_SUPPORT (unless WITH_BLOCKLIST_SUPPORT is set ex-
	     plicitly)

     WITHOUT_BLOCKLIST_SUPPORT
	     Build  some  programs  without  libblocklist(3)  support, like fin-
	     gerd(8) and sshd(8).  When set, it enforces these options:

	     WITHOUT_BLACKLIST_SUPPORT

     WITHOUT_BLUETOOTH
	     Do not build Bluetooth related kernel  modules,  programs	and  li-
	     braries.

     WITHOUT_BOOT
	     Do not build the boot blocks and loader.

     WITHOUT_BOOTPARAMD
	     Do not build or install bootparamd(8).

     WITHOUT_BOOTPD
	     Do not build or install bootpd(8).

     WITH_BRANCH_PROTECTION
	     Build  with  branch protection enabled.  On arm64 enable the use of
	     pointer authentication and branch	target	identification	instruc-
	     tions  on	arm64.	 These can be used to help mitigate some exploit
	     techniques.

     WITHOUT_BSDINSTALL
	     Do not build bsdinstall(8), sade(8), and related programs.

     WITHOUT_BSD_CPIO
	     Do  not  build  the  BSD  licensed  version  of   cpio   based   on
	     libarchive(3).

     WITHOUT_BSNMP
	     Do  not  build  or install bsnmpd(1) and related libraries and data
	     files.

     WITHOUT_BZIP2
	     Do not build contributed bzip2 software as a part of the base  sys-
	     tem.   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
	     Build some programs without optional bzip2 support.

     WITHOUT_CALENDAR
	     Do not build calendar(1).

     WITHOUT_CAROOT
	     Do not add the trusted certificates from the Mozilla NSS bundle  to
	     base.

     WITHOUT_CASPER
	     This option has no effect.

     WITH_CCACHE_BUILD
	     Use  ccache(1)  for the build.  No configuration is required except
	     to install the devel/ccache or devel/sccache package.   When  using
	     with  distcc(1), set CCACHE_PREFIX=/usr/local/bin/distcc.	When us-
	     ing with sccache set CCACHE_NAME=sccache in src.conf(5).	The  de-
	     fault  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 environ-
	     ment such as:

		   CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'

	     See ccache(1) for more configuration options.

     WITHOUT_CCD
	     Do not build geom_ccd(4) and related utilities.

     WITHOUT_CDDL
	     Do not build code licensed under Sun's CDDL.  When set, it enforces
	     these options:

	     WITHOUT_CTF
	     WITHOUT_DTRACE
	     WITHOUT_LOADER_ZFS
	     WITHOUT_ZFS
	     WITHOUT_ZFS_TESTS

     WITHOUT_CLANG
	     Do 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

	     When set, these options are also in effect:

	     WITHOUT_LLVM_TARGET_AARCH64 (unless WITH_LLVM_TARGET_AARCH64 is set
	     explicitly)
	     WITHOUT_LLVM_TARGET_ALL (unless WITH_LLVM_TARGET_ALL is set explic-
	     itly)
	     WITHOUT_LLVM_TARGET_ARM (unless WITH_LLVM_TARGET_ARM is set explic-
	     itly)
	     WITHOUT_LLVM_TARGET_POWERPC (unless WITH_LLVM_TARGET_POWERPC is set
	     explicitly)
	     WITHOUT_LLVM_TARGET_RISCV (unless WITH_LLVM_TARGET_RISCV is set ex-
	     plicitly)

     WITHOUT_CLANG_BOOTSTRAP
	     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.

     WITH_CLANG_EXTRAS
	     Build  additional clang and llvm tools, such as bugpoint and clang-
	     format.

     WITH_CLANG_FORMAT
	     Build clang-format.

     WITHOUT_CLANG_FULL
	     Avoid building the ARCMigrate, Rewriter and  StaticAnalyzer  compo-
	     nents of the Clang C/C++ compiler.

     WITH_CLEAN
	     Clean  before  building world and/or kernel.  Note that recording a
	     new epoch in .clean_build_epoch in the root of the source tree will
	     also force a clean world build.  When set, these options  are  also
	     in effect:

	     WITHOUT_DEPEND_CLEANUP  (unless  WITH_DEPEND_CLEANUP is set explic-
	     itly)

     WITHOUT_CPP
	     Do not build cpp(1).

     WITHOUT_CROSS_COMPILER
	     Do not build any cross compiler in the cross-tools stage of  build-
	     world.   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 en-
	     forces these options:

	     WITHOUT_CLANG_BOOTSTRAP
	     WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
	     WITHOUT_LLD_BOOTSTRAP

     WITHOUT_CRYPT
	     Do not build any crypto code.  When set, it enforces these options:

	     WITHOUT_DMAGENT
	     WITHOUT_KERBEROS
	     WITHOUT_LDNS
	     WITHOUT_LDNS_UTILS
	     WITHOUT_LOADER_ZFS
	     WITHOUT_MITKRB5
	     WITHOUT_OPENSSH
	     WITHOUT_OPENSSL
	     WITHOUT_OPENSSL_KTLS
	     WITHOUT_PKGBOOTSTRAP
	     WITHOUT_UNBOUND
	     WITHOUT_ZFS
	     WITHOUT_ZFS_TESTS

	     When set, these options are also in effect:

	     WITHOUT_KERBEROS_SUPPORT (unless WITH_KERBEROS_SUPPORT is	set  ex-
	     plicitly)

     WITH_CTF
	     Compile  with  CTF (Compact C Type Format) data.  CTF data encapsu-
	     lates a reduced form of debugging information similar to DWARF  and
	     the venerable stabs and is required for DTrace.

     WITHOUT_CUSE
	     Do not build CUSE-related programs and libraries.

     WITHOUT_CXGBETOOL
	     Do not build cxgbetool(8)

	     This is a default setting on arm/armv7 and riscv/riscv64.

     WITH_CXGBETOOL
	     Build cxgbetool(8)

	     This is a default setting on amd64/amd64, arm64/aarch64, i386/i386,
	     powerpc/powerpc64 and powerpc/powerpc64le.

     WITHOUT_DEBUG_FILES
	     Avoid  building  or installing standalone debug files for each exe-
	     cutable binary and shared library.

     WITHOUT_DEPEND_CLEANUP
	     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.

     WITH_DETECT_TZ_CHANGES
	     Make the time handling code detect changes to the timezone files.

     WITH_DIALOG
	     Do build dialog(1), dialog(3), dpv(1), and dpv(3).

     WITHOUT_DICT
	     Do not build the Webster dictionary files.

     WITH_DIRDEPS_BUILD
	     This   is	 an   alternate   build   system.    For   details   see
	     https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.   Build com-
	     mands can be seen from the top-level with:
		   make show-valid-targets
	     The build is driven by dirdeps.mk using  DIRDEPS  stored  in  Make-
	     file.depend files found in each directory.

	     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 dependen-
	     cies and will only build in  the  current	and  child  directories.
	     NO_DIRDEPS_BELOW skips building any dirdeps and only build the cur-
	     rent 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.
	     This build is designed for producing packages, that can then be in-
	     stalled on a target system.

	     The implementation in FreeBSD is incomplete.  Completion would  re-
	     quire leaf directories for building each kernel and package so that
	     their dependencies can be tracked.  When set, it enforces these op-
	     tions:

	     WITH_INSTALL_AS_USER

	     When set, these options are also in effect:

	     WITH_META_ERROR_TARGET (unless WITHOUT_META_ERROR_TARGET is set ex-
	     plicitly)
	     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 sub-
	     sequent 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.

     WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
	     Build etdump(1), makefs(8) and mkimg(1) as bootstrap tools.

     WITHOUT_DMAGENT
	     Do not build dma Mail Transport Agent.

     WITHOUT_DOCCOMPRESS
	     Do  not  install  compressed system documentation.  Only the uncom-
	     pressed version will be installed.

     WITHOUT_DTRACE
	     Do not build DTrace framework kernel modules, libraries,  and  user
	     commands.	When set, it enforces these options:

	     WITHOUT_CTF

     WITH_DTRACE_ASAN
	     Compile  userspace  DTrace code (libdtrace, dtrace(1), lockstat(1),
	     plockstat(1)) with address and undefined behavior sanitizers.   Re-
	     quires  that Clang be used as the base system compiler and that the
	     runtime support library is available.

     WITH_DTRACE_TESTS
	     Build    and    install	the	DTrace	   test     suite     in
	     /usr/tests/cddl/usr.sbin/dtrace.  This test suite is considered ex-
	     perimental  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
	     Do 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 i386/i386, powerpc/powerpc64 and  pow-
	     erpc/powerpc64le.

     WITH_EFI
	     Build efivar(3) and efivar(8).

	     This  is a default setting on amd64/amd64, arm/armv7, arm64/aarch64
	     and riscv/riscv64.

     WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
	     Do 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
	     Avoid installing examples to /usr/share/examples/.

     WITH_EXPERIMENTAL
	     Include experimental features in the build.

     WITHOUT_FDT
	     Do not build Flattened Device Tree support as part of the base sys-
	     tem.   This includes the device tree compiler (dtc) and libfdt sup-
	     port library.

	     This is a default setting on amd64/amd64 and i386/i386.

     WITH_FDT
	     Build Flattened Device Tree support as part  of  the  base  system.
	     This includes the device tree compiler (dtc) and libfdt support li-
	     brary.

	     This is a default setting on arm/armv7, arm64/aarch64, powerpc/pow-
	     erpc64, powerpc/powerpc64le and riscv/riscv64.

     WITHOUT_FILE
	     Do not build file(1) and related programs.

     WITHOUT_FINGER
	     Do not build or install finger(1) and fingerd(8).

     WITHOUT_FLOPPY
	     Do not build or install programs for operating floppy disk driver.

     WITHOUT_FORMAT_EXTENSIONS
	     Do  not enable -fformat-extensions when compiling the kernel.  Also
	     disables all format checking.

     WITHOUT_FORTH
	     Build bootloaders without Forth support.

     WITHOUT_FREEBSD_UPDATE
	     Do not build freebsd-update(8).

     WITHOUT_FTP
	     Do not build or install ftp(1).

     WITHOUT_GAMES
	     Do not build games.

     WITHOUT_GNU_DIFF
	     Do not build GNU diff3(1); build BSD diff3(1) instead.

     WITHOUT_GOOGLETEST
	     Neither build nor install libgmock, libgtest, and dependent tests.

     WITHOUT_GPIO
	     Do not build gpioctl(8) as part of the base system.

     WITHOUT_HAST
	     Do not build hastd(8) and related utilities.

     WITH_HESIOD
	     Build Hesiod support.

     WITHOUT_HTML
	     Do not build HTML docs.

     WITHOUT_HYPERV
	     Do not build or install HyperV utilities.

	     This is a default setting	on  arm/armv7,	powerpc/powerpc64,  pow-
	     erpc/powerpc64le and riscv/riscv64.

     WITH_HYPERV
	     Build or install HyperV utilities.

	     This  is  a  default  setting  on	amd64/amd64,  arm64/aarch64  and
	     i386/i386.

     WITHOUT_ICONV
	     Do not build iconv as part of libc.

     WITHOUT_INCLUDES
	     Do not install header  files.   This  option  used  to  be  spelled
	     NO_INCS.  The option does not work for build targets.

     WITHOUT_INET
	     Do  not  build  programs  and libraries related to IPv4 networking.
	     When set, it enforces these options:

	     WITHOUT_INET_SUPPORT

     WITHOUT_INET6
	     Do not build programs and libraries  related  to  IPv6  networking.
	     When set, it enforces these options:

	     WITHOUT_INET6_SUPPORT

     WITHOUT_INET6_SUPPORT
	     Build libraries, programs, and kernel modules without IPv6 support.

     WITHOUT_INETD
	     Do not build inetd(8).

     WITHOUT_INET_SUPPORT
	     Build libraries, programs, and kernel modules without IPv4 support.

     WITHOUT_INSTALLLIB
	     Set this to not install optional libraries.  For example, when cre-
	     ating  a nanobsd(8) image.  The option does not work for build tar-
	     gets.

     WITH_INSTALL_AS_USER
	     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
	     Do not build IP Filter package.

     WITH_IPFILTER_IPFS
	     Enable building the ipfs(8) tool to save and restore IPFilter state
	     tables.

     WITHOUT_IPFW
	     Do not build IPFW tools.

     WITHOUT_IPSEC_SUPPORT
	     Do  not  build  the  kernel  with ipsec(4) support.  This option is
	     needed for ipsec(4) and tcpmd5(4).

     WITHOUT_ISCSI
	     Do not build iscsid(8) and related utilities.

     WITHOUT_JAIL
	     Do not build tools for the support of jails; e.g., jail(8).

     WITHOUT_JEMALLOC_LG_VADDR_WIDE
	     Disallow programs to use more than 48 address bits on  amd64.   In-
	     compatible  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).

     WITHOUT_KDUMP
	     Do not build kdump(1) and truss(1).

     WITHOUT_KERBEROS
	     Set  this	to not build Kerberos.	When set, these options are also
	     in effect:

	     WITHOUT_KERBEROS_SUPPORT (unless WITH_KERBEROS_SUPPORT is	set  ex-
	     plicitly)

     WITHOUT_KERBEROS_SUPPORT
	     Build  some  programs  without  Kerberos support, like ssh(1), tel-
	     net(1), and sshd(8).

     WITH_KERNEL_BIN
	     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.

	     Usually this will be added to the kernel config file with:

	     makeoptions    WITH_KERNEL_BIN=1

	     though it can also be used on the command line.

     WITH_KERNEL_RETPOLINE
	     Enable the "retpoline" mitigation for CVE-2017-5715 in  the  kernel
	     build.

     WITHOUT_KERNEL_SYMBOLS
	     Do  not  install standalone kernel debug symbol files.  This option
	     has no effect at build time.

     WITHOUT_KVM
	     Do 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 ef-
	     fect:

	     WITHOUT_KVM_SUPPORT (unless WITH_KVM_SUPPORT is set explicitly)

     WITHOUT_KVM_SUPPORT
	     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
	     Do not build programs that support a legacy PC console; e.g.,  kbd-
	     control(1) and vidcontrol(1).

     WITHOUT_LIB32
	     On  64-bit  platforms,  do  not  build  32-bit  library  set  and a
	     ld-elf32.so.1 runtime linker.

	     This is a default setting	on  arm/armv7,	i386/i386,  powerpc/pow-
	     erpc64le and riscv/riscv64.

     WITH_LIB32
	     On   64-bit   platforms,	build  the  32-bit  library  set  and  a
	     ld-elf32.so.1 runtime linker.

	     This is a default setting on amd64/amd64,	arm64/aarch64  and  pow-
	     erpc/powerpc64.

     WITHOUT_LLD
	     Do not build LLVM's lld linker.

     WITHOUT_LLDB
	     Do not build the LLDB debugger.

	     This is a default setting on riscv/riscv64.

     WITH_LLDB
	     Build the LLDB debugger.

	     This is a default setting on amd64/amd64, arm/armv7, arm64/aarch64,
	     i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.

     WITHOUT_LLD_BOOTSTRAP
	     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.

     WITH_LLVM_ASSERTIONS
	     Enable debugging assertions in LLVM.

     WITHOUT_LLVM_BINUTILS
	     Install  ELF Tool Chain's binary utilities instead of LLVM's.  This
	     includes addr2line(1), ar(1), nm(1), objcopy(1),  ranlib(1),  read-
	     elf(1),  size(1),	and  strip(1).	Regardless of this setting, LLVM
	     tools are used for c++filt(1) and objdump(1).  strings(1) is always
	     provided by ELF Tool Chain.

     WITHOUT_LLVM_COV
	     Do 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.

     WITH_LLVM_FULL_DEBUGINFO
	     Generate full debug information for LLVM libraries and tools, which
	     uses more disk space and build resources, but allows for easier de-
	     bugging.

     WITH_LLVM_LINK_STATIC_LIBRARIES
	     Link  LLVM  libraries  (libllvm, libclang, liblldb) statically into
	     each of the binaries that use them.

	     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.

     WITHOUT_LLVM_TARGET_AARCH64
	     Do 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
	     Only  build  the required LLVM target support.  This option is pre-
	     ferred 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 explic-
	     itly)
	     WITHOUT_LLVM_TARGET_POWERPC (unless WITH_LLVM_TARGET_POWERPC is set
	     explicitly)
	     WITHOUT_LLVM_TARGET_RISCV (unless WITH_LLVM_TARGET_RISCV is set ex-
	     plicitly)

     WITHOUT_LLVM_TARGET_ARM
	     Do not build LLVM target support for ARM.	The LLVM_TARGET_ALL  op-
	     tion should be used rather than this in most cases.

     WITH_LLVM_TARGET_BPF
	     Build  LLVM  target  support  for	BPF.  The LLVM_TARGET_ALL option
	     should be used rather than this in most cases.

     WITH_LLVM_TARGET_MIPS
	     Build LLVM target support for  MIPS.   The  LLVM_TARGET_ALL  option
	     should be used rather than this in most cases.

     WITHOUT_LLVM_TARGET_POWERPC
	     Do  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
	     Do 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
	     Do  not build LLVM target support for X86.  The LLVM_TARGET_ALL op-
	     tion should be used rather than this in most cases.

     WITHOUT_LOADER_BIOS_TEXTONLY
	     Include graphics, font and video mode support in the i386 and amd64
	     BIOS boot loader.

     WITH_LOADER_EFI_SECUREBOOT
	     Enable building loader(8) with support for  verification  based  on
	     certificates obtained from UEFI.

     WITHOUT_LOADER_GELI
	     Disable  inclusion  of  GELI crypto support in the boot chain bina-
	     ries.

	     This is a default setting	on  powerpc/powerpc64  and  powerpc/pow-
	     erpc64le.

     WITH_LOADER_GELI
	     Build GELI bootloader support.

	     This is a default setting on amd64/amd64, arm/armv7, arm64/aarch64,
	     i386/i386 and riscv/riscv64.

     WITHOUT_LOADER_IA32
	     Do not build the 32-bit UEFI loader.

	     This  is  a default setting on arm/armv7, arm64/aarch64, i386/i386,
	     powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.

     WITH_LOADER_IA32
	     Build the 32-bit UEFI loader.

	     This is a default setting on amd64/amd64.

     WITHOUT_LOADER_KBOOT
	     Do not build kboot, a linuxboot environment loader

	     This is a default setting	on  arm/armv7,	i386/i386,  powerpc/pow-
	     erpc64le and riscv/riscv64.

     WITH_LOADER_KBOOT
	     Build kboot, a linuxboot environment loader

	     This  is  a  default setting on amd64/amd64, arm64/aarch64 and pow-
	     erpc/powerpc64.

     WITHOUT_LOADER_LUA
	     Do not build LUA bindings for the boot loader.

	     This is a default setting	on  powerpc/powerpc64  and  powerpc/pow-
	     erpc64le.

     WITH_LOADER_LUA
	     Build LUA bindings for the boot loader.

	     This is a default setting on amd64/amd64, arm/armv7, arm64/aarch64,
	     i386/i386 and riscv/riscv64.

     WITHOUT_LOADER_OFW
	     Disable building of openfirmware bootloader components.

	     This is a default setting on amd64/amd64, arm/armv7, arm64/aarch64,
	     i386/i386 and riscv/riscv64.

     WITH_LOADER_OFW
	     Build openfirmware bootloader components.

	     This  is  a  default  setting on powerpc/powerpc64 and powerpc/pow-
	     erpc64le.

     WITHOUT_LOADER_PXEBOOT
	     Do not build pxeboot on i386/amd64.  When the pxeboot is too large,
	     or  unneeded,  it	may  be  disabled   with   this   option.    See
	     WITH_LOADER_PXEBOOT  for  how  to adjust the defaults when you need
	     both a larger /boot/loader and /boot/pxeboot

	     This option only has an effect on x86.

     WITHOUT_LOADER_UBOOT
	     Disable building of ubldr.

	     This is a default setting on amd64/amd64, arm64/aarch64, i386/i386,
	     powerpc/powerpc64le and riscv/riscv64.

     WITH_LOADER_UBOOT
	     Build ubldr.

	     This is a default setting on arm/armv7 and powerpc/powerpc64.

     WITH_LOADER_VERBOSE
	     Build with extra verbose debugging in the loader.	May explode  al-
	     ready 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.  May require a  larger  LOADERSIZE.   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.

     WITH_LOADER_VERIEXEC_VECTX
	     Enable  building  loader(8)  with support for hashing and verifying
	     kernel and modules as a side effect of loading.

	     Depends on WITH_LOADER_VERIEXEC.

     WITHOUT_LOADER_ZFS
	     Do not build ZFS file system boot loader support.

     WITHOUT_LOCALES
	     Do not build localization files; see locale(1).

     WITHOUT_LOCATE
	     Do not build locate(1) and related programs.

     WITHOUT_LPR
	     Do not build lpr(1) and related programs.

     WITHOUT_LS_COLORS
	     Build ls(1) without support for colors to distinguish file types.

     WITHOUT_MACHDEP_OPTIMIZATIONS
	     Prefer machine-independent non-assembler code in libc and libm.

     WITHOUT_MAIL
	     Do not build any mail support (MUA or MTA).  When set, it	enforces
	     these options:

	     WITHOUT_DMAGENT
	     WITHOUT_MAILWRAPPER
	     WITHOUT_SENDMAIL

     WITHOUT_MAILWRAPPER
	     Do not build the mailwrapper(8) MTA selector.

     WITHOUT_MAKE
	     Do not install make(1) and related support files.

     WITHOUT_MAKE_CHECK_USE_SANDBOX
	     Do  not  execute "make check" in limited sandbox mode.  This option
	     should be paired with WITH_INSTALL_AS_USER if executed  as  an  un-
	     privileged user.  See tests(7) for more details.

     WITHOUT_MALLOC_PRODUCTION
	     Enable  assertions and statistics gathering in malloc(3).	The run-
	     time options opt.abort, opt.abort_conf, and opt.junk  also  default
	     to true.

     WITHOUT_MAN
	     Do not build manual pages.  When set, these options are also in ef-
	     fect:

	     WITHOUT_MAN_UTILS (unless WITH_MAN_UTILS is set explicitly)

     WITHOUT_MANCOMPRESS
	     Do  not  install  compressed man pages.  Only the uncompressed ver-
	     sions will be installed.

     WITH_MANSPLITPKG
	     Split man pages into their own packages during make package.

     WITHOUT_MAN_UTILS
	     Do not build utilities for manual pages, apropos(1), makewhatis(1),
	     man(1), whatis(1), manctl(8), and related support files.

     WITH_META_ERROR_TARGET
	     Enable the META_MODE .ERROR target.

	     This target  will	copy  the  meta  file  of  a  failed  target  to
	     ERROR_LOGDIR  (default is `${SRCTOP:H}/error') to help with failure
	     analysis.	 Depends   on	WITH_META_MODE.    This   default   when
	     WITH_DIRDEPS_BUILD is set.

	     This  must  be  set  in  the  environment,  make  command	line, or
	     /etc/src-env.conf, not /etc/src.conf.

     WITH_META_MODE
	     Create make(1) meta files when building, which can provide a  reli-
	     able  incremental	build  when  using filemon(4).	The meta file is
	     created in OBJDIR as target.meta.	These meta files track the  com-
	     mand 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 tar-
	     get is considered out-of-date and rebuilt if any  of  these  condi-
	     tions 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 meta files can also be useful for debugging.

	     The build hides commands that are executed unless NO_SILENT is  de-
	     fined.   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_MITKRB5
	     Set this to build KTH Heimdal instead of MIT Kerberos 5.

     WITHOUT_MLX5TOOL
	     Do not build mlx5tool(8)

	     This is a default setting on arm/armv7 and riscv/riscv64.

     WITH_MLX5TOOL
	     Build mlx5tool(8)

	     This is a default setting on amd64/amd64, arm64/aarch64, i386/i386,
	     powerpc/powerpc64 and powerpc/powerpc64le.

     WITHOUT_NETCAT
	     Do not build nc(1) utility.

     WITHOUT_NETGRAPH
	     Do not build applications to support netgraph(4).	When set, it en-
	     forces these options:

	     WITHOUT_BLUETOOTH

	     When set, these options are also in effect:

	     WITHOUT_NETGRAPH_SUPPORT (unless WITH_NETGRAPH_SUPPORT is	set  ex-
	     plicitly)

     WITHOUT_NETGRAPH_SUPPORT
	     Build libraries, programs, and kernel modules without netgraph sup-
	     port.

     WITHOUT_NETLINK
	     Do not build genl(1) utility.

     WITHOUT_NETLINK_SUPPORT
	     Make libraries and programs use rtsock and sysctl(3) interfaces in-
	     stead of snl(3).

     WITHOUT_NIS
	     Do  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
	     Do not build NLS catalogs.  When set, it enforces these options:

	     WITHOUT_NLS_CATALOGS

     WITHOUT_NLS_CATALOGS
	     Do not build NLS catalog support for csh(1).

     WITHOUT_NS_CACHING
	     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
	     Do not build ntpd(8) and related programs.

     WITHOUT_NUAGEINIT
	     Do not install the limited cloud init support scripts.

     WITHOUT_OFED
	     Do  not  build the "OpenFabrics Enterprise Distribution" InfiniBand
	     software stack, including kernel modules and userspace libraries.

	     This is a default setting on  arm/armv7.	When  set,  it	enforces
	     these options:

	     WITHOUT_OFED_EXTRA

     WITH_OFED
	     Build the "OpenFabrics Enterprise Distribution" InfiniBand software
	     stack, including kernel modules and userspace libraries.

	     This is a default setting on amd64/amd64, arm64/aarch64, i386/i386,
	     powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.

     WITH_OFED_EXTRA
	     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
	     Do not build LLVM's OpenMP runtime.

	     This is a default setting on arm/armv7.

     WITH_OPENMP
	     Build LLVM's OpenMP runtime.

	     This is a default setting on amd64/amd64, arm64/aarch64, i386/i386,
	     powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.

     WITHOUT_OPENSSH
	     Do not build OpenSSH.

     WITHOUT_OPENSSL
	     Do not build OpenSSL.  When set, it enforces these options:

	     WITHOUT_DMAGENT
	     WITHOUT_KERBEROS
	     WITHOUT_LDNS
	     WITHOUT_LDNS_UTILS
	     WITHOUT_LOADER_ZFS
	     WITHOUT_MITKRB5
	     WITHOUT_OPENSSH
	     WITHOUT_OPENSSL_KTLS
	     WITHOUT_PKGBOOTSTRAP
	     WITHOUT_UNBOUND
	     WITHOUT_ZFS
	     WITHOUT_ZFS_TESTS

	     When set, these options are also in effect:

	     WITHOUT_KERBEROS_SUPPORT  (unless	WITH_KERBEROS_SUPPORT is set ex-
	     plicitly)

     WITHOUT_OPENSSL_KTLS
	     Do not include kernel TLS support in OpenSSL.

	     This  is  a   default   setting   on   arm/armv7,	 i386/i386   and
	     riscv/riscv64.

     WITH_OPENSSL_KTLS
	     Include kernel TLS support in OpenSSL.

	     This  is  a  default  setting  on	amd64/amd64, arm64/aarch64, pow-
	     erpc/powerpc64 and powerpc/powerpc64le.

     WITHOUT_PAM
	     Do 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
	     Build ppp(8) without PAM support.

     WITHOUT_PF
	     Do  not build PF firewall package.  When set, it enforces these op-
	     tions:

	     WITHOUT_AUTHPF

     WITHOUT_PIE
	     Do not build dynamically linked  binaries	as  Position-Independent
	     Executable (PIE).

	     This is a default setting on arm/armv7 and i386/i386.

     WITH_PIE
	     Build  dynamically  linked  binaries  as  Position-Independent Exe-
	     cutable (PIE).

	     This is a	default  setting  on  amd64/amd64,  arm64/aarch64,  pow-
	     erpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.

     WITHOUT_PKGBOOTSTRAP
	     Do not build pkg(7) bootstrap tool.

     WITHOUT_PMC
	     Do not build pmccontrol(8) and related programs.

     WITHOUT_PPP
	     Do not build ppp(8) and related programs.

     WITH_PTHREADS_ASSERTIONS
	     Enable debugging assertions in pthreads library.

     WITHOUT_QUOTAS
	     Do not build quota(1) and related programs.

     WITHOUT_RADIUS_SUPPORT
	     Do not build radius support into various applications, like pam_ra-
	     dius(8) and ppp(8).

     WITH_RATELIMIT
	     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
	     Do not build or install rbootd(8).

     WITHOUT_RELRO
	     Do not apply the Relocation Read-Only (RELRO) vulnerability mitiga-
	     tion.  See also the BIND_NOW option.

     WITHOUT_REPRODUCIBLE_BUILD
	     Include build metadata (such as the build time, user, and host)  in
	     the kernel, boot loaders, and uname output.  Successive builds will
	     not be bit-for-bit identical.

     WITHOUT_RESCUE
	     Do not build rescue(8).

     WITH_RETPOLINE
	     Build the base system with the retpoline speculative execution vul-
	     nerability mitigation for CVE-2017-5715.

     WITHOUT_ROUTED
	     Do not build routed(8) utility.

     WITH_RPCBIND_WARMSTART_SUPPORT
	     Build rpcbind(8) with warmstart support.

     WITH_RUN_TESTS
	     Run tests as part of the build.

     WITHOUT_SCTP_SUPPORT
	     Disable support in the kernel for the sctp(4) Stream Control Trans-
	     mission Protocol loadable kernel module.

     WITHOUT_SENDMAIL
	     Do not build sendmail(8) and related programs.

     WITHOUT_SERVICESDB
	     Do 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
	     Do not build the 4.4BSD legacy docs.

     WITH_SORT_THREADS
	     Enable threads in sort(1).

     WITHOUT_SOUND
	     Do not build userland sound utilities such as beep(1) and mixer(8).

     WITHOUT_SOURCELESS
	     Do not build kernel modules that include  sourceless  code  (either
	     microcode	or  native  code  for  host CPU).  When set, it enforces
	     these options:

	     WITHOUT_SOURCELESS_HOST
	     WITHOUT_SOURCELESS_UCODE

     WITHOUT_SOURCELESS_HOST
	     Do not build kernel modules that include sourceless native code for
	     host CPU.

     WITHOUT_SOURCELESS_UCODE
	     Do not build kernel modules that include sourceless microcode.

     WITHOUT_SPLIT_KERNEL_DEBUG
	     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:

	     WITHOUT_KERNEL_SYMBOLS

     WITHOUT_SSP
	     Do  not  build  world  with stack smashing protection.  See mitiga-
	     tions(7) for more information.

     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
	     Neither build nor install libstats and dependent binaries.

     WITHOUT_SYSCONS
	     Do 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
	     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 WITHOUT_CLANG option controls that.

     WITHOUT_SYSTEM_LINKER
	     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 WITHOUT_LLD option controls that.

	     This option is only relevant when WITH_LLD_BOOTSTRAP is set.

     WITHOUT_TALK
	     Do not build or install talk(1) and talkd(8).

     WITHOUT_TCP_WRAPPERS
	     Do not build or install tcpd(8), and related utilities.

     WITHOUT_TCSH
	     Do not build and install /bin/csh (which is tcsh(1)).

     WITHOUT_TELNET
	     Do not build telnet(1) and related programs.

     WITHOUT_TESTS
	     Do 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
	     WITHOUT_ZFS_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
	     Disable the build of all test-related dependencies, including  ATF.
	     When set, it enforces these options:

	     WITHOUT_GOOGLETEST

     WITHOUT_TEXTPROC
	     Do not build programs used for text processing.

     WITHOUT_TFTP
	     Do not build or install tftp(1) and tftpd(8).

     WITHOUT_TOOLCHAIN
	     Do  not  install  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_LLD
	     WITHOUT_LLDB
	     WITHOUT_LLVM_COV

	     When set, these options are also in effect:

	     WITHOUT_LLVM_BINUTILS (unless WITH_LLVM_BINUTILS is set explicitly)

     WITH_UBSAN
	     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

     WITHOUT_UNBOUND
	     Do not build unbound(8) and related programs.

     WITH_UNDEFINED_VERSION
	     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.

     WITHOUT_UNIFIED_OBJDIR
	     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 in a future version
	     of  FreeBSD, at which time WITH_UNIFIED_OBJDIR will be enabled per-
	     manently.

	     This must	be  set  in  the  environment,	make  command  line,  or
	     /etc/src-env.conf, not /etc/src.conf.

     WITHOUT_USB
	     Do not build USB-related programs and libraries.

     WITHOUT_USB_GADGET_EXAMPLES
	     Do not build USB gadget kernel modules.

     WITHOUT_UTMPX
	     Do  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
	     Do not build and install vi, view, ex and related programs.

     WITHOUT_VT
	     Do 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 de-
	     veloper.

     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
	     Do 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  ex-
	     plicitly)

     WITHOUT_WIRELESS_SUPPORT
	     Build  libraries, programs, and kernel modules without 802.11 wire-
	     less support.

     WITHOUT_WPA_SUPPLICANT_EAPOL
	     Build wpa_supplicant(8) without support for the IEEE 802.1X  proto-
	     col  and  without support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-
	     TTLS protocols (usable only via 802.1X).

     WITH_ZEROREGS
	     Build the basesystem with code to zero  caller-used  register  con-
	     tents  on	function return.  This prevents leaking temporary values
	     for side channel attacks.	Additionally this reduces the number  of
	     usable ROP gadgets for attackers.

     WITHOUT_ZFS
	     Do  not  build the ZFS file system kernel module, libraries such as
	     libbe(3), and user commands such as zpool(8) or zfs(8).  Also  dis-
	     able  ZFS	support  in utilities and libraries which implement ZFS-
	     specific functionality.  When set, it enforces these options:

	     WITHOUT_ZFS_TESTS

     WITHOUT_ZFS_TESTS
	     Do not build and install the legacy ZFS test suite.

     WITHOUT_ZONEINFO
	     Do not build the timezone database.  When set,  it  enforces  these
	     options:

	     WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT

     WITH_ZONEINFO_LEAPSECONDS_SUPPORT
	     Build leapsecond information in to the timezone database.	This op-
	     tion  violates IEEE Std 1003.1 ("POSIX.1") and all other applicable
	     standards, and is known to cause unexpected issues  with  date/time
	     handling in many applications and programming languages.

     The following options accept a single value from a list of valid values.

     INIT_ALL
	     Control  default  initialization  of  stack  variables in C and C++
	     code.  Options other than none require the Clang  compiler  or  GCC
	     12.0 or later.  The default value is none.  Valid values are:

	     none    Do  not  initialize  stack variables (standard C/C++ behav-
		     ior).

	     pattern
		     Build the base system or kernel with stack  variables  ini-
		     tialized  to (compiler defined) debugging patterns on func-
		     tion entry.

	     zero    Build the base system or kernel with stack  variables  ini-
		     tialized  to  zero  on  function entry.  This value is con-
		     verted to none for amd64 kernel builds due to incompatibil-
		     ity with ifunc memset.

     LIBC_MALLOC
	     Specify the malloc(3) implementation used	by  libc.   The  default
	     value is jemalloc.  Valid values are:

	     jemalloc

	     Other  implementations  are  expected in the future in both FreeBSD
	     and downstream consumers.

FILES
     /etc/src.conf
     /etc/src-env.conf
     /usr/share/mk/bsd.own.mk

SEE ALSO
     make(1), make.conf(5), build(7), ports(7)

HISTORY
     The src.conf file appeared in FreeBSD 7.0.

AUTHORS
     This manual page was autogenerated by tools/build/options/makeman.

FreeBSD ports 15.quarterly	 March 28, 2026 		     SRC.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=src.conf&sektion=5&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help