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