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