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