xref: /freebsd/share/man/man5/src.conf.5 (revision 50b5a37a12d032085276b1f0ebb5f92c0cabed32)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2*50b5a37aSBrooks Davis.Dd October 30, 2024
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
140a3310b79SAndrew Turner.Xr autofs 4
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 .
1619ed58aa6SWarner Losh.Pp
1629ed58aa6SWarner LoshDue to size constraints in the BIOS environment on x86, one may need to set
1639ed58aa6SWarner Losh.Va LOADERSIZE
1649ed58aa6SWarner Loshlarger than the
1659ed58aa6SWarner Loshdefault 500000, although often loader is under the 500k limit even with
1669ed58aa6SWarner Loshthis option.
1679ed58aa6SWarner LoshSetting
1689ed58aa6SWarner Losh.Va LOADERSIZE
1699ed58aa6SWarner Loshlarger than 500000 may cause
1709ed58aa6SWarner Losh.Xr pxeboot 8
1719ed58aa6SWarner Loshto be too large to work.
1729ed58aa6SWarner LoshCareful testing of the loader in the target environment when built with a larger
1739ed58aa6SWarner Loshlimit to establish safe limits is critical because different BIOS environments
1749ed58aa6SWarner Loshreserve differing amounts of the low 640k space, making a precise limit for
1759ed58aa6SWarner Losheverybody impossible.
1769ed58aa6SWarner Losh.Pp
1779ed58aa6SWarner LoshSee also
1789ed58aa6SWarner Losh.Va WITH_LOADER_PXEBOOT
1799ed58aa6SWarner Loshfor other considerations.
180bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
181bfdf8aa9SJohn Baldwin.Pp
182bfdf8aa9SJohn Baldwin.Bl -inset -compact
183bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
184bfdf8aa9SJohn Baldwin(unless
185bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
186bfdf8aa9SJohn Baldwinis set explicitly)
187bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
188bfdf8aa9SJohn Baldwin(unless
189bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_VERIEXEC
190bfdf8aa9SJohn Baldwinis set explicitly)
191f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
192f87a2082SEd Maste(unless
193f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
194f87a2082SEd Masteis set explicitly)
195bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
196bfdf8aa9SJohn Baldwin(unless
197bfdf8aa9SJohn Baldwin.Va WITHOUT_VERIEXEC
198bfdf8aa9SJohn Baldwinis set explicitly)
199bfdf8aa9SJohn Baldwin.El
20061940879SEnji Cooper.It Va WITHOUT_BHYVE
201041c5049SEd MasteDo not build or install
20261940879SEnji Cooper.Xr bhyve 8 ,
20361940879SEnji Cooperassociated utilities, and examples.
20461940879SEnji Cooper.Pp
20554416d2dSMark JohnstonThis option only affects amd64/amd64 and arm64/aarch64.
206483d953aSJohn Baldwin.It Va WITH_BHYVE_SNAPSHOT
207041c5049SEd MasteInclude support for save and restore (snapshots) in
208483d953aSJohn Baldwin.Xr bhyve 8
209483d953aSJohn Baldwinand
210483d953aSJohn Baldwin.Xr bhyvectl 8 .
211483d953aSJohn Baldwin.Pp
212483d953aSJohn BaldwinThis option only affects amd64/amd64.
2131f3b049dSEd Maste.It Va WITH_BIND_NOW
2141f3b049dSEd MasteBuild all binaries with the
2151f3b049dSEd Maste.Dv DF_BIND_NOW
2161f3b049dSEd Masteflag set to indicate that the run-time loader should perform all relocation
2171f3b049dSEd Masteprocessing at process startup rather than on demand.
218a8af3aeeSEd MasteThe combination of the
219a8af3aeeSEd Maste.Va BIND_NOW
220a8af3aeeSEd Masteand
221a8af3aeeSEd Maste.Va RELRO
222a8af3aeeSEd Masteoptions provide "full" Relocation Read-Only (RELRO) support.
223a8af3aeeSEd MasteWith full RELRO the entire GOT is made read-only after performing relocation at
224a8af3aeeSEd Mastestartup, avoiding GOT overwrite attacks.
2250341a043SBryan Drewery.It Va WITHOUT_BLACKLIST
2264650b8aeSEnji CooperSet this if you do not want to build
2274650b8aeSEnji Cooper.Xr blacklistd 8
2284650b8aeSEnji Cooperand
2294650b8aeSEnji Cooper.Xr blacklistctl 8 .
230bf64e879SBryan DreweryWhen set, these options are also in effect:
2310341a043SBryan Drewery.Pp
232bf64e879SBryan Drewery.Bl -inset -compact
233bf64e879SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
234bf64e879SBryan Drewery(unless
235bf64e879SBryan Drewery.Va WITH_BLACKLIST_SUPPORT
236bf64e879SBryan Dreweryis set explicitly)
2370341a043SBryan Drewery.El
2380341a043SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
239041c5049SEd MasteBuild some programs without
2404650b8aeSEnji Cooper.Xr libblacklist 3
2414650b8aeSEnji Coopersupport, like
2420341a043SBryan Drewery.Xr fingerd 8 ,
2430341a043SBryan Drewery.Xr ftpd 8 ,
2440341a043SBryan Dreweryand
2450341a043SBryan Drewery.Xr sshd 8 .
24690be798eSDimitry Andric.It Va WITHOUT_BLUETOOTH
247041c5049SEd MasteDo not build Bluetooth related kernel modules, programs and libraries.
24890be798eSDimitry Andric.It Va WITHOUT_BOOT
249041c5049SEd MasteDo not build the boot blocks and loader.
2500e0e9604SEnji Cooper.It Va WITHOUT_BOOTPARAMD
251041c5049SEd MasteDo not build or install
2520e0e9604SEnji Cooper.Xr bootparamd 8 .
2530e0e9604SEnji Cooper.It Va WITHOUT_BOOTPD
254041c5049SEd MasteDo not build or install
2550e0e9604SEnji Cooper.Xr bootpd 8 .
256a3310b79SAndrew Turner.It Va WITH_BRANCH_PROTECTION
257a3310b79SAndrew TurnerBuild with branch protection enabled.
258a3310b79SAndrew TurnerOn arm64 enable the use of pointer authentication and
259a3310b79SAndrew Turnerbranch target identification instructions on arm64.
260a3310b79SAndrew TurnerThese can be used to help mitigate some exploit techniques.
26193da8366SEnji Cooper.It Va WITHOUT_BSDINSTALL
262041c5049SEd MasteDo not build
26393da8366SEnji Cooper.Xr bsdinstall 8 ,
26493da8366SEnji Cooper.Xr sade 8 ,
26593da8366SEnji Cooperand related programs.
26690be798eSDimitry Andric.It Va WITHOUT_BSD_CPIO
267041c5049SEd MasteDo not build the BSD licensed version of cpio based on
26890be798eSDimitry Andric.Xr libarchive 3 .
26990be798eSDimitry Andric.It Va WITHOUT_BSNMP
270041c5049SEd MasteDo not build or install
27190be798eSDimitry Andric.Xr bsnmpd 1
27290be798eSDimitry Andricand related libraries and data files.
27390be798eSDimitry Andric.It Va WITHOUT_BZIP2
274041c5049SEd MasteDo not build contributed bzip2 software as a part of the base system.
27590be798eSDimitry Andric.Bf -symbolic
27690be798eSDimitry AndricThe option has no effect yet.
27790be798eSDimitry Andric.Ef
278bf64e879SBryan DreweryWhen set, these options are also in effect:
27990be798eSDimitry Andric.Pp
280bf64e879SBryan Drewery.Bl -inset -compact
281bf64e879SBryan Drewery.It Va WITHOUT_BZIP2_SUPPORT
282bf64e879SBryan Drewery(unless
283bf64e879SBryan Drewery.Va WITH_BZIP2_SUPPORT
284bf64e879SBryan Dreweryis set explicitly)
28590be798eSDimitry Andric.El
28690be798eSDimitry Andric.It Va WITHOUT_BZIP2_SUPPORT
287041c5049SEd MasteBuild some programs without optional bzip2 support.
288fd1efedcSConrad Meyer.It Va WITHOUT_CALENDAR
289041c5049SEd MasteDo not build
290fd1efedcSConrad Meyer.Xr calendar 1 .
291de19b521SDimitry Andric.It Va WITHOUT_CAROOT
292041c5049SEd MasteDo not add the trusted certificates from the Mozilla NSS bundle to
293de19b521SDimitry Andricbase.
2942e65cfd3SEd Maste.It Va WITHOUT_CASPER
2952e65cfd3SEd MasteThis option has no effect.
2961c01e4f8SBryan Drewery.It Va WITH_CCACHE_BUILD
297041c5049SEd MasteUse
2981c01e4f8SBryan Drewery.Xr ccache 1
2991c01e4f8SBryan Dreweryfor the build.
3001c01e4f8SBryan DreweryNo configuration is required except to install the
3011c01e4f8SBryan Drewery.Sy devel/ccache
3021c01e4f8SBryan Drewerypackage.
303344e2bb9SEd MasteWhen using with
304344e2bb9SEd Maste.Xr distcc 1 ,
305344e2bb9SEd Masteset
3061c01e4f8SBryan Drewery.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
3071c01e4f8SBryan DreweryThe default cache directory of
3081c01e4f8SBryan Drewery.Pa $HOME/.ccache
3091c01e4f8SBryan Drewerywill be used, which can be overridden by setting
3101c01e4f8SBryan Drewery.Sy CCACHE_DIR .
3111c01e4f8SBryan DreweryThe
3121c01e4f8SBryan Drewery.Sy CCACHE_COMPILERCHECK
3131c01e4f8SBryan Dreweryoption defaults to
3141c01e4f8SBryan Drewery.Sy content
3151c01e4f8SBryan Drewerywhen using the in-tree bootstrap compiler,
3161c01e4f8SBryan Dreweryand
3171c01e4f8SBryan Drewery.Sy mtime
3181c01e4f8SBryan Drewerywhen using an external compiler.
3191c01e4f8SBryan DreweryThe
3201c01e4f8SBryan Drewery.Sy CCACHE_CPP2
3211c01e4f8SBryan Dreweryoption is used for Clang but not GCC.
3221c01e4f8SBryan Drewery.Pp
3231c01e4f8SBryan DrewerySharing a cache between multiple work directories requires using a layout
3241c01e4f8SBryan Drewerysimilar to
3251c01e4f8SBryan Drewery.Pa /some/prefix/src
3261c01e4f8SBryan Drewery.Pa /some/prefix/obj
3271c01e4f8SBryan Dreweryand an environment such as:
3281c01e4f8SBryan Drewery.Bd -literal -offset indent
3291c01e4f8SBryan DreweryCCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
3301c01e4f8SBryan Drewery.Ed
3311c01e4f8SBryan Drewery.Pp
3321c01e4f8SBryan DrewerySee
3331c01e4f8SBryan Drewery.Xr ccache 1
3341c01e4f8SBryan Dreweryfor more configuration options.
33593da8366SEnji Cooper.It Va WITHOUT_CCD
336041c5049SEd MasteDo not build
33793da8366SEnji Cooper.Xr geom_ccd 4
33893da8366SEnji Cooperand related utilities.
33990be798eSDimitry Andric.It Va WITHOUT_CDDL
340041c5049SEd MasteDo not build code licensed under Sun's CDDL.
341344e2bb9SEd MasteWhen set, it enforces these options:
34290be798eSDimitry Andric.Pp
34390be798eSDimitry Andric.Bl -item -compact
34490be798eSDimitry Andric.It
34590be798eSDimitry Andric.Va WITHOUT_CTF
34690be798eSDimitry Andric.It
3473bf66365SBrooks Davis.Va WITHOUT_DTRACE
3483bf66365SBrooks Davis.It
3491f7d1483SEd Maste.Va WITHOUT_LOADER_ZFS
3501f7d1483SEd Maste.It
35190be798eSDimitry Andric.Va WITHOUT_ZFS
352a6c8ab4fSMark Johnston.It
353a6c8ab4fSMark Johnston.Va WITHOUT_ZFS_TESTS
35490be798eSDimitry Andric.El
35590be798eSDimitry Andric.It Va WITHOUT_CLANG
356041c5049SEd MasteDo not build the Clang C/C++ compiler during the regular phase of the build.
357344e2bb9SEd MasteWhen set, it enforces these options:
35890be798eSDimitry Andric.Pp
35990be798eSDimitry Andric.Bl -item -compact
36090be798eSDimitry Andric.It
36190be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
36290be798eSDimitry Andric.It
36319267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
36419267656SConrad Meyer.It
36590be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
3665b9c3654SEd Maste.It
3675b9c3654SEd Maste.Va WITHOUT_LLVM_COV
36890be798eSDimitry Andric.El
369ac56b22fSEd Maste.Pp
370ac56b22fSEd MasteWhen set, these options are also in effect:
371ac56b22fSEd Maste.Pp
372ac56b22fSEd Maste.Bl -inset -compact
373ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_AARCH64
374ac56b22fSEd Maste(unless
375ac56b22fSEd Maste.Va WITH_LLVM_TARGET_AARCH64
376ac56b22fSEd Masteis set explicitly)
377ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ALL
378ac56b22fSEd Maste(unless
379ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ALL
380ac56b22fSEd Masteis set explicitly)
381ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ARM
382ac56b22fSEd Maste(unless
383ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ARM
384ac56b22fSEd Masteis set explicitly)
385ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_POWERPC
386ac56b22fSEd Maste(unless
387ac56b22fSEd Maste.Va WITH_LLVM_TARGET_POWERPC
388ac56b22fSEd Masteis set explicitly)
389ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
390ac56b22fSEd Maste(unless
391ac56b22fSEd Maste.Va WITH_LLVM_TARGET_RISCV
392ac56b22fSEd Masteis set explicitly)
393ac56b22fSEd Maste.El
39490be798eSDimitry Andric.It Va WITHOUT_CLANG_BOOTSTRAP
395041c5049SEd MasteDo not build the Clang C/C++ compiler during the bootstrap phase of
396344e2bb9SEd Mastethe build.
397344e2bb9SEd MasteTo be able to build the system, either gcc or clang bootstrap must be
398344e2bb9SEd Masteenabled unless an alternate compiler is provided via XCC.
39990be798eSDimitry Andric.It Va WITH_CLANG_EXTRAS
400041c5049SEd MasteBuild additional clang and llvm tools, such as bugpoint and
401b3a27c81SEd Masteclang-format.
40219267656SConrad Meyer.It Va WITH_CLANG_FORMAT
403041c5049SEd MasteBuild clang-format.
40490be798eSDimitry Andric.It Va WITHOUT_CLANG_FULL
405041c5049SEd MasteAvoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
40690be798eSDimitry Andricthe Clang C/C++ compiler.
407ba373fcaSEd Maste.It Va WITH_CLEAN
408ba373fcaSEd MasteClean before building world and/or kernel.
40990be798eSDimitry Andric.It Va WITHOUT_CPP
410041c5049SEd MasteDo not build
41190be798eSDimitry Andric.Xr cpp 1 .
41290be798eSDimitry Andric.It Va WITHOUT_CROSS_COMPILER
413041c5049SEd MasteDo not build any cross compiler in the cross-tools stage of buildworld.
414344e2bb9SEd MasteWhen compiling a different version of
41590be798eSDimitry Andric.Fx
416344e2bb9SEd Mastethan what is installed on the system, provide an alternate
41790be798eSDimitry Andriccompiler with XCC to ensure success.
418344e2bb9SEd MasteWhen compiling with an identical version of
41990be798eSDimitry Andric.Fx
42090be798eSDimitry Andricto the host, this option may be safely used.
42190be798eSDimitry AndricThis option may also be safe when the host version of
42290be798eSDimitry Andric.Fx
42390be798eSDimitry Andricis close to the sources being built, but all bets are off if there have
42490be798eSDimitry Andricbeen any changes to the toolchain between the versions.
425344e2bb9SEd MasteWhen set, it enforces these options:
42690be798eSDimitry Andric.Pp
42790be798eSDimitry Andric.Bl -item -compact
42890be798eSDimitry Andric.It
42990be798eSDimitry Andric.Va WITHOUT_CLANG_BOOTSTRAP
43090be798eSDimitry Andric.It
431f972b8a4SBryan Drewery.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
432f972b8a4SBryan Drewery.It
43328f52545SEd Maste.Va WITHOUT_LLD_BOOTSTRAP
43490be798eSDimitry Andric.El
43590be798eSDimitry Andric.It Va WITHOUT_CRYPT
436041c5049SEd MasteDo not build any crypto code.
437344e2bb9SEd MasteWhen set, it enforces these options:
43890be798eSDimitry Andric.Pp
43990be798eSDimitry Andric.Bl -item -compact
44090be798eSDimitry Andric.It
4419f4e04c1SEd Maste.Va WITHOUT_DMAGENT
4429f4e04c1SEd Maste.It
44390be798eSDimitry Andric.Va WITHOUT_KERBEROS
44490be798eSDimitry Andric.It
445fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
446fb27d7aeSEd Maste.It
447da39b3adSEd Maste.Va WITHOUT_LDNS
448da39b3adSEd Maste.It
449da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
450da39b3adSEd Maste.It
451379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
452379954d0SJessica Clarke.It
45390be798eSDimitry Andric.Va WITHOUT_OPENSSH
45490be798eSDimitry Andric.It
45590be798eSDimitry Andric.Va WITHOUT_OPENSSL
456da39b3adSEd Maste.It
457ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
458ac56b22fSEd Maste.It
459116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
460116f7fccSEd Maste.It
461da39b3adSEd Maste.Va WITHOUT_UNBOUND
462243125c8SMitchell Horne.It
463243125c8SMitchell Horne.Va WITHOUT_ZFS
464a6c8ab4fSMark Johnston.It
465a6c8ab4fSMark Johnston.Va WITHOUT_ZFS_TESTS
46690be798eSDimitry Andric.El
46790be798eSDimitry Andric.Pp
468344e2bb9SEd MasteWhen set, these options are also in effect:
46990be798eSDimitry Andric.Pp
47090be798eSDimitry Andric.Bl -inset -compact
47190be798eSDimitry Andric.It Va WITHOUT_GSSAPI
47290be798eSDimitry Andric(unless
47390be798eSDimitry Andric.Va WITH_GSSAPI
47490be798eSDimitry Andricis set explicitly)
47590be798eSDimitry Andric.El
47690be798eSDimitry Andric.It Va WITH_CTF
477041c5049SEd MasteCompile with CTF (Compact C Type Format) data.
47890be798eSDimitry AndricCTF data encapsulates a reduced form of debugging information
47990be798eSDimitry Andricsimilar to DWARF and the venerable stabs and is required for DTrace.
48054d8c5d5SBryan Drewery.It Va WITHOUT_CUSE
481041c5049SEd MasteDo not build CUSE-related programs and libraries.
4829cf76983SNavdeep Parhar.It Va WITHOUT_CXGBETOOL
483041c5049SEd MasteDo not build
4849cf76983SNavdeep Parhar.Xr cxgbetool 8
4859cf76983SNavdeep Parhar.Pp
4869cf76983SNavdeep ParharThis is a default setting on
487391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
4889cf76983SNavdeep Parhar.It Va WITH_CXGBETOOL
489041c5049SEd MasteBuild
4909cf76983SNavdeep Parhar.Xr cxgbetool 8
4919cf76983SNavdeep Parhar.Pp
4929cf76983SNavdeep ParharThis is a default setting on
493ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
4944a5e4462SEd Maste.It Va WITHOUT_DEBUG_FILES
495041c5049SEd MasteAvoid building or installing standalone debug files for each
4964a5e4462SEd Masteexecutable binary and shared library.
497ac56b22fSEd Maste.It Va WITH_DETECT_TZ_CHANGES
498ac56b22fSEd MasteMake the time handling code detect changes to the timezone files.
49952fe961cSBaptiste Daroussin.It Va WITH_DIALOG
50052fe961cSBaptiste DaroussinDo build
501344e2bb9SEd Maste.Xr dialog 1 ,
502344e2bb9SEd Maste.Xr dialog 3 ,
503344e2bb9SEd Maste.Xr dpv 1 ,
504344e2bb9SEd Masteand
505344e2bb9SEd Maste.Xr dpv 3 .
50690be798eSDimitry Andric.It Va WITHOUT_DICT
507041c5049SEd MasteDo not build the Webster dictionary files.
50832b5dc9aSSimon J. Gerraty.It Va WITH_DIRDEPS_BUILD
509b46d461dSEd MasteThis is an alternate build system.
51032b5dc9aSSimon J. GerratyFor details see
5112ec9a427SPiotr Kubajhttps://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
512be894451SBryan DreweryBuild commands can be seen from the top-level with:
513be894451SBryan Drewery.Dl make show-valid-targets
51432b5dc9aSSimon J. GerratyThe build is driven by dirdeps.mk using
51532b5dc9aSSimon J. Gerraty.Va DIRDEPS
51632b5dc9aSSimon J. Gerratystored in
51732b5dc9aSSimon J. GerratyMakefile.depend files found in each directory.
51832b5dc9aSSimon J. Gerraty.Pp
51932b5dc9aSSimon J. GerratyThe build can be started from anywhere, and behaves the same.
52032b5dc9aSSimon J. GerratyThe initial instance of
52132b5dc9aSSimon J. Gerraty.Xr make 1
52232b5dc9aSSimon J. Gerratyrecursively reads
52332b5dc9aSSimon J. Gerraty.Va DIRDEPS
524344e2bb9SEd Mastefrom
525344e2bb9SEd Maste.Pa Makefile.depend ,
52632b5dc9aSSimon J. Gerratycomputing a graph of tree dependencies from the current origin.
52732b5dc9aSSimon J. GerratySetting
52832b5dc9aSSimon J. Gerraty.Va NO_DIRDEPS
529344e2bb9SEd Masteskips checking dirdep dependencies and will only build in the current
5307f76a95cSBryan Dreweryand child directories.
5317f76a95cSBryan Drewery.Va NO_DIRDEPS_BELOW
532344e2bb9SEd Masteskips building any dirdeps and only build the current directory.
53332b5dc9aSSimon J. Gerraty.Pp
534be894451SBryan DreweryThis also utilizes the
535be894451SBryan Drewery.Va WITH_META_MODE
536be894451SBryan Drewerylogic for incremental builds.
53732b5dc9aSSimon J. Gerraty.Pp
538344e2bb9SEd MasteThe build hides commands executed unless
53932b5dc9aSSimon J. Gerraty.Va NO_SILENT
54032b5dc9aSSimon J. Gerratyis defined.
54132b5dc9aSSimon J. Gerraty.Pp
542be894451SBryan DreweryNote that there is currently no mass install feature for this.
543b46d461dSEd MasteThis build is designed for producing packages, that can then be installed
544b46d461dSEd Masteon a target system.
545be894451SBryan Drewery.Pp
546b46d461dSEd MasteThe implementation in
547b46d461dSEd Maste.Fx
548b46d461dSEd Masteis incomplete.
549b46d461dSEd MasteCompletion would require leaf directories for building each kernel
550b46d461dSEd Masteand package so that their dependencies can be tracked.
551344e2bb9SEd MasteWhen set, it enforces these options:
55232b5dc9aSSimon J. Gerraty.Pp
55332b5dc9aSSimon J. Gerraty.Bl -item -compact
55432b5dc9aSSimon J. Gerraty.It
55532b5dc9aSSimon J. Gerraty.Va WITH_INSTALL_AS_USER
55632b5dc9aSSimon J. Gerraty.El
55732b5dc9aSSimon J. Gerraty.Pp
558344e2bb9SEd MasteWhen set, these options are also in effect:
55932b5dc9aSSimon J. Gerraty.Pp
56032b5dc9aSSimon J. Gerraty.Bl -inset -compact
561d1fdf357SEd Maste.It Va WITH_META_ERROR_TARGET
562d1fdf357SEd Maste(unless
563d1fdf357SEd Maste.Va WITHOUT_META_ERROR_TARGET
564d1fdf357SEd Masteis set explicitly)
56526b79d5bSHajimu UMEMOTO.It Va WITH_META_MODE
56626b79d5bSHajimu UMEMOTO(unless
56726b79d5bSHajimu UMEMOTO.Va WITHOUT_META_MODE
56826b79d5bSHajimu UMEMOTOis set explicitly)
56932b5dc9aSSimon J. Gerraty.It Va WITH_STAGING
57032b5dc9aSSimon J. Gerraty(unless
57132b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING
57232b5dc9aSSimon J. Gerratyis set explicitly)
57332b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_MAN
57432b5dc9aSSimon J. Gerraty(unless
57532b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_MAN
57632b5dc9aSSimon J. Gerratyis set explicitly)
57732b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_PROG
57832b5dc9aSSimon J. Gerraty(unless
57932b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_PROG
58032b5dc9aSSimon J. Gerratyis set explicitly)
58132b5dc9aSSimon J. Gerraty.It Va WITH_SYSROOT
58232b5dc9aSSimon J. Gerraty(unless
58332b5dc9aSSimon J. Gerraty.Va WITHOUT_SYSROOT
58432b5dc9aSSimon J. Gerratyis set explicitly)
58532b5dc9aSSimon J. Gerraty.El
58632b5dc9aSSimon J. Gerraty.Pp
58732b5dc9aSSimon J. GerratyThis must be set in the environment, make command line, or
58832b5dc9aSSimon J. Gerraty.Pa /etc/src-env.conf ,
58932b5dc9aSSimon J. Gerratynot
59032b5dc9aSSimon J. Gerraty.Pa /etc/src.conf .
591cc2520d2SSimon J. Gerraty.It Va WITH_DIRDEPS_CACHE
592cc2520d2SSimon J. GerratyCache result of dirdeps.mk which can save significant time
593cc2520d2SSimon J. Gerratyfor subsequent builds.
594cc2520d2SSimon J. GerratyDepends on
59532b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
5960a70ef02SBryan Drewery.Pp
597ba852870SBryan DreweryThis must be set in the environment, make command line, or
5980a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
5990a70ef02SBryan Drewerynot
6000a70ef02SBryan Drewery.Pa /etc/src.conf .
6019e914c7aSJessica Clarke.It Va WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
6029e914c7aSJessica ClarkeBuild
6039e914c7aSJessica Clarke.Xr etdump 1 ,
6049e914c7aSJessica Clarke.Xr makefs 8
6059e914c7aSJessica Clarkeand
6069e914c7aSJessica Clarke.Xr mkimg 1
6079e914c7aSJessica Clarkeas bootstrap tools.
60890be798eSDimitry Andric.It Va WITHOUT_DMAGENT
609041c5049SEd MasteDo not build dma Mail Transport Agent.
61090be798eSDimitry Andric.It Va WITHOUT_DOCCOMPRESS
611041c5049SEd MasteDo not install compressed system documentation.
61290be798eSDimitry AndricOnly the uncompressed version will be installed.
6133bf66365SBrooks Davis.It Va WITHOUT_DTRACE
6143bf66365SBrooks DavisDo not build DTrace framework kernel modules, libraries, and user commands.
6153bf66365SBrooks DavisWhen set, it enforces these options:
6163bf66365SBrooks Davis.Pp
6173bf66365SBrooks Davis.Bl -item -compact
6183bf66365SBrooks Davis.It
6193bf66365SBrooks Davis.Va WITHOUT_CTF
6203bf66365SBrooks Davis.El
6216de02228SDomagoj Stolfa.It Va WITH_DTRACE_ASAN
6226de02228SDomagoj StolfaCompile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
6236de02228SDomagoj Stolfawith address and undefined behavior sanitizers.
6246de02228SDomagoj StolfaRequires that Clang be used as the base system compiler
6256de02228SDomagoj Stolfaand that the runtime support library is available.
62616f3fdf5SMark Johnston.It Va WITH_DTRACE_TESTS
627041c5049SEd MasteBuild and install the DTrace test suite in
62816f3fdf5SMark Johnston.Pa /usr/tests/cddl/usr.sbin/dtrace .
62916f3fdf5SMark JohnstonThis test suite is considered experimental on architectures other than
63016f3fdf5SMark Johnstonamd64/amd64 and running it may cause system instability.
63190be798eSDimitry Andric.It Va WITHOUT_DYNAMICROOT
63290be798eSDimitry AndricSet this if you do not want to link
63390be798eSDimitry Andric.Pa /bin
63490be798eSDimitry Andricand
63590be798eSDimitry Andric.Pa /sbin
63690be798eSDimitry Andricdynamically.
63793da8366SEnji Cooper.It Va WITHOUT_EE
638041c5049SEd MasteDo not build and install
63993da8366SEnji Cooper.Xr edit 1 ,
64093da8366SEnji Cooper.Xr ee 1 ,
64193da8366SEnji Cooperand related programs.
6420cd582c8SEnji Cooper.It Va WITHOUT_EFI
6430cd582c8SEnji CooperSet not to build
6440cd582c8SEnji Cooper.Xr efivar 3
6450cd582c8SEnji Cooperand
6460cd582c8SEnji Cooper.Xr efivar 8 .
6470cd582c8SEnji Cooper.Pp
648344e2bb9SEd MasteThis is a default setting on
649d1fdf357SEd Mastei386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
6500cd582c8SEnji Cooper.It Va WITH_EFI
651041c5049SEd MasteBuild
6520cd582c8SEnji Cooper.Xr efivar 3
6530cd582c8SEnji Cooperand
6540cd582c8SEnji Cooper.Xr efivar 8 .
6550cd582c8SEnji Cooper.Pp
656344e2bb9SEd MasteThis is a default setting on
657391e1f23SEd Masteamd64/amd64, arm/armv7 and arm64/aarch64.
6585977355fSBryan Drewery.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
659041c5049SEd MasteDo not build ELF Tool Chain tools
6605977355fSBryan Drewery(addr2line, nm, size, strings and strip)
6615977355fSBryan Dreweryas part of the bootstrap process.
6625977355fSBryan Drewery.Bf -symbolic
6635977355fSBryan DreweryAn alternate bootstrap tool chain must be provided.
6645977355fSBryan Drewery.Ef
66590be798eSDimitry Andric.It Va WITHOUT_EXAMPLES
666041c5049SEd MasteAvoid installing examples to
66790be798eSDimitry Andric.Pa /usr/share/examples/ .
66843f75d57SBjoern A. Zeeb.It Va WITH_EXPERIMENTAL
669041c5049SEd MasteInclude experimental features in the build.
6703f9c1b2cSEd Maste.It Va WITHOUT_FDT
6713f9c1b2cSEd MasteDo not build Flattened Device Tree support as part of the base system.
6723f9c1b2cSEd MasteThis includes the device tree compiler (dtc) and libfdt support library.
6733f9c1b2cSEd Maste.Pp
6743f9c1b2cSEd MasteThis is a default setting on
6753f9c1b2cSEd Masteamd64/amd64 and i386/i386.
676a8af3aeeSEd Maste.It Va WITH_FDT
677a8af3aeeSEd MasteBuild Flattened Device Tree support as part of the base system.
67890be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6793f9c1b2cSEd Maste.Pp
6803f9c1b2cSEd MasteThis is a default setting on
681391e1f23SEd Mastearm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
6820e0e9604SEnji Cooper.It Va WITHOUT_FILE
683041c5049SEd MasteDo not build
6840e0e9604SEnji Cooper.Xr file 1
6850e0e9604SEnji Cooperand related programs.
6860e0e9604SEnji Cooper.It Va WITHOUT_FINGER
687041c5049SEd MasteDo not build or install
6880e0e9604SEnji Cooper.Xr finger 1
6890e0e9604SEnji Cooperand
6900e0e9604SEnji Cooper.Xr fingerd 8 .
69190be798eSDimitry Andric.It Va WITHOUT_FLOPPY
692041c5049SEd MasteDo not build or install programs
69390be798eSDimitry Andricfor operating floppy disk driver.
694a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
695041c5049SEd MasteDo not enable
696a0f6423bSEd Maste.Fl fformat-extensions
697a0f6423bSEd Mastewhen compiling the kernel.
698a0f6423bSEd MasteAlso disables all format checking.
69990be798eSDimitry Andric.It Va WITHOUT_FORTH
700041c5049SEd MasteBuild bootloaders without Forth support.
70190be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
702041c5049SEd MasteBuild
70390be798eSDimitry Andric.Nm libc
70490be798eSDimitry Andricwithout floating-point support.
70590be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
706041c5049SEd MasteDo not build
70790be798eSDimitry Andric.Xr freebsd-update 8 .
7080e0e9604SEnji Cooper.It Va WITHOUT_FTP
709041c5049SEd MasteDo not build or install
7100e0e9604SEnji Cooper.Xr ftp 1
7110e0e9604SEnji Cooperand
7120e0e9604SEnji Cooper.Xr ftpd 8 .
71390be798eSDimitry Andric.It Va WITHOUT_GAMES
714041c5049SEd MasteDo not build games.
715160ea953SStefan Eßer.It Va WITHOUT_GH_BC
716041c5049SEd MasteInstall the traditional FreeBSD
71768c8c1a7SStefan Eßer.Xr bc 1
718160ea953SStefan Eßerand
71968c8c1a7SStefan Eßer.Xr dc 1
720041c5049SEd Masteprograms instead of the enhanced versions.
72136e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
722041c5049SEd MasteDo not build GNU
72377fd0250SBrooks Davis.Xr diff3 1 ;
72477fd0250SBrooks Davisbuild BSD
72577fd0250SBrooks Davis.Xr diff3 1
72677fd0250SBrooks Davisinstead.
7277840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
728041c5049SEd MasteNeither build nor install
7297840b63aSEnji Cooper.Lb libgmock ,
7307840b63aSEnji Cooper.Lb libgtest ,
7317840b63aSEnji Cooperand dependent tests.
73290be798eSDimitry Andric.It Va WITHOUT_GPIO
733041c5049SEd MasteDo not build
73490be798eSDimitry Andric.Xr gpioctl 8
73590be798eSDimitry Andricas part of the base system.
73690be798eSDimitry Andric.It Va WITHOUT_GSSAPI
737041c5049SEd MasteDo not build libgssapi.
73861940879SEnji Cooper.It Va WITHOUT_HAST
739041c5049SEd MasteDo not build
74061940879SEnji Cooper.Xr hastd 8
74161940879SEnji Cooperand related utilities.
74290be798eSDimitry Andric.It Va WITH_HESIOD
743041c5049SEd MasteBuild Hesiod support.
74490be798eSDimitry Andric.It Va WITHOUT_HTML
745041c5049SEd MasteDo not build HTML docs.
7462c4b4abcSXin LI.It Va WITHOUT_HYPERV
747041c5049SEd MasteDo not build or install HyperV utilities.
7480543ade3SBrooks Davis.Pp
7490543ade3SBrooks DavisThis is a default setting on
750391e1f23SEd Mastearm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
7510543ade3SBrooks Davis.It Va WITH_HYPERV
752041c5049SEd MasteBuild or install HyperV utilities.
7530543ade3SBrooks Davis.Pp
7540543ade3SBrooks DavisThis is a default setting on
75507853c6cSEd Masteamd64/amd64, arm64/aarch64 and i386/i386.
75690be798eSDimitry Andric.It Va WITHOUT_ICONV
757041c5049SEd MasteDo not build iconv as part of libc.
758c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
759041c5049SEd MasteDo not install header files.
760c5d09a87SGlen BarberThis option used to be spelled
761c5d09a87SGlen Barber.Va NO_INCS .
762c5d09a87SGlen Barber.Bf -symbolic
763c5d09a87SGlen BarberThe option does not work for build targets.
764c5d09a87SGlen Barber.Ef
76590be798eSDimitry Andric.It Va WITHOUT_INET
766041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
767344e2bb9SEd MasteWhen set, it enforces these options:
76890be798eSDimitry Andric.Pp
76990be798eSDimitry Andric.Bl -item -compact
77090be798eSDimitry Andric.It
77190be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
77290be798eSDimitry Andric.El
77390be798eSDimitry Andric.It Va WITHOUT_INET6
774041c5049SEd MasteDo not build
77590be798eSDimitry Andricprograms and libraries related to IPv6 networking.
776344e2bb9SEd MasteWhen set, it enforces these options:
77790be798eSDimitry Andric.Pp
77890be798eSDimitry Andric.Bl -item -compact
77990be798eSDimitry Andric.It
78090be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
78190be798eSDimitry Andric.El
78290be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
783041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7840e0e9604SEnji Cooper.It Va WITHOUT_INETD
785041c5049SEd MasteDo not build
7860e0e9604SEnji Cooper.Xr inetd 8 .
78790be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
788041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
78990be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
790344e2bb9SEd MasteSet this to not install optional libraries.
791344e2bb9SEd MasteFor example, when creating a
79290be798eSDimitry Andric.Xr nanobsd 8
79390be798eSDimitry Andricimage.
794f79bedf5SBryan Drewery.Bf -symbolic
795f79bedf5SBryan DreweryThe option does not work for build targets.
796f79bedf5SBryan Drewery.Ef
79790be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
798041c5049SEd MasteMake install targets succeed for non-root users by installing
79990be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
80090be798eSDimitry Andricthe
80190be798eSDimitry Andric.Xr make 1
80290be798eSDimitry Andriccommand.
803344e2bb9SEd MasteThe user still must set the
80490be798eSDimitry Andric.Va DESTDIR
80590be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
80690be798eSDimitry Andric.It Va WITHOUT_IPFILTER
807041c5049SEd MasteDo not build IP Filter package.
80890be798eSDimitry Andric.It Va WITHOUT_IPFW
809041c5049SEd MasteDo not build IPFW tools.
81088342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
811041c5049SEd MasteDo not build the kernel with
81288342134SEnji Cooper.Xr ipsec 4
81388342134SEnji Coopersupport.
81488342134SEnji CooperThis option is needed for
81588342134SEnji Cooper.Xr ipsec 4
81688342134SEnji Cooperand
81788342134SEnji Cooper.Xr tcpmd5 4 .
81893da8366SEnji Cooper.It Va WITHOUT_ISCSI
819041c5049SEd MasteDo not build
82026d6bbfaSSevan Janiyan.Xr iscsid 8
82193da8366SEnji Cooperand related utilities.
82290be798eSDimitry Andric.It Va WITHOUT_JAIL
823041c5049SEd MasteDo not build tools for the support of jails; e.g.,
82490be798eSDimitry Andric.Xr jail 8 .
825b0f9f970SKonstantin Belousov.It Va WITHOUT_JEMALLOC_LG_VADDR_WIDE
826b0f9f970SKonstantin BelousovDisallow programs to use more than 48 address bits on amd64.
827b0f9f970SKonstantin BelousovIncompatible with LA57 mode.
828b0f9f970SKonstantin BelousovEnabling this option might result in a slight reduction in memory
829b0f9f970SKonstantin Belousovconsumption for jemalloc metadata, but also requires disabling LA57
830b0f9f970SKonstantin Belousov(if hardware supports it).
83190be798eSDimitry Andric.It Va WITHOUT_KDUMP
832041c5049SEd MasteDo not build
83390be798eSDimitry Andric.Xr kdump 1
83490be798eSDimitry Andricand
83590be798eSDimitry Andric.Xr truss 1 .
83690be798eSDimitry Andric.It Va WITHOUT_KERBEROS
837344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
838344e2bb9SEd MasteWhen set, these options are also in effect:
83990be798eSDimitry Andric.Pp
84090be798eSDimitry Andric.Bl -inset -compact
84190be798eSDimitry Andric.It Va WITHOUT_GSSAPI
84290be798eSDimitry Andric(unless
84390be798eSDimitry Andric.Va WITH_GSSAPI
84490be798eSDimitry Andricis set explicitly)
845bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
846bf64e879SBryan Drewery(unless
847bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
848bf64e879SBryan Dreweryis set explicitly)
84990be798eSDimitry Andric.El
85090be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
851041c5049SEd MasteBuild some programs without Kerberos support, like
85290be798eSDimitry Andric.Xr ssh 1 ,
85390be798eSDimitry Andric.Xr telnet 1 ,
85490be798eSDimitry Andricand
855b4cfdbfeSBrooks Davis.Xr sshd 8 .
856ce37de8eSEd Maste.It Va WITH_KERNEL_BIN
857ce37de8eSEd MasteGenerate and install kernel.bin from kernel as part of the normal build and
858ce37de8eSEd Masteinstall processes for the kernel. Available only on arm and arm64.
859ce37de8eSEd Maste
860ce37de8eSEd MasteUsually this will be added to the kernel config file with:
861ce37de8eSEd Maste
862ce37de8eSEd Mastemakeoptions	WITH_KERNEL_BIN=1
863ce37de8eSEd Maste
864ce37de8eSEd Mastethough it can also be used on the command line.
8656f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
866041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8676f7527f0SEd Mastebuild.
868a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
869330b7dccSEd MasteDo not install standalone kernel debug symbol files.
870330b7dccSEd MasteThis option has no effect at build time.
87190be798eSDimitry Andric.It Va WITHOUT_KVM
872041c5049SEd MasteDo not build the
87390be798eSDimitry Andric.Nm libkvm
87490be798eSDimitry Andriclibrary as a part of the base system.
87590be798eSDimitry Andric.Bf -symbolic
87690be798eSDimitry AndricThe option has no effect yet.
87790be798eSDimitry Andric.Ef
878bf64e879SBryan DreweryWhen set, these options are also in effect:
87990be798eSDimitry Andric.Pp
880bf64e879SBryan Drewery.Bl -inset -compact
881bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
882bf64e879SBryan Drewery(unless
883bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
884bf64e879SBryan Dreweryis set explicitly)
88590be798eSDimitry Andric.El
88690be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
887041c5049SEd MasteBuild some programs without optional
88890be798eSDimitry Andric.Nm libkvm
88990be798eSDimitry Andricsupport.
89090be798eSDimitry Andric.It Va WITHOUT_LDNS
89190be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
892344e2bb9SEd MasteWhen set, it enforces these options:
89390be798eSDimitry Andric.Pp
89490be798eSDimitry Andric.Bl -item -compact
89590be798eSDimitry Andric.It
89690be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
89790be798eSDimitry Andric.It
89890be798eSDimitry Andric.Va WITHOUT_UNBOUND
89990be798eSDimitry Andric.El
90090be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
90190be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
90290be798eSDimitry Andric.Xr drill 1
90390be798eSDimitry Andricand
90490be798eSDimitry Andric.Xr host 1 .
90590be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
906041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
90723a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
90890be798eSDimitry Andricand
90923a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
91090be798eSDimitry Andric.It Va WITHOUT_LIB32
911041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
91290be798eSDimitry Andric.Nm ld-elf32.so.1
91390be798eSDimitry Andricruntime linker.
914f3cdc622SEd Maste.Pp
915f3cdc622SEd MasteThis is a default setting on
916391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
917c5819624SEd Maste.It Va WITH_LIB32
918c5819624SEd MasteOn 64-bit platforms, build the 32-bit library set and a
919c5819624SEd Maste.Nm ld-elf32.so.1
920c5819624SEd Masteruntime linker.
921c5819624SEd Maste.Pp
922c5819624SEd MasteThis is a default setting on
92381a7ce44SJose Luis Duranamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
92436e8c7bbSEd Maste.It Va WITHOUT_LLD
925041c5049SEd MasteDo not build LLVM's lld linker.
9261500eb21SEd Maste.It Va WITHOUT_LLDB
927041c5049SEd MasteDo not build the LLDB debugger.
9281500eb21SEd Maste.Pp
929344e2bb9SEd MasteThis is a default setting on
930391e1f23SEd Mastearm/armv7 and riscv/riscv64.
93190be798eSDimitry Andric.It Va WITH_LLDB
932041c5049SEd MasteBuild the LLDB debugger.
9331500eb21SEd Maste.Pp
934344e2bb9SEd MasteThis is a default setting on
9352ec9a427SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
9366c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
937041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
9386c2b7edaSEd Mastethe build.
9397680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
940a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
941041c5049SEd MasteDisable debugging assertions in LLVM.
942ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
943a9d0665bSEd MasteInstall LLVM's binutils (without an llvm- prefix),
944a9d0665bSEd Masteinstead of ELF Tool Chain's tools.
945a9d0665bSEd MasteThis includes
946a9d0665bSEd Maste.Xr addr2line 1 ,
947a9d0665bSEd Maste.Xr ar 1 ,
948a9d0665bSEd Maste.Xr nm 1 ,
949a9d0665bSEd Maste.Xr objcopy 1 ,
950a9d0665bSEd Maste.Xr ranlib 1 ,
951a9d0665bSEd Maste.Xr readelf 1 ,
952a9d0665bSEd Maste.Xr size 1 ,
953a9d0665bSEd Masteand
954a9d0665bSEd Maste.Xr strip 1 .
955a9d0665bSEd MasteRegardless of this setting, LLVM tools are used for
956a9d0665bSEd Maste.Xr c++filt 1
957a9d0665bSEd Masteand
958a9d0665bSEd Maste.Xr objdump 1 .
959a9d0665bSEd Maste.Xr strings 1
960a9d0665bSEd Masteis always provided by ELF Tool Chain.
9615b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
962041c5049SEd MasteDo not build the
9635b9c3654SEd Maste.Xr llvm-cov 1
9645b9c3654SEd Mastetool.
9659fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9669fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
96773ff7384SDimitry Andric.It Va WITH_LLVM_FULL_DEBUGINFO
96873ff7384SDimitry AndricGenerate full debug information for LLVM libraries and tools, which uses
96973ff7384SDimitry Andricmore disk space and build resources, but allows for easier debugging.
970cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
971041c5049SEd MasteDo not build LLVM target support for AArch64.
972bf64e879SBryan DreweryThe
973bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
974bf64e879SBryan Dreweryoption should be used rather than this in most cases.
975bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
976041c5049SEd MasteOnly build the required LLVM target support.
977bf64e879SBryan DreweryThis option is preferred to specific target support options.
978bf64e879SBryan DreweryWhen set, these options are also in effect:
979bf64e879SBryan Drewery.Pp
980bf64e879SBryan Drewery.Bl -inset -compact
981bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
982bf64e879SBryan Drewery(unless
983bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
984bf64e879SBryan Dreweryis set explicitly)
985bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
986bf64e879SBryan Drewery(unless
987bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
988bf64e879SBryan Dreweryis set explicitly)
989bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
990bf64e879SBryan Drewery(unless
991bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
992bf64e879SBryan Dreweryis set explicitly)
993f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
994f3cdc622SEd Maste(unless
995f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
996f3cdc622SEd Masteis set explicitly)
997bf64e879SBryan Drewery.El
998cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
999041c5049SEd MasteDo not build LLVM target support for ARM.
1000bf64e879SBryan DreweryThe
1001bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
1002bf64e879SBryan Dreweryoption should be used rather than this in most cases.
100389edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
1004041c5049SEd MasteBuild LLVM target support for BPF.
100589edb881SDimitry AndricThe
100689edb881SDimitry Andric.Va LLVM_TARGET_ALL
100789edb881SDimitry Andricoption should be used rather than this in most cases.
10086bdbfa49SPiotr Kubaj.It Va WITH_LLVM_TARGET_MIPS
10096bdbfa49SPiotr KubajBuild LLVM target support for MIPS.
1010bf64e879SBryan DreweryThe
1011bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
1012bf64e879SBryan Dreweryoption should be used rather than this in most cases.
1013cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
1014041c5049SEd MasteDo not build LLVM target support for PowerPC.
1015bf64e879SBryan DreweryThe
1016bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
1017bf64e879SBryan Dreweryoption should be used rather than this in most cases.
1018f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
1019041c5049SEd MasteDo not build LLVM target support for RISC-V.
1020f3cdc622SEd MasteThe
1021f3cdc622SEd Maste.Va LLVM_TARGET_ALL
1022f3cdc622SEd Masteoption should be used rather than this in most cases.
1023cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
1024041c5049SEd MasteDo not build LLVM target support for X86.
1025bf64e879SBryan DreweryThe
1026bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
1027bf64e879SBryan Dreweryoption should be used rather than this in most cases.
1028*50b5a37aSBrooks Davis.It Va WITHOUT_LOADER_BIOS_TEXTONLY
1029*50b5a37aSBrooks DavisInclude graphics, font and video mode support in the i386 and amd64 BIOS
1030*50b5a37aSBrooks Davisboot loader.
1031bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1032bfdf8aa9SJohn BaldwinEnable building
1033bfdf8aa9SJohn Baldwin.Xr loader 8
1034bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
1035782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
1036782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
103730323356SWarner Losh.Pp
103830323356SWarner LoshThis is a default setting on
10398cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10408edab9cdSWarner Losh.It Va WITH_LOADER_GELI
1041041c5049SEd MasteBuild GELI bootloader support.
10428edab9cdSWarner Losh.Pp
10438edab9cdSWarner LoshThis is a default setting on
1044391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
104503ff6260SEd Maste.It Va WITHOUT_LOADER_IA32
104603ff6260SEd MasteDo not build the 32-bit UEFI loader.
104703ff6260SEd Maste.Pp
104803ff6260SEd MasteThis is a default setting on
104903ff6260SEd Mastearm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
105003ff6260SEd Maste.It Va WITH_LOADER_IA32
105103ff6260SEd MasteBuild the 32-bit UEFI loader.
105203ff6260SEd Maste.Pp
105303ff6260SEd MasteThis is a default setting on
105403ff6260SEd Masteamd64/amd64.
10552ec9a427SPiotr Kubaj.It Va WITHOUT_LOADER_KBOOT
10562ec9a427SPiotr KubajDo not build kboot, a linuxboot environment loader
10572ec9a427SPiotr Kubaj.Pp
10582ec9a427SPiotr KubajThis is a default setting on
1059391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64.
10602ec9a427SPiotr Kubaj.It Va WITH_LOADER_KBOOT
10612ec9a427SPiotr KubajBuild kboot, a linuxboot environment loader
10622ec9a427SPiotr Kubaj.Pp
10632ec9a427SPiotr KubajThis is a default setting on
1064cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
10658edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
1066041c5049SEd MasteDo not build LUA bindings for the boot loader.
10678edab9cdSWarner Losh.Pp
10688edab9cdSWarner LoshThis is a default setting on
10698cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10706f7527f0SEd Maste.It Va WITH_LOADER_LUA
1071041c5049SEd MasteBuild LUA bindings for the boot loader.
107230323356SWarner Losh.Pp
107330323356SWarner LoshThis is a default setting on
1074391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1075b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1076b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1077b8f3641fSKyle Evans.Pp
1078b8f3641fSKyle EvansThis is a default setting on
1079391e1f23SEd Masteamd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64.
1080b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1081041c5049SEd MasteBuild openfirmware bootloader components.
1082b8f3641fSKyle Evans.Pp
1083b8f3641fSKyle EvansThis is a default setting on
10848cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10859ed58aa6SWarner Losh.It Va WITHOUT_LOADER_PXEBOOT
10869ed58aa6SWarner LoshDo not build pxeboot on i386/amd64.
10879ed58aa6SWarner LoshWhen the pxeboot is too large, or unneeded, it may be disabled with this option.
10889ed58aa6SWarner LoshSee
10899ed58aa6SWarner Losh.Va WITH_LOADER_PXEBOOT
10909ed58aa6SWarner Loshfor how to adjust the defaults when you need both a larger
10919ed58aa6SWarner Losh.Pa /boot/loader
10929ed58aa6SWarner Loshand
10939ed58aa6SWarner Losh.Pa /boot/pxeboot
10949ed58aa6SWarner Losh.Pp
10959ed58aa6SWarner LoshThis option only has an effect on x86.
1096b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1097b8f3641fSKyle EvansDisable building of ubldr.
1098b8f3641fSKyle Evans.Pp
1099b8f3641fSKyle EvansThis is a default setting on
1100d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le and riscv/riscv64.
1101b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1102041c5049SEd MasteBuild ubldr.
1103b8f3641fSKyle Evans.Pp
1104b8f3641fSKyle EvansThis is a default setting on
1105391e1f23SEd Mastearm/armv7, powerpc/powerpc and powerpc/powerpc64.
11061f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1107041c5049SEd MasteBuild with extra verbose debugging in the loader.
11081f7d1483SEd MasteMay explode already nearly too large loader over the limit.
11091f7d1483SEd MasteUse with care.
1110bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1111bfdf8aa9SJohn BaldwinEnable building
1112bfdf8aa9SJohn Baldwin.Xr loader 8
1113de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1114bfdf8aa9SJohn Baldwin.Pp
1115de19b521SDimitry AndricDepends on
1116de19b521SDimitry Andric.Va WITH_BEARSSL .
11179ed58aa6SWarner LoshMay require a larger
11189ed58aa6SWarner Losh.Va LOADERSIZE .
1119bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1120bfdf8aa9SJohn Baldwin.Pp
1121bfdf8aa9SJohn Baldwin.Bl -inset -compact
1122bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1123bfdf8aa9SJohn Baldwin(unless
1124bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1125bfdf8aa9SJohn Baldwinis set explicitly)
1126f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1127f87a2082SEd Maste(unless
1128f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1129f87a2082SEd Masteis set explicitly)
1130bfdf8aa9SJohn Baldwin.El
1131de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1132de19b521SDimitry AndricEnable building
1133de19b521SDimitry Andric.Xr loader 8
1134de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1135de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1136de19b521SDimitry Andric.Pp
1137de19b521SDimitry AndricDepends on
1138de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
11393ac71149SBrooks Davis.It Va WITH_LOADER_VERIEXEC_VECTX
11403ac71149SBrooks DavisEnable building
11413ac71149SBrooks Davis.Xr loader 8
11423ac71149SBrooks Daviswith support for hashing and verifying kernel and modules as a side effect
11433ac71149SBrooks Davisof loading.
11443ac71149SBrooks Davis.Pp
11453ac71149SBrooks DavisDepends on
11463ac71149SBrooks Davis.Va WITH_LOADER_VERIEXEC .
11471f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1148041c5049SEd MasteDo not build ZFS file system boot loader support.
114990be798eSDimitry Andric.It Va WITHOUT_LOCALES
1150041c5049SEd MasteDo not build localization files; see
115190be798eSDimitry Andric.Xr locale 1 .
115290be798eSDimitry Andric.It Va WITHOUT_LOCATE
1153041c5049SEd MasteDo not build
115490be798eSDimitry Andric.Xr locate 1
115590be798eSDimitry Andricand related programs.
115690be798eSDimitry Andric.It Va WITHOUT_LPR
1157041c5049SEd MasteDo not build
115890be798eSDimitry Andric.Xr lpr 1
115990be798eSDimitry Andricand related programs.
116090be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1161041c5049SEd MasteBuild
116290be798eSDimitry Andric.Xr ls 1
116390be798eSDimitry Andricwithout support for colors to distinguish file types.
1164dcdf4c1aSGleb Popov.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1165dcdf4c1aSGleb PopovPrefer machine-independent non-assembler code in libc and libm.
116690be798eSDimitry Andric.It Va WITHOUT_MAIL
1167041c5049SEd MasteDo not build any mail support (MUA or MTA).
1168344e2bb9SEd MasteWhen set, it enforces these options:
116990be798eSDimitry Andric.Pp
117090be798eSDimitry Andric.Bl -item -compact
117190be798eSDimitry Andric.It
117290be798eSDimitry Andric.Va WITHOUT_DMAGENT
117390be798eSDimitry Andric.It
117490be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
117590be798eSDimitry Andric.It
117690be798eSDimitry Andric.Va WITHOUT_SENDMAIL
117790be798eSDimitry Andric.El
117890be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1179041c5049SEd MasteDo not build the
118090be798eSDimitry Andric.Xr mailwrapper 8
118190be798eSDimitry AndricMTA selector.
118290be798eSDimitry Andric.It Va WITHOUT_MAKE
1183041c5049SEd MasteDo not install
118490be798eSDimitry Andric.Xr make 1
118590be798eSDimitry Andricand related support files.
118674782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1187041c5049SEd MasteDo not execute
118874782f0eSEnji Cooper.Dq Li "make check"
118974782f0eSEnji Cooperin limited sandbox mode.
119074782f0eSEnji CooperThis option should be paired with
119174782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
119274782f0eSEnji Cooperif executed as an unprivileged user.
119374782f0eSEnji CooperSee
119474782f0eSEnji Cooper.Xr tests 7
119574782f0eSEnji Cooperfor more details.
11967d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1197041c5049SEd MasteDisable assertions and statistics gathering in
11987d4374f6SDimitry Andric.Xr malloc 3 .
11997d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
120090be798eSDimitry Andric.It Va WITHOUT_MAN
1201041c5049SEd MasteDo not build manual pages.
1202344e2bb9SEd MasteWhen set, these options are also in effect:
120390be798eSDimitry Andric.Pp
120490be798eSDimitry Andric.Bl -inset -compact
120590be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
120690be798eSDimitry Andric(unless
120790be798eSDimitry Andric.Va WITH_MAN_UTILS
120890be798eSDimitry Andricis set explicitly)
120990be798eSDimitry Andric.El
121090be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1211041c5049SEd MasteDo not install compressed man pages.
121290be798eSDimitry AndricOnly the uncompressed versions will be installed.
121374da9c39SDoug Rabson.It Va WITHOUT_MANSPLITPKG
121474da9c39SDoug RabsonDo not split man pages into their own packages during make package.
121590be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1216041c5049SEd MasteDo not build utilities for manual pages,
121790be798eSDimitry Andric.Xr apropos 1 ,
121890be798eSDimitry Andric.Xr makewhatis 1 ,
121990be798eSDimitry Andric.Xr man 1 ,
122090be798eSDimitry Andric.Xr whatis 1 ,
122190be798eSDimitry Andric.Xr manctl 8 ,
122290be798eSDimitry Andricand related support files.
1223b46d461dSEd Maste.It Va WITH_META_ERROR_TARGET
1224b46d461dSEd MasteEnable the META_MODE .ERROR target.
1225b46d461dSEd Maste.Pp
1226b46d461dSEd MasteThis target will copy the meta file of a failed target
1227b46d461dSEd Masteto
1228b46d461dSEd Maste.Va ERROR_LOGDIR
1229b46d461dSEd Maste(default is
1230b46d461dSEd Maste.Ql ${SRCTOP:H}/error )
1231b46d461dSEd Masteto help with failure analysis.
1232b46d461dSEd MasteDepends on
1233b46d461dSEd Maste.Va WITH_META_MODE .
1234b46d461dSEd MasteThis default when
1235b46d461dSEd Maste.Va WITH_DIRDEPS_BUILD
1236b46d461dSEd Masteis set.
1237b46d461dSEd Maste.Pp
1238b46d461dSEd MasteThis must be set in the environment, make command line, or
1239b46d461dSEd Maste.Pa /etc/src-env.conf ,
1240b46d461dSEd Mastenot
1241b46d461dSEd Maste.Pa /etc/src.conf .
1242cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1243344e2bb9SEd MasteCreate
1244be894451SBryan Drewery.Xr make 1
1245be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1246be894451SBryan Dreweryusing
1247be894451SBryan Drewery.Xr filemon 4 .
1248344e2bb9SEd MasteThe meta file is created in OBJDIR as
1249be894451SBryan Drewery.Pa target.meta .
1250344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1251344e2bb9SEd Mastecurrent directory.
12522710e62cSBryan DreweryThe
12537f76a95cSBryan Drewery.Xr filemon 4
12542710e62cSBryan Drewerymodule is required unless
12552710e62cSBryan Drewery.Va NO_FILEMON
12562710e62cSBryan Dreweryis defined.
1257344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1258344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1259344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1260344e2bb9SEd Masteconditions are true compared to the last build:
1261be894451SBryan Drewery.Bl -bullet -compact
1262be894451SBryan Drewery.It
1263be894451SBryan DreweryThe command to execute changes.
1264be894451SBryan Drewery.It
1265be894451SBryan DreweryThe current working directory changes.
1266be894451SBryan Drewery.It
1267a4a2269eSBryan DreweryThe target's meta file is missing.
1268a4a2269eSBryan Drewery.It
1269a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1270a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1271be894451SBryan Drewery.It
1272be894451SBryan Drewery[requires
1273be894451SBryan Drewery.Xr filemon 4 ]
1274be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1275be894451SBryan Drewery.It
1276be894451SBryan Drewery[requires
1277be894451SBryan Drewery.Xr filemon 4 ]
1278be894451SBryan DreweryFiles read, written, executed or linked are missing.
1279be894451SBryan Drewery.El
12807f76a95cSBryan DreweryThe meta files can also be useful for debugging.
12817f76a95cSBryan Drewery.Pp
1282344e2bb9SEd MasteThe build hides commands that are executed unless
12837f76a95cSBryan Drewery.Va NO_SILENT
12847f76a95cSBryan Dreweryis defined.
1285344e2bb9SEd MasteErrors cause
12862710e62cSBryan Drewery.Xr make 1
12872710e62cSBryan Dreweryto show some of its environment for further debugging.
12880a70ef02SBryan Drewery.Pp
1289be894451SBryan DreweryThe build operates as it normally would otherwise.
1290be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1291be894451SBryan Dreweryto
1292be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1293be894451SBryan Drewery.Pp
1294ba852870SBryan DreweryThis must be set in the environment, make command line, or
12950a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
12960a70ef02SBryan Drewerynot
12970a70ef02SBryan Drewery.Pa /etc/src.conf .
1298912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1299041c5049SEd MasteDo not build
1300912aad0fSKyle Evans.Xr mlx5tool 8
1301912aad0fSKyle Evans.Pp
1302912aad0fSKyle EvansThis is a default setting on
1303391e1f23SEd Mastearm/armv7, powerpc/powerpc and riscv/riscv64.
1304912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1305041c5049SEd MasteBuild
1306912aad0fSKyle Evans.Xr mlx5tool 8
1307912aad0fSKyle Evans.Pp
1308912aad0fSKyle EvansThis is a default setting on
1309ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
131090be798eSDimitry Andric.It Va WITHOUT_NETCAT
1311041c5049SEd MasteDo not build
131290be798eSDimitry Andric.Xr nc 1
131390be798eSDimitry Andricutility.
131490be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1315041c5049SEd MasteDo not build applications to support
131690be798eSDimitry Andric.Xr netgraph 4 .
1317344e2bb9SEd MasteWhen set, it enforces these options:
131890be798eSDimitry Andric.Pp
131990be798eSDimitry Andric.Bl -item -compact
132090be798eSDimitry Andric.It
132190be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1322bf64e879SBryan Drewery.El
1323bf64e879SBryan Drewery.Pp
1324bf64e879SBryan DreweryWhen set, these options are also in effect:
1325bf64e879SBryan Drewery.Pp
1326bf64e879SBryan Drewery.Bl -inset -compact
1327bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1328bf64e879SBryan Drewery(unless
1329bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1330bf64e879SBryan Dreweryis set explicitly)
133190be798eSDimitry Andric.El
133290be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1333041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
1334153145efSBaptiste Daroussin.It Va WITHOUT_NETLINK
1335153145efSBaptiste DaroussinDo not build
1336153145efSBaptiste Daroussin.Xr genl 1
1337153145efSBaptiste Daroussinutility.
133896aedfd5SEd Maste.It Va WITHOUT_NETLINK_SUPPORT
133996aedfd5SEd MasteMake libraries and programs use rtsock and
134096aedfd5SEd Maste.Xr sysctl 3
134196aedfd5SEd Masteinterfaces instead of
134296aedfd5SEd Maste.Xr snl 3 .
134390be798eSDimitry Andric.It Va WITHOUT_NIS
1344dcdf4c1aSGleb PopovDo not build
1345dcdf4c1aSGleb Popov.Xr NIS 8
134690be798eSDimitry Andricsupport and related programs.
134790be798eSDimitry AndricIf set, you might need to adopt your
134890be798eSDimitry Andric.Xr nsswitch.conf 5
134990be798eSDimitry Andricand remove
135090be798eSDimitry Andric.Sq nis
135190be798eSDimitry Andricentries.
135290be798eSDimitry Andric.It Va WITHOUT_NLS
1353041c5049SEd MasteDo not build NLS catalogs.
135457a87b06SEnji CooperWhen set, it enforces these options:
135557a87b06SEnji Cooper.Pp
135657a87b06SEnji Cooper.Bl -item -compact
135757a87b06SEnji Cooper.It
135857a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
135957a87b06SEnji Cooper.El
136090be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1361041c5049SEd MasteDo not build NLS catalog support for
136290be798eSDimitry Andric.Xr csh 1 .
136390be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1364041c5049SEd MasteDisable name caching in the
136590be798eSDimitry Andric.Pa nsswitch
136690be798eSDimitry Andricsubsystem.
136790be798eSDimitry AndricThe generic caching daemon,
136890be798eSDimitry Andric.Xr nscd 8 ,
136990be798eSDimitry Andricwill not be built either if this option is set.
137090be798eSDimitry Andric.It Va WITHOUT_NTP
1371041c5049SEd MasteDo not build
137290be798eSDimitry Andric.Xr ntpd 8
137390be798eSDimitry Andricand related programs.
13740e2bf300SBaptiste Daroussin.It Va WITHOUT_NUAGEINIT
13750e2bf300SBaptiste DaroussinDo not install the limited cloud init support scripts.
1376d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1377bd258f88SEd MasteDo not build the
137890be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1379bd258f88SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
13803f9c1b2cSEd Maste.Pp
13813f9c1b2cSEd MasteThis is a default setting on
1382391e1f23SEd Mastearm/armv7.
1383d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1384d0ca28d7SKonstantin Belousov.Pp
1385d0ca28d7SKonstantin Belousov.Bl -item -compact
1386d0ca28d7SKonstantin Belousov.It
1387d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1388d0ca28d7SKonstantin Belousov.El
1389c5819624SEd Maste.It Va WITH_OFED
1390c5819624SEd MasteBuild the
1391c5819624SEd Maste.Dq "OpenFabrics Enterprise Distribution"
1392c5819624SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
1393c5819624SEd Maste.Pp
1394c5819624SEd MasteThis is a default setting on
1395d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
13964a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1397041c5049SEd MasteBuild the non-essential components of the
13984a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
13994a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
140090be798eSDimitry Andric.It Va WITH_OPENLDAP
14017587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1402b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1403041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1404b0840a28SDimitry Andric.Pp
1405b0840a28SDimitry AndricThis is a default setting on
1406391e1f23SEd Mastearm/armv7 and powerpc/powerpc.
1407b0840a28SDimitry Andric.It Va WITH_OPENMP
1408041c5049SEd MasteBuild LLVM's OpenMP runtime.
1409b0840a28SDimitry Andric.Pp
1410b0840a28SDimitry AndricThis is a default setting on
1411d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
141290be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1413041c5049SEd MasteDo not build OpenSSH.
141490be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1415041c5049SEd MasteDo not build OpenSSL.
1416344e2bb9SEd MasteWhen set, it enforces these options:
141790be798eSDimitry Andric.Pp
141890be798eSDimitry Andric.Bl -item -compact
141990be798eSDimitry Andric.It
14209f4e04c1SEd Maste.Va WITHOUT_DMAGENT
14219f4e04c1SEd Maste.It
142290be798eSDimitry Andric.Va WITHOUT_KERBEROS
142390be798eSDimitry Andric.It
1424fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1425fb27d7aeSEd Maste.It
1426da39b3adSEd Maste.Va WITHOUT_LDNS
1427da39b3adSEd Maste.It
1428da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1429da39b3adSEd Maste.It
1430379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
1431379954d0SJessica Clarke.It
143290be798eSDimitry Andric.Va WITHOUT_OPENSSH
1433da39b3adSEd Maste.It
1434ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1435ac56b22fSEd Maste.It
1436116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1437116f7fccSEd Maste.It
1438da39b3adSEd Maste.Va WITHOUT_UNBOUND
1439243125c8SMitchell Horne.It
1440243125c8SMitchell Horne.Va WITHOUT_ZFS
1441a6c8ab4fSMark Johnston.It
1442a6c8ab4fSMark Johnston.Va WITHOUT_ZFS_TESTS
144390be798eSDimitry Andric.El
144490be798eSDimitry Andric.Pp
1445344e2bb9SEd MasteWhen set, these options are also in effect:
144690be798eSDimitry Andric.Pp
144790be798eSDimitry Andric.Bl -inset -compact
144890be798eSDimitry Andric.It Va WITHOUT_GSSAPI
144990be798eSDimitry Andric(unless
145090be798eSDimitry Andric.Va WITH_GSSAPI
145190be798eSDimitry Andricis set explicitly)
145290be798eSDimitry Andric.El
1453ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1454041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1455ae257282SJohn Baldwin.Pp
1456ae257282SJohn BaldwinThis is a default setting on
1457391e1f23SEd Mastearm/armv7, i386/i386, powerpc/powerpc and riscv/riscv64.
1458ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1459041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1460ae257282SJohn Baldwin.Pp
1461ae257282SJohn BaldwinThis is a default setting on
1462cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
146390be798eSDimitry Andric.It Va WITHOUT_PAM
1464041c5049SEd MasteDo not build PAM library and modules.
146590be798eSDimitry Andric.Bf -symbolic
146690be798eSDimitry AndricThis option is deprecated and does nothing.
146790be798eSDimitry Andric.Ef
1468bf64e879SBryan DreweryWhen set, these options are also in effect:
146990be798eSDimitry Andric.Pp
1470bf64e879SBryan Drewery.Bl -inset -compact
1471bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1472bf64e879SBryan Drewery(unless
1473bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1474bf64e879SBryan Dreweryis set explicitly)
147590be798eSDimitry Andric.El
147690be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1477041c5049SEd MasteBuild some programs without PAM support, particularly
147890be798eSDimitry Andric.Xr ftpd 8
147990be798eSDimitry Andricand
148090be798eSDimitry Andric.Xr ppp 8 .
148190be798eSDimitry Andric.It Va WITHOUT_PF
1482041c5049SEd MasteDo not build PF firewall package.
1483344e2bb9SEd MasteWhen set, it enforces these options:
148490be798eSDimitry Andric.Pp
148590be798eSDimitry Andric.Bl -item -compact
148690be798eSDimitry Andric.It
148790be798eSDimitry Andric.Va WITHOUT_AUTHPF
148890be798eSDimitry Andric.El
1489ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1490ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1491b3a27c81SEd MastePosition-Independent Executable (PIE).
14923f9c1b2cSEd Maste.Pp
14933f9c1b2cSEd MasteThis is a default setting on
1494391e1f23SEd Mastearm/armv7, i386/i386 and powerpc/powerpc.
14953f9c1b2cSEd Maste.It Va WITH_PIE
14963f9c1b2cSEd MasteBuild dynamically linked binaries as
14973f9c1b2cSEd MastePosition-Independent Executable (PIE).
14983f9c1b2cSEd Maste.Pp
14993f9c1b2cSEd MasteThis is a default setting on
1500d27cc068SJohn Baldwinamd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64.
150190be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1502041c5049SEd MasteDo not build
150390be798eSDimitry Andric.Xr pkg 7
150490be798eSDimitry Andricbootstrap tool.
150590be798eSDimitry Andric.It Va WITHOUT_PMC
1506041c5049SEd MasteDo not build
150790be798eSDimitry Andric.Xr pmccontrol 8
150890be798eSDimitry Andricand related programs.
150990be798eSDimitry Andric.It Va WITHOUT_PPP
1510041c5049SEd MasteDo not build
151190be798eSDimitry Andric.Xr ppp 8
151290be798eSDimitry Andricand related programs.
15134c033a73SEnji Cooper.It Va WITH_PROFILE
1514041c5049SEd MasteBuild profiled libraries for use with
15154c033a73SEnji Cooper.Xr gprof 8 .
151613cf4313SEd MasteThis option is deprecated and may not be present in a future version of
151713cf4313SEd Maste.Fx .
151897f14168SKonstantin Belousov.It Va WITHOUT_PTHREADS_ASSERTIONS
151997f14168SKonstantin BelousovDisable debugging assertions in pthreads library.
152090be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1521041c5049SEd MasteDo not build
152223a6b49aSEdward Tomasz Napierala.Xr quota 1
152390be798eSDimitry Andricand related programs.
15240e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1525041c5049SEd MasteDo not build radius support into various applications, like
15260e0e9604SEnji Cooper.Xr pam_radius 8
15270e0e9604SEnji Cooperand
15280e0e9604SEnji Cooper.Xr ppp 8 .
152988342134SEnji Cooper.It Va WITH_RATELIMIT
1530041c5049SEd MasteBuild the system with rate limit support.
153188342134SEnji Cooper.Pp
153288342134SEnji CooperThis makes
153388342134SEnji Cooper.Dv SO_MAX_PACING_RATE
153488342134SEnji Coopereffective in
153588342134SEnji Cooper.Xr getsockopt 2 ,
153688342134SEnji Cooperand
153788342134SEnji Cooper.Ar txrlimit
153888342134SEnji Coopersupport in
153988342134SEnji Cooper.Xr ifconfig 8 ,
154088342134SEnji Cooperby proxy.
15410e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1542041c5049SEd MasteDo not build or install
15430e0e9604SEnji Cooper.Xr rbootd 8 .
1544a8af3aeeSEd Maste.It Va WITHOUT_RELRO
1545a8af3aeeSEd MasteDo not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1546a8af3aeeSEd MasteSee also the
1547a8af3aeeSEd Maste.Va BIND_NOW
1548a8af3aeeSEd Masteoption.
154985d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1550041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
155185d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
155285d55309SEd Mastebit-for-bit identical output.
155390be798eSDimitry Andric.It Va WITHOUT_RESCUE
1554041c5049SEd MasteDo not build
155590be798eSDimitry Andric.Xr rescue 8 .
15568ccac680SEd Maste.It Va WITH_RETPOLINE
1557041c5049SEd MasteBuild the base system with the retpoline speculative execution
15588ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
155990be798eSDimitry Andric.It Va WITHOUT_ROUTED
1560041c5049SEd MasteDo not build
156190be798eSDimitry Andric.Xr routed 8
156290be798eSDimitry Andricutility.
15634c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1564041c5049SEd MasteBuild
15654c033a73SEnji Cooper.Xr rpcbind 8
15664c033a73SEnji Cooperwith warmstart support.
1567c5819624SEd Maste.It Va WITHOUT_SCTP_SUPPORT
1568c5819624SEd MasteDisable support in the kernel for the
1569c5819624SEd Maste.Xr sctp 4
1570c5819624SEd MasteStream Control Transmission Protocol
1571c5819624SEd Masteloadable kernel module.
157290be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1573041c5049SEd MasteDo not build
157490be798eSDimitry Andric.Xr sendmail 8
157590be798eSDimitry Andricand related programs.
1576e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1577041c5049SEd MasteDo not install
1578e8788097SKonstantin Belousov.Pa /var/db/services.db .
157990be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
158090be798eSDimitry AndricSet this to disable the installation of
158190be798eSDimitry Andric.Xr login 1
158290be798eSDimitry Andricas a set-user-ID root program.
158390be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1584041c5049SEd MasteDo not build the
158590be798eSDimitry Andric.Bx 4.4
158690be798eSDimitry Andriclegacy docs.
158790be798eSDimitry Andric.It Va WITH_SORT_THREADS
1588041c5049SEd MasteEnable threads in
158990be798eSDimitry Andric.Xr sort 1 .
159090be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1591041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1592344e2bb9SEd MasteWhen set, it enforces these options:
159390be798eSDimitry Andric.Pp
159490be798eSDimitry Andric.Bl -item -compact
159590be798eSDimitry Andric.It
159690be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
159790be798eSDimitry Andric.It
159890be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
159990be798eSDimitry Andric.El
160090be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1601041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
160290be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1603041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
1604330b7dccSEd Maste.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1605330b7dccSEd MasteDo not build standalone kernel debug files.
1606330b7dccSEd MasteDebug data (if enabled by the kernel configuration file)
1607330b7dccSEd Mastewill be included in the kernel and modules.
1608330b7dccSEd MasteWhen set, it enforces these options:
1609330b7dccSEd Maste.Pp
1610330b7dccSEd Maste.Bl -item -compact
1611330b7dccSEd Maste.It
1612330b7dccSEd Maste.Va WITHOUT_KERNEL_SYMBOLS
1613330b7dccSEd Maste.El
161490be798eSDimitry Andric.It Va WITHOUT_SSP
16155449d014SEd MasteDo not build world with stack smashing protection.
1616b667c40fSEd MasteSee
1617b667c40fSEd Maste.Xr security 7
1618b667c40fSEd Mastefor more information.
1619cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1620cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1621cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1622cc2520d2SSimon J. Gerraty.Va DESTDIR
1623cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1624cc2520d2SSimon J. GerratyDepends on
162532b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1626344e2bb9SEd MasteWhen set, these options are also in effect:
1627cc2520d2SSimon J. Gerraty.Pp
1628cc2520d2SSimon J. Gerraty.Bl -inset -compact
1629cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1630cc2520d2SSimon J. Gerraty(unless
1631cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1632cc2520d2SSimon J. Gerratyis set explicitly)
1633cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1634cc2520d2SSimon J. Gerraty(unless
1635cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1636cc2520d2SSimon J. Gerratyis set explicitly)
1637cc2520d2SSimon J. Gerraty.El
16380a70ef02SBryan Drewery.Pp
1639ba852870SBryan DreweryThis must be set in the environment, make command line, or
16400a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
16410a70ef02SBryan Drewerynot
16420a70ef02SBryan Drewery.Pa /etc/src.conf .
1643cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1644344e2bb9SEd MasteEnable staging of man pages to stage tree.
1645cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1646cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1647cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1648cc2520d2SSimon J. GerratyCheck staged files are not stale.
1649de19b521SDimitry Andric.It Va WITHOUT_STATS
1650041c5049SEd MasteNeither build nor install
1651de19b521SDimitry Andric.Lb libstats
1652de19b521SDimitry Andricand dependent binaries.
165390be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1654041c5049SEd MasteDo not build
165590be798eSDimitry Andric.Xr syscons 4
165690be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1657cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1658cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1659cc2520d2SSimon J. GerratyDepends on
166032b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
16610a70ef02SBryan Drewery.Pp
1662ba852870SBryan DreweryThis must be set in the environment, make command line, or
16630a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
16640a70ef02SBryan Drewerynot
16650a70ef02SBryan Drewery.Pa /etc/src.conf .
16668095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1667041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1668a9da9b86SBryan Drewerybootstrap phase of the build.
16698095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
16708095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1671a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1672a9da9b86SBryan Dreweryonly for building one for the build itself.
1673a9da9b86SBryan DreweryThe
1674a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1675a5798ec8SEd Masteoption controls that.
1676be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1677041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1678be9309deSBryan Drewerybootstrap phase of the build.
1679be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1680be9309deSBryan Drewerylinker type and revision, then it will not be built.
1681be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1682be9309deSBryan Dreweryonly for building one for the build itself.
1683be9309deSBryan DreweryThe
1684be9309deSBryan Drewery.Va WITHOUT_LLD
16852ea16071SEd Masteoption controls that.
1686be9309deSBryan Drewery.Pp
1687be9309deSBryan DreweryThis option is only relevant when
1688be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1689be9309deSBryan Dreweryis set.
169093da8366SEnji Cooper.It Va WITHOUT_TALK
1691041c5049SEd MasteDo not build or install
169293da8366SEnji Cooper.Xr talk 1
169393da8366SEnji Cooperand
169493da8366SEnji Cooper.Xr talkd 8 .
16950e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1696041c5049SEd MasteDo not build or install
16970e0e9604SEnji Cooper.Xr tcpd 8 ,
16980e0e9604SEnji Cooperand related utilities.
169990be798eSDimitry Andric.It Va WITHOUT_TCSH
1700041c5049SEd MasteDo not build and install
170190be798eSDimitry Andric.Pa /bin/csh
170290be798eSDimitry Andric(which is
170390be798eSDimitry Andric.Xr tcsh 1 ) .
170490be798eSDimitry Andric.It Va WITHOUT_TELNET
1705041c5049SEd MasteDo not build
170623a6b49aSEdward Tomasz Napierala.Xr telnet 1
170790be798eSDimitry Andricand related programs.
170818c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1709041c5049SEd MasteDo not build nor install the
171090be798eSDimitry Andric.Fx
171190be798eSDimitry AndricTest Suite in
171290be798eSDimitry Andric.Pa /usr/tests/ .
171390be798eSDimitry AndricSee
171490be798eSDimitry Andric.Xr tests 7
171590be798eSDimitry Andricfor more details.
171618c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1717344e2bb9SEd MasteWhen set, it enforces these options:
1718c5d09a87SGlen Barber.Pp
1719c5d09a87SGlen Barber.Bl -item -compact
1720c5d09a87SGlen Barber.It
172116f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1722a6c8ab4fSMark Johnston.It
1723a6c8ab4fSMark Johnston.Va WITHOUT_ZFS_TESTS
1724bf64e879SBryan Drewery.El
1725bf64e879SBryan Drewery.Pp
1726bf64e879SBryan DreweryWhen set, these options are also in effect:
1727bf64e879SBryan Drewery.Pp
1728bf64e879SBryan Drewery.Bl -inset -compact
17297840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
17307840b63aSEnji Cooper(unless
17317840b63aSEnji Cooper.Va WITH_GOOGLETEST
17327840b63aSEnji Cooperis set explicitly)
1733bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1734bf64e879SBryan Drewery(unless
1735bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1736bf64e879SBryan Dreweryis set explicitly)
1737c5d09a87SGlen Barber.El
1738c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1739041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
17407840b63aSEnji CooperWhen set, it enforces these options:
17417840b63aSEnji Cooper.Pp
17427840b63aSEnji Cooper.Bl -item -compact
17437840b63aSEnji Cooper.It
17447840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
17457840b63aSEnji Cooper.El
174690be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1747041c5049SEd MasteDo not build
174890be798eSDimitry Andricprograms used for text processing.
17490e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1750041c5049SEd MasteDo not build or install
17510e0e9604SEnji Cooper.Xr tftp 1
17520e0e9604SEnji Cooperand
17530e0e9604SEnji Cooper.Xr tftpd 8 .
175490be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
175583d57250SEd MasteDo not install
175690be798eSDimitry Andricprograms used for program development,
175790be798eSDimitry Andriccompilers, debuggers etc.
1758344e2bb9SEd MasteWhen set, it enforces these options:
175990be798eSDimitry Andric.Pp
176090be798eSDimitry Andric.Bl -item -compact
176190be798eSDimitry Andric.It
176290be798eSDimitry Andric.Va WITHOUT_CLANG
176390be798eSDimitry Andric.It
176490be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
176590be798eSDimitry Andric.It
176619267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
176719267656SConrad Meyer.It
176890be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
176990be798eSDimitry Andric.It
17706c2b7edaSEd Maste.Va WITHOUT_LLD
17716c2b7edaSEd Maste.It
17723d02549fSBryan Drewery.Va WITHOUT_LLDB
17735b9c3654SEd Maste.It
17745b9c3654SEd Maste.Va WITHOUT_LLVM_COV
177590be798eSDimitry Andric.El
17760ab89d72SEd Maste.It Va WITH_UBSAN
17770ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
17780ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
17790ab89d72SEd MasteRequires that Clang be used as the base system compiler
17800ab89d72SEd Masteand that the runtime support library is available
178190be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1782041c5049SEd MasteDo not build
178390be798eSDimitry Andric.Xr unbound 8
178490be798eSDimitry Andricand related programs.
17856edb14c0SBrooks Davis.It Va WITH_UNDEFINED_VERSION
17866edb14c0SBrooks DavisLink libraries with --undefined-version which permits version maps to
17876edb14c0SBrooks Daviscontain symbols that are not present in the library.
17880a599644SJohn BaldwinIf this is necessary to build a particular configuration, a bug is
17896edb14c0SBrooks Davispresent and the configuration should be reported.
1790efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1791041c5049SEd MasteUse the historical object directory format for
1792efb949a6SBryan Drewery.Xr build 7
1793efb949a6SBryan Drewerytargets.
1794efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1795efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1796efb949a6SBryan Dreweryis used,
1797efb949a6SBryan Drewerywhile for cross-builds
1798efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1799efb949a6SBryan Dreweryis used.
1800efb949a6SBryan Drewery.Pp
1801b7f53cdcSEd MasteThis option is transitional and will be removed in a future version of
1802b7f53cdcSEd Maste.Fx ,
1803efb949a6SBryan Dreweryat which time
180416ee5cd1SChristian Brueffer.Va WITH_UNIFIED_OBJDIR
1805efb949a6SBryan Drewerywill be enabled permanently.
1806efb949a6SBryan Drewery.Pp
1807efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1808efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1809efb949a6SBryan Drewerynot
1810efb949a6SBryan Drewery.Pa /etc/src.conf .
181190be798eSDimitry Andric.It Va WITHOUT_USB
1812041c5049SEd MasteDo not build USB-related programs and libraries.
1813c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1814041c5049SEd MasteDo not build USB gadget kernel modules.
181590be798eSDimitry Andric.It Va WITHOUT_UTMPX
1816041c5049SEd MasteDo not build user accounting tools such as
181790be798eSDimitry Andric.Xr last 1 ,
181890be798eSDimitry Andric.Xr users 1 ,
181990be798eSDimitry Andric.Xr who 1 ,
182090be798eSDimitry Andric.Xr ac 8 ,
182190be798eSDimitry Andric.Xr lastlogin 8
182290be798eSDimitry Andricand
182390be798eSDimitry Andric.Xr utx 8 .
1824bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1825bfdf8aa9SJohn BaldwinEnable building
1826bfdf8aa9SJohn Baldwin.Xr veriexec 8
1827bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1828bfdf8aa9SJohn Baldwinfor use by
1829bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1830bfdf8aa9SJohn Baldwin.Pp
1831de19b521SDimitry AndricDepends on
1832de19b521SDimitry Andric.Va WITH_BEARSSL .
183390be798eSDimitry Andric.It Va WITHOUT_VI
1834041c5049SEd MasteDo not build and install vi, view, ex and related programs.
183590be798eSDimitry Andric.It Va WITHOUT_VT
1836041c5049SEd MasteDo not build
183790be798eSDimitry Andric.Xr vt 4
183890be798eSDimitry Andricsupport files (fonts and keymaps).
183990be798eSDimitry Andric.It Va WITHOUT_WARNS
184090be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
184190be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
184290be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1843559f9bfcSJens Schweikhardtoriginal developer.
1844f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1845f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1846f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1847f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
184890be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1849041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
185090be798eSDimitry Andric.Xr wpa_supplicant 8
185190be798eSDimitry Andricand
185290be798eSDimitry Andric.Xr hostapd 8 .
1853bf64e879SBryan DreweryWhen set, these options are also in effect:
185490be798eSDimitry Andric.Pp
1855bf64e879SBryan Drewery.Bl -inset -compact
1856bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1857bf64e879SBryan Drewery(unless
1858bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1859bf64e879SBryan Dreweryis set explicitly)
186090be798eSDimitry Andric.El
186190be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1862041c5049SEd MasteBuild libraries, programs, and kernel modules without
186390be798eSDimitry Andric802.11 wireless support.
186490be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
186590be798eSDimitry AndricBuild
186690be798eSDimitry Andric.Xr wpa_supplicant 8
186790be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
186890be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
186990be798eSDimitry Andricprotocols (usable only via 802.1X).
187090be798eSDimitry Andric.It Va WITHOUT_ZFS
18714be63587SMark JohnstonDo not build the ZFS file system kernel module, libraries such as
18724be63587SMark Johnston.Xr libbe 3 ,
18734be63587SMark Johnstonand user commands such as
18744be63587SMark Johnston.Xr zpool 8
18754be63587SMark Johnstonor
18764be63587SMark Johnston.Xr zfs 8 .
18774be63587SMark JohnstonAlso disable ZFS support in utilities and libraries which implement
18784be63587SMark JohnstonZFS-specific functionality.
1879a6c8ab4fSMark JohnstonWhen set, it enforces these options:
1880a6c8ab4fSMark Johnston.Pp
1881a6c8ab4fSMark Johnston.Bl -item -compact
1882a6c8ab4fSMark Johnston.It
1883a6c8ab4fSMark Johnston.Va WITHOUT_ZFS_TESTS
1884a6c8ab4fSMark Johnston.El
1885a6c8ab4fSMark Johnston.It Va WITHOUT_ZFS_TESTS
1886a6c8ab4fSMark JohnstonDo not build and install the legacy ZFS test suite.
188790be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1888041c5049SEd MasteDo not build the timezone database.
18895c021049SEnji CooperWhen set, it enforces these options:
18905c021049SEnji Cooper.Pp
18915c021049SEnji Cooper.Bl -item -compact
18925c021049SEnji Cooper.It
18935c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
18945c021049SEnji Cooper.El
18955c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1896041c5049SEd MasteBuild leapsecond information in to the timezone database.
189790be798eSDimitry Andric.El
18983fe97711SBrooks Davis.Pp
18993fe97711SBrooks DavisThe following options accept a single value from a list of valid values.
19003fe97711SBrooks Davis.Bl -tag -width indent
19013fe97711SBrooks Davis.It Va INIT_ALL
19023fe97711SBrooks DavisControl default initialization of stack variables in C and C++ code.
19033fe97711SBrooks DavisOptions other than
19043fe97711SBrooks Davis.Li none
19053fe97711SBrooks Davisrequire the Clang compiler or GCC 12.0 or later.
19063fe97711SBrooks DavisThe default value is
19073fe97711SBrooks Davis.Li none .
19083fe97711SBrooks DavisValid values are:
19093fe97711SBrooks Davis.Bl -tag -width indent
19103fe97711SBrooks Davis.It Li none
19113fe97711SBrooks DavisDo not initialize stack variables (standard C/C++ behavior).
19123fe97711SBrooks Davis.It Li pattern
19133fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized to
19143fe97711SBrooks Davis.Pq compiler defined
19153fe97711SBrooks Davisdebugging patterns on function entry.
19163fe97711SBrooks Davis.It Li zero
19173fe97711SBrooks DavisBuild the base system or kernel with stack variables initialized
19183fe97711SBrooks Davisto zero on function entry.
19193fe97711SBrooks DavisThis value is converted to
19203fe97711SBrooks Davis.Li none
19213fe97711SBrooks Davisfor amd64 kernel builds due to incompatability with ifunc memset.
19223fe97711SBrooks Davis.El
19233fe97711SBrooks Davis.It Va LIBC_MALLOC
19243fe97711SBrooks DavisSpecify the
19253fe97711SBrooks Davis.Xr malloc 3
1926a89e98ecSBrooks Davisimplementation used by libc.
19273fe97711SBrooks DavisThe default value is
19283fe97711SBrooks Davis.Li jemalloc .
19293fe97711SBrooks DavisValid values are:
19303fe97711SBrooks Davis.Bl -tag -width indent
19313fe97711SBrooks Davis.It Li jemalloc
19323fe97711SBrooks Davis.El
19333fe97711SBrooks Davis.Pp
19343fe97711SBrooks DavisOther implementations are expected in the future in both
19353fe97711SBrooks Davis.Fx
19363fe97711SBrooks Davisand downstream consumers.
19373fe97711SBrooks Davis.El
193890be798eSDimitry Andric.Sh FILES
193990be798eSDimitry Andric.Bl -tag -compact -width Pa
194090be798eSDimitry Andric.It Pa /etc/src.conf
19410a70ef02SBryan Drewery.It Pa /etc/src-env.conf
194290be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
194390be798eSDimitry Andric.El
194490be798eSDimitry Andric.Sh SEE ALSO
194590be798eSDimitry Andric.Xr make 1 ,
194690be798eSDimitry Andric.Xr make.conf 5 ,
194790be798eSDimitry Andric.Xr build 7 ,
194890be798eSDimitry Andric.Xr ports 7
194990be798eSDimitry Andric.Sh HISTORY
195090be798eSDimitry AndricThe
195190be798eSDimitry Andric.Nm
195290be798eSDimitry Andricfile appeared in
195390be798eSDimitry Andric.Fx 7.0 .
195490be798eSDimitry Andric.Sh AUTHORS
195588342134SEnji CooperThis manual page was autogenerated by
1956a121d3a8SEnji Cooper.An tools/build/options/makeman .
1957