xref: /freebsd/share/man/man5/src.conf.5 (revision ce37de8e05b233bc50de2c7678ee841573e6a7e2)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2*ce37de8eSEd Maste.Dd October 29, 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.
47352fe961cSBaptiste Daroussin.It Va WITH_DIALOG
47452fe961cSBaptiste 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.
6443f9c1b2cSEd Maste.It Va WITHOUT_FDT
6453f9c1b2cSEd MasteDo not build Flattened Device Tree support as part of the base system.
6463f9c1b2cSEd MasteThis includes the device tree compiler (dtc) and libfdt support library.
6473f9c1b2cSEd Maste.Pp
6483f9c1b2cSEd MasteThis is a default setting on
6493f9c1b2cSEd Masteamd64/amd64 and i386/i386.
650a8af3aeeSEd Maste.It Va WITH_FDT
651a8af3aeeSEd MasteBuild Flattened Device Tree support as part of the base system.
65290be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6533f9c1b2cSEd Maste.Pp
6543f9c1b2cSEd MasteThis is a default setting on
655391e1f23SEd Mastearm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
6560e0e9604SEnji Cooper.It Va WITHOUT_FILE
657041c5049SEd MasteDo not build
6580e0e9604SEnji Cooper.Xr file 1
6590e0e9604SEnji Cooperand related programs.
6600e0e9604SEnji Cooper.It Va WITHOUT_FINGER
661041c5049SEd MasteDo not build or install
6620e0e9604SEnji Cooper.Xr finger 1
6630e0e9604SEnji Cooperand
6640e0e9604SEnji Cooper.Xr fingerd 8 .
66590be798eSDimitry Andric.It Va WITHOUT_FLOPPY
666041c5049SEd MasteDo not build or install programs
66790be798eSDimitry Andricfor operating floppy disk driver.
668a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
669041c5049SEd MasteDo not enable
670a0f6423bSEd Maste.Fl fformat-extensions
671a0f6423bSEd Mastewhen compiling the kernel.
672a0f6423bSEd MasteAlso disables all format checking.
67390be798eSDimitry Andric.It Va WITHOUT_FORTH
674041c5049SEd MasteBuild bootloaders without Forth support.
67590be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
676041c5049SEd MasteBuild
67790be798eSDimitry Andric.Nm libc
67890be798eSDimitry Andricwithout floating-point support.
67990be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
680041c5049SEd MasteDo not build
68190be798eSDimitry Andric.Xr freebsd-update 8 .
6820e0e9604SEnji Cooper.It Va WITHOUT_FTP
683041c5049SEd MasteDo not build or install
6840e0e9604SEnji Cooper.Xr ftp 1
6850e0e9604SEnji Cooperand
6860e0e9604SEnji Cooper.Xr ftpd 8 .
68790be798eSDimitry Andric.It Va WITHOUT_GAMES
688041c5049SEd MasteDo not build games.
689160ea953SStefan Eßer.It Va WITHOUT_GH_BC
690041c5049SEd MasteInstall the traditional FreeBSD
69168c8c1a7SStefan Eßer.Xr bc 1
692160ea953SStefan Eßerand
69368c8c1a7SStefan Eßer.Xr dc 1
694041c5049SEd Masteprograms instead of the enhanced versions.
69536e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
696041c5049SEd MasteDo not build GNU
69736e8c7bbSEd Maste.Xr diff3 1 .
6987840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
699041c5049SEd MasteNeither build nor install
7007840b63aSEnji Cooper.Lb libgmock ,
7017840b63aSEnji Cooper.Lb libgtest ,
7027840b63aSEnji Cooperand dependent tests.
70390be798eSDimitry Andric.It Va WITHOUT_GPIO
704041c5049SEd MasteDo not build
70590be798eSDimitry Andric.Xr gpioctl 8
70690be798eSDimitry Andricas part of the base system.
70790be798eSDimitry Andric.It Va WITHOUT_GSSAPI
708041c5049SEd MasteDo not build libgssapi.
70961940879SEnji Cooper.It Va WITHOUT_HAST
710041c5049SEd MasteDo not build
71161940879SEnji Cooper.Xr hastd 8
71261940879SEnji Cooperand related utilities.
71390be798eSDimitry Andric.It Va WITH_HESIOD
714041c5049SEd MasteBuild Hesiod support.
71590be798eSDimitry Andric.It Va WITHOUT_HTML
716041c5049SEd MasteDo not build HTML docs.
7172c4b4abcSXin LI.It Va WITHOUT_HYPERV
718041c5049SEd MasteDo not build or install HyperV utilities.
7190543ade3SBrooks Davis.Pp
7200543ade3SBrooks DavisThis is a default setting on
721391e1f23SEd Mastearm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
7220543ade3SBrooks Davis.It Va WITH_HYPERV
723041c5049SEd MasteBuild or install HyperV utilities.
7240543ade3SBrooks Davis.Pp
7250543ade3SBrooks DavisThis is a default setting on
72607853c6cSEd Masteamd64/amd64, arm64/aarch64 and i386/i386.
72790be798eSDimitry Andric.It Va WITHOUT_ICONV
728041c5049SEd MasteDo not build iconv as part of libc.
729c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
730041c5049SEd MasteDo not install header files.
731c5d09a87SGlen BarberThis option used to be spelled
732c5d09a87SGlen Barber.Va NO_INCS .
733c5d09a87SGlen Barber.Bf -symbolic
734c5d09a87SGlen BarberThe option does not work for build targets.
735c5d09a87SGlen Barber.Ef
73690be798eSDimitry Andric.It Va WITHOUT_INET
737041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
738344e2bb9SEd MasteWhen set, it enforces these options:
73990be798eSDimitry Andric.Pp
74090be798eSDimitry Andric.Bl -item -compact
74190be798eSDimitry Andric.It
74290be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
74390be798eSDimitry Andric.El
74490be798eSDimitry Andric.It Va WITHOUT_INET6
745041c5049SEd MasteDo not build
74690be798eSDimitry Andricprograms and libraries related to IPv6 networking.
747344e2bb9SEd MasteWhen set, it enforces these options:
74890be798eSDimitry Andric.Pp
74990be798eSDimitry Andric.Bl -item -compact
75090be798eSDimitry Andric.It
75190be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
75290be798eSDimitry Andric.El
75390be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
754041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7550e0e9604SEnji Cooper.It Va WITHOUT_INETD
756041c5049SEd MasteDo not build
7570e0e9604SEnji Cooper.Xr inetd 8 .
75890be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
759041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
76090be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
761344e2bb9SEd MasteSet this to not install optional libraries.
762344e2bb9SEd MasteFor example, when creating a
76390be798eSDimitry Andric.Xr nanobsd 8
76490be798eSDimitry Andricimage.
765f79bedf5SBryan Drewery.Bf -symbolic
766f79bedf5SBryan DreweryThe option does not work for build targets.
767f79bedf5SBryan Drewery.Ef
76890be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
769041c5049SEd MasteMake install targets succeed for non-root users by installing
77090be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
77190be798eSDimitry Andricthe
77290be798eSDimitry Andric.Xr make 1
77390be798eSDimitry Andriccommand.
774344e2bb9SEd MasteThe user still must set the
77590be798eSDimitry Andric.Va DESTDIR
77690be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
77790be798eSDimitry Andric.It Va WITHOUT_IPFILTER
778041c5049SEd MasteDo not build IP Filter package.
77990be798eSDimitry Andric.It Va WITHOUT_IPFW
780041c5049SEd MasteDo not build IPFW tools.
78188342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
782041c5049SEd MasteDo not build the kernel with
78388342134SEnji Cooper.Xr ipsec 4
78488342134SEnji Coopersupport.
78588342134SEnji CooperThis option is needed for
78688342134SEnji Cooper.Xr ipsec 4
78788342134SEnji Cooperand
78888342134SEnji Cooper.Xr tcpmd5 4 .
78993da8366SEnji Cooper.It Va WITHOUT_ISCSI
790041c5049SEd MasteDo not build
79126d6bbfaSSevan Janiyan.Xr iscsid 8
79293da8366SEnji Cooperand related utilities.
79390be798eSDimitry Andric.It Va WITHOUT_JAIL
794041c5049SEd MasteDo not build tools for the support of jails; e.g.,
79590be798eSDimitry Andric.Xr jail 8 .
79690be798eSDimitry Andric.It Va WITHOUT_KDUMP
797041c5049SEd MasteDo not build
79890be798eSDimitry Andric.Xr kdump 1
79990be798eSDimitry Andricand
80090be798eSDimitry Andric.Xr truss 1 .
80190be798eSDimitry Andric.It Va WITHOUT_KERBEROS
802344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
803344e2bb9SEd MasteWhen set, these options are also in effect:
80490be798eSDimitry Andric.Pp
80590be798eSDimitry Andric.Bl -inset -compact
80690be798eSDimitry Andric.It Va WITHOUT_GSSAPI
80790be798eSDimitry Andric(unless
80890be798eSDimitry Andric.Va WITH_GSSAPI
80990be798eSDimitry Andricis set explicitly)
810bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
811bf64e879SBryan Drewery(unless
812bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
813bf64e879SBryan Dreweryis set explicitly)
81490be798eSDimitry Andric.El
81590be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
816041c5049SEd MasteBuild some programs without Kerberos support, like
81790be798eSDimitry Andric.Xr ssh 1 ,
81890be798eSDimitry Andric.Xr telnet 1 ,
81990be798eSDimitry Andricand
820b4cfdbfeSBrooks Davis.Xr sshd 8 .
821*ce37de8eSEd Maste.It Va WITH_KERNEL_BIN
822*ce37de8eSEd MasteGenerate and install kernel.bin from kernel as part of the normal build and
823*ce37de8eSEd Masteinstall processes for the kernel. Available only on arm and arm64.
824*ce37de8eSEd Maste
825*ce37de8eSEd MasteUsually this will be added to the kernel config file with:
826*ce37de8eSEd Maste
827*ce37de8eSEd Mastemakeoptions	WITH_KERNEL_BIN=1
828*ce37de8eSEd Maste
829*ce37de8eSEd Mastethough it can also be used on the command line.
8306f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
831041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8326f7527f0SEd Mastebuild.
833a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
834330b7dccSEd MasteDo not install standalone kernel debug symbol files.
835330b7dccSEd MasteThis option has no effect at build time.
83690be798eSDimitry Andric.It Va WITHOUT_KVM
837041c5049SEd MasteDo not build the
83890be798eSDimitry Andric.Nm libkvm
83990be798eSDimitry Andriclibrary as a part of the base system.
84090be798eSDimitry Andric.Bf -symbolic
84190be798eSDimitry AndricThe option has no effect yet.
84290be798eSDimitry Andric.Ef
843bf64e879SBryan DreweryWhen set, these options are also in effect:
84490be798eSDimitry Andric.Pp
845bf64e879SBryan Drewery.Bl -inset -compact
846bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
847bf64e879SBryan Drewery(unless
848bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
849bf64e879SBryan Dreweryis set explicitly)
85090be798eSDimitry Andric.El
85190be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
852041c5049SEd MasteBuild some programs without optional
85390be798eSDimitry Andric.Nm libkvm
85490be798eSDimitry Andricsupport.
85590be798eSDimitry Andric.It Va WITHOUT_LDNS
85690be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
857344e2bb9SEd MasteWhen set, it enforces these options:
85890be798eSDimitry Andric.Pp
85990be798eSDimitry Andric.Bl -item -compact
86090be798eSDimitry Andric.It
86190be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
86290be798eSDimitry Andric.It
86390be798eSDimitry Andric.Va WITHOUT_UNBOUND
86490be798eSDimitry Andric.El
86590be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
86690be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
86790be798eSDimitry Andric.Xr drill 1
86890be798eSDimitry Andricand
86990be798eSDimitry Andric.Xr host 1 .
87090be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
871041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
87223a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
87390be798eSDimitry Andricand
87423a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
87590be798eSDimitry Andric.It Va WITHOUT_LIB32
876041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
87790be798eSDimitry Andric.Nm ld-elf32.so.1
87890be798eSDimitry Andricruntime linker.
879f3cdc622SEd Maste.Pp
880f3cdc622SEd MasteThis is a default setting on
881391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
882c5819624SEd Maste.It Va WITH_LIB32
883c5819624SEd MasteOn 64-bit platforms, build the 32-bit library set and a
884c5819624SEd Maste.Nm ld-elf32.so.1
885c5819624SEd Masteruntime linker.
886c5819624SEd Maste.Pp
887c5819624SEd MasteThis is a default setting on
88881a7ce44SJose Luis Duranamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
88936e8c7bbSEd Maste.It Va WITHOUT_LLD
890041c5049SEd MasteDo not build LLVM's lld linker.
8911500eb21SEd Maste.It Va WITHOUT_LLDB
892041c5049SEd MasteDo not build the LLDB debugger.
8931500eb21SEd Maste.Pp
894344e2bb9SEd MasteThis is a default setting on
895391e1f23SEd Mastearm/armv7 and riscv/riscv64.
89690be798eSDimitry Andric.It Va WITH_LLDB
897041c5049SEd MasteBuild the LLDB debugger.
8981500eb21SEd Maste.Pp
899344e2bb9SEd MasteThis is a default setting on
9002ec9a427SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
9016c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
902041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
9036c2b7edaSEd Mastethe build.
9047680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
905661cf9b6SYoshihiro Takahashi.It Va WITHOUT_LLD_IS_LD
9067680431aSEd MasteDo not install a
9077680431aSEd Maste.Pa /usr/bin/ld symlink
9087680431aSEd Masteto
9097680431aSEd Maste.Pa ld.lld .
9107680431aSEd MasteThe system will not have a usable tool chain unless a linker is provided
9117680431aSEd Mastesome other way.
912a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
913041c5049SEd MasteDisable debugging assertions in LLVM.
914ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
915a9d0665bSEd MasteInstall LLVM's binutils (without an llvm- prefix),
916a9d0665bSEd Masteinstead of ELF Tool Chain's tools.
917a9d0665bSEd MasteThis includes
918a9d0665bSEd Maste.Xr addr2line 1 ,
919a9d0665bSEd Maste.Xr ar 1 ,
920a9d0665bSEd Maste.Xr nm 1 ,
921a9d0665bSEd Maste.Xr objcopy 1 ,
922a9d0665bSEd Maste.Xr ranlib 1 ,
923a9d0665bSEd Maste.Xr readelf 1 ,
924a9d0665bSEd Maste.Xr size 1 ,
925a9d0665bSEd Masteand
926a9d0665bSEd Maste.Xr strip 1 .
927a9d0665bSEd MasteRegardless of this setting, LLVM tools are used for
928a9d0665bSEd Maste.Xr c++filt 1
929a9d0665bSEd Masteand
930a9d0665bSEd Maste.Xr objdump 1 .
931a9d0665bSEd Maste.Xr strings 1
932a9d0665bSEd Masteis always provided by ELF Tool Chain.
9335b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
934041c5049SEd MasteDo not build the
9355b9c3654SEd Maste.Xr llvm-cov 1
9365b9c3654SEd Mastetool.
9379fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9389fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
939cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
940041c5049SEd MasteDo not build LLVM target support for AArch64.
941bf64e879SBryan DreweryThe
942bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
943bf64e879SBryan Dreweryoption should be used rather than this in most cases.
944bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
945041c5049SEd MasteOnly build the required LLVM target support.
946bf64e879SBryan DreweryThis option is preferred to specific target support options.
947bf64e879SBryan DreweryWhen set, these options are also in effect:
948bf64e879SBryan Drewery.Pp
949bf64e879SBryan Drewery.Bl -inset -compact
950bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
951bf64e879SBryan Drewery(unless
952bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
953bf64e879SBryan Dreweryis set explicitly)
954bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
955bf64e879SBryan Drewery(unless
956bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
957bf64e879SBryan Dreweryis set explicitly)
958bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
959bf64e879SBryan Drewery(unless
960bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
961bf64e879SBryan Dreweryis set explicitly)
962f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
963f3cdc622SEd Maste(unless
964f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
965f3cdc622SEd Masteis set explicitly)
966bf64e879SBryan Drewery.El
967cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
968041c5049SEd MasteDo not build LLVM target support for ARM.
969bf64e879SBryan DreweryThe
970bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
971bf64e879SBryan Dreweryoption should be used rather than this in most cases.
97289edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
973041c5049SEd MasteBuild LLVM target support for BPF.
97489edb881SDimitry AndricThe
97589edb881SDimitry Andric.Va LLVM_TARGET_ALL
97689edb881SDimitry Andricoption should be used rather than this in most cases.
9776bdbfa49SPiotr Kubaj.It Va WITH_LLVM_TARGET_MIPS
9786bdbfa49SPiotr KubajBuild LLVM target support for MIPS.
979bf64e879SBryan DreweryThe
980bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
981bf64e879SBryan Dreweryoption should be used rather than this in most cases.
982cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
983041c5049SEd MasteDo not build LLVM target support for PowerPC.
984bf64e879SBryan DreweryThe
985bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
986bf64e879SBryan Dreweryoption should be used rather than this in most cases.
987f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
988041c5049SEd MasteDo not build LLVM target support for RISC-V.
989f3cdc622SEd MasteThe
990f3cdc622SEd Maste.Va LLVM_TARGET_ALL
991f3cdc622SEd Masteoption should be used rather than this in most cases.
992cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
993041c5049SEd MasteDo not build LLVM target support for X86.
994bf64e879SBryan DreweryThe
995bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
996bf64e879SBryan Dreweryoption should be used rather than this in most cases.
997bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
998bfdf8aa9SJohn BaldwinEnable building
999bfdf8aa9SJohn Baldwin.Xr loader 8
1000bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
1001782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
1002782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
100330323356SWarner Losh.Pp
100430323356SWarner LoshThis is a default setting on
10058cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10068edab9cdSWarner Losh.It Va WITH_LOADER_GELI
1007041c5049SEd MasteBuild GELI bootloader support.
10088edab9cdSWarner Losh.Pp
10098edab9cdSWarner LoshThis is a default setting on
1010391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
10112ec9a427SPiotr Kubaj.It Va WITHOUT_LOADER_KBOOT
10122ec9a427SPiotr KubajDo not build kboot, a linuxboot environment loader
10132ec9a427SPiotr Kubaj.Pp
10142ec9a427SPiotr KubajThis is a default setting on
1015391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
10162ec9a427SPiotr Kubaj.It Va WITH_LOADER_KBOOT
10172ec9a427SPiotr KubajBuild kboot, a linuxboot environment loader
10182ec9a427SPiotr Kubaj.Pp
10192ec9a427SPiotr KubajThis is a default setting on
1020cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
10218edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
1022041c5049SEd MasteDo not build LUA bindings for the boot loader.
10238edab9cdSWarner Losh.Pp
10248edab9cdSWarner LoshThis is a default setting on
10258cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10266f7527f0SEd Maste.It Va WITH_LOADER_LUA
1027041c5049SEd MasteBuild LUA bindings for the boot loader.
102830323356SWarner Losh.Pp
102930323356SWarner LoshThis is a default setting on
1030391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1031b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1032b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1033b8f3641fSKyle Evans.Pp
1034b8f3641fSKyle EvansThis is a default setting on
1035391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1036b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1037041c5049SEd MasteBuild openfirmware bootloader components.
1038b8f3641fSKyle Evans.Pp
1039b8f3641fSKyle EvansThis is a default setting on
10408cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1041b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1042b8f3641fSKyle EvansDisable building of ubldr.
1043b8f3641fSKyle Evans.Pp
1044b8f3641fSKyle EvansThis is a default setting on
1045d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le and riscv/riscv64.
1046b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1047041c5049SEd MasteBuild ubldr.
1048b8f3641fSKyle Evans.Pp
1049b8f3641fSKyle EvansThis is a default setting on
1050391e1f23SEd Mastearm/armv7, powerpc/powerpc and powerpc/powerpc64.
10511f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1052041c5049SEd MasteBuild with extra verbose debugging in the loader.
10531f7d1483SEd MasteMay explode already nearly too large loader over the limit.
10541f7d1483SEd MasteUse with care.
1055bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1056bfdf8aa9SJohn BaldwinEnable building
1057bfdf8aa9SJohn Baldwin.Xr loader 8
1058de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1059bfdf8aa9SJohn Baldwin.Pp
1060de19b521SDimitry AndricDepends on
1061de19b521SDimitry Andric.Va WITH_BEARSSL .
1062bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1063bfdf8aa9SJohn Baldwin.Pp
1064bfdf8aa9SJohn Baldwin.Bl -inset -compact
1065bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1066bfdf8aa9SJohn Baldwin(unless
1067bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1068bfdf8aa9SJohn Baldwinis set explicitly)
1069f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1070f87a2082SEd Maste(unless
1071f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1072f87a2082SEd Masteis set explicitly)
1073bfdf8aa9SJohn Baldwin.El
1074de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1075de19b521SDimitry AndricEnable building
1076de19b521SDimitry Andric.Xr loader 8
1077de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1078de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1079de19b521SDimitry Andric.Pp
1080de19b521SDimitry AndricDepends on
1081de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
10823ac71149SBrooks Davis.It Va WITH_LOADER_VERIEXEC_VECTX
10833ac71149SBrooks DavisEnable building
10843ac71149SBrooks Davis.Xr loader 8
10853ac71149SBrooks Daviswith support for hashing and verifying kernel and modules as a side effect
10863ac71149SBrooks Davisof loading.
10873ac71149SBrooks Davis.Pp
10883ac71149SBrooks DavisDepends on
10893ac71149SBrooks Davis.Va WITH_LOADER_VERIEXEC .
10901f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1091041c5049SEd MasteDo not build ZFS file system boot loader support.
109290be798eSDimitry Andric.It Va WITHOUT_LOCALES
1093041c5049SEd MasteDo not build localization files; see
109490be798eSDimitry Andric.Xr locale 1 .
109590be798eSDimitry Andric.It Va WITHOUT_LOCATE
1096041c5049SEd MasteDo not build
109790be798eSDimitry Andric.Xr locate 1
109890be798eSDimitry Andricand related programs.
109990be798eSDimitry Andric.It Va WITHOUT_LPR
1100041c5049SEd MasteDo not build
110190be798eSDimitry Andric.Xr lpr 1
110290be798eSDimitry Andricand related programs.
110390be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1104041c5049SEd MasteBuild
110590be798eSDimitry Andric.Xr ls 1
110690be798eSDimitry Andricwithout support for colors to distinguish file types.
1107dcdf4c1aSGleb Popov.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1108dcdf4c1aSGleb PopovPrefer machine-independent non-assembler code in libc and libm.
110990be798eSDimitry Andric.It Va WITHOUT_MAIL
1110041c5049SEd MasteDo not build any mail support (MUA or MTA).
1111344e2bb9SEd MasteWhen set, it enforces these options:
111290be798eSDimitry Andric.Pp
111390be798eSDimitry Andric.Bl -item -compact
111490be798eSDimitry Andric.It
111590be798eSDimitry Andric.Va WITHOUT_DMAGENT
111690be798eSDimitry Andric.It
111790be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
111890be798eSDimitry Andric.It
111990be798eSDimitry Andric.Va WITHOUT_SENDMAIL
112090be798eSDimitry Andric.El
112190be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1122041c5049SEd MasteDo not build the
112390be798eSDimitry Andric.Xr mailwrapper 8
112490be798eSDimitry AndricMTA selector.
112590be798eSDimitry Andric.It Va WITHOUT_MAKE
1126041c5049SEd MasteDo not install
112790be798eSDimitry Andric.Xr make 1
112890be798eSDimitry Andricand related support files.
112974782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1130041c5049SEd MasteDo not execute
113174782f0eSEnji Cooper.Dq Li "make check"
113274782f0eSEnji Cooperin limited sandbox mode.
113374782f0eSEnji CooperThis option should be paired with
113474782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
113574782f0eSEnji Cooperif executed as an unprivileged user.
113674782f0eSEnji CooperSee
113774782f0eSEnji Cooper.Xr tests 7
113874782f0eSEnji Cooperfor more details.
11397d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1140041c5049SEd MasteDisable assertions and statistics gathering in
11417d4374f6SDimitry Andric.Xr malloc 3 .
11427d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
114390be798eSDimitry Andric.It Va WITHOUT_MAN
1144041c5049SEd MasteDo not build manual pages.
1145344e2bb9SEd MasteWhen set, these options are also in effect:
114690be798eSDimitry Andric.Pp
114790be798eSDimitry Andric.Bl -inset -compact
114890be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
114990be798eSDimitry Andric(unless
115090be798eSDimitry Andric.Va WITH_MAN_UTILS
115190be798eSDimitry Andricis set explicitly)
115290be798eSDimitry Andric.El
115390be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1154041c5049SEd MasteDo not install compressed man pages.
115590be798eSDimitry AndricOnly the uncompressed versions will be installed.
115674da9c39SDoug Rabson.It Va WITHOUT_MANSPLITPKG
115774da9c39SDoug RabsonDo not split man pages into their own packages during make package.
115890be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1159041c5049SEd MasteDo not build utilities for manual pages,
116090be798eSDimitry Andric.Xr apropos 1 ,
116190be798eSDimitry Andric.Xr makewhatis 1 ,
116290be798eSDimitry Andric.Xr man 1 ,
116390be798eSDimitry Andric.Xr whatis 1 ,
116490be798eSDimitry Andric.Xr manctl 8 ,
116590be798eSDimitry Andricand related support files.
1166b46d461dSEd Maste.It Va WITH_META_ERROR_TARGET
1167b46d461dSEd MasteEnable the META_MODE .ERROR target.
1168b46d461dSEd Maste.Pp
1169b46d461dSEd MasteThis target will copy the meta file of a failed target
1170b46d461dSEd Masteto
1171b46d461dSEd Maste.Va ERROR_LOGDIR
1172b46d461dSEd Maste(default is
1173b46d461dSEd Maste.Ql ${SRCTOP:H}/error )
1174b46d461dSEd Masteto help with failure analysis.
1175b46d461dSEd MasteDepends on
1176b46d461dSEd Maste.Va WITH_META_MODE .
1177b46d461dSEd MasteThis default when
1178b46d461dSEd Maste.Va WITH_DIRDEPS_BUILD
1179b46d461dSEd Masteis set.
1180b46d461dSEd Maste.Pp
1181b46d461dSEd MasteThis must be set in the environment, make command line, or
1182b46d461dSEd Maste.Pa /etc/src-env.conf ,
1183b46d461dSEd Mastenot
1184b46d461dSEd Maste.Pa /etc/src.conf .
1185cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1186344e2bb9SEd MasteCreate
1187be894451SBryan Drewery.Xr make 1
1188be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1189be894451SBryan Dreweryusing
1190be894451SBryan Drewery.Xr filemon 4 .
1191344e2bb9SEd MasteThe meta file is created in OBJDIR as
1192be894451SBryan Drewery.Pa target.meta .
1193344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1194344e2bb9SEd Mastecurrent directory.
11952710e62cSBryan DreweryThe
11967f76a95cSBryan Drewery.Xr filemon 4
11972710e62cSBryan Drewerymodule is required unless
11982710e62cSBryan Drewery.Va NO_FILEMON
11992710e62cSBryan Dreweryis defined.
1200344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1201344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1202344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1203344e2bb9SEd Masteconditions are true compared to the last build:
1204be894451SBryan Drewery.Bl -bullet -compact
1205be894451SBryan Drewery.It
1206be894451SBryan DreweryThe command to execute changes.
1207be894451SBryan Drewery.It
1208be894451SBryan DreweryThe current working directory changes.
1209be894451SBryan Drewery.It
1210a4a2269eSBryan DreweryThe target's meta file is missing.
1211a4a2269eSBryan Drewery.It
1212a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1213a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1214be894451SBryan Drewery.It
1215be894451SBryan Drewery[requires
1216be894451SBryan Drewery.Xr filemon 4 ]
1217be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1218be894451SBryan Drewery.It
1219be894451SBryan Drewery[requires
1220be894451SBryan Drewery.Xr filemon 4 ]
1221be894451SBryan DreweryFiles read, written, executed or linked are missing.
1222be894451SBryan Drewery.El
12237f76a95cSBryan DreweryThe meta files can also be useful for debugging.
12247f76a95cSBryan Drewery.Pp
1225344e2bb9SEd MasteThe build hides commands that are executed unless
12267f76a95cSBryan Drewery.Va NO_SILENT
12277f76a95cSBryan Dreweryis defined.
1228344e2bb9SEd MasteErrors cause
12292710e62cSBryan Drewery.Xr make 1
12302710e62cSBryan Dreweryto show some of its environment for further debugging.
12310a70ef02SBryan Drewery.Pp
1232be894451SBryan DreweryThe build operates as it normally would otherwise.
1233be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1234be894451SBryan Dreweryto
1235be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1236be894451SBryan Drewery.Pp
1237ba852870SBryan DreweryThis must be set in the environment, make command line, or
12380a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
12390a70ef02SBryan Drewerynot
12400a70ef02SBryan Drewery.Pa /etc/src.conf .
1241912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1242041c5049SEd MasteDo not build
1243912aad0fSKyle Evans.Xr mlx5tool 8
1244912aad0fSKyle Evans.Pp
1245912aad0fSKyle EvansThis is a default setting on
1246391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
1247912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1248041c5049SEd MasteBuild
1249912aad0fSKyle Evans.Xr mlx5tool 8
1250912aad0fSKyle Evans.Pp
1251912aad0fSKyle EvansThis is a default setting on
1252ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
125390be798eSDimitry Andric.It Va WITHOUT_NETCAT
1254041c5049SEd MasteDo not build
125590be798eSDimitry Andric.Xr nc 1
125690be798eSDimitry Andricutility.
125790be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1258041c5049SEd MasteDo not build applications to support
125990be798eSDimitry Andric.Xr netgraph 4 .
1260344e2bb9SEd MasteWhen set, it enforces these options:
126190be798eSDimitry Andric.Pp
126290be798eSDimitry Andric.Bl -item -compact
126390be798eSDimitry Andric.It
126490be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1265bf64e879SBryan Drewery.El
1266bf64e879SBryan Drewery.Pp
1267bf64e879SBryan DreweryWhen set, these options are also in effect:
1268bf64e879SBryan Drewery.Pp
1269bf64e879SBryan Drewery.Bl -inset -compact
1270bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1271bf64e879SBryan Drewery(unless
1272bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1273bf64e879SBryan Dreweryis set explicitly)
127490be798eSDimitry Andric.El
127590be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1276041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
1277153145efSBaptiste Daroussin.It Va WITHOUT_NETLINK
1278153145efSBaptiste DaroussinDo not build
1279153145efSBaptiste Daroussin.Xr genl 1
1280153145efSBaptiste Daroussinutility.
128196aedfd5SEd Maste.It Va WITHOUT_NETLINK_SUPPORT
128296aedfd5SEd MasteMake libraries and programs use rtsock and
128396aedfd5SEd Maste.Xr sysctl 3
128496aedfd5SEd Masteinterfaces instead of
128596aedfd5SEd Maste.Xr snl 3 .
128690be798eSDimitry Andric.It Va WITHOUT_NIS
1287dcdf4c1aSGleb PopovDo not build
1288dcdf4c1aSGleb Popov.Xr NIS 8
128990be798eSDimitry Andricsupport and related programs.
129090be798eSDimitry AndricIf set, you might need to adopt your
129190be798eSDimitry Andric.Xr nsswitch.conf 5
129290be798eSDimitry Andricand remove
129390be798eSDimitry Andric.Sq nis
129490be798eSDimitry Andricentries.
129590be798eSDimitry Andric.It Va WITHOUT_NLS
1296041c5049SEd MasteDo not build NLS catalogs.
129757a87b06SEnji CooperWhen set, it enforces these options:
129857a87b06SEnji Cooper.Pp
129957a87b06SEnji Cooper.Bl -item -compact
130057a87b06SEnji Cooper.It
130157a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
130257a87b06SEnji Cooper.El
130390be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1304041c5049SEd MasteDo not build NLS catalog support for
130590be798eSDimitry Andric.Xr csh 1 .
130690be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1307041c5049SEd MasteDisable name caching in the
130890be798eSDimitry Andric.Pa nsswitch
130990be798eSDimitry Andricsubsystem.
131090be798eSDimitry AndricThe generic caching daemon,
131190be798eSDimitry Andric.Xr nscd 8 ,
131290be798eSDimitry Andricwill not be built either if this option is set.
131390be798eSDimitry Andric.It Va WITHOUT_NTP
1314041c5049SEd MasteDo not build
131590be798eSDimitry Andric.Xr ntpd 8
131690be798eSDimitry Andricand related programs.
13178edab9cdSWarner Losh.It Va WITHOUT_NVME
1318041c5049SEd MasteDo not build nvme related tools and kernel modules.
13198edab9cdSWarner Losh.Pp
13208edab9cdSWarner LoshThis is a default setting on
1321391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
13228edab9cdSWarner Losh.It Va WITH_NVME
1323041c5049SEd MasteBuild nvme related tools and kernel modules.
13248edab9cdSWarner Losh.Pp
13258edab9cdSWarner LoshThis is a default setting on
13268cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1327d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1328bd258f88SEd MasteDo not build the
132990be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1330bd258f88SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
13313f9c1b2cSEd Maste.Pp
13323f9c1b2cSEd MasteThis is a default setting on
1333391e1f23SEd Mastearm/armv7.
1334d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1335d0ca28d7SKonstantin Belousov.Pp
1336d0ca28d7SKonstantin Belousov.Bl -item -compact
1337d0ca28d7SKonstantin Belousov.It
1338d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1339d0ca28d7SKonstantin Belousov.El
1340c5819624SEd Maste.It Va WITH_OFED
1341c5819624SEd MasteBuild the
1342c5819624SEd Maste.Dq "OpenFabrics Enterprise Distribution"
1343c5819624SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
1344c5819624SEd Maste.Pp
1345c5819624SEd MasteThis is a default setting on
1346d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
13474a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1348041c5049SEd MasteBuild the non-essential components of the
13494a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
13504a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
135190be798eSDimitry Andric.It Va WITH_OPENLDAP
13527587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1353b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1354041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1355b0840a28SDimitry Andric.Pp
1356b0840a28SDimitry AndricThis is a default setting on
1357391e1f23SEd Mastearm/armv7 and powerpc/powerpc.
1358b0840a28SDimitry Andric.It Va WITH_OPENMP
1359041c5049SEd MasteBuild LLVM's OpenMP runtime.
1360b0840a28SDimitry Andric.Pp
1361b0840a28SDimitry AndricThis is a default setting on
1362d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
136390be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1364041c5049SEd MasteDo not build OpenSSH.
136590be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1366041c5049SEd MasteDo not build OpenSSL.
1367344e2bb9SEd MasteWhen set, it enforces these options:
136890be798eSDimitry Andric.Pp
136990be798eSDimitry Andric.Bl -item -compact
137090be798eSDimitry Andric.It
13719f4e04c1SEd Maste.Va WITHOUT_DMAGENT
13729f4e04c1SEd Maste.It
137390be798eSDimitry Andric.Va WITHOUT_KERBEROS
137490be798eSDimitry Andric.It
1375fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1376fb27d7aeSEd Maste.It
1377da39b3adSEd Maste.Va WITHOUT_LDNS
1378da39b3adSEd Maste.It
1379da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1380da39b3adSEd Maste.It
1381379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
1382379954d0SJessica Clarke.It
138390be798eSDimitry Andric.Va WITHOUT_OPENSSH
1384da39b3adSEd Maste.It
1385ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1386ac56b22fSEd Maste.It
1387116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1388116f7fccSEd Maste.It
1389da39b3adSEd Maste.Va WITHOUT_UNBOUND
1390243125c8SMitchell Horne.It
1391243125c8SMitchell Horne.Va WITHOUT_ZFS
139290be798eSDimitry Andric.El
139390be798eSDimitry Andric.Pp
1394344e2bb9SEd MasteWhen set, these options are also in effect:
139590be798eSDimitry Andric.Pp
139690be798eSDimitry Andric.Bl -inset -compact
139790be798eSDimitry Andric.It Va WITHOUT_GSSAPI
139890be798eSDimitry Andric(unless
139990be798eSDimitry Andric.Va WITH_GSSAPI
140090be798eSDimitry Andricis set explicitly)
140190be798eSDimitry Andric.El
1402ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1403041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1404ae257282SJohn Baldwin.Pp
1405ae257282SJohn BaldwinThis is a default setting on
1406391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc and riscv/riscv64.
1407ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1408041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1409ae257282SJohn Baldwin.Pp
1410ae257282SJohn BaldwinThis is a default setting on
1411cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
141290be798eSDimitry Andric.It Va WITHOUT_PAM
1413041c5049SEd MasteDo not build PAM library and modules.
141490be798eSDimitry Andric.Bf -symbolic
141590be798eSDimitry AndricThis option is deprecated and does nothing.
141690be798eSDimitry Andric.Ef
1417bf64e879SBryan DreweryWhen set, these options are also in effect:
141890be798eSDimitry Andric.Pp
1419bf64e879SBryan Drewery.Bl -inset -compact
1420bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1421bf64e879SBryan Drewery(unless
1422bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1423bf64e879SBryan Dreweryis set explicitly)
142490be798eSDimitry Andric.El
142590be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1426041c5049SEd MasteBuild some programs without PAM support, particularly
142790be798eSDimitry Andric.Xr ftpd 8
142890be798eSDimitry Andricand
142990be798eSDimitry Andric.Xr ppp 8 .
143090be798eSDimitry Andric.It Va WITHOUT_PF
1431041c5049SEd MasteDo not build PF firewall package.
1432344e2bb9SEd MasteWhen set, it enforces these options:
143390be798eSDimitry Andric.Pp
143490be798eSDimitry Andric.Bl -item -compact
143590be798eSDimitry Andric.It
143690be798eSDimitry Andric.Va WITHOUT_AUTHPF
143790be798eSDimitry Andric.El
1438ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1439ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1440b3a27c81SEd MastePosition-Independent Executable (PIE).
14413f9c1b2cSEd Maste.Pp
14423f9c1b2cSEd MasteThis is a default setting on
1443391e1f23SEd Mastearm/armv7, i386/i386 and powerpc/powerpc.
14443f9c1b2cSEd Maste.It Va WITH_PIE
14453f9c1b2cSEd MasteBuild dynamically linked binaries as
14463f9c1b2cSEd MastePosition-Independent Executable (PIE).
14473f9c1b2cSEd Maste.Pp
14483f9c1b2cSEd MasteThis is a default setting on
1449d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
145090be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1451041c5049SEd MasteDo not build
145290be798eSDimitry Andric.Xr pkg 7
145390be798eSDimitry Andricbootstrap tool.
145490be798eSDimitry Andric.It Va WITHOUT_PMC
1455041c5049SEd MasteDo not build
145690be798eSDimitry Andric.Xr pmccontrol 8
145790be798eSDimitry Andricand related programs.
145890be798eSDimitry Andric.It Va WITHOUT_PPP
1459041c5049SEd MasteDo not build
146090be798eSDimitry Andric.Xr ppp 8
146190be798eSDimitry Andricand related programs.
14624c033a73SEnji Cooper.It Va WITH_PROFILE
1463041c5049SEd MasteBuild profiled libraries for use with
14644c033a73SEnji Cooper.Xr gprof 8 .
146513cf4313SEd MasteThis option is deprecated and may not be present in a future version of
146613cf4313SEd Maste.Fx .
146797f14168SKonstantin Belousov.It Va WITHOUT_PTHREADS_ASSERTIONS
146897f14168SKonstantin BelousovDisable debugging assertions in pthreads library.
146990be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1470041c5049SEd MasteDo not build
147123a6b49aSEdward Tomasz Napierala.Xr quota 1
147290be798eSDimitry Andricand related programs.
14730e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1474041c5049SEd MasteDo not build radius support into various applications, like
14750e0e9604SEnji Cooper.Xr pam_radius 8
14760e0e9604SEnji Cooperand
14770e0e9604SEnji Cooper.Xr ppp 8 .
147888342134SEnji Cooper.It Va WITH_RATELIMIT
1479041c5049SEd MasteBuild the system with rate limit support.
148088342134SEnji Cooper.Pp
148188342134SEnji CooperThis makes
148288342134SEnji Cooper.Dv SO_MAX_PACING_RATE
148388342134SEnji Coopereffective in
148488342134SEnji Cooper.Xr getsockopt 2 ,
148588342134SEnji Cooperand
148688342134SEnji Cooper.Ar txrlimit
148788342134SEnji Coopersupport in
148888342134SEnji Cooper.Xr ifconfig 8 ,
148988342134SEnji Cooperby proxy.
14900e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1491041c5049SEd MasteDo not build or install
14920e0e9604SEnji Cooper.Xr rbootd 8 .
1493a8af3aeeSEd Maste.It Va WITHOUT_RELRO
1494a8af3aeeSEd MasteDo not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1495a8af3aeeSEd MasteSee also the
1496a8af3aeeSEd Maste.Va BIND_NOW
1497a8af3aeeSEd Masteoption.
149885d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1499041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
150085d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
150185d55309SEd Mastebit-for-bit identical output.
150290be798eSDimitry Andric.It Va WITHOUT_RESCUE
1503041c5049SEd MasteDo not build
150490be798eSDimitry Andric.Xr rescue 8 .
15058ccac680SEd Maste.It Va WITH_RETPOLINE
1506041c5049SEd MasteBuild the base system with the retpoline speculative execution
15078ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
150890be798eSDimitry Andric.It Va WITHOUT_ROUTED
1509041c5049SEd MasteDo not build
151090be798eSDimitry Andric.Xr routed 8
151190be798eSDimitry Andricutility.
15124c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1513041c5049SEd MasteBuild
15144c033a73SEnji Cooper.Xr rpcbind 8
15154c033a73SEnji Cooperwith warmstart support.
1516c5819624SEd Maste.It Va WITHOUT_SCTP_SUPPORT
1517c5819624SEd MasteDisable support in the kernel for the
1518c5819624SEd Maste.Xr sctp 4
1519c5819624SEd MasteStream Control Transmission Protocol
1520c5819624SEd Masteloadable kernel module.
152190be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1522041c5049SEd MasteDo not build
152390be798eSDimitry Andric.Xr sendmail 8
152490be798eSDimitry Andricand related programs.
1525e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1526041c5049SEd MasteDo not install
1527e8788097SKonstantin Belousov.Pa /var/db/services.db .
152890be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
152990be798eSDimitry AndricSet this to disable the installation of
153090be798eSDimitry Andric.Xr login 1
153190be798eSDimitry Andricas a set-user-ID root program.
153290be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1533041c5049SEd MasteDo not build the
153490be798eSDimitry Andric.Bx 4.4
153590be798eSDimitry Andriclegacy docs.
153690be798eSDimitry Andric.It Va WITH_SORT_THREADS
1537041c5049SEd MasteEnable threads in
153890be798eSDimitry Andric.Xr sort 1 .
153990be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1540041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1541344e2bb9SEd MasteWhen set, it enforces these options:
154290be798eSDimitry Andric.Pp
154390be798eSDimitry Andric.Bl -item -compact
154490be798eSDimitry Andric.It
154590be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
154690be798eSDimitry Andric.It
154790be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
154890be798eSDimitry Andric.El
154990be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1550041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
155190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1552041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
1553330b7dccSEd Maste.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1554330b7dccSEd MasteDo not build standalone kernel debug files.
1555330b7dccSEd MasteDebug data (if enabled by the kernel configuration file)
1556330b7dccSEd Mastewill be included in the kernel and modules.
1557330b7dccSEd MasteWhen set, it enforces these options:
1558330b7dccSEd Maste.Pp
1559330b7dccSEd Maste.Bl -item -compact
1560330b7dccSEd Maste.It
1561330b7dccSEd Maste.Va WITHOUT_KERNEL_SYMBOLS
1562330b7dccSEd Maste.El
156390be798eSDimitry Andric.It Va WITHOUT_SSP
15645449d014SEd MasteDo not build world with stack smashing protection.
1565cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1566cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1567cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1568cc2520d2SSimon J. Gerraty.Va DESTDIR
1569cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1570cc2520d2SSimon J. GerratyDepends on
157132b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1572344e2bb9SEd MasteWhen set, these options are also in effect:
1573cc2520d2SSimon J. Gerraty.Pp
1574cc2520d2SSimon J. Gerraty.Bl -inset -compact
1575cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1576cc2520d2SSimon J. Gerraty(unless
1577cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1578cc2520d2SSimon J. Gerratyis set explicitly)
1579cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1580cc2520d2SSimon J. Gerraty(unless
1581cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1582cc2520d2SSimon J. Gerratyis set explicitly)
1583cc2520d2SSimon J. Gerraty.El
15840a70ef02SBryan Drewery.Pp
1585ba852870SBryan DreweryThis must be set in the environment, make command line, or
15860a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15870a70ef02SBryan Drewerynot
15880a70ef02SBryan Drewery.Pa /etc/src.conf .
1589cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1590344e2bb9SEd MasteEnable staging of man pages to stage tree.
1591cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1592cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1593cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1594cc2520d2SSimon J. GerratyCheck staged files are not stale.
1595de19b521SDimitry Andric.It Va WITHOUT_STATS
1596041c5049SEd MasteNeither build nor install
1597de19b521SDimitry Andric.Lb libstats
1598de19b521SDimitry Andricand dependent binaries.
159990be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1600041c5049SEd MasteDo not build
160190be798eSDimitry Andric.Xr syscons 4
160290be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1603cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1604cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1605cc2520d2SSimon J. GerratyDepends on
160632b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
16070a70ef02SBryan Drewery.Pp
1608ba852870SBryan DreweryThis must be set in the environment, make command line, or
16090a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
16100a70ef02SBryan Drewerynot
16110a70ef02SBryan Drewery.Pa /etc/src.conf .
16128095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1613041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1614a9da9b86SBryan Drewerybootstrap phase of the build.
16158095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
16168095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1617a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1618a9da9b86SBryan Dreweryonly for building one for the build itself.
1619a9da9b86SBryan DreweryThe
1620a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1621a5798ec8SEd Masteoption controls that.
1622be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1623041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1624be9309deSBryan Drewerybootstrap phase of the build.
1625be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1626be9309deSBryan Drewerylinker type and revision, then it will not be built.
1627be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1628be9309deSBryan Dreweryonly for building one for the build itself.
1629be9309deSBryan DreweryThe
1630be9309deSBryan Drewery.Va WITHOUT_LLD
16312ea16071SEd Masteoption controls that.
1632be9309deSBryan Drewery.Pp
1633be9309deSBryan DreweryThis option is only relevant when
1634be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1635be9309deSBryan Dreweryis set.
163693da8366SEnji Cooper.It Va WITHOUT_TALK
1637041c5049SEd MasteDo not build or install
163893da8366SEnji Cooper.Xr talk 1
163993da8366SEnji Cooperand
164093da8366SEnji Cooper.Xr talkd 8 .
16410e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1642041c5049SEd MasteDo not build or install
16430e0e9604SEnji Cooper.Xr tcpd 8 ,
16440e0e9604SEnji Cooperand related utilities.
164590be798eSDimitry Andric.It Va WITHOUT_TCSH
1646041c5049SEd MasteDo not build and install
164790be798eSDimitry Andric.Pa /bin/csh
164890be798eSDimitry Andric(which is
164990be798eSDimitry Andric.Xr tcsh 1 ) .
165090be798eSDimitry Andric.It Va WITHOUT_TELNET
1651041c5049SEd MasteDo not build
165223a6b49aSEdward Tomasz Napierala.Xr telnet 1
165390be798eSDimitry Andricand related programs.
165418c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1655041c5049SEd MasteDo not build nor install the
165690be798eSDimitry Andric.Fx
165790be798eSDimitry AndricTest Suite in
165890be798eSDimitry Andric.Pa /usr/tests/ .
165990be798eSDimitry AndricSee
166090be798eSDimitry Andric.Xr tests 7
166190be798eSDimitry Andricfor more details.
166218c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1663344e2bb9SEd MasteWhen set, it enforces these options:
1664c5d09a87SGlen Barber.Pp
1665c5d09a87SGlen Barber.Bl -item -compact
1666c5d09a87SGlen Barber.It
166716f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1668bf64e879SBryan Drewery.El
1669bf64e879SBryan Drewery.Pp
1670bf64e879SBryan DreweryWhen set, these options are also in effect:
1671bf64e879SBryan Drewery.Pp
1672bf64e879SBryan Drewery.Bl -inset -compact
16737840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
16747840b63aSEnji Cooper(unless
16757840b63aSEnji Cooper.Va WITH_GOOGLETEST
16767840b63aSEnji Cooperis set explicitly)
1677bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1678bf64e879SBryan Drewery(unless
1679bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1680bf64e879SBryan Dreweryis set explicitly)
1681c5d09a87SGlen Barber.El
1682c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1683041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
16847840b63aSEnji CooperWhen set, it enforces these options:
16857840b63aSEnji Cooper.Pp
16867840b63aSEnji Cooper.Bl -item -compact
16877840b63aSEnji Cooper.It
16887840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
16897840b63aSEnji Cooper.El
169090be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1691041c5049SEd MasteDo not build
169290be798eSDimitry Andricprograms used for text processing.
16930e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1694041c5049SEd MasteDo not build or install
16950e0e9604SEnji Cooper.Xr tftp 1
16960e0e9604SEnji Cooperand
16970e0e9604SEnji Cooper.Xr tftpd 8 .
169890be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
169983d57250SEd MasteDo not install
170090be798eSDimitry Andricprograms used for program development,
170190be798eSDimitry Andriccompilers, debuggers etc.
1702344e2bb9SEd MasteWhen set, it enforces these options:
170390be798eSDimitry Andric.Pp
170490be798eSDimitry Andric.Bl -item -compact
170590be798eSDimitry Andric.It
170690be798eSDimitry Andric.Va WITHOUT_CLANG
170790be798eSDimitry Andric.It
170890be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
170990be798eSDimitry Andric.It
171019267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
171119267656SConrad Meyer.It
171290be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
171390be798eSDimitry Andric.It
17146c2b7edaSEd Maste.Va WITHOUT_LLD
17156c2b7edaSEd Maste.It
17163d02549fSBryan Drewery.Va WITHOUT_LLDB
17175b9c3654SEd Maste.It
17185b9c3654SEd Maste.Va WITHOUT_LLVM_COV
171990be798eSDimitry Andric.El
17200ab89d72SEd Maste.It Va WITH_UBSAN
17210ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
17220ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
17230ab89d72SEd MasteRequires that Clang be used as the base system compiler
17240ab89d72SEd Masteand that the runtime support library is available
172590be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1726041c5049SEd MasteDo not build
172790be798eSDimitry Andric.Xr unbound 8
172890be798eSDimitry Andricand related programs.
1729efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1730041c5049SEd MasteUse the historical object directory format for
1731efb949a6SBryan Drewery.Xr build 7
1732efb949a6SBryan Drewerytargets.
1733efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1734efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1735efb949a6SBryan Dreweryis used,
1736efb949a6SBryan Drewerywhile for cross-builds
1737efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1738efb949a6SBryan Dreweryis used.
1739efb949a6SBryan Drewery.Pp
1740b7f53cdcSEd MasteThis option is transitional and will be removed in a future version of
1741b7f53cdcSEd Maste.Fx ,
1742efb949a6SBryan Dreweryat which time
174316ee5cd1SChristian Brueffer.Va WITH_UNIFIED_OBJDIR
1744efb949a6SBryan Drewerywill be enabled permanently.
1745efb949a6SBryan Drewery.Pp
1746efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1747efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1748efb949a6SBryan Drewerynot
1749efb949a6SBryan Drewery.Pa /etc/src.conf .
175090be798eSDimitry Andric.It Va WITHOUT_USB
1751041c5049SEd MasteDo not build USB-related programs and libraries.
1752c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1753041c5049SEd MasteDo not build USB gadget kernel modules.
175490be798eSDimitry Andric.It Va WITHOUT_UTMPX
1755041c5049SEd MasteDo not build user accounting tools such as
175690be798eSDimitry Andric.Xr last 1 ,
175790be798eSDimitry Andric.Xr users 1 ,
175890be798eSDimitry Andric.Xr who 1 ,
175990be798eSDimitry Andric.Xr ac 8 ,
176090be798eSDimitry Andric.Xr lastlogin 8
176190be798eSDimitry Andricand
176290be798eSDimitry Andric.Xr utx 8 .
1763bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1764bfdf8aa9SJohn BaldwinEnable building
1765bfdf8aa9SJohn Baldwin.Xr veriexec 8
1766bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1767bfdf8aa9SJohn Baldwinfor use by
1768bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1769bfdf8aa9SJohn Baldwin.Pp
1770de19b521SDimitry AndricDepends on
1771de19b521SDimitry Andric.Va WITH_BEARSSL .
177290be798eSDimitry Andric.It Va WITHOUT_VI
1773041c5049SEd MasteDo not build and install vi, view, ex and related programs.
177490be798eSDimitry Andric.It Va WITHOUT_VT
1775041c5049SEd MasteDo not build
177690be798eSDimitry Andric.Xr vt 4
177790be798eSDimitry Andricsupport files (fonts and keymaps).
177890be798eSDimitry Andric.It Va WITHOUT_WARNS
177990be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
178090be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
178190be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1782559f9bfcSJens Schweikhardtoriginal developer.
1783f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1784f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1785f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1786f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
178790be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1788041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
178990be798eSDimitry Andric.Xr wpa_supplicant 8
179090be798eSDimitry Andricand
179190be798eSDimitry Andric.Xr hostapd 8 .
1792bf64e879SBryan DreweryWhen set, these options are also in effect:
179390be798eSDimitry Andric.Pp
1794bf64e879SBryan Drewery.Bl -inset -compact
1795bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1796bf64e879SBryan Drewery(unless
1797bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1798bf64e879SBryan Dreweryis set explicitly)
179990be798eSDimitry Andric.El
180090be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1801041c5049SEd MasteBuild libraries, programs, and kernel modules without
180290be798eSDimitry Andric802.11 wireless support.
180390be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
180490be798eSDimitry AndricBuild
180590be798eSDimitry Andric.Xr wpa_supplicant 8
180690be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
180790be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
180890be798eSDimitry Andricprotocols (usable only via 802.1X).
180990be798eSDimitry Andric.It Va WITHOUT_ZFS
18104be63587SMark JohnstonDo not build the ZFS file system kernel module, libraries such as
18114be63587SMark Johnston.Xr libbe 3 ,
18124be63587SMark Johnstonand user commands such as
18134be63587SMark Johnston.Xr zpool 8
18144be63587SMark Johnstonor
18154be63587SMark Johnston.Xr zfs 8 .
18164be63587SMark JohnstonAlso disable ZFS support in utilities and libraries which implement
18174be63587SMark JohnstonZFS-specific functionality.
181890be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1819041c5049SEd MasteDo not build the timezone database.
18205c021049SEnji CooperWhen set, it enforces these options:
18215c021049SEnji Cooper.Pp
18225c021049SEnji Cooper.Bl -item -compact
18235c021049SEnji Cooper.It
18245c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
18255c021049SEnji Cooper.El
18265c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1827041c5049SEd MasteBuild leapsecond information in to the timezone database.
182890be798eSDimitry Andric.El
18293fe97711SBrooks Davis.Pp
18303fe97711SBrooks DavisThe following options accept a single value from a list of valid values.
18313fe97711SBrooks Davis.Bl -tag -width indent
18323fe97711SBrooks Davis.It Va INIT_ALL
18333fe97711SBrooks DavisControl default initialization of stack variables in C and C++ code.
18343fe97711SBrooks DavisOptions other than
18353fe97711SBrooks Davis.Li none
18363fe97711SBrooks Davisrequire the Clang compiler or GCC 12.0 or later.
18373fe97711SBrooks DavisThe default value is
18383fe97711SBrooks Davis.Li none .
18393fe97711SBrooks DavisValid values are:
18403fe97711SBrooks Davis.Bl -tag -width indent
18413fe97711SBrooks Davis.It Li none
18423fe97711SBrooks DavisDo not initialize stack variables (standard C/C++ behavior).
18433fe97711SBrooks Davis.It Li pattern
18443fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized to
18453fe97711SBrooks Davis.Pq compiler defined
18463fe97711SBrooks Davisdebugging patterns on function entry.
18473fe97711SBrooks Davis.It Li zero
18483fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized
18493fe97711SBrooks Davisto zero on function entry.
18503fe97711SBrooks DavisThis value is converted to
18513fe97711SBrooks Davis.Li none
18523fe97711SBrooks Davisfor amd64 kernel builds due to incompatability with ifunc memset.
18533fe97711SBrooks Davis.El
18543fe97711SBrooks Davis.It Va LIBC_MALLOC
18553fe97711SBrooks DavisSpecify the
18563fe97711SBrooks Davis.Xr malloc 3
1857a89e98ecSBrooks Davisimplementation used by libc.
18583fe97711SBrooks DavisThe default value is
18593fe97711SBrooks Davis.Li jemalloc .
18603fe97711SBrooks DavisValid values are:
18613fe97711SBrooks Davis.Bl -tag -width indent
18623fe97711SBrooks Davis.It Li jemalloc
18633fe97711SBrooks Davis.El
18643fe97711SBrooks Davis.Pp
18653fe97711SBrooks DavisOther implementations are expected in the future in both
18663fe97711SBrooks Davis.Fx
18673fe97711SBrooks Davisand downstream consumers.
18683fe97711SBrooks Davis.El
186990be798eSDimitry Andric.Sh FILES
187090be798eSDimitry Andric.Bl -tag -compact -width Pa
187190be798eSDimitry Andric.It Pa /etc/src.conf
18720a70ef02SBryan Drewery.It Pa /etc/src-env.conf
187390be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
187490be798eSDimitry Andric.El
187590be798eSDimitry Andric.Sh SEE ALSO
187690be798eSDimitry Andric.Xr make 1 ,
187790be798eSDimitry Andric.Xr make.conf 5 ,
187890be798eSDimitry Andric.Xr build 7 ,
187990be798eSDimitry Andric.Xr ports 7
188090be798eSDimitry Andric.Sh HISTORY
188190be798eSDimitry AndricThe
188290be798eSDimitry Andric.Nm
188390be798eSDimitry Andricfile appeared in
188490be798eSDimitry Andric.Fx 7.0 .
188590be798eSDimitry Andric.Sh AUTHORS
188688342134SEnji CooperThis manual page was autogenerated by
1887a121d3a8SEnji Cooper.An tools/build/options/makeman .
1888