1 .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
7 .Nd "source build options"
11 file contains variables that control what components will be generated during
12 the build process of the
19 file uses the standard makefile syntax.
22 should not specify any dependencies to
28 variables that control the aspects of how the system builds.
30 The default location of
34 though an alternative location can be specified in the
38 Overriding the location of
40 may be necessary if the system-wide settings are not suitable
41 for a particular build.
46 effectively resets all build controls to their defaults.
50 is to control the compilation of the
52 source code, which is usually located in
54 As a rule, the system administrator creates
56 when the values of certain control variables need to be changed
59 In addition, control variables can be specified
60 for a particular build via the
64 or in its environment; see
69 for the build can be controlled via the
71 variable, which defaults to
72 .Pa /etc/src-env.conf .
73 Some examples that may only be set in this file are
74 .Va WITH_DIRDEPS_BUILD ,
79 as they are environment-only variables.
81 The values of variables are ignored regardless of their setting;
82 even if they would be set to
86 The presence of an option causes
90 This list provides a name and short description for variables
91 that can be used for source builds.
92 .Bl -tag -width indent
94 Do not build process accounting tools such as
102 and related programs.
107 and related programs.
109 Build the base system with Address Sanitizer (ASan) to detect
110 memory corruption bugs such as buffer overflows or use-after-free.
111 Requires that Clang be used as the base system compiler
112 and that the runtime support library is available.
113 When set, it enforces these options:
117 .Va WITH_LLVM_BINUTILS
119 .Va WITH_LLVM_CXXFILT
121 .It Va WITHOUT_ASSERT_DEBUG
122 Compile programs and libraries without the
128 and related utilities.
130 Do not build audit support into system programs.
131 .It Va WITHOUT_AUTHPF
134 .It Va WITHOUT_AUTOFS
137 related programs, libraries, and kernel modules.
138 .It Va WITHOUT_AUTO_OBJ
139 Disable automatic creation of objdirs.
140 This is enabled by default if the wanted OBJDIR is writable by the current user.
142 This must be set in the environment, make command line, or
143 .Pa /etc/src-env.conf ,
147 Build the BearSSL library.
149 BearSSL is a tiny SSL library suitable for embedded environments.
151 .Lk https://www.BearSSL.org/
153 This library is currently only used to perform
154 signature verification and related operations
155 for Verified Exec and
157 When set, these options are also in effect:
160 .It Va WITH_LOADER_EFI_SECUREBOOT
162 .Va WITHOUT_LOADER_EFI_SECUREBOOT
164 .It Va WITH_LOADER_VERIEXEC
166 .Va WITHOUT_LOADER_VERIEXEC
168 .It Va WITH_LOADER_VERIEXEC_VECTX
170 .Va WITHOUT_LOADER_VERIEXEC_VECTX
178 Do not build or install
180 associated utilities, and examples.
182 This option only affects amd64/amd64.
183 .It Va WITH_BHYVE_SNAPSHOT
184 Include support for save and restore (snapshots) in
189 This option only affects amd64/amd64.
191 Build all binaries with the
193 flag set to indicate that the run-time loader should perform all relocation
194 processing at process startup rather than on demand.
195 The combination of the
199 options provide "full" Relocation Read-Only (RELRO) support.
200 With full RELRO the entire GOT is made read-only after performing relocation at
201 startup, avoiding GOT overwrite attacks.
202 .It Va WITHOUT_BLACKLIST
203 Set this if you do not want to build
207 When set, these options are also in effect:
210 .It Va WITHOUT_BLACKLIST_SUPPORT
212 .Va WITH_BLACKLIST_SUPPORT
215 .It Va WITHOUT_BLACKLIST_SUPPORT
216 Build some programs without
223 .It Va WITHOUT_BLUETOOTH
224 Do not build Bluetooth related kernel modules, programs and libraries.
226 Do not build the boot blocks and loader.
227 .It Va WITHOUT_BOOTPARAMD
228 Do not build or install
230 .It Va WITHOUT_BOOTPD
231 Do not build or install
233 .It Va WITHOUT_BSDINSTALL
237 and related programs.
238 .It Va WITHOUT_BSD_CPIO
239 Do not build the BSD licensed version of cpio based on
242 Do not build or install
244 and related libraries and data files.
246 Do not build contributed bzip2 software as a part of the base system.
248 The option has no effect yet.
250 When set, these options are also in effect:
253 .It Va WITHOUT_BZIP2_SUPPORT
255 .Va WITH_BZIP2_SUPPORT
258 .It Va WITHOUT_BZIP2_SUPPORT
259 Build some programs without optional bzip2 support.
260 .It Va WITHOUT_CALENDAR
263 .It Va WITHOUT_CAPSICUM
264 Do not build Capsicum support into system programs.
265 When set, it enforces these options:
271 .It Va WITHOUT_CAROOT
272 Do not add the trusted certificates from the Mozilla NSS bundle to
274 .It Va WITHOUT_CASPER
275 Do not build Casper program and related libraries.
276 .It Va WITH_CCACHE_BUILD
280 No configuration is required except to install the
286 .Sy CCACHE_PREFIX=/usr/local/bin/distcc .
287 The default cache directory of
289 will be used, which can be overridden by setting
292 .Sy CCACHE_COMPILERCHECK
295 when using the in-tree bootstrap compiler,
298 when using an external compiler.
301 option is used for Clang but not GCC.
303 Sharing a cache between multiple work directories requires using a layout
307 and an environment such as:
308 .Bd -literal -offset indent
309 CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
314 for more configuration options.
318 and related utilities.
320 Do not build code licensed under Sun's CDDL.
321 When set, it enforces these options:
329 .Va WITHOUT_LOADER_ZFS
334 Do not build the Clang C/C++ compiler during the regular phase of the build.
335 When set, it enforces these options:
339 .Va WITHOUT_CLANG_EXTRAS
341 .Va WITHOUT_CLANG_FORMAT
343 .Va WITHOUT_CLANG_FULL
348 When set, these options are also in effect:
351 .It Va WITHOUT_LLVM_TARGET_AARCH64
353 .Va WITH_LLVM_TARGET_AARCH64
355 .It Va WITHOUT_LLVM_TARGET_ALL
357 .Va WITH_LLVM_TARGET_ALL
359 .It Va WITHOUT_LLVM_TARGET_ARM
361 .Va WITH_LLVM_TARGET_ARM
363 .It Va WITHOUT_LLVM_TARGET_POWERPC
365 .Va WITH_LLVM_TARGET_POWERPC
367 .It Va WITHOUT_LLVM_TARGET_RISCV
369 .Va WITH_LLVM_TARGET_RISCV
372 .It Va WITHOUT_CLANG_BOOTSTRAP
373 Do not build the Clang C/C++ compiler during the bootstrap phase of
375 To be able to build the system, either gcc or clang bootstrap must be
376 enabled unless an alternate compiler is provided via XCC.
377 .It Va WITH_CLANG_EXTRAS
378 Build additional clang and llvm tools, such as bugpoint and
380 .It Va WITH_CLANG_FORMAT
382 .It Va WITHOUT_CLANG_FULL
383 Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
384 the Clang C/C++ compiler.
386 Do not clean before building world and/or kernel.
390 .It Va WITHOUT_CROSS_COMPILER
391 Do not build any cross compiler in the cross-tools stage of buildworld.
392 When compiling a different version of
394 than what is installed on the system, provide an alternate
395 compiler with XCC to ensure success.
396 When compiling with an identical version of
398 to the host, this option may be safely used.
399 This option may also be safe when the host version of
401 is close to the sources being built, but all bets are off if there have
402 been any changes to the toolchain between the versions.
403 When set, it enforces these options:
407 .Va WITHOUT_CLANG_BOOTSTRAP
409 .Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
411 .Va WITHOUT_LLD_BOOTSTRAP
414 Do not build any crypto code.
415 When set, it enforces these options:
423 .Va WITHOUT_KERBEROS_SUPPORT
427 .Va WITHOUT_LDNS_UTILS
429 .Va WITHOUT_LOADER_ZFS
435 .Va WITHOUT_OPENSSL_KTLS
437 .Va WITHOUT_PKGBOOTSTRAP
444 When set, these options are also in effect:
447 .It Va WITHOUT_GSSAPI
453 Compile with CTF (Compact C Type Format) data.
454 CTF data encapsulates a reduced form of debugging information
455 similar to DWARF and the venerable stabs and is required for DTrace.
457 Do not build CUSE-related programs and libraries.
458 .It Va WITHOUT_CXGBETOOL
462 This is a default setting on
463 arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
464 .It Va WITH_CXGBETOOL
468 This is a default setting on
469 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
470 .It Va WITHOUT_DEBUG_FILES
471 Avoid building or installing standalone debug files for each
472 executable binary and shared library.
473 .It Va WITH_DETECT_TZ_CHANGES
474 Make the time handling code detect changes to the timezone files.
475 .It Va WITHOUT_DIALOG
482 When set, it enforces these options:
486 .Va WITHOUT_BSDINSTALL
489 Do not build the Webster dictionary files.
490 .It Va WITH_DIRDEPS_BUILD
491 This is an experimental build system.
493 https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
494 Build commands can be seen from the top-level with:
495 .Dl make show-valid-targets
496 The build is driven by dirdeps.mk using
499 Makefile.depend files found in each directory.
501 The build can be started from anywhere, and behaves the same.
502 The initial instance of
507 .Pa Makefile.depend ,
508 computing a graph of tree dependencies from the current origin.
511 skips checking dirdep dependencies and will only build in the current
512 and child directories.
514 skips building any dirdeps and only build the current directory.
516 This also utilizes the
518 logic for incremental builds.
520 The build hides commands executed unless
524 Note that there is currently no mass install feature for this.
526 When set, it enforces these options:
530 .Va WITH_INSTALL_AS_USER
533 When set, these options are also in effect:
536 .It Va WITH_META_MODE
538 .Va WITHOUT_META_MODE
544 .It Va WITH_STAGING_MAN
546 .Va WITHOUT_STAGING_MAN
548 .It Va WITH_STAGING_PROG
550 .Va WITHOUT_STAGING_PROG
558 This must be set in the environment, make command line, or
559 .Pa /etc/src-env.conf ,
562 .It Va WITH_DIRDEPS_CACHE
563 Cache result of dirdeps.mk which can save significant time
564 for subsequent builds.
566 .Va WITH_DIRDEPS_BUILD .
568 This must be set in the environment, make command line, or
569 .Pa /etc/src-env.conf ,
572 .It Va WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
579 .It Va WITHOUT_DMAGENT
580 Do not build dma Mail Transport Agent.
581 .It Va WITHOUT_DOCCOMPRESS
582 Do not install compressed system documentation.
583 Only the uncompressed version will be installed.
584 .It Va WITHOUT_DTRACE
585 Do not build DTrace framework kernel modules, libraries, and user commands.
586 When set, it enforces these options:
592 .It Va WITH_DTRACE_TESTS
593 Build and install the DTrace test suite in
594 .Pa /usr/tests/cddl/usr.sbin/dtrace .
595 This test suite is considered experimental on architectures other than
596 amd64/amd64 and running it may cause system instability.
597 .It Va WITHOUT_DYNAMICROOT
598 Set this if you do not want to link
604 Do not build and install
607 and related programs.
614 This is a default setting on
615 powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
622 This is a default setting on
623 amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
624 .It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
625 Do not build ELF Tool Chain tools
626 (addr2line, nm, size, strings and strip)
627 as part of the bootstrap process.
629 An alternate bootstrap tool chain must be provided.
631 .It Va WITHOUT_EXAMPLES
632 Avoid installing examples to
633 .Pa /usr/share/examples/ .
634 .It Va WITH_EXPERIMENTAL
635 Include experimental features in the build.
636 .It Va WITH_EXTRA_TCP_STACKS
637 Build extra TCP stack modules.
639 Do not build Flattened Device Tree support as part of the base system.
640 This includes the device tree compiler (dtc) and libfdt support library.
642 This is a default setting on
643 amd64/amd64 and i386/i386.
645 Build Flattened Device Tree support as part of the base system.
646 This includes the device tree compiler (dtc) and libfdt support library.
648 This is a default setting on
649 arm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
653 and related programs.
654 .It Va WITHOUT_FINGER
655 Do not build or install
659 .It Va WITHOUT_FLOPPY
660 Do not build or install programs
661 for operating floppy disk driver.
662 .It Va WITHOUT_FORMAT_EXTENSIONS
664 .Fl fformat-extensions
665 when compiling the kernel.
666 Also disables all format checking.
668 Build bootloaders without Forth support.
669 .It Va WITHOUT_FP_LIBC
672 without floating-point support.
673 .It Va WITHOUT_FREEBSD_UPDATE
675 .Xr freebsd-update 8 .
677 Do not build or install
684 Install the traditional FreeBSD
688 programs instead of the enhanced versions.
689 .It Va WITHOUT_GNU_DIFF
692 .It Va WITHOUT_GOOGLETEST
693 Neither build nor install
700 as part of the base system.
701 .It Va WITHOUT_GSSAPI
702 Do not build libgssapi.
706 and related utilities.
708 Build Hesiod support.
710 Do not build HTML docs.
711 .It Va WITHOUT_HYPERV
712 Do not build or install HyperV utilities.
714 This is a default setting on
715 arm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
717 Build or install HyperV utilities.
719 This is a default setting on
720 amd64/amd64, arm64/aarch64 and i386/i386.
722 Do not build iconv as part of libc.
723 .It Va WITHOUT_INCLUDES
724 Do not install header files.
725 This option used to be spelled
728 The option does not work for build targets.
731 Do not build programs and libraries related to IPv4 networking.
732 When set, it enforces these options:
736 .Va WITHOUT_INET_SUPPORT
740 programs and libraries related to IPv6 networking.
741 When set, it enforces these options:
745 .Va WITHOUT_INET6_SUPPORT
747 .It Va WITHOUT_INET6_SUPPORT
748 Build libraries, programs, and kernel modules without IPv6 support.
752 .It Va WITHOUT_INET_SUPPORT
753 Build libraries, programs, and kernel modules without IPv4 support.
754 .It Va WITH_INIT_ALL_PATTERN
755 Build the base system or kernel with stack variables initialized to
757 debugging patterns on function entry.
758 This option requires the clang compiler.
759 .It Va WITH_INIT_ALL_ZERO
760 Build the base system or kernel with stack variables initialized
761 to zero on function entry.
762 This option requires that the clang compiler be used.
763 .It Va WITHOUT_INSTALLLIB
764 Set this to not install optional libraries.
765 For example, when creating a
769 The option does not work for build targets.
771 .It Va WITH_INSTALL_AS_USER
772 Make install targets succeed for non-root users by installing
773 files with owner and group attributes set to that of the user running
777 The user still must set the
779 variable to point to a directory where the user has write permissions.
780 .It Va WITHOUT_IPFILTER
781 Do not build IP Filter package.
783 Do not build IPFW tools.
784 .It Va WITHOUT_IPSEC_SUPPORT
785 Do not build the kernel with
788 This option is needed for
795 and related utilities.
797 Do not build tools for the support of jails; e.g.,
804 .It Va WITHOUT_KERBEROS
805 Set this to not build Kerberos 5 (KTH Heimdal).
806 When set, these options are also in effect:
809 .It Va WITHOUT_GSSAPI
813 .It Va WITHOUT_KERBEROS_SUPPORT
815 .Va WITH_KERBEROS_SUPPORT
818 .It Va WITHOUT_KERBEROS_SUPPORT
819 Build some programs without Kerberos support, like
824 .It Va WITH_KERNEL_RETPOLINE
825 Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
827 .It Va WITHOUT_KERNEL_SYMBOLS
828 Do not install standalone kernel debug symbol files.
829 This option has no effect at build time.
833 library as a part of the base system.
835 The option has no effect yet.
837 When set, these options are also in effect:
840 .It Va WITHOUT_KVM_SUPPORT
845 .It Va WITHOUT_KVM_SUPPORT
846 Build some programs without optional
850 Setting this variable will prevent the LDNS library from being built.
851 When set, it enforces these options:
855 .Va WITHOUT_LDNS_UTILS
859 .It Va WITHOUT_LDNS_UTILS
860 Setting this variable will prevent building the LDNS utilities
864 .It Va WITHOUT_LEGACY_CONSOLE
865 Do not build programs that support a legacy PC console; e.g.,
870 On 64-bit platforms, do not build 32-bit library set and a
874 This is a default setting on
875 arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
877 On 64-bit platforms, build the 32-bit library set and a
881 This is a default setting on
882 amd64/amd64 and powerpc/powerpc64.
884 Do not build LLVM's lld linker.
886 Do not build the LLDB debugger.
888 This is a default setting on
889 arm/armv6, arm/armv7, riscv/riscv64 and riscv/riscv64sf.
891 Build the LLDB debugger.
893 This is a default setting on
894 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
895 .It Va WITHOUT_LLD_BOOTSTRAP
896 Do not build the LLD linker during the bootstrap phase of
898 To be able to build the system an alternate linker must be provided via XLD.
899 .It Va WITHOUT_LLD_IS_LD
901 .Pa /usr/bin/ld symlink
904 The system will not have a usable tool chain unless a linker is provided
906 .It Va WITHOUT_LLVM_ASSERTIONS
907 Disable debugging assertions in LLVM.
908 .It Va WITH_LLVM_BINUTILS
909 Install LLVM's binutils (ar, addr2line, nm, etc.) instead of ELF Tool Chain's.
910 .It Va WITHOUT_LLVM_COV
914 .It Va WITHOUT_LLVM_CXXFILT
915 Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
916 .It Va WITHOUT_LLVM_TARGET_AARCH64
917 Do not build LLVM target support for AArch64.
920 option should be used rather than this in most cases.
921 .It Va WITHOUT_LLVM_TARGET_ALL
922 Only build the required LLVM target support.
923 This option is preferred to specific target support options.
924 When set, these options are also in effect:
927 .It Va WITHOUT_LLVM_TARGET_AARCH64
929 .Va WITH_LLVM_TARGET_AARCH64
931 .It Va WITHOUT_LLVM_TARGET_ARM
933 .Va WITH_LLVM_TARGET_ARM
935 .It Va WITHOUT_LLVM_TARGET_POWERPC
937 .Va WITH_LLVM_TARGET_POWERPC
939 .It Va WITHOUT_LLVM_TARGET_RISCV
941 .Va WITH_LLVM_TARGET_RISCV
944 .It Va WITHOUT_LLVM_TARGET_ARM
945 Do not build LLVM target support for ARM.
948 option should be used rather than this in most cases.
949 .It Va WITH_LLVM_TARGET_BPF
950 Build LLVM target support for BPF.
953 option should be used rather than this in most cases.
954 .It Va WITH_LLVM_TARGET_MIPS
955 Build LLVM target support for MIPS.
958 option should be used rather than this in most cases.
959 .It Va WITHOUT_LLVM_TARGET_POWERPC
960 Do not build LLVM target support for PowerPC.
963 option should be used rather than this in most cases.
964 .It Va WITHOUT_LLVM_TARGET_RISCV
965 Do not build LLVM target support for RISC-V.
968 option should be used rather than this in most cases.
969 .It Va WITHOUT_LLVM_TARGET_X86
970 Do not build LLVM target support for X86.
973 option should be used rather than this in most cases.
974 .It Va WITH_LOADER_EFI_SECUREBOOT
977 with support for verification based on certificates obtained from UEFI.
978 .It Va WITHOUT_LOADER_GELI
979 Disable inclusion of GELI crypto support in the boot chain binaries.
981 This is a default setting on
982 powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
983 .It Va WITH_LOADER_GELI
984 Build GELI bootloader support.
986 This is a default setting on
987 amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
988 .It Va WITHOUT_LOADER_KBOOT
989 Do not build kboot, a linuxboot environment loader
991 This is a default setting on
992 arm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
993 .It Va WITH_LOADER_KBOOT
994 Build kboot, a linuxboot environment loader
996 This is a default setting on
997 amd64/amd64, arm64/aarch64 and powerpc/powerpc64.
998 .It Va WITHOUT_LOADER_LUA
999 Do not build LUA bindings for the boot loader.
1001 This is a default setting on
1002 powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1003 .It Va WITH_LOADER_LUA
1004 Build LUA bindings for the boot loader.
1006 This is a default setting on
1007 amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1008 .It Va WITHOUT_LOADER_OFW
1009 Disable building of openfirmware bootloader components.
1011 This is a default setting on
1012 amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1013 .It Va WITH_LOADER_OFW
1014 Build openfirmware bootloader components.
1016 This is a default setting on
1017 powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1018 .It Va WITHOUT_LOADER_UBOOT
1019 Disable building of ubldr.
1021 This is a default setting on
1022 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1023 .It Va WITH_LOADER_UBOOT
1026 This is a default setting on
1027 arm/armv6, arm/armv7, powerpc/powerpc and powerpc/powerpc64.
1028 .It Va WITH_LOADER_VERBOSE
1029 Build with extra verbose debugging in the loader.
1030 May explode already nearly too large loader over the limit.
1032 .It Va WITH_LOADER_VERIEXEC
1035 with support for verification similar to Verified Exec.
1039 When set, these options are also in effect:
1042 .It Va WITH_LOADER_EFI_SECUREBOOT
1044 .Va WITHOUT_LOADER_EFI_SECUREBOOT
1046 .It Va WITH_LOADER_VERIEXEC_VECTX
1048 .Va WITHOUT_LOADER_VERIEXEC_VECTX
1051 .It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1054 with support to pass a verified manifest to the kernel.
1055 The kernel has to be built with a module to parse the manifest.
1058 .Va WITH_LOADER_VERIEXEC .
1059 .It Va WITH_LOADER_VERIEXEC_VECTX
1062 with support for hashing and verifying kernel and modules as a side effect
1066 .Va WITH_LOADER_VERIEXEC .
1067 .It Va WITHOUT_LOADER_ZFS
1068 Do not build ZFS file system boot loader support.
1069 .It Va WITHOUT_LOCALES
1070 Do not build localization files; see
1072 .It Va WITHOUT_LOCATE
1075 and related programs.
1079 and related programs.
1080 .It Va WITHOUT_LS_COLORS
1083 without support for colors to distinguish file types.
1084 .It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1085 Prefer machine-independent non-assembler code in libc and libm.
1087 Do not build any mail support (MUA or MTA).
1088 When set, it enforces these options:
1094 .Va WITHOUT_MAILWRAPPER
1096 .Va WITHOUT_SENDMAIL
1098 .It Va WITHOUT_MAILWRAPPER
1105 and related support files.
1106 .It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1109 in limited sandbox mode.
1110 This option should be paired with
1111 .Va WITH_INSTALL_AS_USER
1112 if executed as an unprivileged user.
1116 .It Va WITH_MALLOC_PRODUCTION
1117 Disable assertions and statistics gathering in
1119 It also defaults the A and J runtime options to off.
1121 Do not build manual pages.
1122 When set, these options are also in effect:
1125 .It Va WITHOUT_MAN_UTILS
1130 .It Va WITHOUT_MANCOMPRESS
1131 Do not install compressed man pages.
1132 Only the uncompressed versions will be installed.
1133 .It Va WITH_MANSPLITPKG
1134 Split man pages into their own packages during make package.
1135 .It Va WITHOUT_MAN_UTILS
1136 Do not build utilities for manual pages,
1142 and related support files.
1143 .It Va WITH_META_MODE
1146 meta files when building, which can provide a reliable incremental build when
1149 The meta file is created in OBJDIR as
1151 These meta files track the command that was executed, its output, and the
1155 module is required unless
1158 When the module is loaded, any files used by the commands executed are
1159 tracked as dependencies for the target in its meta file.
1160 The target is considered out-of-date and rebuilt if any of these
1161 conditions are true compared to the last build:
1162 .Bl -bullet -compact
1164 The command to execute changes.
1166 The current working directory changes.
1168 The target's meta file is missing.
1170 The target's meta file is missing filemon data when filemon is loaded
1171 and a previous run did not have it loaded.
1175 Files read, executed or linked to are newer than the target.
1179 Files read, written, executed or linked are missing.
1181 The meta files can also be useful for debugging.
1183 The build hides commands that are executed unless
1188 to show some of its environment for further debugging.
1190 The build operates as it normally would otherwise.
1191 This option originally invoked a different build system but that was renamed
1193 .Va WITH_DIRDEPS_BUILD .
1195 This must be set in the environment, make command line, or
1196 .Pa /etc/src-env.conf ,
1199 .It Va WITHOUT_MLX5TOOL
1203 This is a default setting on
1204 arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1205 .It Va WITH_MLX5TOOL
1209 This is a default setting on
1210 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1211 .It Va WITHOUT_NETCAT
1215 .It Va WITHOUT_NETGRAPH
1216 Do not build applications to support
1218 When set, it enforces these options:
1222 .Va WITHOUT_BLUETOOTH
1225 When set, these options are also in effect:
1228 .It Va WITHOUT_NETGRAPH_SUPPORT
1230 .Va WITH_NETGRAPH_SUPPORT
1233 .It Va WITHOUT_NETGRAPH_SUPPORT
1234 Build libraries, programs, and kernel modules without netgraph support.
1238 support and related programs.
1239 If set, you might need to adopt your
1245 Do not build NLS catalogs.
1246 When set, it enforces these options:
1250 .Va WITHOUT_NLS_CATALOGS
1252 .It Va WITHOUT_NLS_CATALOGS
1253 Do not build NLS catalog support for
1255 .It Va WITHOUT_NS_CACHING
1256 Disable name caching in the
1259 The generic caching daemon,
1261 will not be built either if this option is set.
1265 and related programs.
1267 Do not build nvme related tools and kernel modules.
1269 This is a default setting on
1270 arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1272 Build nvme related tools and kernel modules.
1274 This is a default setting on
1275 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1278 .Dq "OpenFabrics Enterprise Distribution"
1279 InfiniBand software stack, including kernel modules and userspace libraries.
1281 This is a default setting on
1282 arm/armv6 and arm/armv7.
1283 When set, it enforces these options:
1287 .Va WITHOUT_OFED_EXTRA
1291 .Dq "OpenFabrics Enterprise Distribution"
1292 InfiniBand software stack, including kernel modules and userspace libraries.
1294 This is a default setting on
1295 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1296 .It Va WITH_OFED_EXTRA
1297 Build the non-essential components of the
1298 .Dq "OpenFabrics Enterprise Distribution"
1299 Infiniband software stack, mostly examples.
1300 .It Va WITH_OPENLDAP
1301 Enable building LDAP support for kerberos using an openldap client from ports.
1302 .It Va WITHOUT_OPENMP
1303 Do not build LLVM's OpenMP runtime.
1305 This is a default setting on
1306 arm/armv6, arm/armv7 and powerpc/powerpc.
1308 Build LLVM's OpenMP runtime.
1310 This is a default setting on
1311 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1312 .It Va WITHOUT_OPENSSH
1313 Do not build OpenSSH.
1314 .It Va WITHOUT_OPENSSL
1315 Do not build OpenSSL.
1316 When set, it enforces these options:
1322 .Va WITHOUT_KERBEROS
1324 .Va WITHOUT_KERBEROS_SUPPORT
1328 .Va WITHOUT_LDNS_UTILS
1330 .Va WITHOUT_LOADER_ZFS
1334 .Va WITHOUT_OPENSSL_KTLS
1336 .Va WITHOUT_PKGBOOTSTRAP
1343 When set, these options are also in effect:
1346 .It Va WITHOUT_GSSAPI
1351 .It Va WITHOUT_OPENSSL_KTLS
1352 Do not include kernel TLS support in OpenSSL.
1354 This is a default setting on
1355 arm/armv6, arm/armv7, i386/i386, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1356 .It Va WITH_OPENSSL_KTLS
1357 Include kernel TLS support in OpenSSL.
1359 This is a default setting on
1360 amd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
1362 Do not build PAM library and modules.
1364 This option is deprecated and does nothing.
1366 When set, these options are also in effect:
1369 .It Va WITHOUT_PAM_SUPPORT
1371 .Va WITH_PAM_SUPPORT
1374 .It Va WITHOUT_PAM_SUPPORT
1375 Build some programs without PAM support, particularly
1380 Do not build PF firewall package.
1381 When set, it enforces these options:
1388 Do not build dynamically linked binaries as
1389 Position-Independent Executable (PIE).
1391 This is a default setting on
1392 arm/armv6, arm/armv7, i386/i386 and powerpc/powerpc.
1394 Build dynamically linked binaries as
1395 Position-Independent Executable (PIE).
1397 This is a default setting on
1398 amd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1399 .It Va WITHOUT_PKGBOOTSTRAP
1406 and related programs.
1407 .It Va WITHOUT_PORTSNAP
1408 Do not build or install
1414 and related programs.
1416 Build profiled libraries for use with
1418 This option is deprecated and may not be present in a future version of
1420 .It Va WITHOUT_QUOTAS
1423 and related programs.
1424 .It Va WITHOUT_RADIUS_SUPPORT
1425 Do not build radius support into various applications, like
1429 .It Va WITH_RATELIMIT
1430 Build the system with rate limit support.
1433 .Dv SO_MAX_PACING_RATE
1441 .It Va WITHOUT_RBOOTD
1442 Do not build or install
1444 .It Va WITHOUT_RELRO
1445 Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1449 .It Va WITH_REPRODUCIBLE_BUILD
1450 Exclude build metadata (such as the build time, user, or host)
1451 from the kernel, boot loaders, and uname output, so that builds produce
1452 bit-for-bit identical output.
1453 .It Va WITHOUT_RESCUE
1456 .It Va WITH_RETPOLINE
1457 Build the base system with the retpoline speculative execution
1458 vulnerability mitigation for CVE-2017-5715.
1459 .It Va WITHOUT_ROUTED
1463 .It Va WITH_RPCBIND_WARMSTART_SUPPORT
1466 with warmstart support.
1467 .It Va WITHOUT_SCTP_SUPPORT
1468 Disable support in the kernel for the
1470 Stream Control Transmission Protocol
1471 loadable kernel module.
1472 .It Va WITHOUT_SENDMAIL
1475 and related programs.
1476 .It Va WITHOUT_SERVICESDB
1478 .Pa /var/db/services.db .
1479 .It Va WITHOUT_SETUID_LOGIN
1480 Set this to disable the installation of
1482 as a set-user-ID root program.
1483 .It Va WITHOUT_SHAREDOCS
1487 .It Va WITHOUT_SHARED_TOOLCHAIN
1488 Build the toolchain binaries as statically linked executables.
1492 and necessary utilities like assembler, linker and library archive manager.
1493 .It Va WITH_SORT_THREADS
1496 .It Va WITHOUT_SOURCELESS
1497 Do not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1498 When set, it enforces these options:
1502 .Va WITHOUT_SOURCELESS_HOST
1504 .Va WITHOUT_SOURCELESS_UCODE
1506 .It Va WITHOUT_SOURCELESS_HOST
1507 Do not build kernel modules that include sourceless native code for host CPU.
1508 .It Va WITHOUT_SOURCELESS_UCODE
1509 Do not build kernel modules that include sourceless microcode.
1510 .It Va WITHOUT_SPLIT_KERNEL_DEBUG
1511 Do not build standalone kernel debug files.
1512 Debug data (if enabled by the kernel configuration file)
1513 will be included in the kernel and modules.
1514 When set, it enforces these options:
1518 .Va WITHOUT_KERNEL_SYMBOLS
1521 Do not build world with propolice stack smashing protection.
1523 Enable staging of files to a stage tree.
1524 This can be best thought of as auto-install to
1526 with some extra meta data to ensure dependencies can be tracked.
1528 .Va WITH_DIRDEPS_BUILD .
1529 When set, these options are also in effect:
1532 .It Va WITH_STAGING_MAN
1534 .Va WITHOUT_STAGING_MAN
1536 .It Va WITH_STAGING_PROG
1538 .Va WITHOUT_STAGING_PROG
1542 This must be set in the environment, make command line, or
1543 .Pa /etc/src-env.conf ,
1546 .It Va WITH_STAGING_MAN
1547 Enable staging of man pages to stage tree.
1548 .It Va WITH_STAGING_PROG
1549 Enable staging of PROGs to stage tree.
1550 .It Va WITH_STALE_STAGED
1551 Check staged files are not stale.
1552 .It Va WITHOUT_STATS
1553 Neither build nor install
1555 and dependent binaries.
1556 .It Va WITHOUT_SYSCONS
1559 support files such as keyboard maps, fonts, and screen output maps.
1561 Enable use of sysroot during build.
1563 .Va WITH_DIRDEPS_BUILD .
1565 This must be set in the environment, make command line, or
1566 .Pa /etc/src-env.conf ,
1569 .It Va WITHOUT_SYSTEM_COMPILER
1570 Do not opportunistically skip building a cross-compiler during the
1571 bootstrap phase of the build.
1572 Normally, if the currently installed compiler matches the planned bootstrap
1573 compiler type and revision, then it will not be built.
1574 This does not prevent a compiler from being built for installation though,
1575 only for building one for the build itself.
1578 option controls that.
1579 .It Va WITHOUT_SYSTEM_LINKER
1580 Do not opportunistically skip building a cross-linker during the
1581 bootstrap phase of the build.
1582 Normally, if the currently installed linker matches the planned bootstrap
1583 linker type and revision, then it will not be built.
1584 This does not prevent a linker from being built for installation though,
1585 only for building one for the build itself.
1588 option controls that.
1590 This option is only relevant when
1591 .Va WITH_LLD_BOOTSTRAP
1594 Do not build or install
1598 .It Va WITHOUT_TCP_WRAPPERS
1599 Do not build or install
1601 and related utilities.
1603 Do not build and install
1607 .It Va WITHOUT_TELNET
1610 and related programs.
1611 .It Va WITHOUT_TESTS
1612 Do not build nor install the
1619 This also disables the build of all test-related dependencies, including ATF.
1620 When set, it enforces these options:
1624 .Va WITHOUT_DTRACE_TESTS
1627 When set, these options are also in effect:
1630 .It Va WITHOUT_GOOGLETEST
1634 .It Va WITHOUT_TESTS_SUPPORT
1636 .Va WITH_TESTS_SUPPORT
1639 .It Va WITHOUT_TESTS_SUPPORT
1640 Disable the build of all test-related dependencies, including ATF.
1641 When set, it enforces these options:
1645 .Va WITHOUT_GOOGLETEST
1647 .It Va WITHOUT_TEXTPROC
1649 programs used for text processing.
1651 Do not build or install
1655 .It Va WITHOUT_TOOLCHAIN
1656 Do not install header or
1657 programs used for program development,
1658 compilers, debuggers etc.
1659 When set, it enforces these options:
1665 .Va WITHOUT_CLANG_EXTRAS
1667 .Va WITHOUT_CLANG_FORMAT
1669 .Va WITHOUT_CLANG_FULL
1671 .Va WITHOUT_INCLUDES
1677 .Va WITHOUT_LLVM_COV
1680 Build the base system with Undefined Behavior Sanitizer (UBSan) to detect
1681 various kinds of undefined behavior at runtime.
1682 Requires that Clang be used as the base system compiler
1683 and that the runtime support library is available
1684 .It Va WITHOUT_UNBOUND
1687 and related programs.
1688 .It Va WITHOUT_UNIFIED_OBJDIR
1689 Use the historical object directory format for
1692 For native-builds and builds done directly in sub-directories the format of
1693 .Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1695 while for cross-builds
1696 .Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1699 This option is transitional and will be removed in a future version of
1702 .Va WITH_UNIFIED_OBJDIR
1703 will be enabled permanently.
1705 This must be set in the environment, make command line, or
1706 .Pa /etc/src-env.conf ,
1710 Do not build USB-related programs and libraries.
1711 .It Va WITHOUT_USB_GADGET_EXAMPLES
1712 Do not build USB gadget kernel modules.
1713 .It Va WITHOUT_UTMPX
1714 Do not build user accounting tools such as
1722 .It Va WITH_VERIEXEC
1725 which loads the contents of verified manifests into the kernel
1732 Do not build and install vi, view, ex and related programs.
1736 support files (fonts and keymaps).
1737 .It Va WITHOUT_WARNS
1738 Set this to not add warning flags to the compiler invocations.
1739 Useful as a temporary workaround when code enters the tree
1740 which triggers warnings in environments that differ from the
1742 .It Va WITHOUT_WERROR
1743 Set this to not treat compiler warnings as errors.
1744 Useful as a temporary workaround when working on fixing compiler warnings.
1745 When set, warnings are still printed in the build log but do not fail the build.
1746 .It Va WITHOUT_WIRELESS
1747 Do not build programs used for 802.11 wireless networks; especially
1748 .Xr wpa_supplicant 8
1751 When set, these options are also in effect:
1754 .It Va WITHOUT_WIRELESS_SUPPORT
1756 .Va WITH_WIRELESS_SUPPORT
1759 .It Va WITHOUT_WIRELESS_SUPPORT
1760 Build libraries, programs, and kernel modules without
1761 802.11 wireless support.
1762 .It Va WITHOUT_WPA_SUPPLICANT_EAPOL
1764 .Xr wpa_supplicant 8
1765 without support for the IEEE 802.1X protocol and without
1766 support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
1767 protocols (usable only via 802.1X).
1769 Do not build the ZFS file system kernel module, libraries such as
1771 and user commands such as
1775 Also disable ZFS support in utilities and libraries which implement
1776 ZFS-specific functionality.
1777 .It Va WITHOUT_ZONEINFO
1778 Do not build the timezone database.
1779 When set, it enforces these options:
1783 .Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
1785 .It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1786 Build leapsecond information in to the timezone database.
1789 .Bl -tag -compact -width Pa
1790 .It Pa /etc/src.conf
1791 .It Pa /etc/src-env.conf
1792 .It Pa /usr/share/mk/bsd.own.mk
1805 This manual page was autogenerated by
1806 .An tools/build/options/makeman .