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