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