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