xref: /freebsd/share/man/man5/src.conf.5 (revision 9768746b)
1.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2.\" $FreeBSD$
3.Dd January 26, 2023
4.Dt SRC.CONF 5
5.Os
6.Sh NAME
7.Nm src.conf
8.Nd "source build options"
9.Sh DESCRIPTION
10The
11.Nm
12file contains variables that control what components will be generated during
13the build process of the
14.Fx
15source tree; see
16.Xr build 7 .
17.Pp
18The
19.Nm
20file uses the standard makefile syntax.
21However,
22.Nm
23should not specify any dependencies to
24.Xr make 1 .
25Instead,
26.Nm
27is to set
28.Xr make 1
29variables that control the aspects of how the system builds.
30.Pp
31The default location of
32.Nm
33is
34.Pa /etc/src.conf ,
35though an alternative location can be specified in the
36.Xr make 1
37variable
38.Va SRCCONF .
39Overriding the location of
40.Nm
41may be necessary if the system-wide settings are not suitable
42for a particular build.
43For instance, setting
44.Va SRCCONF
45to
46.Pa /dev/null
47effectively resets all build controls to their defaults.
48.Pp
49The only purpose of
50.Nm
51is to control the compilation of the
52.Fx
53source code, which is usually located in
54.Pa /usr/src .
55As a rule, the system administrator creates
56.Nm
57when the values of certain control variables need to be changed
58from their defaults.
59.Pp
60In addition, control variables can be specified
61for a particular build via the
62.Fl D
63option of
64.Xr make 1
65or in its environment; see
66.Xr environ 7 .
67.Pp
68The environment of
69.Xr make 1
70for the build can be controlled via the
71.Va SRC_ENV_CONF
72variable, which defaults to
73.Pa /etc/src-env.conf .
74Some examples that may only be set in this file are
75.Va WITH_DIRDEPS_BUILD ,
76and
77.Va WITH_META_MODE ,
78and
79.Va MAKEOBJDIRPREFIX
80as they are environment-only variables.
81.Pp
82The values of variables are ignored regardless of their setting;
83even if they would be set to
84.Dq Li FALSE
85or
86.Dq Li NO .
87The presence of an option causes
88it to be honored by
89.Xr make 1 .
90.Pp
91This list provides a name and short description for variables
92that can be used for source builds.
93.Bl -tag -width indent
94.It Va WITHOUT_ACCT
95Do not build process accounting tools such as
96.Xr accton 8
97and
98.Xr sa 8 .
99.It Va WITHOUT_ACPI
100Do not build
101.Xr acpiconf 8 ,
102.Xr acpidump 8
103and related programs.
104.It Va WITHOUT_APM
105Do not build
106.Xr apm 8 ,
107.Xr apmd 8
108and related programs.
109.It Va WITH_ASAN
110Build the base system with Address Sanitizer (ASan) to detect
111memory corruption bugs such as buffer overflows or use-after-free.
112Requires that Clang be used as the base system compiler
113and that the runtime support library is available.
114When set, it enforces these options:
115.Pp
116.Bl -item -compact
117.It
118.Va WITH_LLVM_BINUTILS
119.It
120.Va WITH_LLVM_CXXFILT
121.El
122.It Va WITHOUT_ASSERT_DEBUG
123Compile programs and libraries without the
124.Xr assert 3
125checks.
126.It Va WITHOUT_AT
127Do not build
128.Xr at 1
129and related utilities.
130.It Va WITHOUT_ATM
131Do not build
132programs and libraries related to ATM networking.
133.It Va WITHOUT_AUDIT
134Do not build audit support into system programs.
135.It Va WITHOUT_AUTHPF
136Do not build
137.Xr authpf 8 .
138.It Va WITHOUT_AUTOFS
139Do not build
140.Xr autofs 5
141related programs, libraries, and kernel modules.
142.It Va WITHOUT_AUTO_OBJ
143Disable automatic creation of objdirs.
144This is enabled by default if the wanted OBJDIR is writable by the current user.
145.Pp
146This must be set in the environment, make command line, or
147.Pa /etc/src-env.conf ,
148not
149.Pa /etc/src.conf .
150.It Va WITH_BEARSSL
151Build the BearSSL library.
152.Pp
153BearSSL is a tiny SSL library suitable for embedded environments.
154For details see
155.Lk https://www.BearSSL.org/
156.Pp
157This library is currently only used to perform
158signature verification and related operations
159for Verified Exec and
160.Xr loader 8 .
161When set, these options are also in effect:
162.Pp
163.Bl -inset -compact
164.It Va WITH_LOADER_EFI_SECUREBOOT
165(unless
166.Va WITHOUT_LOADER_EFI_SECUREBOOT
167is set explicitly)
168.It Va WITH_LOADER_VERIEXEC
169(unless
170.Va WITHOUT_LOADER_VERIEXEC
171is set explicitly)
172.It Va WITH_LOADER_VERIEXEC_VECTX
173(unless
174.Va WITHOUT_LOADER_VERIEXEC_VECTX
175is set explicitly)
176.It Va WITH_VERIEXEC
177(unless
178.Va WITHOUT_VERIEXEC
179is set explicitly)
180.El
181.It Va WITHOUT_BHYVE
182Do not build or install
183.Xr bhyve 8 ,
184associated utilities, and examples.
185.Pp
186This option only affects amd64/amd64.
187.It Va WITH_BHYVE_SNAPSHOT
188Include support for save and restore (snapshots) in
189.Xr bhyve 8
190and
191.Xr bhyvectl 8 .
192.Pp
193This option only affects amd64/amd64.
194.It Va WITH_BIND_NOW
195Build all binaries with the
196.Dv DF_BIND_NOW
197flag set to indicate that the run-time loader should perform all relocation
198processing at process startup rather than on demand.
199The combination of the
200.Va BIND_NOW
201and
202.Va RELRO
203options provide "full" Relocation Read-Only (RELRO) support.
204With full RELRO the entire GOT is made read-only after performing relocation at
205startup, avoiding GOT overwrite attacks.
206.It Va WITHOUT_BLACKLIST
207Set this if you do not want to build
208.Xr blacklistd 8
209and
210.Xr blacklistctl 8 .
211When set, these options are also in effect:
212.Pp
213.Bl -inset -compact
214.It Va WITHOUT_BLACKLIST_SUPPORT
215(unless
216.Va WITH_BLACKLIST_SUPPORT
217is set explicitly)
218.El
219.It Va WITHOUT_BLACKLIST_SUPPORT
220Build some programs without
221.Xr libblacklist 3
222support, like
223.Xr fingerd 8 ,
224.Xr ftpd 8 ,
225and
226.Xr sshd 8 .
227.It Va WITHOUT_BLUETOOTH
228Do not build Bluetooth related kernel modules, programs and libraries.
229.It Va WITHOUT_BOOT
230Do not build the boot blocks and loader.
231.It Va WITHOUT_BOOTPARAMD
232Do not build or install
233.Xr bootparamd 8 .
234.It Va WITHOUT_BOOTPD
235Do not build or install
236.Xr bootpd 8 .
237.It Va WITHOUT_BSDINSTALL
238Do not build
239.Xr bsdinstall 8 ,
240.Xr sade 8 ,
241and related programs.
242.It Va WITHOUT_BSD_CPIO
243Do not build the BSD licensed version of cpio based on
244.Xr libarchive 3 .
245.It Va WITHOUT_BSNMP
246Do not build or install
247.Xr bsnmpd 1
248and related libraries and data files.
249.It Va WITHOUT_BZIP2
250Do not build contributed bzip2 software as a part of the base system.
251.Bf -symbolic
252The option has no effect yet.
253.Ef
254When set, these options are also in effect:
255.Pp
256.Bl -inset -compact
257.It Va WITHOUT_BZIP2_SUPPORT
258(unless
259.Va WITH_BZIP2_SUPPORT
260is set explicitly)
261.El
262.It Va WITHOUT_BZIP2_SUPPORT
263Build some programs without optional bzip2 support.
264.It Va WITHOUT_CALENDAR
265Do not build
266.Xr calendar 1 .
267.It Va WITHOUT_CAPSICUM
268Do not build Capsicum support into system programs.
269When set, it enforces these options:
270.Pp
271.Bl -item -compact
272.It
273.Va WITHOUT_CASPER
274.El
275.It Va WITHOUT_CAROOT
276Do not add the trusted certificates from the Mozilla NSS bundle to
277base.
278.It Va WITHOUT_CASPER
279Do not build Casper program and related libraries.
280.It Va WITH_CCACHE_BUILD
281Use
282.Xr ccache 1
283for the build.
284No configuration is required except to install the
285.Sy devel/ccache
286package.
287When using with
288.Xr distcc 1 ,
289set
290.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
291The default cache directory of
292.Pa $HOME/.ccache
293will be used, which can be overridden by setting
294.Sy CCACHE_DIR .
295The
296.Sy CCACHE_COMPILERCHECK
297option defaults to
298.Sy content
299when using the in-tree bootstrap compiler,
300and
301.Sy mtime
302when using an external compiler.
303The
304.Sy CCACHE_CPP2
305option is used for Clang but not GCC.
306.Pp
307Sharing a cache between multiple work directories requires using a layout
308similar to
309.Pa /some/prefix/src
310.Pa /some/prefix/obj
311and an environment such as:
312.Bd -literal -offset indent
313CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
314.Ed
315.Pp
316See
317.Xr ccache 1
318for more configuration options.
319.It Va WITHOUT_CCD
320Do not build
321.Xr geom_ccd 4
322and related utilities.
323.It Va WITHOUT_CDDL
324Do not build code licensed under Sun's CDDL.
325When set, it enforces these options:
326.Pp
327.Bl -item -compact
328.It
329.Va WITHOUT_CTF
330.It
331.Va WITHOUT_DTRACE
332.It
333.Va WITHOUT_LOADER_ZFS
334.It
335.Va WITHOUT_ZFS
336.El
337.It Va WITHOUT_CLANG
338Do not build the Clang C/C++ compiler during the regular phase of the build.
339When set, it enforces these options:
340.Pp
341.Bl -item -compact
342.It
343.Va WITHOUT_CLANG_EXTRAS
344.It
345.Va WITHOUT_CLANG_FORMAT
346.It
347.Va WITHOUT_CLANG_FULL
348.It
349.Va WITHOUT_LLVM_COV
350.El
351.Pp
352When set, these options are also in effect:
353.Pp
354.Bl -inset -compact
355.It Va WITHOUT_LLVM_TARGET_AARCH64
356(unless
357.Va WITH_LLVM_TARGET_AARCH64
358is set explicitly)
359.It Va WITHOUT_LLVM_TARGET_ALL
360(unless
361.Va WITH_LLVM_TARGET_ALL
362is set explicitly)
363.It Va WITHOUT_LLVM_TARGET_ARM
364(unless
365.Va WITH_LLVM_TARGET_ARM
366is set explicitly)
367.It Va WITHOUT_LLVM_TARGET_POWERPC
368(unless
369.Va WITH_LLVM_TARGET_POWERPC
370is set explicitly)
371.It Va WITHOUT_LLVM_TARGET_RISCV
372(unless
373.Va WITH_LLVM_TARGET_RISCV
374is set explicitly)
375.El
376.It Va WITHOUT_CLANG_BOOTSTRAP
377Do not build the Clang C/C++ compiler during the bootstrap phase of
378the build.
379To be able to build the system, either gcc or clang bootstrap must be
380enabled unless an alternate compiler is provided via XCC.
381.It Va WITH_CLANG_EXTRAS
382Build additional clang and llvm tools, such as bugpoint and
383clang-format.
384.It Va WITH_CLANG_FORMAT
385Build clang-format.
386.It Va WITHOUT_CLANG_FULL
387Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
388the Clang C/C++ compiler.
389.It Va WITHOUT_CLEAN
390Do not clean before building world and/or kernel.
391.It Va WITHOUT_CPP
392Do not build
393.Xr cpp 1 .
394.It Va WITHOUT_CROSS_COMPILER
395Do not build any cross compiler in the cross-tools stage of buildworld.
396When compiling a different version of
397.Fx
398than what is installed on the system, provide an alternate
399compiler with XCC to ensure success.
400When compiling with an identical version of
401.Fx
402to the host, this option may be safely used.
403This option may also be safe when the host version of
404.Fx
405is close to the sources being built, but all bets are off if there have
406been any changes to the toolchain between the versions.
407When set, it enforces these options:
408.Pp
409.Bl -item -compact
410.It
411.Va WITHOUT_CLANG_BOOTSTRAP
412.It
413.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
414.It
415.Va WITHOUT_LLD_BOOTSTRAP
416.El
417.It Va WITHOUT_CRYPT
418Do not build any crypto code.
419When set, it enforces these options:
420.Pp
421.Bl -item -compact
422.It
423.Va WITHOUT_DMAGENT
424.It
425.Va WITHOUT_KERBEROS
426.It
427.Va WITHOUT_KERBEROS_SUPPORT
428.It
429.Va WITHOUT_LDNS
430.It
431.Va WITHOUT_LDNS_UTILS
432.It
433.Va WITHOUT_OPENSSH
434.It
435.Va WITHOUT_OPENSSL
436.It
437.Va WITHOUT_OPENSSL_KTLS
438.It
439.Va WITHOUT_PKGBOOTSTRAP
440.It
441.Va WITHOUT_UNBOUND
442.It
443.Va WITHOUT_ZFS
444.El
445.Pp
446When set, these options are also in effect:
447.Pp
448.Bl -inset -compact
449.It Va WITHOUT_GSSAPI
450(unless
451.Va WITH_GSSAPI
452is set explicitly)
453.El
454.It Va WITH_CTF
455Compile with CTF (Compact C Type Format) data.
456CTF data encapsulates a reduced form of debugging information
457similar to DWARF and the venerable stabs and is required for DTrace.
458.It Va WITHOUT_CUSE
459Do not build CUSE-related programs and libraries.
460.It Va WITHOUT_CXGBETOOL
461Do not build
462.Xr cxgbetool 8
463.Pp
464This is a default setting on
465arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
466.It Va WITH_CXGBETOOL
467Build
468.Xr cxgbetool 8
469.Pp
470This is a default setting on
471amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
472.It Va WITHOUT_DEBUG_FILES
473Avoid building or installing standalone debug files for each
474executable binary and shared library.
475.It Va WITH_DETECT_TZ_CHANGES
476Make the time handling code detect changes to the timezone files.
477.It Va WITHOUT_DIALOG
478Do not build
479.Xr dialog 1 ,
480.Xr dialog 3 ,
481.Xr dpv 1 ,
482and
483.Xr dpv 3 .
484When set, it enforces these options:
485.Pp
486.Bl -item -compact
487.It
488.Va WITHOUT_BSDINSTALL
489.El
490.It Va WITHOUT_DICT
491Do not build the Webster dictionary files.
492.It Va WITH_DIRDEPS_BUILD
493This is an experimental build system.
494For details see
495https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
496Build commands can be seen from the top-level with:
497.Dl make show-valid-targets
498The build is driven by dirdeps.mk using
499.Va DIRDEPS
500stored in
501Makefile.depend files found in each directory.
502.Pp
503The build can be started from anywhere, and behaves the same.
504The initial instance of
505.Xr make 1
506recursively reads
507.Va DIRDEPS
508from
509.Pa Makefile.depend ,
510computing a graph of tree dependencies from the current origin.
511Setting
512.Va NO_DIRDEPS
513skips checking dirdep dependencies and will only build in the current
514and child directories.
515.Va NO_DIRDEPS_BELOW
516skips building any dirdeps and only build the current directory.
517.Pp
518This also utilizes the
519.Va WITH_META_MODE
520logic for incremental builds.
521.Pp
522The build hides commands executed unless
523.Va NO_SILENT
524is defined.
525.Pp
526Note that there is currently no mass install feature for this.
527.Pp
528When set, it enforces these options:
529.Pp
530.Bl -item -compact
531.It
532.Va WITH_INSTALL_AS_USER
533.El
534.Pp
535When set, these options are also in effect:
536.Pp
537.Bl -inset -compact
538.It Va WITH_META_MODE
539(unless
540.Va WITHOUT_META_MODE
541is set explicitly)
542.It Va WITH_STAGING
543(unless
544.Va WITHOUT_STAGING
545is set explicitly)
546.It Va WITH_STAGING_MAN
547(unless
548.Va WITHOUT_STAGING_MAN
549is set explicitly)
550.It Va WITH_STAGING_PROG
551(unless
552.Va WITHOUT_STAGING_PROG
553is set explicitly)
554.It Va WITH_SYSROOT
555(unless
556.Va WITHOUT_SYSROOT
557is set explicitly)
558.El
559.Pp
560This must be set in the environment, make command line, or
561.Pa /etc/src-env.conf ,
562not
563.Pa /etc/src.conf .
564.It Va WITH_DIRDEPS_CACHE
565Cache result of dirdeps.mk which can save significant time
566for subsequent builds.
567Depends on
568.Va WITH_DIRDEPS_BUILD .
569.Pp
570This must be set in the environment, make command line, or
571.Pa /etc/src-env.conf ,
572not
573.Pa /etc/src.conf .
574.It Va WITHOUT_DMAGENT
575Do not build dma Mail Transport Agent.
576.It Va WITHOUT_DOCCOMPRESS
577Do not install compressed system documentation.
578Only the uncompressed version will be installed.
579.It Va WITHOUT_DTRACE
580Do not build DTrace framework kernel modules, libraries, and user commands.
581When set, it enforces these options:
582.Pp
583.Bl -item -compact
584.It
585.Va WITHOUT_CTF
586.El
587.It Va WITH_DTRACE_TESTS
588Build and install the DTrace test suite in
589.Pa /usr/tests/cddl/usr.sbin/dtrace .
590This test suite is considered experimental on architectures other than
591amd64/amd64 and running it may cause system instability.
592.It Va WITHOUT_DYNAMICROOT
593Set this if you do not want to link
594.Pa /bin
595and
596.Pa /sbin
597dynamically.
598.It Va WITHOUT_EE
599Do not build and install
600.Xr edit 1 ,
601.Xr ee 1 ,
602and related programs.
603.It Va WITHOUT_EFI
604Set not to build
605.Xr efivar 3
606and
607.Xr efivar 8 .
608.Pp
609This is a default setting on
610powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
611.It Va WITH_EFI
612Build
613.Xr efivar 3
614and
615.Xr efivar 8 .
616.Pp
617This is a default setting on
618amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
619.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
620Do not build ELF Tool Chain tools
621(addr2line, nm, size, strings and strip)
622as part of the bootstrap process.
623.Bf -symbolic
624An alternate bootstrap tool chain must be provided.
625.Ef
626.It Va WITHOUT_EXAMPLES
627Avoid installing examples to
628.Pa /usr/share/examples/ .
629.It Va WITH_EXPERIMENTAL
630Include experimental features in the build.
631.It Va WITH_EXTRA_TCP_STACKS
632Build extra TCP stack modules.
633.It Va WITH_FDT
634Build Flattened Device Tree support as part of the base system.
635This includes the device tree compiler (dtc) and libfdt support library.
636.It Va WITHOUT_FILE
637Do not build
638.Xr file 1
639and related programs.
640.It Va WITHOUT_FINGER
641Do not build or install
642.Xr finger 1
643and
644.Xr fingerd 8 .
645.It Va WITHOUT_FLOPPY
646Do not build or install programs
647for operating floppy disk driver.
648.It Va WITHOUT_FORMAT_EXTENSIONS
649Do not enable
650.Fl fformat-extensions
651when compiling the kernel.
652Also disables all format checking.
653.It Va WITHOUT_FORTH
654Build bootloaders without Forth support.
655.It Va WITHOUT_FP_LIBC
656Build
657.Nm libc
658without floating-point support.
659.It Va WITHOUT_FREEBSD_UPDATE
660Do not build
661.Xr freebsd-update 8 .
662.It Va WITHOUT_FTP
663Do not build or install
664.Xr ftp 1
665and
666.Xr ftpd 8 .
667.It Va WITHOUT_GAMES
668Do not build games.
669.It Va WITHOUT_GH_BC
670Install the traditional FreeBSD
671.Xr bc 1
672and
673.Xr dc 1
674programs instead of the enhanced versions.
675.It Va WITHOUT_GNU_DIFF
676Do not build GNU
677.Xr diff3 1 .
678.It Va WITHOUT_GOOGLETEST
679Neither build nor install
680.Lb libgmock ,
681.Lb libgtest ,
682and dependent tests.
683.It Va WITHOUT_GPIO
684Do not build
685.Xr gpioctl 8
686as part of the base system.
687.It Va WITHOUT_GSSAPI
688Do not build libgssapi.
689.It Va WITHOUT_HAST
690Do not build
691.Xr hastd 8
692and related utilities.
693.It Va WITH_HESIOD
694Build Hesiod support.
695.It Va WITHOUT_HTML
696Do not build HTML docs.
697.It Va WITHOUT_HYPERV
698Do not build or install HyperV utilities.
699.Pp
700This is a default setting on
701arm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
702.It Va WITH_HYPERV
703Build or install HyperV utilities.
704.Pp
705This is a default setting on
706amd64/amd64, arm64/aarch64 and i386/i386.
707.It Va WITHOUT_ICONV
708Do not build iconv as part of libc.
709.It Va WITHOUT_INCLUDES
710Do not install header files.
711This option used to be spelled
712.Va NO_INCS .
713.Bf -symbolic
714The option does not work for build targets.
715.Ef
716.It Va WITHOUT_INET
717Do not build programs and libraries related to IPv4 networking.
718When set, it enforces these options:
719.Pp
720.Bl -item -compact
721.It
722.Va WITHOUT_INET_SUPPORT
723.El
724.It Va WITHOUT_INET6
725Do not build
726programs and libraries related to IPv6 networking.
727When set, it enforces these options:
728.Pp
729.Bl -item -compact
730.It
731.Va WITHOUT_INET6_SUPPORT
732.El
733.It Va WITHOUT_INET6_SUPPORT
734Build libraries, programs, and kernel modules without IPv6 support.
735.It Va WITHOUT_INETD
736Do not build
737.Xr inetd 8 .
738.It Va WITHOUT_INET_SUPPORT
739Build libraries, programs, and kernel modules without IPv4 support.
740.It Va WITH_INIT_ALL_PATTERN
741Build the base system or kernel with stack variables initialized to
742.Pq compiler defined
743debugging patterns on function entry.
744This option requires the clang compiler.
745.It Va WITH_INIT_ALL_ZERO
746Build the base system or kernel with stack variables initialized
747to zero on function entry.
748This option requires that the clang compiler be used.
749.It Va WITHOUT_INSTALLLIB
750Set this to not install optional libraries.
751For example, when creating a
752.Xr nanobsd 8
753image.
754.Bf -symbolic
755The option does not work for build targets.
756.Ef
757.It Va WITH_INSTALL_AS_USER
758Make install targets succeed for non-root users by installing
759files with owner and group attributes set to that of the user running
760the
761.Xr make 1
762command.
763The user still must set the
764.Va DESTDIR
765variable to point to a directory where the user has write permissions.
766.It Va WITHOUT_IPFILTER
767Do not build IP Filter package.
768.It Va WITHOUT_IPFW
769Do not build IPFW tools.
770.It Va WITHOUT_IPSEC_SUPPORT
771Do not build the kernel with
772.Xr ipsec 4
773support.
774This option is needed for
775.Xr ipsec 4
776and
777.Xr tcpmd5 4 .
778.It Va WITHOUT_ISCSI
779Do not build
780.Xr iscsid 8
781and related utilities.
782.It Va WITHOUT_JAIL
783Do not build tools for the support of jails; e.g.,
784.Xr jail 8 .
785.It Va WITHOUT_KDUMP
786Do not build
787.Xr kdump 1
788and
789.Xr truss 1 .
790.It Va WITHOUT_KERBEROS
791Set this to not build Kerberos 5 (KTH Heimdal).
792When set, these options are also in effect:
793.Pp
794.Bl -inset -compact
795.It Va WITHOUT_GSSAPI
796(unless
797.Va WITH_GSSAPI
798is set explicitly)
799.It Va WITHOUT_KERBEROS_SUPPORT
800(unless
801.Va WITH_KERBEROS_SUPPORT
802is set explicitly)
803.El
804.It Va WITHOUT_KERBEROS_SUPPORT
805Build some programs without Kerberos support, like
806.Xr ssh 1 ,
807.Xr telnet 1 ,
808and
809.Xr sshd 8 .
810.It Va WITH_KERNEL_RETPOLINE
811Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
812build.
813.It Va WITHOUT_KERNEL_SYMBOLS
814Do not install standalone kernel debug symbol files.
815This option has no effect at build time.
816.It Va WITHOUT_KVM
817Do not build the
818.Nm libkvm
819library as a part of the base system.
820.Bf -symbolic
821The option has no effect yet.
822.Ef
823When set, these options are also in effect:
824.Pp
825.Bl -inset -compact
826.It Va WITHOUT_KVM_SUPPORT
827(unless
828.Va WITH_KVM_SUPPORT
829is set explicitly)
830.El
831.It Va WITHOUT_KVM_SUPPORT
832Build some programs without optional
833.Nm libkvm
834support.
835.It Va WITHOUT_LDNS
836Setting this variable will prevent the LDNS library from being built.
837When set, it enforces these options:
838.Pp
839.Bl -item -compact
840.It
841.Va WITHOUT_LDNS_UTILS
842.It
843.Va WITHOUT_UNBOUND
844.El
845.It Va WITHOUT_LDNS_UTILS
846Setting this variable will prevent building the LDNS utilities
847.Xr drill 1
848and
849.Xr host 1 .
850.It Va WITHOUT_LEGACY_CONSOLE
851Do not build programs that support a legacy PC console; e.g.,
852.Xr kbdcontrol 1
853and
854.Xr vidcontrol 1 .
855.It Va WITHOUT_LIB32
856On 64-bit platforms, do not build 32-bit library set and a
857.Nm ld-elf32.so.1
858runtime linker.
859.Pp
860This is a default setting on
861arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
862.It Va WITHOUT_LLD
863Do not build LLVM's lld linker.
864.It Va WITHOUT_LLDB
865Do not build the LLDB debugger.
866.Pp
867This is a default setting on
868arm/armv6, arm/armv7, riscv/riscv64 and riscv/riscv64sf.
869.It Va WITH_LLDB
870Build the LLDB debugger.
871.Pp
872This is a default setting on
873amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
874.It Va WITHOUT_LLD_BOOTSTRAP
875Do not build the LLD linker during the bootstrap phase of
876the build.
877To be able to build the system an alternate linker must be provided via XLD.
878.It Va WITHOUT_LLD_IS_LD
879Do not install a
880.Pa /usr/bin/ld symlink
881to
882.Pa ld.lld .
883The system will not have a usable tool chain unless a linker is provided
884some other way.
885.It Va WITHOUT_LLVM_ASSERTIONS
886Disable debugging assertions in LLVM.
887.It Va WITH_LLVM_BINUTILS
888Install LLVM's binutils (ar, addr2line, nm, etc.) instead of ELF Tool Chain's.
889.It Va WITHOUT_LLVM_COV
890Do not build the
891.Xr llvm-cov 1
892tool.
893.It Va WITHOUT_LLVM_CXXFILT
894Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
895.It Va WITHOUT_LLVM_TARGET_AARCH64
896Do not build LLVM target support for AArch64.
897The
898.Va LLVM_TARGET_ALL
899option should be used rather than this in most cases.
900.It Va WITHOUT_LLVM_TARGET_ALL
901Only build the required LLVM target support.
902This option is preferred to specific target support options.
903When set, these options are also in effect:
904.Pp
905.Bl -inset -compact
906.It Va WITHOUT_LLVM_TARGET_AARCH64
907(unless
908.Va WITH_LLVM_TARGET_AARCH64
909is set explicitly)
910.It Va WITHOUT_LLVM_TARGET_ARM
911(unless
912.Va WITH_LLVM_TARGET_ARM
913is set explicitly)
914.It Va WITHOUT_LLVM_TARGET_POWERPC
915(unless
916.Va WITH_LLVM_TARGET_POWERPC
917is set explicitly)
918.It Va WITHOUT_LLVM_TARGET_RISCV
919(unless
920.Va WITH_LLVM_TARGET_RISCV
921is set explicitly)
922.El
923.It Va WITHOUT_LLVM_TARGET_ARM
924Do not build LLVM target support for ARM.
925The
926.Va LLVM_TARGET_ALL
927option should be used rather than this in most cases.
928.It Va WITH_LLVM_TARGET_BPF
929Build LLVM target support for BPF.
930The
931.Va LLVM_TARGET_ALL
932option should be used rather than this in most cases.
933.It Va WITH_LLVM_TARGET_MIPS
934Build LLVM target support for MIPS.
935The
936.Va LLVM_TARGET_ALL
937option should be used rather than this in most cases.
938.It Va WITHOUT_LLVM_TARGET_POWERPC
939Do not build LLVM target support for PowerPC.
940The
941.Va LLVM_TARGET_ALL
942option should be used rather than this in most cases.
943.It Va WITHOUT_LLVM_TARGET_RISCV
944Do not build LLVM target support for RISC-V.
945The
946.Va LLVM_TARGET_ALL
947option should be used rather than this in most cases.
948.It Va WITHOUT_LLVM_TARGET_X86
949Do not build LLVM target support for X86.
950The
951.Va LLVM_TARGET_ALL
952option should be used rather than this in most cases.
953.It Va WITH_LOADER_EFI_SECUREBOOT
954Enable building
955.Xr loader 8
956with support for verification based on certificates obtained from UEFI.
957.It Va WITHOUT_LOADER_GELI
958Disable inclusion of GELI crypto support in the boot chain binaries.
959.Pp
960This is a default setting on
961powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
962.It Va WITH_LOADER_GELI
963Build GELI bootloader support.
964.Pp
965This is a default setting on
966amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
967.It Va WITHOUT_LOADER_KBOOT
968Do not build kboot, a linuxboot environment loader
969.Pp
970This is a default setting on
971arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
972.It Va WITH_LOADER_KBOOT
973Build kboot, a linuxboot environment loader
974.Pp
975This is a default setting on
976amd64/amd64 and powerpc/powerpc64.
977.It Va WITHOUT_LOADER_LUA
978Do not build LUA bindings for the boot loader.
979.Pp
980This is a default setting on
981powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
982.It Va WITH_LOADER_LUA
983Build LUA bindings for the boot loader.
984.Pp
985This is a default setting on
986amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
987.It Va WITHOUT_LOADER_OFW
988Disable building of openfirmware bootloader components.
989.Pp
990This is a default setting on
991amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
992.It Va WITH_LOADER_OFW
993Build openfirmware bootloader components.
994.Pp
995This is a default setting on
996powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
997.It Va WITHOUT_LOADER_UBOOT
998Disable building of ubldr.
999.Pp
1000This is a default setting on
1001amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1002.It Va WITH_LOADER_UBOOT
1003Build ubldr.
1004.Pp
1005This is a default setting on
1006arm/armv6, arm/armv7, powerpc/powerpc and powerpc/powerpc64.
1007.It Va WITH_LOADER_VERBOSE
1008Build with extra verbose debugging in the loader.
1009May explode already nearly too large loader over the limit.
1010Use with care.
1011.It Va WITH_LOADER_VERIEXEC
1012Enable building
1013.Xr loader 8
1014with support for verification similar to Verified Exec.
1015.Pp
1016Depends on
1017.Va WITH_BEARSSL .
1018When set, these options are also in effect:
1019.Pp
1020.Bl -inset -compact
1021.It Va WITH_LOADER_EFI_SECUREBOOT
1022(unless
1023.Va WITHOUT_LOADER_EFI_SECUREBOOT
1024is set explicitly)
1025.It Va WITH_LOADER_VERIEXEC_VECTX
1026(unless
1027.Va WITHOUT_LOADER_VERIEXEC_VECTX
1028is set explicitly)
1029.El
1030.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1031Enable building
1032.Xr loader 8
1033with support to pass a verified manifest to the kernel.
1034The kernel has to be built with a module to parse the manifest.
1035.Pp
1036Depends on
1037.Va WITH_LOADER_VERIEXEC .
1038.It Va WITHOUT_LOADER_ZFS
1039Do not build ZFS file system boot loader support.
1040.It Va WITHOUT_LOCALES
1041Do not build localization files; see
1042.Xr locale 1 .
1043.It Va WITHOUT_LOCATE
1044Do not build
1045.Xr locate 1
1046and related programs.
1047.It Va WITHOUT_LPR
1048Do not build
1049.Xr lpr 1
1050and related programs.
1051.It Va WITHOUT_LS_COLORS
1052Build
1053.Xr ls 1
1054without support for colors to distinguish file types.
1055.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1056Prefer machine-independent non-assembler code in libc and libm.
1057.It Va WITHOUT_MAIL
1058Do not build any mail support (MUA or MTA).
1059When set, it enforces these options:
1060.Pp
1061.Bl -item -compact
1062.It
1063.Va WITHOUT_DMAGENT
1064.It
1065.Va WITHOUT_MAILWRAPPER
1066.It
1067.Va WITHOUT_SENDMAIL
1068.El
1069.It Va WITHOUT_MAILWRAPPER
1070Do not build the
1071.Xr mailwrapper 8
1072MTA selector.
1073.It Va WITHOUT_MAKE
1074Do not install
1075.Xr make 1
1076and related support files.
1077.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1078Do not execute
1079.Dq Li "make check"
1080in limited sandbox mode.
1081This option should be paired with
1082.Va WITH_INSTALL_AS_USER
1083if executed as an unprivileged user.
1084See
1085.Xr tests 7
1086for more details.
1087.It Va WITH_MALLOC_PRODUCTION
1088Disable assertions and statistics gathering in
1089.Xr malloc 3 .
1090It also defaults the A and J runtime options to off.
1091.It Va WITHOUT_MAN
1092Do not build manual pages.
1093When set, these options are also in effect:
1094.Pp
1095.Bl -inset -compact
1096.It Va WITHOUT_MAN_UTILS
1097(unless
1098.Va WITH_MAN_UTILS
1099is set explicitly)
1100.El
1101.It Va WITHOUT_MANCOMPRESS
1102Do not install compressed man pages.
1103Only the uncompressed versions will be installed.
1104.It Va WITH_MANSPLITPKG
1105Split man pages into their own packages during make package.
1106.It Va WITHOUT_MAN_UTILS
1107Do not build utilities for manual pages,
1108.Xr apropos 1 ,
1109.Xr makewhatis 1 ,
1110.Xr man 1 ,
1111.Xr whatis 1 ,
1112.Xr manctl 8 ,
1113and related support files.
1114.It Va WITH_META_MODE
1115Create
1116.Xr make 1
1117meta files when building, which can provide a reliable incremental build when
1118using
1119.Xr filemon 4 .
1120The meta file is created in OBJDIR as
1121.Pa target.meta .
1122These meta files track the command that was executed, its output, and the
1123current directory.
1124The
1125.Xr filemon 4
1126module is required unless
1127.Va NO_FILEMON
1128is defined.
1129When the module is loaded, any files used by the commands executed are
1130tracked as dependencies for the target in its meta file.
1131The target is considered out-of-date and rebuilt if any of these
1132conditions are true compared to the last build:
1133.Bl -bullet -compact
1134.It
1135The command to execute changes.
1136.It
1137The current working directory changes.
1138.It
1139The target's meta file is missing.
1140.It
1141The target's meta file is missing filemon data when filemon is loaded
1142and a previous run did not have it loaded.
1143.It
1144[requires
1145.Xr filemon 4 ]
1146Files read, executed or linked to are newer than the target.
1147.It
1148[requires
1149.Xr filemon 4 ]
1150Files read, written, executed or linked are missing.
1151.El
1152The meta files can also be useful for debugging.
1153.Pp
1154The build hides commands that are executed unless
1155.Va NO_SILENT
1156is defined.
1157Errors cause
1158.Xr make 1
1159to show some of its environment for further debugging.
1160.Pp
1161The build operates as it normally would otherwise.
1162This option originally invoked a different build system but that was renamed
1163to
1164.Va WITH_DIRDEPS_BUILD .
1165.Pp
1166This must be set in the environment, make command line, or
1167.Pa /etc/src-env.conf ,
1168not
1169.Pa /etc/src.conf .
1170.It Va WITHOUT_MLX5TOOL
1171Do not build
1172.Xr mlx5tool 8
1173.Pp
1174This is a default setting on
1175arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1176.It Va WITH_MLX5TOOL
1177Build
1178.Xr mlx5tool 8
1179.Pp
1180This is a default setting on
1181amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1182.It Va WITHOUT_NETCAT
1183Do not build
1184.Xr nc 1
1185utility.
1186.It Va WITHOUT_NETGRAPH
1187Do not build applications to support
1188.Xr netgraph 4 .
1189When set, it enforces these options:
1190.Pp
1191.Bl -item -compact
1192.It
1193.Va WITHOUT_ATM
1194.It
1195.Va WITHOUT_BLUETOOTH
1196.El
1197.Pp
1198When set, these options are also in effect:
1199.Pp
1200.Bl -inset -compact
1201.It Va WITHOUT_NETGRAPH_SUPPORT
1202(unless
1203.Va WITH_NETGRAPH_SUPPORT
1204is set explicitly)
1205.El
1206.It Va WITHOUT_NETGRAPH_SUPPORT
1207Build libraries, programs, and kernel modules without netgraph support.
1208.It Va WITHOUT_NIS
1209Do not build
1210.Xr NIS 8
1211support and related programs.
1212If set, you might need to adopt your
1213.Xr nsswitch.conf 5
1214and remove
1215.Sq nis
1216entries.
1217.It Va WITHOUT_NLS
1218Do not build NLS catalogs.
1219When set, it enforces these options:
1220.Pp
1221.Bl -item -compact
1222.It
1223.Va WITHOUT_NLS_CATALOGS
1224.El
1225.It Va WITHOUT_NLS_CATALOGS
1226Do not build NLS catalog support for
1227.Xr csh 1 .
1228.It Va WITHOUT_NS_CACHING
1229Disable name caching in the
1230.Pa nsswitch
1231subsystem.
1232The generic caching daemon,
1233.Xr nscd 8 ,
1234will not be built either if this option is set.
1235.It Va WITHOUT_NTP
1236Do not build
1237.Xr ntpd 8
1238and related programs.
1239.It Va WITHOUT_NVME
1240Do not build nvme related tools and kernel modules.
1241.Pp
1242This is a default setting on
1243arm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1244.It Va WITH_NVME
1245Build nvme related tools and kernel modules.
1246.Pp
1247This is a default setting on
1248amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1249.It Va WITHOUT_OFED
1250Disable the build of the
1251.Dq "OpenFabrics Enterprise Distribution"
1252Infiniband software stack, including kernel modules and userspace libraries.
1253When set, it enforces these options:
1254.Pp
1255.Bl -item -compact
1256.It
1257.Va WITHOUT_OFED_EXTRA
1258.El
1259.It Va WITH_OFED_EXTRA
1260Build the non-essential components of the
1261.Dq "OpenFabrics Enterprise Distribution"
1262Infiniband software stack, mostly examples.
1263.It Va WITH_OPENLDAP
1264Enable building LDAP support for kerberos using an openldap client from ports.
1265.It Va WITHOUT_OPENMP
1266Do not build LLVM's OpenMP runtime.
1267.Pp
1268This is a default setting on
1269arm/armv6, arm/armv7 and powerpc/powerpc.
1270.It Va WITH_OPENMP
1271Build LLVM's OpenMP runtime.
1272.Pp
1273This is a default setting on
1274amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1275.It Va WITHOUT_OPENSSH
1276Do not build OpenSSH.
1277.It Va WITHOUT_OPENSSL
1278Do not build OpenSSL.
1279When set, it enforces these options:
1280.Pp
1281.Bl -item -compact
1282.It
1283.Va WITHOUT_DMAGENT
1284.It
1285.Va WITHOUT_KERBEROS
1286.It
1287.Va WITHOUT_KERBEROS_SUPPORT
1288.It
1289.Va WITHOUT_LDNS
1290.It
1291.Va WITHOUT_LDNS_UTILS
1292.It
1293.Va WITHOUT_OPENSSH
1294.It
1295.Va WITHOUT_OPENSSL_KTLS
1296.It
1297.Va WITHOUT_PKGBOOTSTRAP
1298.It
1299.Va WITHOUT_UNBOUND
1300.It
1301.Va WITHOUT_ZFS
1302.El
1303.Pp
1304When set, these options are also in effect:
1305.Pp
1306.Bl -inset -compact
1307.It Va WITHOUT_GSSAPI
1308(unless
1309.Va WITH_GSSAPI
1310is set explicitly)
1311.El
1312.It Va WITHOUT_OPENSSL_KTLS
1313Do not include kernel TLS support in OpenSSL.
1314.Pp
1315This is a default setting on
1316arm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1317.It Va WITH_OPENSSL_KTLS
1318Include kernel TLS support in OpenSSL.
1319.Pp
1320This is a default setting on
1321amd64/amd64 and arm64/aarch64.
1322.It Va WITHOUT_PAM
1323Do not build PAM library and modules.
1324.Bf -symbolic
1325This option is deprecated and does nothing.
1326.Ef
1327When set, these options are also in effect:
1328.Pp
1329.Bl -inset -compact
1330.It Va WITHOUT_PAM_SUPPORT
1331(unless
1332.Va WITH_PAM_SUPPORT
1333is set explicitly)
1334.El
1335.It Va WITHOUT_PAM_SUPPORT
1336Build some programs without PAM support, particularly
1337.Xr ftpd 8
1338and
1339.Xr ppp 8 .
1340.It Va WITHOUT_PF
1341Do not build PF firewall package.
1342When set, it enforces these options:
1343.Pp
1344.Bl -item -compact
1345.It
1346.Va WITHOUT_AUTHPF
1347.El
1348.It Va WITHOUT_PIE
1349Do not build dynamically linked binaries as
1350Position-Independent Executable (PIE).
1351.It Va WITHOUT_PKGBOOTSTRAP
1352Do not build
1353.Xr pkg 7
1354bootstrap tool.
1355.It Va WITHOUT_PMC
1356Do not build
1357.Xr pmccontrol 8
1358and related programs.
1359.It Va WITHOUT_PORTSNAP
1360Do not build or install
1361.Xr portsnap 8
1362and related files.
1363.It Va WITHOUT_PPP
1364Do not build
1365.Xr ppp 8
1366and related programs.
1367.It Va WITH_PROFILE
1368Build profiled libraries for use with
1369.Xr gprof 8 .
1370This option is deprecated and may not be present in a future version of
1371.Fx .
1372.It Va WITHOUT_QUOTAS
1373Do not build
1374.Xr quota 1
1375and related programs.
1376.It Va WITHOUT_RADIUS_SUPPORT
1377Do not build radius support into various applications, like
1378.Xr pam_radius 8
1379and
1380.Xr ppp 8 .
1381.It Va WITH_RATELIMIT
1382Build the system with rate limit support.
1383.Pp
1384This makes
1385.Dv SO_MAX_PACING_RATE
1386effective in
1387.Xr getsockopt 2 ,
1388and
1389.Ar txrlimit
1390support in
1391.Xr ifconfig 8 ,
1392by proxy.
1393.It Va WITHOUT_RBOOTD
1394Do not build or install
1395.Xr rbootd 8 .
1396.It Va WITHOUT_RELRO
1397Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1398See also the
1399.Va BIND_NOW
1400option.
1401.It Va WITH_REPRODUCIBLE_BUILD
1402Exclude build metadata (such as the build time, user, or host)
1403from the kernel, boot loaders, and uname output, so that builds produce
1404bit-for-bit identical output.
1405.It Va WITHOUT_RESCUE
1406Do not build
1407.Xr rescue 8 .
1408.It Va WITH_RETPOLINE
1409Build the base system with the retpoline speculative execution
1410vulnerability mitigation for CVE-2017-5715.
1411.It Va WITHOUT_ROUTED
1412Do not build
1413.Xr routed 8
1414utility.
1415.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1416Build
1417.Xr rpcbind 8
1418with warmstart support.
1419.It Va WITHOUT_SENDMAIL
1420Do not build
1421.Xr sendmail 8
1422and related programs.
1423.It Va WITHOUT_SERVICESDB
1424Do not install
1425.Pa /var/db/services.db .
1426.It Va WITHOUT_SETUID_LOGIN
1427Set this to disable the installation of
1428.Xr login 1
1429as a set-user-ID root program.
1430.It Va WITHOUT_SHAREDOCS
1431Do not build the
1432.Bx 4.4
1433legacy docs.
1434.It Va WITHOUT_SHARED_TOOLCHAIN
1435Build the toolchain binaries as statically linked executables.
1436The set includes
1437.Xr cc 1 ,
1438.Xr make 1
1439and necessary utilities like assembler, linker and library archive manager.
1440.It Va WITH_SORT_THREADS
1441Enable threads in
1442.Xr sort 1 .
1443.It Va WITHOUT_SOURCELESS
1444Do not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1445When set, it enforces these options:
1446.Pp
1447.Bl -item -compact
1448.It
1449.Va WITHOUT_SOURCELESS_HOST
1450.It
1451.Va WITHOUT_SOURCELESS_UCODE
1452.El
1453.It Va WITHOUT_SOURCELESS_HOST
1454Do not build kernel modules that include sourceless native code for host CPU.
1455.It Va WITHOUT_SOURCELESS_UCODE
1456Do not build kernel modules that include sourceless microcode.
1457.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1458Do not build standalone kernel debug files.
1459Debug data (if enabled by the kernel configuration file)
1460will be included in the kernel and modules.
1461When set, it enforces these options:
1462.Pp
1463.Bl -item -compact
1464.It
1465.Va WITHOUT_KERNEL_SYMBOLS
1466.El
1467.It Va WITHOUT_SSP
1468Do not build world with propolice stack smashing protection.
1469.It Va WITH_STAGING
1470Enable staging of files to a stage tree.
1471This can be best thought of as auto-install to
1472.Va DESTDIR
1473with some extra meta data to ensure dependencies can be tracked.
1474Depends on
1475.Va WITH_DIRDEPS_BUILD .
1476When set, these options are also in effect:
1477.Pp
1478.Bl -inset -compact
1479.It Va WITH_STAGING_MAN
1480(unless
1481.Va WITHOUT_STAGING_MAN
1482is set explicitly)
1483.It Va WITH_STAGING_PROG
1484(unless
1485.Va WITHOUT_STAGING_PROG
1486is set explicitly)
1487.El
1488.Pp
1489This must be set in the environment, make command line, or
1490.Pa /etc/src-env.conf ,
1491not
1492.Pa /etc/src.conf .
1493.It Va WITH_STAGING_MAN
1494Enable staging of man pages to stage tree.
1495.It Va WITH_STAGING_PROG
1496Enable staging of PROGs to stage tree.
1497.It Va WITH_STALE_STAGED
1498Check staged files are not stale.
1499.It Va WITHOUT_STATS
1500Neither build nor install
1501.Lb libstats
1502and dependent binaries.
1503.It Va WITHOUT_SYSCONS
1504Do not build
1505.Xr syscons 4
1506support files such as keyboard maps, fonts, and screen output maps.
1507.It Va WITH_SYSROOT
1508Enable use of sysroot during build.
1509Depends on
1510.Va WITH_DIRDEPS_BUILD .
1511.Pp
1512This must be set in the environment, make command line, or
1513.Pa /etc/src-env.conf ,
1514not
1515.Pa /etc/src.conf .
1516.It Va WITHOUT_SYSTEM_COMPILER
1517Do not opportunistically skip building a cross-compiler during the
1518bootstrap phase of the build.
1519Normally, if the currently installed compiler matches the planned bootstrap
1520compiler type and revision, then it will not be built.
1521This does not prevent a compiler from being built for installation though,
1522only for building one for the build itself.
1523The
1524.Va WITHOUT_CLANG
1525option controls that.
1526.It Va WITHOUT_SYSTEM_LINKER
1527Do not opportunistically skip building a cross-linker during the
1528bootstrap phase of the build.
1529Normally, if the currently installed linker matches the planned bootstrap
1530linker type and revision, then it will not be built.
1531This does not prevent a linker from being built for installation though,
1532only for building one for the build itself.
1533The
1534.Va WITHOUT_LLD
1535option controls that.
1536.Pp
1537This option is only relevant when
1538.Va WITH_LLD_BOOTSTRAP
1539is set.
1540.It Va WITHOUT_TALK
1541Do not build or install
1542.Xr talk 1
1543and
1544.Xr talkd 8 .
1545.It Va WITHOUT_TCP_WRAPPERS
1546Do not build or install
1547.Xr tcpd 8 ,
1548and related utilities.
1549.It Va WITHOUT_TCSH
1550Do not build and install
1551.Pa /bin/csh
1552(which is
1553.Xr tcsh 1 ) .
1554.It Va WITHOUT_TELNET
1555Do not build
1556.Xr telnet 1
1557and related programs.
1558.It Va WITHOUT_TESTS
1559Do not build nor install the
1560.Fx
1561Test Suite in
1562.Pa /usr/tests/ .
1563See
1564.Xr tests 7
1565for more details.
1566This also disables the build of all test-related dependencies, including ATF.
1567When set, it enforces these options:
1568.Pp
1569.Bl -item -compact
1570.It
1571.Va WITHOUT_DTRACE_TESTS
1572.El
1573.Pp
1574When set, these options are also in effect:
1575.Pp
1576.Bl -inset -compact
1577.It Va WITHOUT_GOOGLETEST
1578(unless
1579.Va WITH_GOOGLETEST
1580is set explicitly)
1581.It Va WITHOUT_TESTS_SUPPORT
1582(unless
1583.Va WITH_TESTS_SUPPORT
1584is set explicitly)
1585.El
1586.It Va WITHOUT_TESTS_SUPPORT
1587Disable the build of all test-related dependencies, including ATF.
1588When set, it enforces these options:
1589.Pp
1590.Bl -item -compact
1591.It
1592.Va WITHOUT_GOOGLETEST
1593.El
1594.It Va WITHOUT_TEXTPROC
1595Do not build
1596programs used for text processing.
1597.It Va WITHOUT_TFTP
1598Do not build or install
1599.Xr tftp 1
1600and
1601.Xr tftpd 8 .
1602.It Va WITHOUT_TOOLCHAIN
1603Do not install header or
1604programs used for program development,
1605compilers, debuggers etc.
1606When set, it enforces these options:
1607.Pp
1608.Bl -item -compact
1609.It
1610.Va WITHOUT_CLANG
1611.It
1612.Va WITHOUT_CLANG_EXTRAS
1613.It
1614.Va WITHOUT_CLANG_FORMAT
1615.It
1616.Va WITHOUT_CLANG_FULL
1617.It
1618.Va WITHOUT_INCLUDES
1619.It
1620.Va WITHOUT_LLD
1621.It
1622.Va WITHOUT_LLDB
1623.It
1624.Va WITHOUT_LLVM_COV
1625.El
1626.It Va WITH_UBSAN
1627Build the base system with Undefined Behavior Sanitizer (UBSan) to detect
1628various kinds of undefined behavior at runtime.
1629Requires that Clang be used as the base system compiler
1630and that the runtime support library is available
1631.It Va WITHOUT_UNBOUND
1632Do not build
1633.Xr unbound 8
1634and related programs.
1635.It Va WITHOUT_UNIFIED_OBJDIR
1636Use the historical object directory format for
1637.Xr build 7
1638targets.
1639For native-builds and builds done directly in sub-directories the format of
1640.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1641is used,
1642while for cross-builds
1643.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1644is used.
1645.Pp
1646This option is transitional and will be removed in a future version of
1647.Fx ,
1648at which time
1649.Va WITH_UNIFIED_OBJDIR
1650will be enabled permanently.
1651.Pp
1652This must be set in the environment, make command line, or
1653.Pa /etc/src-env.conf ,
1654not
1655.Pa /etc/src.conf .
1656.It Va WITHOUT_USB
1657Do not build USB-related programs and libraries.
1658.It Va WITHOUT_USB_GADGET_EXAMPLES
1659Do not build USB gadget kernel modules.
1660.It Va WITHOUT_UTMPX
1661Do not build user accounting tools such as
1662.Xr last 1 ,
1663.Xr users 1 ,
1664.Xr who 1 ,
1665.Xr ac 8 ,
1666.Xr lastlogin 8
1667and
1668.Xr utx 8 .
1669.It Va WITH_VERIEXEC
1670Enable building
1671.Xr veriexec 8
1672which loads the contents of verified manifests into the kernel
1673for use by
1674.Xr mac_veriexec 4
1675.Pp
1676Depends on
1677.Va WITH_BEARSSL .
1678.It Va WITHOUT_VI
1679Do not build and install vi, view, ex and related programs.
1680.It Va WITHOUT_VT
1681Do not build
1682.Xr vt 4
1683support files (fonts and keymaps).
1684.It Va WITHOUT_WARNS
1685Set this to not add warning flags to the compiler invocations.
1686Useful as a temporary workaround when code enters the tree
1687which triggers warnings in environments that differ from the
1688original developer.
1689.It Va WITHOUT_WERROR
1690Set this to not treat compiler warnings as errors.
1691Useful as a temporary workaround when working on fixing compiler warnings.
1692When set, warnings are still printed in the build log but do not fail the build.
1693.It Va WITHOUT_WIRELESS
1694Do not build programs used for 802.11 wireless networks; especially
1695.Xr wpa_supplicant 8
1696and
1697.Xr hostapd 8 .
1698When set, these options are also in effect:
1699.Pp
1700.Bl -inset -compact
1701.It Va WITHOUT_WIRELESS_SUPPORT
1702(unless
1703.Va WITH_WIRELESS_SUPPORT
1704is set explicitly)
1705.El
1706.It Va WITHOUT_WIRELESS_SUPPORT
1707Build libraries, programs, and kernel modules without
1708802.11 wireless support.
1709.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
1710Build
1711.Xr wpa_supplicant 8
1712without support for the IEEE 802.1X protocol and without
1713support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
1714protocols (usable only via 802.1X).
1715.It Va WITHOUT_ZFS
1716Do not build the ZFS file system kernel module, libraries such as
1717.Xr libbe 3 ,
1718and user commands such as
1719.Xr zpool 8
1720or
1721.Xr zfs 8 .
1722Also disable ZFS support in utilities and libraries which implement
1723ZFS-specific functionality.
1724.It Va WITHOUT_ZONEINFO
1725Do not build the timezone database.
1726When set, it enforces these options:
1727.Pp
1728.Bl -item -compact
1729.It
1730.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
1731.El
1732.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1733Build leapsecond information in to the timezone database.
1734.El
1735.Sh FILES
1736.Bl -tag -compact -width Pa
1737.It Pa /etc/src.conf
1738.It Pa /etc/src-env.conf
1739.It Pa /usr/share/mk/bsd.own.mk
1740.El
1741.Sh SEE ALSO
1742.Xr make 1 ,
1743.Xr make.conf 5 ,
1744.Xr build 7 ,
1745.Xr ports 7
1746.Sh HISTORY
1747The
1748.Nm
1749file appeared in
1750.Fx 7.0 .
1751.Sh AUTHORS
1752This manual page was autogenerated by
1753.An tools/build/options/makeman .
1754