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