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