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