xref: /freebsd/share/man/man5/src.conf.5 (revision 52fe961c6caef7c45d130c9a85ca341fcde1f7ff)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2*52fe961cSBaptiste Daroussin.Dd October 10, 2023
3fa07cb9cSRuslan Ermilov.Dt SRC.CONF 5
4fa07cb9cSRuslan Ermilov.Os
5fa07cb9cSRuslan Ermilov.Sh NAME
6fa07cb9cSRuslan Ermilov.Nm src.conf
716f2e711SYaroslav Tykhiy.Nd "source build options"
8fa07cb9cSRuslan Ermilov.Sh DESCRIPTION
9fa07cb9cSRuslan ErmilovThe
10fa07cb9cSRuslan Ermilov.Nm
11e6ca6901SGordon Berglingfile contains variables that control what components will be generated during
12e6ca6901SGordon Berglingthe build process of the
13fa07cb9cSRuslan Ermilov.Fx
14fa07cb9cSRuslan Ermilovsource tree; see
15fa07cb9cSRuslan Ermilov.Xr build 7 .
16fa07cb9cSRuslan Ermilov.Pp
17fa07cb9cSRuslan ErmilovThe
18fa07cb9cSRuslan Ermilov.Nm
19fa07cb9cSRuslan Ermilovfile uses the standard makefile syntax.
20fa07cb9cSRuslan ErmilovHowever,
21fa07cb9cSRuslan Ermilov.Nm
22fa07cb9cSRuslan Ermilovshould not specify any dependencies to
23fa07cb9cSRuslan Ermilov.Xr make 1 .
24fa07cb9cSRuslan ErmilovInstead,
25fa07cb9cSRuslan Ermilov.Nm
26fa07cb9cSRuslan Ermilovis to set
27fa07cb9cSRuslan Ermilov.Xr make 1
28fa07cb9cSRuslan Ermilovvariables that control the aspects of how the system builds.
29fa07cb9cSRuslan Ermilov.Pp
30fa07cb9cSRuslan ErmilovThe default location of
31fa07cb9cSRuslan Ermilov.Nm
32fa07cb9cSRuslan Ermilovis
33fa07cb9cSRuslan Ermilov.Pa /etc/src.conf ,
34fa07cb9cSRuslan Ermilovthough an alternative location can be specified in the
35fa07cb9cSRuslan Ermilov.Xr make 1
36fa07cb9cSRuslan Ermilovvariable
37fa07cb9cSRuslan Ermilov.Va SRCCONF .
38fa07cb9cSRuslan ErmilovOverriding the location of
39fa07cb9cSRuslan Ermilov.Nm
40fa07cb9cSRuslan Ermilovmay be necessary if the system-wide settings are not suitable
41fa07cb9cSRuslan Ermilovfor a particular build.
42fa07cb9cSRuslan ErmilovFor instance, setting
43fa07cb9cSRuslan Ermilov.Va SRCCONF
44fa07cb9cSRuslan Ermilovto
45fa07cb9cSRuslan Ermilov.Pa /dev/null
46fa07cb9cSRuslan Ermiloveffectively resets all build controls to their defaults.
47fa07cb9cSRuslan Ermilov.Pp
48fa07cb9cSRuslan ErmilovThe only purpose of
49fa07cb9cSRuslan Ermilov.Nm
50fa07cb9cSRuslan Ermilovis to control the compilation of the
51fa07cb9cSRuslan Ermilov.Fx
5216f2e711SYaroslav Tykhiysource code, which is usually located in
53fa07cb9cSRuslan Ermilov.Pa /usr/src .
54fa07cb9cSRuslan ErmilovAs a rule, the system administrator creates
55fa07cb9cSRuslan Ermilov.Nm
56fa07cb9cSRuslan Ermilovwhen the values of certain control variables need to be changed
57fa07cb9cSRuslan Ermilovfrom their defaults.
58fa07cb9cSRuslan Ermilov.Pp
59fa07cb9cSRuslan ErmilovIn addition, control variables can be specified
60fa07cb9cSRuslan Ermilovfor a particular build via the
61fa07cb9cSRuslan Ermilov.Fl D
62fa07cb9cSRuslan Ermilovoption of
63fa07cb9cSRuslan Ermilov.Xr make 1
6472735687SMike Makonnenor in its environment; see
65fa07cb9cSRuslan Ermilov.Xr environ 7 .
66fa07cb9cSRuslan Ermilov.Pp
670a70ef02SBryan DreweryThe environment of
680a70ef02SBryan Drewery.Xr make 1
690a70ef02SBryan Dreweryfor the build can be controlled via the
700a70ef02SBryan Drewery.Va SRC_ENV_CONF
710a70ef02SBryan Dreweryvariable, which defaults to
720a70ef02SBryan Drewery.Pa /etc/src-env.conf .
730a70ef02SBryan DrewerySome examples that may only be set in this file are
7432b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD ,
750a70ef02SBryan Dreweryand
76efb949a6SBryan Drewery.Va WITH_META_MODE ,
77efb949a6SBryan Dreweryand
787df4050dSBryan Drewery.Va MAKEOBJDIRPREFIX
79efb949a6SBryan Dreweryas they are environment-only variables.
800a70ef02SBryan Drewery.Pp
81d8898333SBrooks DavisThe values of
82d8898333SBrooks Davis.Va WITH_
83d8898333SBrooks Davisand
84d8898333SBrooks Davis.Va WITHOUT_
85d8898333SBrooks Davisvariables are ignored regardless of their setting;
8616f2e711SYaroslav Tykhiyeven if they would be set to
87fa07cb9cSRuslan Ermilov.Dq Li FALSE
88fa07cb9cSRuslan Ermilovor
8916f2e711SYaroslav Tykhiy.Dq Li NO .
90344e2bb9SEd MasteThe presence of an option causes
91344e2bb9SEd Masteit to be honored by
9216f2e711SYaroslav Tykhiy.Xr make 1 .
93fa07cb9cSRuslan Ermilov.Pp
94344e2bb9SEd MasteThis list provides a name and short description for variables
95fa07cb9cSRuslan Ermilovthat can be used for source builds.
96fa07cb9cSRuslan Ermilov.Bl -tag -width indent
97aaa6d7ebSSam Leffler.It Va WITHOUT_ACCT
98041c5049SEd MasteDo not build process accounting tools such as
990ea27d02SEd Schouten.Xr accton 8
100aaa6d7ebSSam Lefflerand
1010ea27d02SEd Schouten.Xr sa 8 .
102fa07cb9cSRuslan Ermilov.It Va WITHOUT_ACPI
103041c5049SEd MasteDo not build
104fa07cb9cSRuslan Ermilov.Xr acpiconf 8 ,
105fa07cb9cSRuslan Ermilov.Xr acpidump 8
106fa07cb9cSRuslan Ermilovand related programs.
107aaa6d7ebSSam Leffler.It Va WITHOUT_APM
108041c5049SEd MasteDo not build
109aaa6d7ebSSam Leffler.Xr apm 8 ,
110aaa6d7ebSSam Leffler.Xr apmd 8
111aaa6d7ebSSam Lefflerand related programs.
1120ab89d72SEd Maste.It Va WITH_ASAN
1130ab89d72SEd MasteBuild the base system with Address Sanitizer (ASan) to detect
1140ab89d72SEd Mastememory corruption bugs such as buffer overflows or use-after-free.
1150ab89d72SEd MasteRequires that Clang be used as the base system compiler
1160ab89d72SEd Masteand that the runtime support library is available.
1170ab89d72SEd MasteWhen set, it enforces these options:
1180ab89d72SEd Maste.Pp
1190ab89d72SEd Maste.Bl -item -compact
1200ab89d72SEd Maste.It
1210ab89d72SEd Maste.Va WITH_LLVM_BINUTILS
1220ab89d72SEd Maste.It
1230ab89d72SEd Maste.Va WITH_LLVM_CXXFILT
1240ab89d72SEd Maste.El
125e567b213SRuslan Ermilov.It Va WITHOUT_ASSERT_DEBUG
126041c5049SEd MasteCompile programs and libraries without the
127e567b213SRuslan Ermilov.Xr assert 3
128e567b213SRuslan Ermilovchecks.
129aaa6d7ebSSam Leffler.It Va WITHOUT_AT
130041c5049SEd MasteDo not build
131aaa6d7ebSSam Leffler.Xr at 1
132aaa6d7ebSSam Lefflerand related utilities.
133fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUDIT
134041c5049SEd MasteDo not build audit support into system programs.
135fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUTHPF
136041c5049SEd MasteDo not build
137fa07cb9cSRuslan Ermilov.Xr authpf 8 .
13861940879SEnji Cooper.It Va WITHOUT_AUTOFS
139041c5049SEd MasteDo not build
1404b9f77e4SEdward Tomasz Napierala.Xr autofs 5
14161940879SEnji Cooperrelated programs, libraries, and kernel modules.
142906a1c6cSBryan Drewery.It Va WITHOUT_AUTO_OBJ
143906a1c6cSBryan DreweryDisable automatic creation of objdirs.
144906a1c6cSBryan DreweryThis is enabled by default if the wanted OBJDIR is writable by the current user.
1450a70ef02SBryan Drewery.Pp
146ba852870SBryan DreweryThis must be set in the environment, make command line, or
1470a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
1480a70ef02SBryan Drewerynot
1490a70ef02SBryan Drewery.Pa /etc/src.conf .
150bfdf8aa9SJohn Baldwin.It Va WITH_BEARSSL
151bfdf8aa9SJohn BaldwinBuild the BearSSL library.
152bfdf8aa9SJohn Baldwin.Pp
153bfdf8aa9SJohn BaldwinBearSSL is a tiny SSL library suitable for embedded environments.
154bfdf8aa9SJohn BaldwinFor details see
1552ec9a427SPiotr Kubaj.Lk https://www.BearSSL.org/
156bfdf8aa9SJohn Baldwin.Pp
157bfdf8aa9SJohn BaldwinThis library is currently only used to perform
158bfdf8aa9SJohn Baldwinsignature verification and related operations
159bfdf8aa9SJohn Baldwinfor Verified Exec and
160bfdf8aa9SJohn Baldwin.Xr loader 8 .
161bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
162bfdf8aa9SJohn Baldwin.Pp
163bfdf8aa9SJohn Baldwin.Bl -inset -compact
164bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
165bfdf8aa9SJohn Baldwin(unless
166bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
167bfdf8aa9SJohn Baldwinis set explicitly)
168bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
169bfdf8aa9SJohn Baldwin(unless
170bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_VERIEXEC
171bfdf8aa9SJohn Baldwinis set explicitly)
172f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
173f87a2082SEd Maste(unless
174f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
175f87a2082SEd Masteis set explicitly)
176bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
177bfdf8aa9SJohn Baldwin(unless
178bfdf8aa9SJohn Baldwin.Va WITHOUT_VERIEXEC
179bfdf8aa9SJohn Baldwinis set explicitly)
180bfdf8aa9SJohn Baldwin.El
18161940879SEnji Cooper.It Va WITHOUT_BHYVE
182041c5049SEd MasteDo not build or install
18361940879SEnji Cooper.Xr bhyve 8 ,
18461940879SEnji Cooperassociated utilities, and examples.
18561940879SEnji Cooper.Pp
18661940879SEnji CooperThis option only affects amd64/amd64.
187483d953aSJohn Baldwin.It Va WITH_BHYVE_SNAPSHOT
188041c5049SEd MasteInclude support for save and restore (snapshots) in
189483d953aSJohn Baldwin.Xr bhyve 8
190483d953aSJohn Baldwinand
191483d953aSJohn Baldwin.Xr bhyvectl 8 .
192483d953aSJohn Baldwin.Pp
193483d953aSJohn BaldwinThis option only affects amd64/amd64.
1941f3b049dSEd Maste.It Va WITH_BIND_NOW
1951f3b049dSEd MasteBuild all binaries with the
1961f3b049dSEd Maste.Dv DF_BIND_NOW
1971f3b049dSEd Masteflag set to indicate that the run-time loader should perform all relocation
1981f3b049dSEd Masteprocessing at process startup rather than on demand.
199a8af3aeeSEd MasteThe combination of the
200a8af3aeeSEd Maste.Va BIND_NOW
201a8af3aeeSEd Masteand
202a8af3aeeSEd Maste.Va RELRO
203a8af3aeeSEd Masteoptions provide "full" Relocation Read-Only (RELRO) support.
204a8af3aeeSEd MasteWith full RELRO the entire GOT is made read-only after performing relocation at
205a8af3aeeSEd Mastestartup, avoiding GOT overwrite attacks.
2060341a043SBryan Drewery.It Va WITHOUT_BLACKLIST
2074650b8aeSEnji CooperSet this if you do not want to build
2084650b8aeSEnji Cooper.Xr blacklistd 8
2094650b8aeSEnji Cooperand
2104650b8aeSEnji Cooper.Xr blacklistctl 8 .
211bf64e879SBryan DreweryWhen set, these options are also in effect:
2120341a043SBryan Drewery.Pp
213bf64e879SBryan Drewery.Bl -inset -compact
214bf64e879SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
215bf64e879SBryan Drewery(unless
216bf64e879SBryan Drewery.Va WITH_BLACKLIST_SUPPORT
217bf64e879SBryan Dreweryis set explicitly)
2180341a043SBryan Drewery.El
2190341a043SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
220041c5049SEd MasteBuild some programs without
2214650b8aeSEnji Cooper.Xr libblacklist 3
2224650b8aeSEnji Coopersupport, like
2230341a043SBryan Drewery.Xr fingerd 8 ,
2240341a043SBryan Drewery.Xr ftpd 8 ,
2250341a043SBryan Dreweryand
2260341a043SBryan Drewery.Xr sshd 8 .
22790be798eSDimitry Andric.It Va WITHOUT_BLUETOOTH
228041c5049SEd MasteDo not build Bluetooth related kernel modules, programs and libraries.
22990be798eSDimitry Andric.It Va WITHOUT_BOOT
230041c5049SEd MasteDo not build the boot blocks and loader.
2310e0e9604SEnji Cooper.It Va WITHOUT_BOOTPARAMD
232041c5049SEd MasteDo not build or install
2330e0e9604SEnji Cooper.Xr bootparamd 8 .
2340e0e9604SEnji Cooper.It Va WITHOUT_BOOTPD
235041c5049SEd MasteDo not build or install
2360e0e9604SEnji Cooper.Xr bootpd 8 .
23793da8366SEnji Cooper.It Va WITHOUT_BSDINSTALL
238041c5049SEd MasteDo not build
23993da8366SEnji Cooper.Xr bsdinstall 8 ,
24093da8366SEnji Cooper.Xr sade 8 ,
24193da8366SEnji Cooperand related programs.
24290be798eSDimitry Andric.It Va WITHOUT_BSD_CPIO
243041c5049SEd MasteDo not build the BSD licensed version of cpio based on
24490be798eSDimitry Andric.Xr libarchive 3 .
24590be798eSDimitry Andric.It Va WITHOUT_BSNMP
246041c5049SEd MasteDo not build or install
24790be798eSDimitry Andric.Xr bsnmpd 1
24890be798eSDimitry Andricand related libraries and data files.
24990be798eSDimitry Andric.It Va WITHOUT_BZIP2
250041c5049SEd MasteDo not build contributed bzip2 software as a part of the base system.
25190be798eSDimitry Andric.Bf -symbolic
25290be798eSDimitry AndricThe option has no effect yet.
25390be798eSDimitry Andric.Ef
254bf64e879SBryan DreweryWhen set, these options are also in effect:
25590be798eSDimitry Andric.Pp
256bf64e879SBryan Drewery.Bl -inset -compact
257bf64e879SBryan Drewery.It Va WITHOUT_BZIP2_SUPPORT
258bf64e879SBryan Drewery(unless
259bf64e879SBryan Drewery.Va WITH_BZIP2_SUPPORT
260bf64e879SBryan Dreweryis set explicitly)
26190be798eSDimitry Andric.El
26290be798eSDimitry Andric.It Va WITHOUT_BZIP2_SUPPORT
263041c5049SEd MasteBuild some programs without optional bzip2 support.
264fd1efedcSConrad Meyer.It Va WITHOUT_CALENDAR
265041c5049SEd MasteDo not build
266fd1efedcSConrad Meyer.Xr calendar 1 .
2672e65cfd3SEd Maste.It Va WITHOUT_CAPSICUM
2682e65cfd3SEd MasteThis option has no effect.
269de19b521SDimitry Andric.It Va WITHOUT_CAROOT
270041c5049SEd MasteDo not add the trusted certificates from the Mozilla NSS bundle to
271de19b521SDimitry Andricbase.
2722e65cfd3SEd Maste.It Va WITHOUT_CASPER
2732e65cfd3SEd MasteThis option has no effect.
2741c01e4f8SBryan Drewery.It Va WITH_CCACHE_BUILD
275041c5049SEd MasteUse
2761c01e4f8SBryan Drewery.Xr ccache 1
2771c01e4f8SBryan Dreweryfor the build.
2781c01e4f8SBryan DreweryNo configuration is required except to install the
2791c01e4f8SBryan Drewery.Sy devel/ccache
2801c01e4f8SBryan Drewerypackage.
281344e2bb9SEd MasteWhen using with
282344e2bb9SEd Maste.Xr distcc 1 ,
283344e2bb9SEd Masteset
2841c01e4f8SBryan Drewery.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
2851c01e4f8SBryan DreweryThe default cache directory of
2861c01e4f8SBryan Drewery.Pa $HOME/.ccache
2871c01e4f8SBryan Drewerywill be used, which can be overridden by setting
2881c01e4f8SBryan Drewery.Sy CCACHE_DIR .
2891c01e4f8SBryan DreweryThe
2901c01e4f8SBryan Drewery.Sy CCACHE_COMPILERCHECK
2911c01e4f8SBryan Dreweryoption defaults to
2921c01e4f8SBryan Drewery.Sy content
2931c01e4f8SBryan Drewerywhen using the in-tree bootstrap compiler,
2941c01e4f8SBryan Dreweryand
2951c01e4f8SBryan Drewery.Sy mtime
2961c01e4f8SBryan Drewerywhen using an external compiler.
2971c01e4f8SBryan DreweryThe
2981c01e4f8SBryan Drewery.Sy CCACHE_CPP2
2991c01e4f8SBryan Dreweryoption is used for Clang but not GCC.
3001c01e4f8SBryan Drewery.Pp
3011c01e4f8SBryan DrewerySharing a cache between multiple work directories requires using a layout
3021c01e4f8SBryan Drewerysimilar to
3031c01e4f8SBryan Drewery.Pa /some/prefix/src
3041c01e4f8SBryan Drewery.Pa /some/prefix/obj
3051c01e4f8SBryan Dreweryand an environment such as:
3061c01e4f8SBryan Drewery.Bd -literal -offset indent
3071c01e4f8SBryan DreweryCCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
3081c01e4f8SBryan Drewery.Ed
3091c01e4f8SBryan Drewery.Pp
3101c01e4f8SBryan DrewerySee
3111c01e4f8SBryan Drewery.Xr ccache 1
3121c01e4f8SBryan Dreweryfor more configuration options.
31393da8366SEnji Cooper.It Va WITHOUT_CCD
314041c5049SEd MasteDo not build
31593da8366SEnji Cooper.Xr geom_ccd 4
31693da8366SEnji Cooperand related utilities.
31790be798eSDimitry Andric.It Va WITHOUT_CDDL
318041c5049SEd MasteDo not build code licensed under Sun's CDDL.
319344e2bb9SEd MasteWhen set, it enforces these options:
32090be798eSDimitry Andric.Pp
32190be798eSDimitry Andric.Bl -item -compact
32290be798eSDimitry Andric.It
32390be798eSDimitry Andric.Va WITHOUT_CTF
32490be798eSDimitry Andric.It
3253bf66365SBrooks Davis.Va WITHOUT_DTRACE
3263bf66365SBrooks Davis.It
3271f7d1483SEd Maste.Va WITHOUT_LOADER_ZFS
3281f7d1483SEd Maste.It
32990be798eSDimitry Andric.Va WITHOUT_ZFS
33090be798eSDimitry Andric.El
33190be798eSDimitry Andric.It Va WITHOUT_CLANG
332041c5049SEd MasteDo not build the Clang C/C++ compiler during the regular phase of the build.
333344e2bb9SEd MasteWhen set, it enforces these options:
33490be798eSDimitry Andric.Pp
33590be798eSDimitry Andric.Bl -item -compact
33690be798eSDimitry Andric.It
33790be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
33890be798eSDimitry Andric.It
33919267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
34019267656SConrad Meyer.It
34190be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
3425b9c3654SEd Maste.It
3435b9c3654SEd Maste.Va WITHOUT_LLVM_COV
34490be798eSDimitry Andric.El
345ac56b22fSEd Maste.Pp
346ac56b22fSEd MasteWhen set, these options are also in effect:
347ac56b22fSEd Maste.Pp
348ac56b22fSEd Maste.Bl -inset -compact
349ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_AARCH64
350ac56b22fSEd Maste(unless
351ac56b22fSEd Maste.Va WITH_LLVM_TARGET_AARCH64
352ac56b22fSEd Masteis set explicitly)
353ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ALL
354ac56b22fSEd Maste(unless
355ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ALL
356ac56b22fSEd Masteis set explicitly)
357ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ARM
358ac56b22fSEd Maste(unless
359ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ARM
360ac56b22fSEd Masteis set explicitly)
361ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_POWERPC
362ac56b22fSEd Maste(unless
363ac56b22fSEd Maste.Va WITH_LLVM_TARGET_POWERPC
364ac56b22fSEd Masteis set explicitly)
365ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
366ac56b22fSEd Maste(unless
367ac56b22fSEd Maste.Va WITH_LLVM_TARGET_RISCV
368ac56b22fSEd Masteis set explicitly)
369ac56b22fSEd Maste.El
37090be798eSDimitry Andric.It Va WITHOUT_CLANG_BOOTSTRAP
371041c5049SEd MasteDo not build the Clang C/C++ compiler during the bootstrap phase of
372344e2bb9SEd Mastethe build.
373344e2bb9SEd MasteTo be able to build the system, either gcc or clang bootstrap must be
374344e2bb9SEd Masteenabled unless an alternate compiler is provided via XCC.
37590be798eSDimitry Andric.It Va WITH_CLANG_EXTRAS
376041c5049SEd MasteBuild additional clang and llvm tools, such as bugpoint and
377b3a27c81SEd Masteclang-format.
37819267656SConrad Meyer.It Va WITH_CLANG_FORMAT
379041c5049SEd MasteBuild clang-format.
38090be798eSDimitry Andric.It Va WITHOUT_CLANG_FULL
381041c5049SEd MasteAvoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
38290be798eSDimitry Andricthe Clang C/C++ compiler.
383f83a16e0SEd Maste.It Va WITHOUT_CLEAN
384f83a16e0SEd MasteDo not clean before building world and/or kernel.
38590be798eSDimitry Andric.It Va WITHOUT_CPP
386041c5049SEd MasteDo not build
38790be798eSDimitry Andric.Xr cpp 1 .
38890be798eSDimitry Andric.It Va WITHOUT_CROSS_COMPILER
389041c5049SEd MasteDo not build any cross compiler in the cross-tools stage of buildworld.
390344e2bb9SEd MasteWhen compiling a different version of
39190be798eSDimitry Andric.Fx
392344e2bb9SEd Mastethan what is installed on the system, provide an alternate
39390be798eSDimitry Andriccompiler with XCC to ensure success.
394344e2bb9SEd MasteWhen compiling with an identical version of
39590be798eSDimitry Andric.Fx
39690be798eSDimitry Andricto the host, this option may be safely used.
39790be798eSDimitry AndricThis option may also be safe when the host version of
39890be798eSDimitry Andric.Fx
39990be798eSDimitry Andricis close to the sources being built, but all bets are off if there have
40090be798eSDimitry Andricbeen any changes to the toolchain between the versions.
401344e2bb9SEd MasteWhen set, it enforces these options:
40290be798eSDimitry Andric.Pp
40390be798eSDimitry Andric.Bl -item -compact
40490be798eSDimitry Andric.It
40590be798eSDimitry Andric.Va WITHOUT_CLANG_BOOTSTRAP
40690be798eSDimitry Andric.It
407f972b8a4SBryan Drewery.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
408f972b8a4SBryan Drewery.It
40928f52545SEd Maste.Va WITHOUT_LLD_BOOTSTRAP
41090be798eSDimitry Andric.El
41190be798eSDimitry Andric.It Va WITHOUT_CRYPT
412041c5049SEd MasteDo not build any crypto code.
413344e2bb9SEd MasteWhen set, it enforces these options:
41490be798eSDimitry Andric.Pp
41590be798eSDimitry Andric.Bl -item -compact
41690be798eSDimitry Andric.It
4179f4e04c1SEd Maste.Va WITHOUT_DMAGENT
4189f4e04c1SEd Maste.It
41990be798eSDimitry Andric.Va WITHOUT_KERBEROS
42090be798eSDimitry Andric.It
421fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
422fb27d7aeSEd Maste.It
423da39b3adSEd Maste.Va WITHOUT_LDNS
424da39b3adSEd Maste.It
425da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
426da39b3adSEd Maste.It
427379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
428379954d0SJessica Clarke.It
42990be798eSDimitry Andric.Va WITHOUT_OPENSSH
43090be798eSDimitry Andric.It
43190be798eSDimitry Andric.Va WITHOUT_OPENSSL
432da39b3adSEd Maste.It
433ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
434ac56b22fSEd Maste.It
435116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
436116f7fccSEd Maste.It
437da39b3adSEd Maste.Va WITHOUT_UNBOUND
438243125c8SMitchell Horne.It
439243125c8SMitchell Horne.Va WITHOUT_ZFS
44090be798eSDimitry Andric.El
44190be798eSDimitry Andric.Pp
442344e2bb9SEd MasteWhen set, these options are also in effect:
44390be798eSDimitry Andric.Pp
44490be798eSDimitry Andric.Bl -inset -compact
44590be798eSDimitry Andric.It Va WITHOUT_GSSAPI
44690be798eSDimitry Andric(unless
44790be798eSDimitry Andric.Va WITH_GSSAPI
44890be798eSDimitry Andricis set explicitly)
44990be798eSDimitry Andric.El
45090be798eSDimitry Andric.It Va WITH_CTF
451041c5049SEd MasteCompile with CTF (Compact C Type Format) data.
45290be798eSDimitry AndricCTF data encapsulates a reduced form of debugging information
45390be798eSDimitry Andricsimilar to DWARF and the venerable stabs and is required for DTrace.
45454d8c5d5SBryan Drewery.It Va WITHOUT_CUSE
455041c5049SEd MasteDo not build CUSE-related programs and libraries.
4569cf76983SNavdeep Parhar.It Va WITHOUT_CXGBETOOL
457041c5049SEd MasteDo not build
4589cf76983SNavdeep Parhar.Xr cxgbetool 8
4599cf76983SNavdeep Parhar.Pp
4609cf76983SNavdeep ParharThis is a default setting on
461391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
4629cf76983SNavdeep Parhar.It Va WITH_CXGBETOOL
463041c5049SEd MasteBuild
4649cf76983SNavdeep Parhar.Xr cxgbetool 8
4659cf76983SNavdeep Parhar.Pp
4669cf76983SNavdeep ParharThis is a default setting on
467ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
4684a5e4462SEd Maste.It Va WITHOUT_DEBUG_FILES
469041c5049SEd MasteAvoid building or installing standalone debug files for each
4704a5e4462SEd Masteexecutable binary and shared library.
471ac56b22fSEd Maste.It Va WITH_DETECT_TZ_CHANGES
472ac56b22fSEd MasteMake the time handling code detect changes to the timezone files.
473*52fe961cSBaptiste Daroussin.It Va WITH_DIALOG
474*52fe961cSBaptiste DaroussinDo build
475344e2bb9SEd Maste.Xr dialog 1 ,
476344e2bb9SEd Maste.Xr dialog 3 ,
477344e2bb9SEd Maste.Xr dpv 1 ,
478344e2bb9SEd Masteand
479344e2bb9SEd Maste.Xr dpv 3 .
48090be798eSDimitry Andric.It Va WITHOUT_DICT
481041c5049SEd MasteDo not build the Webster dictionary files.
48232b5dc9aSSimon J. Gerraty.It Va WITH_DIRDEPS_BUILD
483b46d461dSEd MasteThis is an alternate build system.
48432b5dc9aSSimon J. GerratyFor details see
4852ec9a427SPiotr Kubajhttps://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
486be894451SBryan DreweryBuild commands can be seen from the top-level with:
487be894451SBryan Drewery.Dl make show-valid-targets
48832b5dc9aSSimon J. GerratyThe build is driven by dirdeps.mk using
48932b5dc9aSSimon J. Gerraty.Va DIRDEPS
49032b5dc9aSSimon J. Gerratystored in
49132b5dc9aSSimon J. GerratyMakefile.depend files found in each directory.
49232b5dc9aSSimon J. Gerraty.Pp
49332b5dc9aSSimon J. GerratyThe build can be started from anywhere, and behaves the same.
49432b5dc9aSSimon J. GerratyThe initial instance of
49532b5dc9aSSimon J. Gerraty.Xr make 1
49632b5dc9aSSimon J. Gerratyrecursively reads
49732b5dc9aSSimon J. Gerraty.Va DIRDEPS
498344e2bb9SEd Mastefrom
499344e2bb9SEd Maste.Pa Makefile.depend ,
50032b5dc9aSSimon J. Gerratycomputing a graph of tree dependencies from the current origin.
50132b5dc9aSSimon J. GerratySetting
50232b5dc9aSSimon J. Gerraty.Va NO_DIRDEPS
503344e2bb9SEd Masteskips checking dirdep dependencies and will only build in the current
5047f76a95cSBryan Dreweryand child directories.
5057f76a95cSBryan Drewery.Va NO_DIRDEPS_BELOW
506344e2bb9SEd Masteskips building any dirdeps and only build the current directory.
50732b5dc9aSSimon J. Gerraty.Pp
508be894451SBryan DreweryThis also utilizes the
509be894451SBryan Drewery.Va WITH_META_MODE
510be894451SBryan Drewerylogic for incremental builds.
51132b5dc9aSSimon J. Gerraty.Pp
512344e2bb9SEd MasteThe build hides commands executed unless
51332b5dc9aSSimon J. Gerraty.Va NO_SILENT
51432b5dc9aSSimon J. Gerratyis defined.
51532b5dc9aSSimon J. Gerraty.Pp
516be894451SBryan DreweryNote that there is currently no mass install feature for this.
517b46d461dSEd MasteThis build is designed for producing packages, that can then be installed
518b46d461dSEd Masteon a target system.
519be894451SBryan Drewery.Pp
520b46d461dSEd MasteThe implementation in
521b46d461dSEd Maste.Fx
522b46d461dSEd Masteis incomplete.
523b46d461dSEd MasteCompletion would require leaf directories for building each kernel
524b46d461dSEd Masteand package so that their dependencies can be tracked.
525344e2bb9SEd MasteWhen set, it enforces these options:
52632b5dc9aSSimon J. Gerraty.Pp
52732b5dc9aSSimon J. Gerraty.Bl -item -compact
52832b5dc9aSSimon J. Gerraty.It
52932b5dc9aSSimon J. Gerraty.Va WITH_INSTALL_AS_USER
53032b5dc9aSSimon J. Gerraty.El
53132b5dc9aSSimon J. Gerraty.Pp
532344e2bb9SEd MasteWhen set, these options are also in effect:
53332b5dc9aSSimon J. Gerraty.Pp
53432b5dc9aSSimon J. Gerraty.Bl -inset -compact
535d1fdf357SEd Maste.It Va WITH_META_ERROR_TARGET
536d1fdf357SEd Maste(unless
537d1fdf357SEd Maste.Va WITHOUT_META_ERROR_TARGET
538d1fdf357SEd Masteis set explicitly)
53926b79d5bSHajimu UMEMOTO.It Va WITH_META_MODE
54026b79d5bSHajimu UMEMOTO(unless
54126b79d5bSHajimu UMEMOTO.Va WITHOUT_META_MODE
54226b79d5bSHajimu UMEMOTOis set explicitly)
54332b5dc9aSSimon J. Gerraty.It Va WITH_STAGING
54432b5dc9aSSimon J. Gerraty(unless
54532b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING
54632b5dc9aSSimon J. Gerratyis set explicitly)
54732b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_MAN
54832b5dc9aSSimon J. Gerraty(unless
54932b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_MAN
55032b5dc9aSSimon J. Gerratyis set explicitly)
55132b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_PROG
55232b5dc9aSSimon J. Gerraty(unless
55332b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_PROG
55432b5dc9aSSimon J. Gerratyis set explicitly)
55532b5dc9aSSimon J. Gerraty.It Va WITH_SYSROOT
55632b5dc9aSSimon J. Gerraty(unless
55732b5dc9aSSimon J. Gerraty.Va WITHOUT_SYSROOT
55832b5dc9aSSimon J. Gerratyis set explicitly)
55932b5dc9aSSimon J. Gerraty.El
56032b5dc9aSSimon J. Gerraty.Pp
56132b5dc9aSSimon J. GerratyThis must be set in the environment, make command line, or
56232b5dc9aSSimon J. Gerraty.Pa /etc/src-env.conf ,
56332b5dc9aSSimon J. Gerratynot
56432b5dc9aSSimon J. Gerraty.Pa /etc/src.conf .
565cc2520d2SSimon J. Gerraty.It Va WITH_DIRDEPS_CACHE
566cc2520d2SSimon J. GerratyCache result of dirdeps.mk which can save significant time
567cc2520d2SSimon J. Gerratyfor subsequent builds.
568cc2520d2SSimon J. GerratyDepends on
56932b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
5700a70ef02SBryan Drewery.Pp
571ba852870SBryan DreweryThis must be set in the environment, make command line, or
5720a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
5730a70ef02SBryan Drewerynot
5740a70ef02SBryan Drewery.Pa /etc/src.conf .
5759e914c7aSJessica Clarke.It Va WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
5769e914c7aSJessica ClarkeBuild
5779e914c7aSJessica Clarke.Xr etdump 1 ,
5789e914c7aSJessica Clarke.Xr makefs 8
5799e914c7aSJessica Clarkeand
5809e914c7aSJessica Clarke.Xr mkimg 1
5819e914c7aSJessica Clarkeas bootstrap tools.
58290be798eSDimitry Andric.It Va WITHOUT_DMAGENT
583041c5049SEd MasteDo not build dma Mail Transport Agent.
58490be798eSDimitry Andric.It Va WITHOUT_DOCCOMPRESS
585041c5049SEd MasteDo not install compressed system documentation.
58690be798eSDimitry AndricOnly the uncompressed version will be installed.
5873bf66365SBrooks Davis.It Va WITHOUT_DTRACE
5883bf66365SBrooks DavisDo not build DTrace framework kernel modules, libraries, and user commands.
5893bf66365SBrooks DavisWhen set, it enforces these options:
5903bf66365SBrooks Davis.Pp
5913bf66365SBrooks Davis.Bl -item -compact
5923bf66365SBrooks Davis.It
5933bf66365SBrooks Davis.Va WITHOUT_CTF
5943bf66365SBrooks Davis.El
5956de02228SDomagoj Stolfa.It Va WITH_DTRACE_ASAN
5966de02228SDomagoj StolfaCompile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
5976de02228SDomagoj Stolfawith address and undefined behavior sanitizers.
5986de02228SDomagoj StolfaRequires that Clang be used as the base system compiler
5996de02228SDomagoj Stolfaand that the runtime support library is available.
60016f3fdf5SMark Johnston.It Va WITH_DTRACE_TESTS
601041c5049SEd MasteBuild and install the DTrace test suite in
60216f3fdf5SMark Johnston.Pa /usr/tests/cddl/usr.sbin/dtrace .
60316f3fdf5SMark JohnstonThis test suite is considered experimental on architectures other than
60416f3fdf5SMark Johnstonamd64/amd64 and running it may cause system instability.
60590be798eSDimitry Andric.It Va WITHOUT_DYNAMICROOT
60690be798eSDimitry AndricSet this if you do not want to link
60790be798eSDimitry Andric.Pa /bin
60890be798eSDimitry Andricand
60990be798eSDimitry Andric.Pa /sbin
61090be798eSDimitry Andricdynamically.
61193da8366SEnji Cooper.It Va WITHOUT_EE
612041c5049SEd MasteDo not build and install
61393da8366SEnji Cooper.Xr edit 1 ,
61493da8366SEnji Cooper.Xr ee 1 ,
61593da8366SEnji Cooperand related programs.
6160cd582c8SEnji Cooper.It Va WITHOUT_EFI
6170cd582c8SEnji CooperSet not to build
6180cd582c8SEnji Cooper.Xr efivar 3
6190cd582c8SEnji Cooperand
6200cd582c8SEnji Cooper.Xr efivar 8 .
6210cd582c8SEnji Cooper.Pp
622344e2bb9SEd MasteThis is a default setting on
623d1fdf357SEd Mastei386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
6240cd582c8SEnji Cooper.It Va WITH_EFI
625041c5049SEd MasteBuild
6260cd582c8SEnji Cooper.Xr efivar 3
6270cd582c8SEnji Cooperand
6280cd582c8SEnji Cooper.Xr efivar 8 .
6290cd582c8SEnji Cooper.Pp
630344e2bb9SEd MasteThis is a default setting on
631391e1f23SEd Masteamd64/amd64, arm/armv7 and arm64/aarch64.
6325977355fSBryan Drewery.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
633041c5049SEd MasteDo not build ELF Tool Chain tools
6345977355fSBryan Drewery(addr2line, nm, size, strings and strip)
6355977355fSBryan Dreweryas part of the bootstrap process.
6365977355fSBryan Drewery.Bf -symbolic
6375977355fSBryan DreweryAn alternate bootstrap tool chain must be provided.
6385977355fSBryan Drewery.Ef
63990be798eSDimitry Andric.It Va WITHOUT_EXAMPLES
640041c5049SEd MasteAvoid installing examples to
64190be798eSDimitry Andric.Pa /usr/share/examples/ .
64243f75d57SBjoern A. Zeeb.It Va WITH_EXPERIMENTAL
643041c5049SEd MasteInclude experimental features in the build.
644d5a2667bSJonathan T. Looney.It Va WITH_EXTRA_TCP_STACKS
645041c5049SEd MasteBuild extra TCP stack modules.
6463f9c1b2cSEd Maste.It Va WITHOUT_FDT
6473f9c1b2cSEd MasteDo not build Flattened Device Tree support as part of the base system.
6483f9c1b2cSEd MasteThis includes the device tree compiler (dtc) and libfdt support library.
6493f9c1b2cSEd Maste.Pp
6503f9c1b2cSEd MasteThis is a default setting on
6513f9c1b2cSEd Masteamd64/amd64 and i386/i386.
652a8af3aeeSEd Maste.It Va WITH_FDT
653a8af3aeeSEd MasteBuild Flattened Device Tree support as part of the base system.
65490be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6553f9c1b2cSEd Maste.Pp
6563f9c1b2cSEd MasteThis is a default setting on
657391e1f23SEd Mastearm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
6580e0e9604SEnji Cooper.It Va WITHOUT_FILE
659041c5049SEd MasteDo not build
6600e0e9604SEnji Cooper.Xr file 1
6610e0e9604SEnji Cooperand related programs.
6620e0e9604SEnji Cooper.It Va WITHOUT_FINGER
663041c5049SEd MasteDo not build or install
6640e0e9604SEnji Cooper.Xr finger 1
6650e0e9604SEnji Cooperand
6660e0e9604SEnji Cooper.Xr fingerd 8 .
66790be798eSDimitry Andric.It Va WITHOUT_FLOPPY
668041c5049SEd MasteDo not build or install programs
66990be798eSDimitry Andricfor operating floppy disk driver.
670a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
671041c5049SEd MasteDo not enable
672a0f6423bSEd Maste.Fl fformat-extensions
673a0f6423bSEd Mastewhen compiling the kernel.
674a0f6423bSEd MasteAlso disables all format checking.
67590be798eSDimitry Andric.It Va WITHOUT_FORTH
676041c5049SEd MasteBuild bootloaders without Forth support.
67790be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
678041c5049SEd MasteBuild
67990be798eSDimitry Andric.Nm libc
68090be798eSDimitry Andricwithout floating-point support.
68190be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
682041c5049SEd MasteDo not build
68390be798eSDimitry Andric.Xr freebsd-update 8 .
6840e0e9604SEnji Cooper.It Va WITHOUT_FTP
685041c5049SEd MasteDo not build or install
6860e0e9604SEnji Cooper.Xr ftp 1
6870e0e9604SEnji Cooperand
6880e0e9604SEnji Cooper.Xr ftpd 8 .
68990be798eSDimitry Andric.It Va WITHOUT_GAMES
690041c5049SEd MasteDo not build games.
691160ea953SStefan Eßer.It Va WITHOUT_GH_BC
692041c5049SEd MasteInstall the traditional FreeBSD
69368c8c1a7SStefan Eßer.Xr bc 1
694160ea953SStefan Eßerand
69568c8c1a7SStefan Eßer.Xr dc 1
696041c5049SEd Masteprograms instead of the enhanced versions.
69736e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
698041c5049SEd MasteDo not build GNU
69936e8c7bbSEd Maste.Xr diff3 1 .
7007840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
701041c5049SEd MasteNeither build nor install
7027840b63aSEnji Cooper.Lb libgmock ,
7037840b63aSEnji Cooper.Lb libgtest ,
7047840b63aSEnji Cooperand dependent tests.
70590be798eSDimitry Andric.It Va WITHOUT_GPIO
706041c5049SEd MasteDo not build
70790be798eSDimitry Andric.Xr gpioctl 8
70890be798eSDimitry Andricas part of the base system.
70990be798eSDimitry Andric.It Va WITHOUT_GSSAPI
710041c5049SEd MasteDo not build libgssapi.
71161940879SEnji Cooper.It Va WITHOUT_HAST
712041c5049SEd MasteDo not build
71361940879SEnji Cooper.Xr hastd 8
71461940879SEnji Cooperand related utilities.
71590be798eSDimitry Andric.It Va WITH_HESIOD
716041c5049SEd MasteBuild Hesiod support.
71790be798eSDimitry Andric.It Va WITHOUT_HTML
718041c5049SEd MasteDo not build HTML docs.
7192c4b4abcSXin LI.It Va WITHOUT_HYPERV
720041c5049SEd MasteDo not build or install HyperV utilities.
7210543ade3SBrooks Davis.Pp
7220543ade3SBrooks DavisThis is a default setting on
723391e1f23SEd Mastearm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
7240543ade3SBrooks Davis.It Va WITH_HYPERV
725041c5049SEd MasteBuild or install HyperV utilities.
7260543ade3SBrooks Davis.Pp
7270543ade3SBrooks DavisThis is a default setting on
72807853c6cSEd Masteamd64/amd64, arm64/aarch64 and i386/i386.
72990be798eSDimitry Andric.It Va WITHOUT_ICONV
730041c5049SEd MasteDo not build iconv as part of libc.
731c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
732041c5049SEd MasteDo not install header files.
733c5d09a87SGlen BarberThis option used to be spelled
734c5d09a87SGlen Barber.Va NO_INCS .
735c5d09a87SGlen Barber.Bf -symbolic
736c5d09a87SGlen BarberThe option does not work for build targets.
737c5d09a87SGlen Barber.Ef
73890be798eSDimitry Andric.It Va WITHOUT_INET
739041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
740344e2bb9SEd MasteWhen set, it enforces these options:
74190be798eSDimitry Andric.Pp
74290be798eSDimitry Andric.Bl -item -compact
74390be798eSDimitry Andric.It
74490be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
74590be798eSDimitry Andric.El
74690be798eSDimitry Andric.It Va WITHOUT_INET6
747041c5049SEd MasteDo not build
74890be798eSDimitry Andricprograms and libraries related to IPv6 networking.
749344e2bb9SEd MasteWhen set, it enforces these options:
75090be798eSDimitry Andric.Pp
75190be798eSDimitry Andric.Bl -item -compact
75290be798eSDimitry Andric.It
75390be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
75490be798eSDimitry Andric.El
75590be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
756041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7570e0e9604SEnji Cooper.It Va WITHOUT_INETD
758041c5049SEd MasteDo not build
7590e0e9604SEnji Cooper.Xr inetd 8 .
76090be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
761041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
76290be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
763344e2bb9SEd MasteSet this to not install optional libraries.
764344e2bb9SEd MasteFor example, when creating a
76590be798eSDimitry Andric.Xr nanobsd 8
76690be798eSDimitry Andricimage.
767f79bedf5SBryan Drewery.Bf -symbolic
768f79bedf5SBryan DreweryThe option does not work for build targets.
769f79bedf5SBryan Drewery.Ef
77090be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
771041c5049SEd MasteMake install targets succeed for non-root users by installing
77290be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
77390be798eSDimitry Andricthe
77490be798eSDimitry Andric.Xr make 1
77590be798eSDimitry Andriccommand.
776344e2bb9SEd MasteThe user still must set the
77790be798eSDimitry Andric.Va DESTDIR
77890be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
77990be798eSDimitry Andric.It Va WITHOUT_IPFILTER
780041c5049SEd MasteDo not build IP Filter package.
78190be798eSDimitry Andric.It Va WITHOUT_IPFW
782041c5049SEd MasteDo not build IPFW tools.
78388342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
784041c5049SEd MasteDo not build the kernel with
78588342134SEnji Cooper.Xr ipsec 4
78688342134SEnji Coopersupport.
78788342134SEnji CooperThis option is needed for
78888342134SEnji Cooper.Xr ipsec 4
78988342134SEnji Cooperand
79088342134SEnji Cooper.Xr tcpmd5 4 .
79193da8366SEnji Cooper.It Va WITHOUT_ISCSI
792041c5049SEd MasteDo not build
79326d6bbfaSSevan Janiyan.Xr iscsid 8
79493da8366SEnji Cooperand related utilities.
79590be798eSDimitry Andric.It Va WITHOUT_JAIL
796041c5049SEd MasteDo not build tools for the support of jails; e.g.,
79790be798eSDimitry Andric.Xr jail 8 .
79890be798eSDimitry Andric.It Va WITHOUT_KDUMP
799041c5049SEd MasteDo not build
80090be798eSDimitry Andric.Xr kdump 1
80190be798eSDimitry Andricand
80290be798eSDimitry Andric.Xr truss 1 .
80390be798eSDimitry Andric.It Va WITHOUT_KERBEROS
804344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
805344e2bb9SEd MasteWhen set, these options are also in effect:
80690be798eSDimitry Andric.Pp
80790be798eSDimitry Andric.Bl -inset -compact
80890be798eSDimitry Andric.It Va WITHOUT_GSSAPI
80990be798eSDimitry Andric(unless
81090be798eSDimitry Andric.Va WITH_GSSAPI
81190be798eSDimitry Andricis set explicitly)
812bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
813bf64e879SBryan Drewery(unless
814bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
815bf64e879SBryan Dreweryis set explicitly)
81690be798eSDimitry Andric.El
81790be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
818041c5049SEd MasteBuild some programs without Kerberos support, like
81990be798eSDimitry Andric.Xr ssh 1 ,
82090be798eSDimitry Andric.Xr telnet 1 ,
82190be798eSDimitry Andricand
822b4cfdbfeSBrooks Davis.Xr sshd 8 .
8236f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
824041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8256f7527f0SEd Mastebuild.
826a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
827330b7dccSEd MasteDo not install standalone kernel debug symbol files.
828330b7dccSEd MasteThis option has no effect at build time.
82990be798eSDimitry Andric.It Va WITHOUT_KVM
830041c5049SEd MasteDo not build the
83190be798eSDimitry Andric.Nm libkvm
83290be798eSDimitry Andriclibrary as a part of the base system.
83390be798eSDimitry Andric.Bf -symbolic
83490be798eSDimitry AndricThe option has no effect yet.
83590be798eSDimitry Andric.Ef
836bf64e879SBryan DreweryWhen set, these options are also in effect:
83790be798eSDimitry Andric.Pp
838bf64e879SBryan Drewery.Bl -inset -compact
839bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
840bf64e879SBryan Drewery(unless
841bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
842bf64e879SBryan Dreweryis set explicitly)
84390be798eSDimitry Andric.El
84490be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
845041c5049SEd MasteBuild some programs without optional
84690be798eSDimitry Andric.Nm libkvm
84790be798eSDimitry Andricsupport.
84890be798eSDimitry Andric.It Va WITHOUT_LDNS
84990be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
850344e2bb9SEd MasteWhen set, it enforces these options:
85190be798eSDimitry Andric.Pp
85290be798eSDimitry Andric.Bl -item -compact
85390be798eSDimitry Andric.It
85490be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
85590be798eSDimitry Andric.It
85690be798eSDimitry Andric.Va WITHOUT_UNBOUND
85790be798eSDimitry Andric.El
85890be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
85990be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
86090be798eSDimitry Andric.Xr drill 1
86190be798eSDimitry Andricand
86290be798eSDimitry Andric.Xr host 1 .
86390be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
864041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
86523a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
86690be798eSDimitry Andricand
86723a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
86890be798eSDimitry Andric.It Va WITHOUT_LIB32
869041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
87090be798eSDimitry Andric.Nm ld-elf32.so.1
87190be798eSDimitry Andricruntime linker.
872f3cdc622SEd Maste.Pp
873f3cdc622SEd MasteThis is a default setting on
874391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
875c5819624SEd Maste.It Va WITH_LIB32
876c5819624SEd MasteOn 64-bit platforms, build the 32-bit library set and a
877c5819624SEd Maste.Nm ld-elf32.so.1
878c5819624SEd Masteruntime linker.
879c5819624SEd Maste.Pp
880c5819624SEd MasteThis is a default setting on
88181a7ce44SJose Luis Duranamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
88236e8c7bbSEd Maste.It Va WITHOUT_LLD
883041c5049SEd MasteDo not build LLVM's lld linker.
8841500eb21SEd Maste.It Va WITHOUT_LLDB
885041c5049SEd MasteDo not build the LLDB debugger.
8861500eb21SEd Maste.Pp
887344e2bb9SEd MasteThis is a default setting on
888391e1f23SEd Mastearm/armv7 and riscv/riscv64.
88990be798eSDimitry Andric.It Va WITH_LLDB
890041c5049SEd MasteBuild the LLDB debugger.
8911500eb21SEd Maste.Pp
892344e2bb9SEd MasteThis is a default setting on
8932ec9a427SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
8946c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
895041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
8966c2b7edaSEd Mastethe build.
8977680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
898661cf9b6SYoshihiro Takahashi.It Va WITHOUT_LLD_IS_LD
8997680431aSEd MasteDo not install a
9007680431aSEd Maste.Pa /usr/bin/ld symlink
9017680431aSEd Masteto
9027680431aSEd Maste.Pa ld.lld .
9037680431aSEd MasteThe system will not have a usable tool chain unless a linker is provided
9047680431aSEd Mastesome other way.
905a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
906041c5049SEd MasteDisable debugging assertions in LLVM.
907ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
908a9d0665bSEd MasteInstall LLVM's binutils (without an llvm- prefix),
909a9d0665bSEd Masteinstead of ELF Tool Chain's tools.
910a9d0665bSEd MasteThis includes
911a9d0665bSEd Maste.Xr addr2line 1 ,
912a9d0665bSEd Maste.Xr ar 1 ,
913a9d0665bSEd Maste.Xr nm 1 ,
914a9d0665bSEd Maste.Xr objcopy 1 ,
915a9d0665bSEd Maste.Xr ranlib 1 ,
916a9d0665bSEd Maste.Xr readelf 1 ,
917a9d0665bSEd Maste.Xr size 1 ,
918a9d0665bSEd Masteand
919a9d0665bSEd Maste.Xr strip 1 .
920a9d0665bSEd MasteRegardless of this setting, LLVM tools are used for
921a9d0665bSEd Maste.Xr c++filt 1
922a9d0665bSEd Masteand
923a9d0665bSEd Maste.Xr objdump 1 .
924a9d0665bSEd Maste.Xr strings 1
925a9d0665bSEd Masteis always provided by ELF Tool Chain.
9265b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
927041c5049SEd MasteDo not build the
9285b9c3654SEd Maste.Xr llvm-cov 1
9295b9c3654SEd Mastetool.
9309fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9319fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
932cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
933041c5049SEd MasteDo not build LLVM target support for AArch64.
934bf64e879SBryan DreweryThe
935bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
936bf64e879SBryan Dreweryoption should be used rather than this in most cases.
937bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
938041c5049SEd MasteOnly build the required LLVM target support.
939bf64e879SBryan DreweryThis option is preferred to specific target support options.
940bf64e879SBryan DreweryWhen set, these options are also in effect:
941bf64e879SBryan Drewery.Pp
942bf64e879SBryan Drewery.Bl -inset -compact
943bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
944bf64e879SBryan Drewery(unless
945bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
946bf64e879SBryan Dreweryis set explicitly)
947bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
948bf64e879SBryan Drewery(unless
949bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
950bf64e879SBryan Dreweryis set explicitly)
951bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
952bf64e879SBryan Drewery(unless
953bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
954bf64e879SBryan Dreweryis set explicitly)
955f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
956f3cdc622SEd Maste(unless
957f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
958f3cdc622SEd Masteis set explicitly)
959bf64e879SBryan Drewery.El
960cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
961041c5049SEd MasteDo not build LLVM target support for ARM.
962bf64e879SBryan DreweryThe
963bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
964bf64e879SBryan Dreweryoption should be used rather than this in most cases.
96589edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
966041c5049SEd MasteBuild LLVM target support for BPF.
96789edb881SDimitry AndricThe
96889edb881SDimitry Andric.Va LLVM_TARGET_ALL
96989edb881SDimitry Andricoption should be used rather than this in most cases.
9706bdbfa49SPiotr Kubaj.It Va WITH_LLVM_TARGET_MIPS
9716bdbfa49SPiotr KubajBuild LLVM target support for MIPS.
972bf64e879SBryan DreweryThe
973bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
974bf64e879SBryan Dreweryoption should be used rather than this in most cases.
975cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
976041c5049SEd MasteDo not build LLVM target support for PowerPC.
977bf64e879SBryan DreweryThe
978bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
979bf64e879SBryan Dreweryoption should be used rather than this in most cases.
980f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
981041c5049SEd MasteDo not build LLVM target support for RISC-V.
982f3cdc622SEd MasteThe
983f3cdc622SEd Maste.Va LLVM_TARGET_ALL
984f3cdc622SEd Masteoption should be used rather than this in most cases.
985cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
986041c5049SEd MasteDo not build LLVM target support for X86.
987bf64e879SBryan DreweryThe
988bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
989bf64e879SBryan Dreweryoption should be used rather than this in most cases.
990bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
991bfdf8aa9SJohn BaldwinEnable building
992bfdf8aa9SJohn Baldwin.Xr loader 8
993bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
994782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
995782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
99630323356SWarner Losh.Pp
99730323356SWarner LoshThis is a default setting on
9988cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
9998edab9cdSWarner Losh.It Va WITH_LOADER_GELI
1000041c5049SEd MasteBuild GELI bootloader support.
10018edab9cdSWarner Losh.Pp
10028edab9cdSWarner LoshThis is a default setting on
1003391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
10042ec9a427SPiotr Kubaj.It Va WITHOUT_LOADER_KBOOT
10052ec9a427SPiotr KubajDo not build kboot, a linuxboot environment loader
10062ec9a427SPiotr Kubaj.Pp
10072ec9a427SPiotr KubajThis is a default setting on
1008391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
10092ec9a427SPiotr Kubaj.It Va WITH_LOADER_KBOOT
10102ec9a427SPiotr KubajBuild kboot, a linuxboot environment loader
10112ec9a427SPiotr Kubaj.Pp
10122ec9a427SPiotr KubajThis is a default setting on
1013cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
10148edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
1015041c5049SEd MasteDo not build LUA bindings for the boot loader.
10168edab9cdSWarner Losh.Pp
10178edab9cdSWarner LoshThis is a default setting on
10188cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10196f7527f0SEd Maste.It Va WITH_LOADER_LUA
1020041c5049SEd MasteBuild LUA bindings for the boot loader.
102130323356SWarner Losh.Pp
102230323356SWarner LoshThis is a default setting on
1023391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1024b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1025b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1026b8f3641fSKyle Evans.Pp
1027b8f3641fSKyle EvansThis is a default setting on
1028391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1029b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1030041c5049SEd MasteBuild openfirmware bootloader components.
1031b8f3641fSKyle Evans.Pp
1032b8f3641fSKyle EvansThis is a default setting on
10338cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1034b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1035b8f3641fSKyle EvansDisable building of ubldr.
1036b8f3641fSKyle Evans.Pp
1037b8f3641fSKyle EvansThis is a default setting on
1038d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le and riscv/riscv64.
1039b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1040041c5049SEd MasteBuild ubldr.
1041b8f3641fSKyle Evans.Pp
1042b8f3641fSKyle EvansThis is a default setting on
1043391e1f23SEd Mastearm/armv7, powerpc/powerpc and powerpc/powerpc64.
10441f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1045041c5049SEd MasteBuild with extra verbose debugging in the loader.
10461f7d1483SEd MasteMay explode already nearly too large loader over the limit.
10471f7d1483SEd MasteUse with care.
1048bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1049bfdf8aa9SJohn BaldwinEnable building
1050bfdf8aa9SJohn Baldwin.Xr loader 8
1051de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1052bfdf8aa9SJohn Baldwin.Pp
1053de19b521SDimitry AndricDepends on
1054de19b521SDimitry Andric.Va WITH_BEARSSL .
1055bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1056bfdf8aa9SJohn Baldwin.Pp
1057bfdf8aa9SJohn Baldwin.Bl -inset -compact
1058bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1059bfdf8aa9SJohn Baldwin(unless
1060bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1061bfdf8aa9SJohn Baldwinis set explicitly)
1062f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1063f87a2082SEd Maste(unless
1064f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1065f87a2082SEd Masteis set explicitly)
1066bfdf8aa9SJohn Baldwin.El
1067de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1068de19b521SDimitry AndricEnable building
1069de19b521SDimitry Andric.Xr loader 8
1070de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1071de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1072de19b521SDimitry Andric.Pp
1073de19b521SDimitry AndricDepends on
1074de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
10753ac71149SBrooks Davis.It Va WITH_LOADER_VERIEXEC_VECTX
10763ac71149SBrooks DavisEnable building
10773ac71149SBrooks Davis.Xr loader 8
10783ac71149SBrooks Daviswith support for hashing and verifying kernel and modules as a side effect
10793ac71149SBrooks Davisof loading.
10803ac71149SBrooks Davis.Pp
10813ac71149SBrooks DavisDepends on
10823ac71149SBrooks Davis.Va WITH_LOADER_VERIEXEC .
10831f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1084041c5049SEd MasteDo not build ZFS file system boot loader support.
108590be798eSDimitry Andric.It Va WITHOUT_LOCALES
1086041c5049SEd MasteDo not build localization files; see
108790be798eSDimitry Andric.Xr locale 1 .
108890be798eSDimitry Andric.It Va WITHOUT_LOCATE
1089041c5049SEd MasteDo not build
109090be798eSDimitry Andric.Xr locate 1
109190be798eSDimitry Andricand related programs.
109290be798eSDimitry Andric.It Va WITHOUT_LPR
1093041c5049SEd MasteDo not build
109490be798eSDimitry Andric.Xr lpr 1
109590be798eSDimitry Andricand related programs.
109690be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1097041c5049SEd MasteBuild
109890be798eSDimitry Andric.Xr ls 1
109990be798eSDimitry Andricwithout support for colors to distinguish file types.
1100dcdf4c1aSGleb Popov.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1101dcdf4c1aSGleb PopovPrefer machine-independent non-assembler code in libc and libm.
110290be798eSDimitry Andric.It Va WITHOUT_MAIL
1103041c5049SEd MasteDo not build any mail support (MUA or MTA).
1104344e2bb9SEd MasteWhen set, it enforces these options:
110590be798eSDimitry Andric.Pp
110690be798eSDimitry Andric.Bl -item -compact
110790be798eSDimitry Andric.It
110890be798eSDimitry Andric.Va WITHOUT_DMAGENT
110990be798eSDimitry Andric.It
111090be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
111190be798eSDimitry Andric.It
111290be798eSDimitry Andric.Va WITHOUT_SENDMAIL
111390be798eSDimitry Andric.El
111490be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1115041c5049SEd MasteDo not build the
111690be798eSDimitry Andric.Xr mailwrapper 8
111790be798eSDimitry AndricMTA selector.
111890be798eSDimitry Andric.It Va WITHOUT_MAKE
1119041c5049SEd MasteDo not install
112090be798eSDimitry Andric.Xr make 1
112190be798eSDimitry Andricand related support files.
112274782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1123041c5049SEd MasteDo not execute
112474782f0eSEnji Cooper.Dq Li "make check"
112574782f0eSEnji Cooperin limited sandbox mode.
112674782f0eSEnji CooperThis option should be paired with
112774782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
112874782f0eSEnji Cooperif executed as an unprivileged user.
112974782f0eSEnji CooperSee
113074782f0eSEnji Cooper.Xr tests 7
113174782f0eSEnji Cooperfor more details.
11327d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1133041c5049SEd MasteDisable assertions and statistics gathering in
11347d4374f6SDimitry Andric.Xr malloc 3 .
11357d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
113690be798eSDimitry Andric.It Va WITHOUT_MAN
1137041c5049SEd MasteDo not build manual pages.
1138344e2bb9SEd MasteWhen set, these options are also in effect:
113990be798eSDimitry Andric.Pp
114090be798eSDimitry Andric.Bl -inset -compact
114190be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
114290be798eSDimitry Andric(unless
114390be798eSDimitry Andric.Va WITH_MAN_UTILS
114490be798eSDimitry Andricis set explicitly)
114590be798eSDimitry Andric.El
114690be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1147041c5049SEd MasteDo not install compressed man pages.
114890be798eSDimitry AndricOnly the uncompressed versions will be installed.
114974da9c39SDoug Rabson.It Va WITHOUT_MANSPLITPKG
115074da9c39SDoug RabsonDo not split man pages into their own packages during make package.
115190be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1152041c5049SEd MasteDo not build utilities for manual pages,
115390be798eSDimitry Andric.Xr apropos 1 ,
115490be798eSDimitry Andric.Xr makewhatis 1 ,
115590be798eSDimitry Andric.Xr man 1 ,
115690be798eSDimitry Andric.Xr whatis 1 ,
115790be798eSDimitry Andric.Xr manctl 8 ,
115890be798eSDimitry Andricand related support files.
1159b46d461dSEd Maste.It Va WITH_META_ERROR_TARGET
1160b46d461dSEd MasteEnable the META_MODE .ERROR target.
1161b46d461dSEd Maste.Pp
1162b46d461dSEd MasteThis target will copy the meta file of a failed target
1163b46d461dSEd Masteto
1164b46d461dSEd Maste.Va ERROR_LOGDIR
1165b46d461dSEd Maste(default is
1166b46d461dSEd Maste.Ql ${SRCTOP:H}/error )
1167b46d461dSEd Masteto help with failure analysis.
1168b46d461dSEd MasteDepends on
1169b46d461dSEd Maste.Va WITH_META_MODE .
1170b46d461dSEd MasteThis default when
1171b46d461dSEd Maste.Va WITH_DIRDEPS_BUILD
1172b46d461dSEd Masteis set.
1173b46d461dSEd Maste.Pp
1174b46d461dSEd MasteThis must be set in the environment, make command line, or
1175b46d461dSEd Maste.Pa /etc/src-env.conf ,
1176b46d461dSEd Mastenot
1177b46d461dSEd Maste.Pa /etc/src.conf .
1178cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1179344e2bb9SEd MasteCreate
1180be894451SBryan Drewery.Xr make 1
1181be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1182be894451SBryan Dreweryusing
1183be894451SBryan Drewery.Xr filemon 4 .
1184344e2bb9SEd MasteThe meta file is created in OBJDIR as
1185be894451SBryan Drewery.Pa target.meta .
1186344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1187344e2bb9SEd Mastecurrent directory.
11882710e62cSBryan DreweryThe
11897f76a95cSBryan Drewery.Xr filemon 4
11902710e62cSBryan Drewerymodule is required unless
11912710e62cSBryan Drewery.Va NO_FILEMON
11922710e62cSBryan Dreweryis defined.
1193344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1194344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1195344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1196344e2bb9SEd Masteconditions are true compared to the last build:
1197be894451SBryan Drewery.Bl -bullet -compact
1198be894451SBryan Drewery.It
1199be894451SBryan DreweryThe command to execute changes.
1200be894451SBryan Drewery.It
1201be894451SBryan DreweryThe current working directory changes.
1202be894451SBryan Drewery.It
1203a4a2269eSBryan DreweryThe target's meta file is missing.
1204a4a2269eSBryan Drewery.It
1205a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1206a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1207be894451SBryan Drewery.It
1208be894451SBryan Drewery[requires
1209be894451SBryan Drewery.Xr filemon 4 ]
1210be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1211be894451SBryan Drewery.It
1212be894451SBryan Drewery[requires
1213be894451SBryan Drewery.Xr filemon 4 ]
1214be894451SBryan DreweryFiles read, written, executed or linked are missing.
1215be894451SBryan Drewery.El
12167f76a95cSBryan DreweryThe meta files can also be useful for debugging.
12177f76a95cSBryan Drewery.Pp
1218344e2bb9SEd MasteThe build hides commands that are executed unless
12197f76a95cSBryan Drewery.Va NO_SILENT
12207f76a95cSBryan Dreweryis defined.
1221344e2bb9SEd MasteErrors cause
12222710e62cSBryan Drewery.Xr make 1
12232710e62cSBryan Dreweryto show some of its environment for further debugging.
12240a70ef02SBryan Drewery.Pp
1225be894451SBryan DreweryThe build operates as it normally would otherwise.
1226be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1227be894451SBryan Dreweryto
1228be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1229be894451SBryan Drewery.Pp
1230ba852870SBryan DreweryThis must be set in the environment, make command line, or
12310a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
12320a70ef02SBryan Drewerynot
12330a70ef02SBryan Drewery.Pa /etc/src.conf .
1234912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1235041c5049SEd MasteDo not build
1236912aad0fSKyle Evans.Xr mlx5tool 8
1237912aad0fSKyle Evans.Pp
1238912aad0fSKyle EvansThis is a default setting on
1239391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
1240912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1241041c5049SEd MasteBuild
1242912aad0fSKyle Evans.Xr mlx5tool 8
1243912aad0fSKyle Evans.Pp
1244912aad0fSKyle EvansThis is a default setting on
1245ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
124690be798eSDimitry Andric.It Va WITHOUT_NETCAT
1247041c5049SEd MasteDo not build
124890be798eSDimitry Andric.Xr nc 1
124990be798eSDimitry Andricutility.
125090be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1251041c5049SEd MasteDo not build applications to support
125290be798eSDimitry Andric.Xr netgraph 4 .
1253344e2bb9SEd MasteWhen set, it enforces these options:
125490be798eSDimitry Andric.Pp
125590be798eSDimitry Andric.Bl -item -compact
125690be798eSDimitry Andric.It
125790be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1258bf64e879SBryan Drewery.El
1259bf64e879SBryan Drewery.Pp
1260bf64e879SBryan DreweryWhen set, these options are also in effect:
1261bf64e879SBryan Drewery.Pp
1262bf64e879SBryan Drewery.Bl -inset -compact
1263bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1264bf64e879SBryan Drewery(unless
1265bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1266bf64e879SBryan Dreweryis set explicitly)
126790be798eSDimitry Andric.El
126890be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1269041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
1270153145efSBaptiste Daroussin.It Va WITHOUT_NETLINK
1271153145efSBaptiste DaroussinDo not build
1272153145efSBaptiste Daroussin.Xr genl 1
1273153145efSBaptiste Daroussinutility.
127496aedfd5SEd Maste.It Va WITHOUT_NETLINK_SUPPORT
127596aedfd5SEd MasteMake libraries and programs use rtsock and
127696aedfd5SEd Maste.Xr sysctl 3
127796aedfd5SEd Masteinterfaces instead of
127896aedfd5SEd Maste.Xr snl 3 .
127990be798eSDimitry Andric.It Va WITHOUT_NIS
1280dcdf4c1aSGleb PopovDo not build
1281dcdf4c1aSGleb Popov.Xr NIS 8
128290be798eSDimitry Andricsupport and related programs.
128390be798eSDimitry AndricIf set, you might need to adopt your
128490be798eSDimitry Andric.Xr nsswitch.conf 5
128590be798eSDimitry Andricand remove
128690be798eSDimitry Andric.Sq nis
128790be798eSDimitry Andricentries.
128890be798eSDimitry Andric.It Va WITHOUT_NLS
1289041c5049SEd MasteDo not build NLS catalogs.
129057a87b06SEnji CooperWhen set, it enforces these options:
129157a87b06SEnji Cooper.Pp
129257a87b06SEnji Cooper.Bl -item -compact
129357a87b06SEnji Cooper.It
129457a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
129557a87b06SEnji Cooper.El
129690be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1297041c5049SEd MasteDo not build NLS catalog support for
129890be798eSDimitry Andric.Xr csh 1 .
129990be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1300041c5049SEd MasteDisable name caching in the
130190be798eSDimitry Andric.Pa nsswitch
130290be798eSDimitry Andricsubsystem.
130390be798eSDimitry AndricThe generic caching daemon,
130490be798eSDimitry Andric.Xr nscd 8 ,
130590be798eSDimitry Andricwill not be built either if this option is set.
130690be798eSDimitry Andric.It Va WITHOUT_NTP
1307041c5049SEd MasteDo not build
130890be798eSDimitry Andric.Xr ntpd 8
130990be798eSDimitry Andricand related programs.
13108edab9cdSWarner Losh.It Va WITHOUT_NVME
1311041c5049SEd MasteDo not build nvme related tools and kernel modules.
13128edab9cdSWarner Losh.Pp
13138edab9cdSWarner LoshThis is a default setting on
1314391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
13158edab9cdSWarner Losh.It Va WITH_NVME
1316041c5049SEd MasteBuild nvme related tools and kernel modules.
13178edab9cdSWarner Losh.Pp
13188edab9cdSWarner LoshThis is a default setting on
13198cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1320d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1321bd258f88SEd MasteDo not build the
132290be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1323bd258f88SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
13243f9c1b2cSEd Maste.Pp
13253f9c1b2cSEd MasteThis is a default setting on
1326391e1f23SEd Mastearm/armv7.
1327d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1328d0ca28d7SKonstantin Belousov.Pp
1329d0ca28d7SKonstantin Belousov.Bl -item -compact
1330d0ca28d7SKonstantin Belousov.It
1331d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1332d0ca28d7SKonstantin Belousov.El
1333c5819624SEd Maste.It Va WITH_OFED
1334c5819624SEd MasteBuild the
1335c5819624SEd Maste.Dq "OpenFabrics Enterprise Distribution"
1336c5819624SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
1337c5819624SEd Maste.Pp
1338c5819624SEd MasteThis is a default setting on
1339d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
13404a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1341041c5049SEd MasteBuild the non-essential components of the
13424a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
13434a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
134490be798eSDimitry Andric.It Va WITH_OPENLDAP
13457587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1346b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1347041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1348b0840a28SDimitry Andric.Pp
1349b0840a28SDimitry AndricThis is a default setting on
1350391e1f23SEd Mastearm/armv7 and powerpc/powerpc.
1351b0840a28SDimitry Andric.It Va WITH_OPENMP
1352041c5049SEd MasteBuild LLVM's OpenMP runtime.
1353b0840a28SDimitry Andric.Pp
1354b0840a28SDimitry AndricThis is a default setting on
1355d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
135690be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1357041c5049SEd MasteDo not build OpenSSH.
135890be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1359041c5049SEd MasteDo not build OpenSSL.
1360344e2bb9SEd MasteWhen set, it enforces these options:
136190be798eSDimitry Andric.Pp
136290be798eSDimitry Andric.Bl -item -compact
136390be798eSDimitry Andric.It
13649f4e04c1SEd Maste.Va WITHOUT_DMAGENT
13659f4e04c1SEd Maste.It
136690be798eSDimitry Andric.Va WITHOUT_KERBEROS
136790be798eSDimitry Andric.It
1368fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1369fb27d7aeSEd Maste.It
1370da39b3adSEd Maste.Va WITHOUT_LDNS
1371da39b3adSEd Maste.It
1372da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1373da39b3adSEd Maste.It
1374379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
1375379954d0SJessica Clarke.It
137690be798eSDimitry Andric.Va WITHOUT_OPENSSH
1377da39b3adSEd Maste.It
1378ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1379ac56b22fSEd Maste.It
1380116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1381116f7fccSEd Maste.It
1382da39b3adSEd Maste.Va WITHOUT_UNBOUND
1383243125c8SMitchell Horne.It
1384243125c8SMitchell Horne.Va WITHOUT_ZFS
138590be798eSDimitry Andric.El
138690be798eSDimitry Andric.Pp
1387344e2bb9SEd MasteWhen set, these options are also in effect:
138890be798eSDimitry Andric.Pp
138990be798eSDimitry Andric.Bl -inset -compact
139090be798eSDimitry Andric.It Va WITHOUT_GSSAPI
139190be798eSDimitry Andric(unless
139290be798eSDimitry Andric.Va WITH_GSSAPI
139390be798eSDimitry Andricis set explicitly)
139490be798eSDimitry Andric.El
1395ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1396041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1397ae257282SJohn Baldwin.Pp
1398ae257282SJohn BaldwinThis is a default setting on
1399391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc and riscv/riscv64.
1400ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1401041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1402ae257282SJohn Baldwin.Pp
1403ae257282SJohn BaldwinThis is a default setting on
1404cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
140590be798eSDimitry Andric.It Va WITHOUT_PAM
1406041c5049SEd MasteDo not build PAM library and modules.
140790be798eSDimitry Andric.Bf -symbolic
140890be798eSDimitry AndricThis option is deprecated and does nothing.
140990be798eSDimitry Andric.Ef
1410bf64e879SBryan DreweryWhen set, these options are also in effect:
141190be798eSDimitry Andric.Pp
1412bf64e879SBryan Drewery.Bl -inset -compact
1413bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1414bf64e879SBryan Drewery(unless
1415bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1416bf64e879SBryan Dreweryis set explicitly)
141790be798eSDimitry Andric.El
141890be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1419041c5049SEd MasteBuild some programs without PAM support, particularly
142090be798eSDimitry Andric.Xr ftpd 8
142190be798eSDimitry Andricand
142290be798eSDimitry Andric.Xr ppp 8 .
142390be798eSDimitry Andric.It Va WITHOUT_PF
1424041c5049SEd MasteDo not build PF firewall package.
1425344e2bb9SEd MasteWhen set, it enforces these options:
142690be798eSDimitry Andric.Pp
142790be798eSDimitry Andric.Bl -item -compact
142890be798eSDimitry Andric.It
142990be798eSDimitry Andric.Va WITHOUT_AUTHPF
143090be798eSDimitry Andric.El
1431ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1432ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1433b3a27c81SEd MastePosition-Independent Executable (PIE).
14343f9c1b2cSEd Maste.Pp
14353f9c1b2cSEd MasteThis is a default setting on
1436391e1f23SEd Mastearm/armv7, i386/i386 and powerpc/powerpc.
14373f9c1b2cSEd Maste.It Va WITH_PIE
14383f9c1b2cSEd MasteBuild dynamically linked binaries as
14393f9c1b2cSEd MastePosition-Independent Executable (PIE).
14403f9c1b2cSEd Maste.Pp
14413f9c1b2cSEd MasteThis is a default setting on
1442d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
144390be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1444041c5049SEd MasteDo not build
144590be798eSDimitry Andric.Xr pkg 7
144690be798eSDimitry Andricbootstrap tool.
144790be798eSDimitry Andric.It Va WITHOUT_PMC
1448041c5049SEd MasteDo not build
144990be798eSDimitry Andric.Xr pmccontrol 8
145090be798eSDimitry Andricand related programs.
145190be798eSDimitry Andric.It Va WITHOUT_PPP
1452041c5049SEd MasteDo not build
145390be798eSDimitry Andric.Xr ppp 8
145490be798eSDimitry Andricand related programs.
14554c033a73SEnji Cooper.It Va WITH_PROFILE
1456041c5049SEd MasteBuild profiled libraries for use with
14574c033a73SEnji Cooper.Xr gprof 8 .
145813cf4313SEd MasteThis option is deprecated and may not be present in a future version of
145913cf4313SEd Maste.Fx .
146097f14168SKonstantin Belousov.It Va WITHOUT_PTHREADS_ASSERTIONS
146197f14168SKonstantin BelousovDisable debugging assertions in pthreads library.
146290be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1463041c5049SEd MasteDo not build
146423a6b49aSEdward Tomasz Napierala.Xr quota 1
146590be798eSDimitry Andricand related programs.
14660e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1467041c5049SEd MasteDo not build radius support into various applications, like
14680e0e9604SEnji Cooper.Xr pam_radius 8
14690e0e9604SEnji Cooperand
14700e0e9604SEnji Cooper.Xr ppp 8 .
147188342134SEnji Cooper.It Va WITH_RATELIMIT
1472041c5049SEd MasteBuild the system with rate limit support.
147388342134SEnji Cooper.Pp
147488342134SEnji CooperThis makes
147588342134SEnji Cooper.Dv SO_MAX_PACING_RATE
147688342134SEnji Coopereffective in
147788342134SEnji Cooper.Xr getsockopt 2 ,
147888342134SEnji Cooperand
147988342134SEnji Cooper.Ar txrlimit
148088342134SEnji Coopersupport in
148188342134SEnji Cooper.Xr ifconfig 8 ,
148288342134SEnji Cooperby proxy.
14830e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1484041c5049SEd MasteDo not build or install
14850e0e9604SEnji Cooper.Xr rbootd 8 .
1486a8af3aeeSEd Maste.It Va WITHOUT_RELRO
1487a8af3aeeSEd MasteDo not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1488a8af3aeeSEd MasteSee also the
1489a8af3aeeSEd Maste.Va BIND_NOW
1490a8af3aeeSEd Masteoption.
149185d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1492041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
149385d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
149485d55309SEd Mastebit-for-bit identical output.
149590be798eSDimitry Andric.It Va WITHOUT_RESCUE
1496041c5049SEd MasteDo not build
149790be798eSDimitry Andric.Xr rescue 8 .
14988ccac680SEd Maste.It Va WITH_RETPOLINE
1499041c5049SEd MasteBuild the base system with the retpoline speculative execution
15008ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
150190be798eSDimitry Andric.It Va WITHOUT_ROUTED
1502041c5049SEd MasteDo not build
150390be798eSDimitry Andric.Xr routed 8
150490be798eSDimitry Andricutility.
15054c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1506041c5049SEd MasteBuild
15074c033a73SEnji Cooper.Xr rpcbind 8
15084c033a73SEnji Cooperwith warmstart support.
1509c5819624SEd Maste.It Va WITHOUT_SCTP_SUPPORT
1510c5819624SEd MasteDisable support in the kernel for the
1511c5819624SEd Maste.Xr sctp 4
1512c5819624SEd MasteStream Control Transmission Protocol
1513c5819624SEd Masteloadable kernel module.
151490be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1515041c5049SEd MasteDo not build
151690be798eSDimitry Andric.Xr sendmail 8
151790be798eSDimitry Andricand related programs.
1518e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1519041c5049SEd MasteDo not install
1520e8788097SKonstantin Belousov.Pa /var/db/services.db .
152190be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
152290be798eSDimitry AndricSet this to disable the installation of
152390be798eSDimitry Andric.Xr login 1
152490be798eSDimitry Andricas a set-user-ID root program.
152590be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1526041c5049SEd MasteDo not build the
152790be798eSDimitry Andric.Bx 4.4
152890be798eSDimitry Andriclegacy docs.
152990be798eSDimitry Andric.It Va WITH_SORT_THREADS
1530041c5049SEd MasteEnable threads in
153190be798eSDimitry Andric.Xr sort 1 .
153290be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1533041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1534344e2bb9SEd MasteWhen set, it enforces these options:
153590be798eSDimitry Andric.Pp
153690be798eSDimitry Andric.Bl -item -compact
153790be798eSDimitry Andric.It
153890be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
153990be798eSDimitry Andric.It
154090be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
154190be798eSDimitry Andric.El
154290be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1543041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
154490be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1545041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
1546330b7dccSEd Maste.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1547330b7dccSEd MasteDo not build standalone kernel debug files.
1548330b7dccSEd MasteDebug data (if enabled by the kernel configuration file)
1549330b7dccSEd Mastewill be included in the kernel and modules.
1550330b7dccSEd MasteWhen set, it enforces these options:
1551330b7dccSEd Maste.Pp
1552330b7dccSEd Maste.Bl -item -compact
1553330b7dccSEd Maste.It
1554330b7dccSEd Maste.Va WITHOUT_KERNEL_SYMBOLS
1555330b7dccSEd Maste.El
155690be798eSDimitry Andric.It Va WITHOUT_SSP
15575449d014SEd MasteDo not build world with stack smashing protection.
1558cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1559cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1560cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1561cc2520d2SSimon J. Gerraty.Va DESTDIR
1562cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1563cc2520d2SSimon J. GerratyDepends on
156432b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1565344e2bb9SEd MasteWhen set, these options are also in effect:
1566cc2520d2SSimon J. Gerraty.Pp
1567cc2520d2SSimon J. Gerraty.Bl -inset -compact
1568cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1569cc2520d2SSimon J. Gerraty(unless
1570cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1571cc2520d2SSimon J. Gerratyis set explicitly)
1572cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1573cc2520d2SSimon J. Gerraty(unless
1574cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1575cc2520d2SSimon J. Gerratyis set explicitly)
1576cc2520d2SSimon J. Gerraty.El
15770a70ef02SBryan Drewery.Pp
1578ba852870SBryan DreweryThis must be set in the environment, make command line, or
15790a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15800a70ef02SBryan Drewerynot
15810a70ef02SBryan Drewery.Pa /etc/src.conf .
1582cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1583344e2bb9SEd MasteEnable staging of man pages to stage tree.
1584cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1585cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1586cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1587cc2520d2SSimon J. GerratyCheck staged files are not stale.
1588de19b521SDimitry Andric.It Va WITHOUT_STATS
1589041c5049SEd MasteNeither build nor install
1590de19b521SDimitry Andric.Lb libstats
1591de19b521SDimitry Andricand dependent binaries.
159290be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1593041c5049SEd MasteDo not build
159490be798eSDimitry Andric.Xr syscons 4
159590be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1596cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1597cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1598cc2520d2SSimon J. GerratyDepends on
159932b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
16000a70ef02SBryan Drewery.Pp
1601ba852870SBryan DreweryThis must be set in the environment, make command line, or
16020a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
16030a70ef02SBryan Drewerynot
16040a70ef02SBryan Drewery.Pa /etc/src.conf .
16058095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1606041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1607a9da9b86SBryan Drewerybootstrap phase of the build.
16088095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
16098095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1610a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1611a9da9b86SBryan Dreweryonly for building one for the build itself.
1612a9da9b86SBryan DreweryThe
1613a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1614a5798ec8SEd Masteoption controls that.
1615be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1616041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1617be9309deSBryan Drewerybootstrap phase of the build.
1618be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1619be9309deSBryan Drewerylinker type and revision, then it will not be built.
1620be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1621be9309deSBryan Dreweryonly for building one for the build itself.
1622be9309deSBryan DreweryThe
1623be9309deSBryan Drewery.Va WITHOUT_LLD
16242ea16071SEd Masteoption controls that.
1625be9309deSBryan Drewery.Pp
1626be9309deSBryan DreweryThis option is only relevant when
1627be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1628be9309deSBryan Dreweryis set.
162993da8366SEnji Cooper.It Va WITHOUT_TALK
1630041c5049SEd MasteDo not build or install
163193da8366SEnji Cooper.Xr talk 1
163293da8366SEnji Cooperand
163393da8366SEnji Cooper.Xr talkd 8 .
16340e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1635041c5049SEd MasteDo not build or install
16360e0e9604SEnji Cooper.Xr tcpd 8 ,
16370e0e9604SEnji Cooperand related utilities.
163890be798eSDimitry Andric.It Va WITHOUT_TCSH
1639041c5049SEd MasteDo not build and install
164090be798eSDimitry Andric.Pa /bin/csh
164190be798eSDimitry Andric(which is
164290be798eSDimitry Andric.Xr tcsh 1 ) .
164390be798eSDimitry Andric.It Va WITHOUT_TELNET
1644041c5049SEd MasteDo not build
164523a6b49aSEdward Tomasz Napierala.Xr telnet 1
164690be798eSDimitry Andricand related programs.
164718c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1648041c5049SEd MasteDo not build nor install the
164990be798eSDimitry Andric.Fx
165090be798eSDimitry AndricTest Suite in
165190be798eSDimitry Andric.Pa /usr/tests/ .
165290be798eSDimitry AndricSee
165390be798eSDimitry Andric.Xr tests 7
165490be798eSDimitry Andricfor more details.
165518c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1656344e2bb9SEd MasteWhen set, it enforces these options:
1657c5d09a87SGlen Barber.Pp
1658c5d09a87SGlen Barber.Bl -item -compact
1659c5d09a87SGlen Barber.It
166016f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1661bf64e879SBryan Drewery.El
1662bf64e879SBryan Drewery.Pp
1663bf64e879SBryan DreweryWhen set, these options are also in effect:
1664bf64e879SBryan Drewery.Pp
1665bf64e879SBryan Drewery.Bl -inset -compact
16667840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
16677840b63aSEnji Cooper(unless
16687840b63aSEnji Cooper.Va WITH_GOOGLETEST
16697840b63aSEnji Cooperis set explicitly)
1670bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1671bf64e879SBryan Drewery(unless
1672bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1673bf64e879SBryan Dreweryis set explicitly)
1674c5d09a87SGlen Barber.El
1675c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1676041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
16777840b63aSEnji CooperWhen set, it enforces these options:
16787840b63aSEnji Cooper.Pp
16797840b63aSEnji Cooper.Bl -item -compact
16807840b63aSEnji Cooper.It
16817840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
16827840b63aSEnji Cooper.El
168390be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1684041c5049SEd MasteDo not build
168590be798eSDimitry Andricprograms used for text processing.
16860e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1687041c5049SEd MasteDo not build or install
16880e0e9604SEnji Cooper.Xr tftp 1
16890e0e9604SEnji Cooperand
16900e0e9604SEnji Cooper.Xr tftpd 8 .
169190be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
169283d57250SEd MasteDo not install
169390be798eSDimitry Andricprograms used for program development,
169490be798eSDimitry Andriccompilers, debuggers etc.
1695344e2bb9SEd MasteWhen set, it enforces these options:
169690be798eSDimitry Andric.Pp
169790be798eSDimitry Andric.Bl -item -compact
169890be798eSDimitry Andric.It
169990be798eSDimitry Andric.Va WITHOUT_CLANG
170090be798eSDimitry Andric.It
170190be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
170290be798eSDimitry Andric.It
170319267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
170419267656SConrad Meyer.It
170590be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
170690be798eSDimitry Andric.It
17076c2b7edaSEd Maste.Va WITHOUT_LLD
17086c2b7edaSEd Maste.It
17093d02549fSBryan Drewery.Va WITHOUT_LLDB
17105b9c3654SEd Maste.It
17115b9c3654SEd Maste.Va WITHOUT_LLVM_COV
171290be798eSDimitry Andric.El
17130ab89d72SEd Maste.It Va WITH_UBSAN
17140ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
17150ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
17160ab89d72SEd MasteRequires that Clang be used as the base system compiler
17170ab89d72SEd Masteand that the runtime support library is available
171890be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1719041c5049SEd MasteDo not build
172090be798eSDimitry Andric.Xr unbound 8
172190be798eSDimitry Andricand related programs.
1722efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1723041c5049SEd MasteUse the historical object directory format for
1724efb949a6SBryan Drewery.Xr build 7
1725efb949a6SBryan Drewerytargets.
1726efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1727efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1728efb949a6SBryan Dreweryis used,
1729efb949a6SBryan Drewerywhile for cross-builds
1730efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1731efb949a6SBryan Dreweryis used.
1732efb949a6SBryan Drewery.Pp
1733b7f53cdcSEd MasteThis option is transitional and will be removed in a future version of
1734b7f53cdcSEd Maste.Fx ,
1735efb949a6SBryan Dreweryat which time
173616ee5cd1SChristian Brueffer.Va WITH_UNIFIED_OBJDIR
1737efb949a6SBryan Drewerywill be enabled permanently.
1738efb949a6SBryan Drewery.Pp
1739efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1740efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1741efb949a6SBryan Drewerynot
1742efb949a6SBryan Drewery.Pa /etc/src.conf .
174390be798eSDimitry Andric.It Va WITHOUT_USB
1744041c5049SEd MasteDo not build USB-related programs and libraries.
1745c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1746041c5049SEd MasteDo not build USB gadget kernel modules.
174790be798eSDimitry Andric.It Va WITHOUT_UTMPX
1748041c5049SEd MasteDo not build user accounting tools such as
174990be798eSDimitry Andric.Xr last 1 ,
175090be798eSDimitry Andric.Xr users 1 ,
175190be798eSDimitry Andric.Xr who 1 ,
175290be798eSDimitry Andric.Xr ac 8 ,
175390be798eSDimitry Andric.Xr lastlogin 8
175490be798eSDimitry Andricand
175590be798eSDimitry Andric.Xr utx 8 .
1756bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1757bfdf8aa9SJohn BaldwinEnable building
1758bfdf8aa9SJohn Baldwin.Xr veriexec 8
1759bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1760bfdf8aa9SJohn Baldwinfor use by
1761bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1762bfdf8aa9SJohn Baldwin.Pp
1763de19b521SDimitry AndricDepends on
1764de19b521SDimitry Andric.Va WITH_BEARSSL .
176590be798eSDimitry Andric.It Va WITHOUT_VI
1766041c5049SEd MasteDo not build and install vi, view, ex and related programs.
176790be798eSDimitry Andric.It Va WITHOUT_VT
1768041c5049SEd MasteDo not build
176990be798eSDimitry Andric.Xr vt 4
177090be798eSDimitry Andricsupport files (fonts and keymaps).
177190be798eSDimitry Andric.It Va WITHOUT_WARNS
177290be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
177390be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
177490be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1775559f9bfcSJens Schweikhardtoriginal developer.
1776f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1777f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1778f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1779f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
178090be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1781041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
178290be798eSDimitry Andric.Xr wpa_supplicant 8
178390be798eSDimitry Andricand
178490be798eSDimitry Andric.Xr hostapd 8 .
1785bf64e879SBryan DreweryWhen set, these options are also in effect:
178690be798eSDimitry Andric.Pp
1787bf64e879SBryan Drewery.Bl -inset -compact
1788bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1789bf64e879SBryan Drewery(unless
1790bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1791bf64e879SBryan Dreweryis set explicitly)
179290be798eSDimitry Andric.El
179390be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1794041c5049SEd MasteBuild libraries, programs, and kernel modules without
179590be798eSDimitry Andric802.11 wireless support.
179690be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
179790be798eSDimitry AndricBuild
179890be798eSDimitry Andric.Xr wpa_supplicant 8
179990be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
180090be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
180190be798eSDimitry Andricprotocols (usable only via 802.1X).
180290be798eSDimitry Andric.It Va WITHOUT_ZFS
18034be63587SMark JohnstonDo not build the ZFS file system kernel module, libraries such as
18044be63587SMark Johnston.Xr libbe 3 ,
18054be63587SMark Johnstonand user commands such as
18064be63587SMark Johnston.Xr zpool 8
18074be63587SMark Johnstonor
18084be63587SMark Johnston.Xr zfs 8 .
18094be63587SMark JohnstonAlso disable ZFS support in utilities and libraries which implement
18104be63587SMark JohnstonZFS-specific functionality.
181190be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1812041c5049SEd MasteDo not build the timezone database.
18135c021049SEnji CooperWhen set, it enforces these options:
18145c021049SEnji Cooper.Pp
18155c021049SEnji Cooper.Bl -item -compact
18165c021049SEnji Cooper.It
18175c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
18185c021049SEnji Cooper.El
18195c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1820041c5049SEd MasteBuild leapsecond information in to the timezone database.
182190be798eSDimitry Andric.El
18223fe97711SBrooks Davis.Pp
18233fe97711SBrooks DavisThe following options accept a single value from a list of valid values.
18243fe97711SBrooks Davis.Bl -tag -width indent
18253fe97711SBrooks Davis.It Va INIT_ALL
18263fe97711SBrooks DavisControl default initialization of stack variables in C and C++ code.
18273fe97711SBrooks DavisOptions other than
18283fe97711SBrooks Davis.Li none
18293fe97711SBrooks Davisrequire the Clang compiler or GCC 12.0 or later.
18303fe97711SBrooks DavisThe default value is
18313fe97711SBrooks Davis.Li none .
18323fe97711SBrooks DavisValid values are:
18333fe97711SBrooks Davis.Bl -tag -width indent
18343fe97711SBrooks Davis.It Li none
18353fe97711SBrooks DavisDo not initialize stack variables (standard C/C++ behavior).
18363fe97711SBrooks Davis.It Li pattern
18373fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized to
18383fe97711SBrooks Davis.Pq compiler defined
18393fe97711SBrooks Davisdebugging patterns on function entry.
18403fe97711SBrooks Davis.It Li zero
18413fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized
18423fe97711SBrooks Davisto zero on function entry.
18433fe97711SBrooks DavisThis value is converted to
18443fe97711SBrooks Davis.Li none
18453fe97711SBrooks Davisfor amd64 kernel builds due to incompatability with ifunc memset.
18463fe97711SBrooks Davis.El
18473fe97711SBrooks Davis.It Va LIBC_MALLOC
18483fe97711SBrooks DavisSpecify the
18493fe97711SBrooks Davis.Xr malloc 3
1850a89e98ecSBrooks Davisimplementation used by libc.
18513fe97711SBrooks DavisThe default value is
18523fe97711SBrooks Davis.Li jemalloc .
18533fe97711SBrooks DavisValid values are:
18543fe97711SBrooks Davis.Bl -tag -width indent
18553fe97711SBrooks Davis.It Li jemalloc
18563fe97711SBrooks Davis.El
18573fe97711SBrooks Davis.Pp
18583fe97711SBrooks DavisOther implementations are expected in the future in both
18593fe97711SBrooks Davis.Fx
18603fe97711SBrooks Davisand downstream consumers.
18613fe97711SBrooks Davis.El
186290be798eSDimitry Andric.Sh FILES
186390be798eSDimitry Andric.Bl -tag -compact -width Pa
186490be798eSDimitry Andric.It Pa /etc/src.conf
18650a70ef02SBryan Drewery.It Pa /etc/src-env.conf
186690be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
186790be798eSDimitry Andric.El
186890be798eSDimitry Andric.Sh SEE ALSO
186990be798eSDimitry Andric.Xr make 1 ,
187090be798eSDimitry Andric.Xr make.conf 5 ,
187190be798eSDimitry Andric.Xr build 7 ,
187290be798eSDimitry Andric.Xr ports 7
187390be798eSDimitry Andric.Sh HISTORY
187490be798eSDimitry AndricThe
187590be798eSDimitry Andric.Nm
187690be798eSDimitry Andricfile appeared in
187790be798eSDimitry Andric.Fx 7.0 .
187890be798eSDimitry Andric.Sh AUTHORS
187988342134SEnji CooperThis manual page was autogenerated by
1880a121d3a8SEnji Cooper.An tools/build/options/makeman .
1881