1 .\" DO NOT EDIT-- this file is generated by tools/build/options/makeman.
8 .Nd "source build options"
12 file contains settings that will apply to every build involving 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 Set to not build process accounting tools such as
102 and related programs.
106 and related programs.
111 and related programs.
112 .It Va WITHOUT_ASSERT_DEBUG
113 Set to compile programs and libraries without the
119 and related utilities.
122 programs and libraries related to ATM networking.
124 Set to not build audit support into system programs.
125 .It Va WITHOUT_AUTHPF
128 .It Va WITHOUT_AUTOFS
131 related programs, libraries, and kernel modules.
132 .It Va WITHOUT_AUTO_OBJ
133 Disable automatic creation of objdirs.
134 This is enabled by default if the wanted OBJDIR is writable by the current user.
136 This must be set in the environment, make command line, or
137 .Pa /etc/src-env.conf ,
141 Set to not build or install
143 associated utilities, and examples.
145 This option only affects amd64/amd64.
146 .It Va WITHOUT_BINUTILS
147 Set to not build or install binutils (as, ld, objcopy, and objdump ) as part
148 of the normal system build.
149 The resulting system cannot build programs from source.
151 This is a default setting on
152 arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
153 When set, it enforces these options:
160 Set to build and install binutils (as, ld, objcopy, and objdump) as part
161 of the normal system build.
163 This is a default setting on
164 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
165 .It Va WITHOUT_BINUTILS_BOOTSTRAP
166 Set to not build binutils (as, ld, objcopy and objdump)
167 as part of the bootstrap process.
169 The option does not work for build targets unless some alternative
170 toolchain is provided.
173 This is a default setting on
174 arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
175 .It Va WITH_BINUTILS_BOOTSTRAP
176 Set build binutils (as, ld, objcopy and objdump)
177 as part of the bootstrap process.
179 This is a default setting on
180 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
181 .It Va WITHOUT_BLACKLIST
182 Set this if you do not want to build
186 When set, it enforces these options:
190 .Va WITHOUT_BLACKLIST_SUPPORT
192 .It Va WITHOUT_BLACKLIST_SUPPORT
193 Set to build some programs without
202 .It Va WITHOUT_BLUETOOTH
203 Set to not build Bluetooth related kernel modules, programs and libraries.
205 Set to not build the boot blocks and loader.
206 .It Va WITHOUT_BOOTPARAMD
207 Set to not build or install
209 .It Va WITHOUT_BOOTPD
210 Set to not build or install
212 .It Va WITHOUT_BSDINSTALL
216 and related programs.
217 .It Va WITHOUT_BSD_CPIO
218 Set to not build the BSD licensed version of cpio based on
221 Install BSD-licensed grep as '[ef]grep' instead of GNU grep.
223 Set to not build or install
225 and related libraries and data files.
227 Set to not build contributed bzip2 software as a part of the base system.
229 The option has no effect yet.
231 When set, it enforces these options:
235 .Va WITHOUT_BZIP2_SUPPORT
237 .It Va WITHOUT_BZIP2_SUPPORT
238 Set to build some programs without optional bzip2 support.
239 .It Va WITHOUT_CALENDAR
242 .It Va WITHOUT_CAPSICUM
243 Set to not build Capsicum support into system programs.
244 When set, it enforces these options:
250 .It Va WITHOUT_CASPER
251 Set to not build Casper program and related libraries.
252 .It Va WITH_CCACHE_BUILD
256 No configuration is required except to install the
262 .Sy CCACHE_PREFIX=/usr/local/bin/distcc .
263 The default cache directory of
265 will be used, which can be overridden by setting
268 .Sy CCACHE_COMPILERCHECK
271 when using the in-tree bootstrap compiler,
274 when using an external compiler.
277 option is used for Clang but not GCC.
279 Sharing a cache between multiple work directories requires using a layout
283 and an environment such as:
284 .Bd -literal -offset indent
285 CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
290 for more configuration options.
294 and related utilities.
296 Set to not build code licensed under Sun's CDDL.
297 When set, it enforces these options:
306 Set to not build the Clang C/C++ compiler during the regular phase of the build.
308 This is a default setting on
309 riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
310 When set, it enforces these options:
314 .Va WITHOUT_CLANG_EXTRAS
316 .Va WITHOUT_CLANG_FULL
321 Set to build the Clang C/C++ compiler during the normal phase of the build.
323 This is a default setting on
324 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
325 .It Va WITHOUT_CLANG_BOOTSTRAP
326 Set to not build the Clang C/C++ compiler during the bootstrap phase of
328 To be able to build the system, either gcc or clang bootstrap must be
329 enabled unless an alternate compiler is provided via XCC.
331 This is a default setting on
332 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
333 .It Va WITH_CLANG_BOOTSTRAP
334 Set to build the Clang C/C++ compiler during the bootstrap phase of the build.
336 This is a default setting on
337 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
338 .It Va WITH_CLANG_EXTRAS
339 Set to build additional clang and llvm tools, such as bugpoint.
340 .It Va WITHOUT_CLANG_FULL
341 Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
342 the Clang C/C++ compiler.
344 This is a default setting on
345 riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
346 .It Va WITH_CLANG_FULL
347 Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the
348 Clang C/C++ compiler.
350 This is a default setting on
351 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
352 .It Va WITHOUT_CLANG_IS_CC
353 Set to install the GCC compiler as
359 This is a default setting on
360 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
361 .It Va WITH_CLANG_IS_CC
362 Set to install the Clang C/C++ compiler as
368 This is a default setting on
369 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
373 .It Va WITHOUT_CROSS_COMPILER
374 Set to not build any cross compiler in the cross-tools stage of buildworld.
375 When compiling a different version of
377 than what is installed on the system, provide an alternate
378 compiler with XCC to ensure success.
379 When compiling with an identical version of
381 to the host, this option may be safely used.
382 This option may also be safe when the host version of
384 is close to the sources being built, but all bets are off if there have
385 been any changes to the toolchain between the versions.
386 When set, it enforces these options:
390 .Va WITHOUT_BINUTILS_BOOTSTRAP
392 .Va WITHOUT_CLANG_BOOTSTRAP
394 .Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
396 .Va WITHOUT_GCC_BOOTSTRAP
398 .Va WITHOUT_LLD_BOOTSTRAP
401 Set to not build any crypto code.
402 When set, it enforces these options:
408 .Va WITHOUT_KERBEROS_SUPPORT
415 When set, these options are also in effect:
418 .It Va WITHOUT_GSSAPI
424 Set to compile with CTF (Compact C Type Format) data.
425 CTF data encapsulates a reduced form of debugging information
426 similar to DWARF and the venerable stabs and is required for DTrace.
430 and related utilities.
432 Set to not build CUSE-related programs and libraries.
433 .It Va WITHOUT_CXGBETOOL
437 This is a default setting on
438 arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf.
439 .It Va WITH_CXGBETOOL
443 This is a default setting on
444 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and sparc64/sparc64.
448 and related libraries.
449 It will also prevent building of
454 This is a default setting on
455 riscv/riscv64 and riscv/riscv64sf.
456 When set, it enforces these options:
462 .Va WITHOUT_CLANG_EXTRAS
464 .Va WITHOUT_CLANG_FULL
466 .Va WITHOUT_DTRACE_TESTS
474 .Va WITHOUT_TESTS_SUPPORT
479 and related libraries.
481 This is a default setting on
482 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
483 .It Va WITHOUT_DEBUG_FILES
484 Set to avoid building or installing standalone debug files for each
485 executable binary and shared library.
486 .It Va WITHOUT_DIALOG
493 When set, it enforces these options:
497 .Va WITHOUT_BSDINSTALL
500 Set to not build the Webster dictionary files.
501 .It Va WITH_DIRDEPS_BUILD
502 This is an experimental build system.
504 http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
505 Build commands can be seen from the top-level with:
506 .Dl make show-valid-targets
507 The build is driven by dirdeps.mk using
510 Makefile.depend files found in each directory.
512 The build can be started from anywhere, and behaves the same.
513 The initial instance of
518 .Pa Makefile.depend ,
519 computing a graph of tree dependencies from the current origin.
522 skips checking dirdep dependencies and will only build in the current
523 and child directories.
525 skips building any dirdeps and only build the current directory.
527 This also utilizes the
529 logic for incremental builds.
531 The build hides commands executed unless
535 Note that there is currently no mass install feature for this.
537 When set, it enforces these options:
541 .Va WITH_INSTALL_AS_USER
544 When set, these options are also in effect:
547 .It Va WITH_META_MODE
549 .Va WITHOUT_META_MODE
555 .It Va WITH_STAGING_MAN
557 .Va WITHOUT_STAGING_MAN
559 .It Va WITH_STAGING_PROG
561 .Va WITHOUT_STAGING_PROG
569 This must be set in the environment, make command line, or
570 .Pa /etc/src-env.conf ,
573 .It Va WITH_DIRDEPS_CACHE
574 Cache result of dirdeps.mk which can save significant time
575 for subsequent builds.
577 .Va WITH_DIRDEPS_BUILD .
579 This must be set in the environment, make command line, or
580 .Pa /etc/src-env.conf ,
583 .It Va WITHOUT_DMAGENT
584 Set to not build dma Mail Transport Agent.
585 .It Va WITHOUT_DOCCOMPRESS
586 Set to not install compressed system documentation.
587 Only the uncompressed version will be installed.
588 .It Va WITH_DTRACE_TESTS
589 Set to build and install the DTrace test suite in
590 .Pa /usr/tests/cddl/usr.sbin/dtrace .
591 This test suite is considered experimental on architectures other than
592 amd64/amd64 and running it may cause system instability.
593 .It Va WITHOUT_DYNAMICROOT
594 Set this if you do not want to link
599 .It Va WITHOUT_ED_CRYPTO
602 without support for encryption/decryption.
604 Set to not build and install
607 and related programs.
614 This is a default setting on
615 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
622 This is a default setting on
623 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
624 .It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
625 Set to 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 Set to avoid installing examples to
633 .Pa /usr/share/examples/ .
634 .It Va WITH_EXTRA_TCP_STACKS
635 Set to build extra TCP stack modules.
637 Set to not build Flattened Device Tree support as part of the base system.
638 This includes the device tree compiler (dtc) and libfdt support library.
642 and related programs.
643 .It Va WITHOUT_FINGER
644 Set to not build or install
648 .It Va WITHOUT_FLOPPY
649 Set to not build or install programs
650 for operating floppy disk driver.
651 .It Va WITHOUT_FMTREE
652 Set to not build and install
653 .Pa /usr/sbin/fmtree .
654 .It Va WITHOUT_FORMAT_EXTENSIONS
656 .Fl fformat-extensions
657 when compiling the kernel.
658 Also disables all format checking.
660 Set to build bootloaders without Forth support.
661 .It Va WITHOUT_FP_LIBC
664 without floating-point support.
665 .It Va WITHOUT_FREEBSD_UPDATE
667 .Xr freebsd-update 8 .
669 Set to not build or install
674 Set to not build games.
676 Set to not build and install gcc and g++ as part of the normal build process.
678 This is a default setting on
679 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
681 Set to build and install gcc and g++.
683 This is a default setting on
684 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
685 .It Va WITHOUT_GCC_BOOTSTRAP
686 Set to not build gcc and g++ as part of the bootstrap process.
687 You must enable either gcc or clang bootstrap to be able to build the system,
688 unless an alternative compiler is provided via
691 This is a default setting on
692 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
693 .It Va WITH_GCC_BOOTSTRAP
694 Set to build gcc and g++ as part of the bootstrap process.
696 This is a default setting on
697 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
706 This is a default setting on
707 arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
712 This is a default setting on
713 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
714 .It Va WITHOUT_GDB_LIBEXEC
720 This is a default setting on
721 arm/arm, arm/armeb, arm/armv6, arm/armv7 and sparc64/sparc64.
722 .It Va WITH_GDB_LIBEXEC
729 to be used as a fallback for
731 if a newer version is not installed.
733 This is a default setting on
734 amd64/amd64, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf.
735 .It Va WITHOUT_GNUCXX
736 Do not build the GNU C++ stack (g++, libstdc++).
737 This is the default on platforms where clang is the system compiler.
739 This is a default setting on
740 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
742 Build the GNU C++ stack (g++, libstdc++).
743 This is the default on platforms where gcc is the system compiler.
745 This is a default setting on
746 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
747 .It Va WITHOUT_GNU_DIFF
752 .It Va WITHOUT_GNU_GREP
755 .It Va WITH_GNU_GREP_COMPAT
756 Set this option to include GNU extensions in
758 by linking against libgnuregex.
762 as part of the base system.
763 .It Va WITHOUT_GPL_DTC
764 Set to build the BSD licensed version of the device tree compiler rather
765 than the GPLed one from elinux.org.
767 This is a default setting on
768 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
770 Set to build the GPL'd version of the device tree compiler from elinux.org,
771 instead of the BSD licensed one.
773 This is a default setting on
774 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
775 .It Va WITHOUT_GSSAPI
776 Set to not build libgssapi.
780 and related utilities.
782 Set to build Hesiod support.
784 Set to not build HTML docs.
785 .It Va WITHOUT_HYPERV
786 Set to not build or install HyperV utilities.
788 Set to not build iconv as part of libc.
789 .It Va WITHOUT_INCLUDES
790 Set to not install header files.
791 This option used to be spelled
794 The option does not work for build targets.
797 Set to not build programs and libraries related to IPv4 networking.
798 When set, it enforces these options:
802 .Va WITHOUT_INET_SUPPORT
806 programs and libraries related to IPv6 networking.
807 When set, it enforces these options:
811 .Va WITHOUT_INET6_SUPPORT
813 .It Va WITHOUT_INET6_SUPPORT
814 Set to build libraries, programs, and kernel modules without IPv6 support.
818 .It Va WITHOUT_INET_SUPPORT
819 Set to build libraries, programs, and kernel modules without IPv4 support.
820 .It Va WITHOUT_INSTALLLIB
821 Set this to not install optional libraries.
822 For example, when creating a
826 The option does not work for build targets.
828 .It Va WITH_INSTALL_AS_USER
829 Set to make install targets succeed for non-root users by installing
830 files with owner and group attributes set to that of the user running
834 The user still must set the
836 variable to point to a directory where the user has write permissions.
837 .It Va WITHOUT_IPFILTER
838 Set to not build IP Filter package.
840 Set to not build IPFW tools.
841 .It Va WITHOUT_IPSEC_SUPPORT
842 Set to not build the kernel with
845 This option is needed for
852 and related utilities.
854 Set to not build tools for the support of jails; e.g.,
861 .It Va WITHOUT_KERBEROS
862 Set this to not build Kerberos 5 (KTH Heimdal).
863 When set, it enforces these options:
867 .Va WITHOUT_KERBEROS_SUPPORT
870 When set, these options are also in effect:
873 .It Va WITHOUT_GSSAPI
878 .It Va WITHOUT_KERBEROS_SUPPORT
879 Set to build some programs without Kerberos support, like
885 .It Va WITH_KERNEL_RETPOLINE
886 Set to enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
888 .It Va WITHOUT_KERNEL_SYMBOLS
889 Set to not install kernel symbol files.
891 This option is recommended for those people who have small root partitions.
896 library as a part of the base system.
898 The option has no effect yet.
900 When set, it enforces these options:
904 .Va WITHOUT_KVM_SUPPORT
906 .It Va WITHOUT_KVM_SUPPORT
907 Set to build some programs without optional
911 Setting this variable will prevent the LDNS library from being built.
912 When set, it enforces these options:
916 .Va WITHOUT_LDNS_UTILS
920 .It Va WITHOUT_LDNS_UTILS
921 Setting this variable will prevent building the LDNS utilities
925 .It Va WITHOUT_LEGACY_CONSOLE
926 Set to not build programs that support a legacy PC console; e.g.,
931 On 64-bit platforms, set to not build 32-bit library set and a
934 .It Va WITHOUT_LIBCPLUSPLUS
935 Set to avoid building libcxxrt and libc++.
936 .It Va WITHOUT_LIBPTHREAD
941 When set, it enforces these options:
948 On armv6 only, set to enable soft float ABI compatibility libraries.
949 This option is for transitioning to the new hard float ABI.
950 .It Va WITHOUT_LIBTHR
956 Set to not build LLVM's lld linker.
958 This is a default setting on
959 riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
961 Set to build LLVM's lld linker.
963 This is a default setting on
964 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
966 Set to not build the LLDB debugger.
968 This is a default setting on
969 arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
971 Set to build the LLDB debugger.
973 This is a default setting on
974 amd64/amd64, arm64/aarch64 and i386/i386.
975 .It Va WITHOUT_LLD_BOOTSTRAP
976 Set to not build the LLD linker during the bootstrap phase of
978 To be able to build the system, either Binutils or LLD bootstrap must be
979 enabled unless an alternate linker is provided via XLD.
981 This is a default setting on
982 arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
983 .It Va WITH_LLD_BOOTSTRAP
984 Set to build the LLD linker during the bootstrap phase of the build.
986 This is a default setting on
987 amd64/amd64 and arm64/aarch64.
988 .It Va WITHOUT_LLD_IS_LD
989 Set to use GNU binutils ld as the system linker, instead of LLVM's LLD.
991 This is a default setting on
992 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
993 .It Va WITH_LLD_IS_LD
994 Set to use LLVM's LLD as the system linker, instead of GNU binutils ld.
996 This is a default setting on
998 .It Va WITHOUT_LLVM_COV
1003 This is a default setting on
1004 riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
1005 .It Va WITH_LLVM_COV
1010 This is a default setting on
1011 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
1012 .It Va WITHOUT_LLVM_LIBUNWIND
1013 Set to use GCC's stack unwinder (instead of LLVM's libunwind).
1015 This is a default setting on
1016 arm/arm, arm/armeb, arm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
1017 .It Va WITH_LLVM_LIBUNWIND
1018 Set to use LLVM's libunwind stack unwinder (instead of GCC's unwinder).
1020 This is a default setting on
1021 amd64/amd64, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, riscv/riscv64 and riscv/riscv64sf.
1022 .It Va WITH_LOADER_FIREWIRE
1023 Enable firewire support in /boot/loader and /boot/zfsloader on x86.
1024 This option is a nop on all other platforms.
1025 .It Va WITHOUT_LOADER_GELI
1026 Disable inclusion of GELI crypto support in the boot chain binaries.
1028 This is a default setting on
1029 arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
1030 .It Va WITH_LOADER_LUA
1031 Set to build LUA bindings for the boot loader.
1032 .It Va WITHOUT_LOADER_OFW
1033 Disable building of openfirmware bootloader components.
1035 This is a default setting on
1036 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, riscv/riscv64 and riscv/riscv64sf.
1037 .It Va WITH_LOADER_OFW
1038 Set to build openfirmware bootloader components.
1040 This is a default setting on
1041 powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
1042 .It Va WITHOUT_LOADER_UBOOT
1043 Disable building of ubldr.
1045 This is a default setting on
1046 amd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
1047 .It Va WITH_LOADER_UBOOT
1050 This is a default setting on
1051 arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
1052 .It Va WITHOUT_LOCALES
1053 Set to not build localization files; see
1055 .It Va WITHOUT_LOCATE
1058 and related programs.
1062 and related programs.
1063 .It Va WITHOUT_LS_COLORS
1066 without support for colors to distinguish file types.
1067 .It Va WITHOUT_LZMA_SUPPORT
1068 Set to build some programs without optional lzma compression support.
1070 Set to not build any mail support (MUA or MTA).
1071 When set, it enforces these options:
1077 .Va WITHOUT_MAILWRAPPER
1079 .Va WITHOUT_SENDMAIL
1081 .It Va WITHOUT_MAILWRAPPER
1082 Set to not build the
1088 and related support files.
1089 .It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1092 in limited sandbox mode.
1093 This option should be paired with
1094 .Va WITH_INSTALL_AS_USER
1095 if executed as an unprivileged user.
1100 Set to not build manual pages.
1101 When set, these options are also in effect:
1104 .It Va WITHOUT_MAN_UTILS
1109 .It Va WITHOUT_MANCOMPRESS
1110 Set to not to install compressed man pages.
1111 Only the uncompressed versions will be installed.
1112 .It Va WITHOUT_MAN_UTILS
1113 Set to not build utilities for manual pages,
1119 and related support files.
1120 .It Va WITH_META_MODE
1123 meta files when building, which can provide a reliable incremental build when
1126 The meta file is created in OBJDIR as
1128 These meta files track the command that was executed, its output, and the
1132 module is required unless
1135 When the module is loaded, any files used by the commands executed are
1136 tracked as dependencies for the target in its meta file.
1137 The target is considered out-of-date and rebuilt if any of these
1138 conditions are true compared to the last build:
1139 .Bl -bullet -compact
1141 The command to execute changes.
1143 The current working directory changes.
1145 The target's meta file is missing.
1147 The target's meta file is missing filemon data when filemon is loaded
1148 and a previous run did not have it loaded.
1152 Files read, executed or linked to are newer than the target.
1156 Files read, written, executed or linked are missing.
1158 The meta files can also be useful for debugging.
1160 The build hides commands that are executed unless
1165 to show some of its environment for further debugging.
1167 The build operates as it normally would otherwise.
1168 This option originally invoked a different build system but that was renamed
1170 .Va WITH_DIRDEPS_BUILD .
1172 This must be set in the environment, make command line, or
1173 .Pa /etc/src-env.conf ,
1176 .It Va WITHOUT_MLX5TOOL
1180 This is a default setting on
1181 arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf.
1182 .It Va WITH_MLX5TOOL
1186 This is a default setting on
1187 amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and sparc64/sparc64.
1189 Set to build the NAND Flash components.
1191 Set to not build programs and libraries
1192 related to NDIS emulation support.
1193 .It Va WITHOUT_NETCAT
1197 .It Va WITHOUT_NETGRAPH
1198 Set to not build applications to support
1200 When set, it enforces these options:
1206 .Va WITHOUT_BLUETOOTH
1208 .Va WITHOUT_NETGRAPH_SUPPORT
1210 .It Va WITHOUT_NETGRAPH_SUPPORT
1211 Set to build libraries, programs, and kernel modules without netgraph support.
1215 support and related programs.
1216 If set, you might need to adopt your
1222 Set to not build NLS catalogs.
1223 When set, it enforces these options:
1227 .Va WITHOUT_NLS_CATALOGS
1229 .It Va WITHOUT_NLS_CATALOGS
1230 Set to not build NLS catalog support for
1232 .It Va WITHOUT_NS_CACHING
1233 Set to disable name caching in the
1236 The generic caching daemon,
1238 will not be built either if this option is set.
1242 and related programs.
1245 .Dq "OpenFabrics Enterprise Distribution"
1246 Infiniband software stack.
1247 .It Va WITH_OPENLDAP
1248 Enable building openldap support for kerberos.
1249 .It Va WITHOUT_OPENSSH
1250 Set to not build OpenSSH.
1251 .It Va WITHOUT_OPENSSL
1252 Set to not build OpenSSL.
1253 When set, it enforces these options:
1257 .Va WITHOUT_KERBEROS
1259 .Va WITHOUT_KERBEROS_SUPPORT
1264 When set, these options are also in effect:
1267 .It Va WITHOUT_GSSAPI
1273 Set to not build PAM library and modules.
1275 This option is deprecated and does nothing.
1277 When set, it enforces these options:
1281 .Va WITHOUT_PAM_SUPPORT
1283 .It Va WITHOUT_PAM_SUPPORT
1284 Set to build some programs without PAM support, particularly
1288 .It Va WITHOUT_PC_SYSINSTALL
1291 and related programs.
1293 Set to not build PF firewall package.
1294 When set, it enforces these options:
1300 .It Va WITHOUT_PKGBOOTSTRAP
1307 and related programs.
1308 .It Va WITHOUT_PORTSNAP
1309 Set to not build or install
1315 and related programs.
1316 .It Va WITHOUT_PROFILE
1317 Set to not build profiled libraries for use with
1320 This is a default setting on
1321 mips/mips64el, mips/mips64, mips/mips64elhf, mips/mips64hf, riscv/riscv64 and riscv/riscv64sf.
1323 Set to build profiled libraries for use with
1326 This is a default setting on
1327 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mipsn32, mips/mipselhf, mips/mipshf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
1328 .It Va WITHOUT_QUOTAS
1331 and related programs.
1332 .It Va WITHOUT_RADIUS_SUPPORT
1333 Set to not build radius support into various applications, like
1337 .It Va WITH_RATELIMIT
1338 Set to build the system with rate limit support.
1341 .Dv SO_MAX_PACING_RATE
1349 .It Va WITHOUT_RBOOTD
1350 Set to not build or install
1352 .It Va WITH_REPRODUCIBLE_BUILD
1353 Set to exclude build metadata (such as the build time, user, or host)
1354 from the kernel, boot loaders, and uname output, so that builds produce
1355 bit-for-bit identical output.
1356 .It Va WITHOUT_RESCUE
1359 .It Va WITHOUT_ROUTED
1363 .It Va WITH_RPCBIND_WARMSTART_SUPPORT
1366 with warmstart support.
1367 .It Va WITHOUT_SENDMAIL
1370 and related programs.
1371 .It Va WITHOUT_SETUID_LOGIN
1372 Set this to disable the installation of
1374 as a set-user-ID root program.
1375 .It Va WITHOUT_SHAREDOCS
1376 Set to not build the
1379 .It Va WITH_SHARED_TOOLCHAIN
1380 Set to build the toolchain binaries shared.
1384 and necessary utilities like assembler, linker and library archive manager.
1385 .It Va WITH_SORT_THREADS
1386 Set to enable threads in
1388 .It Va WITHOUT_SOURCELESS
1389 Set to not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1390 When set, it enforces these options:
1394 .Va WITHOUT_SOURCELESS_HOST
1396 .Va WITHOUT_SOURCELESS_UCODE
1398 .It Va WITHOUT_SOURCELESS_HOST
1399 Set to not build kernel modules that include sourceless native code for host CPU.
1400 .It Va WITHOUT_SOURCELESS_UCODE
1401 Set to not build kernel modules that include sourceless microcode.
1403 Set to not build world with propolice stack smashing protection.
1405 This is a default setting on
1406 mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf and mips/mips64hf.
1408 Set to build world with propolice stack smashing protection.
1410 This is a default setting on
1411 amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
1413 Enable staging of files to a stage tree.
1414 This can be best thought of as auto-install to
1416 with some extra meta data to ensure dependencies can be tracked.
1418 .Va WITH_DIRDEPS_BUILD .
1419 When set, these options are also in effect:
1422 .It Va WITH_STAGING_MAN
1424 .Va WITHOUT_STAGING_MAN
1426 .It Va WITH_STAGING_PROG
1428 .Va WITHOUT_STAGING_PROG
1432 This must be set in the environment, make command line, or
1433 .Pa /etc/src-env.conf ,
1436 .It Va WITH_STAGING_MAN
1437 Enable staging of man pages to stage tree.
1438 .It Va WITH_STAGING_PROG
1439 Enable staging of PROGs to stage tree.
1440 .It Va WITH_STALE_STAGED
1441 Check staged files are not stale.
1447 .It Va WITHOUT_SVNLITE
1450 and related programs.
1451 .It Va WITHOUT_SYMVER
1452 Set to disable symbol versioning when building shared libraries.
1453 .It Va WITHOUT_SYSCONS
1456 support files such as keyboard maps, fonts, and screen output maps.
1458 Enable use of sysroot during build.
1460 .Va WITH_DIRDEPS_BUILD .
1462 This must be set in the environment, make command line, or
1463 .Pa /etc/src-env.conf ,
1466 .It Va WITHOUT_SYSTEM_COMPILER
1467 Set to not opportunistically skip building a cross-compiler during the
1468 bootstrap phase of the build.
1469 Normally, if the currently installed compiler matches the planned bootstrap
1470 compiler type and revision, then it will not be built.
1471 This does not prevent a compiler from being built for installation though,
1472 only for building one for the build itself.
1477 options control those.
1479 Set to not build or install
1483 .It Va WITHOUT_TCP_WRAPPERS
1484 Set to not build or install
1486 and related utilities.
1488 Set to not build and install
1492 .It Va WITHOUT_TELNET
1495 and related programs.
1496 .It Va WITHOUT_TESTS
1497 Set to not build nor install the
1504 This also disables the build of all test-related dependencies, including ATF.
1506 This is a default setting on
1507 riscv/riscv64 and riscv/riscv64sf.
1508 When set, it enforces these options:
1512 .Va WITHOUT_DTRACE_TESTS
1514 .Va WITHOUT_TESTS_SUPPORT
1516 .It Va WITHOUT_TESTS_SUPPORT
1517 Set to disables the build of all test-related dependencies, including ATF.
1519 This is a default setting on
1520 riscv/riscv64 and riscv/riscv64sf.
1521 .It Va WITHOUT_TEXTPROC
1523 programs used for text processing.
1525 Set to not build or install
1529 .It Va WITHOUT_TIMED
1530 Set to not build or install
1532 .It Va WITHOUT_TOOLCHAIN
1533 Set to not install header or
1534 programs used for program development,
1535 compilers, debuggers etc.
1536 When set, it enforces these options:
1540 .Va WITHOUT_BINUTILS
1544 .Va WITHOUT_CLANG_EXTRAS
1546 .Va WITHOUT_CLANG_FULL
1552 .Va WITHOUT_INCLUDES
1558 .Va WITHOUT_LLVM_COV
1560 .It Va WITHOUT_UNBOUND
1563 and related programs.
1564 .It Va WITHOUT_UNIFIED_OBJDIR
1565 Set to use the historical object directory format for
1568 For native-builds and builds done directly in sub-directories the format of
1569 .Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1571 while for cross-builds
1572 .Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1575 This option is transitional and will be removed before the 12.0 release,
1577 .va WITH_UNIFIED_OBJDIR
1578 will be enabled permanently.
1580 This must be set in the environment, make command line, or
1581 .Pa /etc/src-env.conf ,
1585 Set to not build USB-related programs and libraries.
1586 .It Va WITHOUT_USB_GADGET_EXAMPLES
1587 Set to not build USB gadget kernel modules.
1588 .It Va WITHOUT_UTMPX
1589 Set to not build user accounting tools such as
1598 Set to not build and install vi, view, ex and related programs.
1602 support files (fonts and keymaps).
1603 .It Va WITHOUT_WARNS
1604 Set this to not add warning flags to the compiler invocations.
1605 Useful as a temporary workaround when code enters the tree
1606 which triggers warnings in environments that differ from the
1608 .It Va WITHOUT_WIRELESS
1609 Set to not build programs used for 802.11 wireless networks; especially
1610 .Xr wpa_supplicant 8
1613 When set, it enforces these options:
1617 .Va WITHOUT_WIRELESS_SUPPORT
1619 .It Va WITHOUT_WIRELESS_SUPPORT
1620 Set to build libraries, programs, and kernel modules without
1621 802.11 wireless support.
1622 .It Va WITHOUT_WPA_SUPPLICANT_EAPOL
1624 .Xr wpa_supplicant 8
1625 without support for the IEEE 802.1X protocol and without
1626 support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
1627 protocols (usable only via 802.1X).
1629 Set to not build ZFS file system.
1630 .It Va WITHOUT_ZONEINFO
1631 Set to not build the timezone database.
1632 When set, it enforces these options:
1636 .Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
1638 .Va WITHOUT_ZONEINFO_OLD_TIMEZONES_SUPPORT
1640 .It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1641 Set to build leapsecond information in to the timezone database.
1642 .It Va WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT
1643 Set to build backward compatibility timezone aliases in to the timezone
1647 .Bl -tag -compact -width Pa
1648 .It Pa /etc/src.conf
1649 .It Pa /etc/src-env.conf
1650 .It Pa /usr/share/mk/bsd.own.mk
1663 This manual page was autogenerated by
1664 .An tools/build/options/makeman .