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