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