xref: /freebsd/share/man/man5/src.conf.5 (revision f89842a71a599b6d4463662c282d3daff0a34cb0)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2fa07cb9cSRuslan Ermilov.\" $FreeBSD$
3*f89842a7SWarner Losh.Dd November 26, 2021
4fa07cb9cSRuslan Ermilov.Dt SRC.CONF 5
5fa07cb9cSRuslan Ermilov.Os
6fa07cb9cSRuslan Ermilov.Sh NAME
7fa07cb9cSRuslan Ermilov.Nm src.conf
816f2e711SYaroslav Tykhiy.Nd "source build options"
9fa07cb9cSRuslan Ermilov.Sh DESCRIPTION
10fa07cb9cSRuslan ErmilovThe
11fa07cb9cSRuslan Ermilov.Nm
12e6ca6901SGordon Berglingfile contains variables that control what components will be generated during
13e6ca6901SGordon Berglingthe build process of the
14fa07cb9cSRuslan Ermilov.Fx
15fa07cb9cSRuslan Ermilovsource tree; see
16fa07cb9cSRuslan Ermilov.Xr build 7 .
17fa07cb9cSRuslan Ermilov.Pp
18fa07cb9cSRuslan ErmilovThe
19fa07cb9cSRuslan Ermilov.Nm
20fa07cb9cSRuslan Ermilovfile uses the standard makefile syntax.
21fa07cb9cSRuslan ErmilovHowever,
22fa07cb9cSRuslan Ermilov.Nm
23fa07cb9cSRuslan Ermilovshould not specify any dependencies to
24fa07cb9cSRuslan Ermilov.Xr make 1 .
25fa07cb9cSRuslan ErmilovInstead,
26fa07cb9cSRuslan Ermilov.Nm
27fa07cb9cSRuslan Ermilovis to set
28fa07cb9cSRuslan Ermilov.Xr make 1
29fa07cb9cSRuslan Ermilovvariables that control the aspects of how the system builds.
30fa07cb9cSRuslan Ermilov.Pp
31fa07cb9cSRuslan ErmilovThe default location of
32fa07cb9cSRuslan Ermilov.Nm
33fa07cb9cSRuslan Ermilovis
34fa07cb9cSRuslan Ermilov.Pa /etc/src.conf ,
35fa07cb9cSRuslan Ermilovthough an alternative location can be specified in the
36fa07cb9cSRuslan Ermilov.Xr make 1
37fa07cb9cSRuslan Ermilovvariable
38fa07cb9cSRuslan Ermilov.Va SRCCONF .
39fa07cb9cSRuslan ErmilovOverriding the location of
40fa07cb9cSRuslan Ermilov.Nm
41fa07cb9cSRuslan Ermilovmay be necessary if the system-wide settings are not suitable
42fa07cb9cSRuslan Ermilovfor a particular build.
43fa07cb9cSRuslan ErmilovFor instance, setting
44fa07cb9cSRuslan Ermilov.Va SRCCONF
45fa07cb9cSRuslan Ermilovto
46fa07cb9cSRuslan Ermilov.Pa /dev/null
47fa07cb9cSRuslan Ermiloveffectively resets all build controls to their defaults.
48fa07cb9cSRuslan Ermilov.Pp
49fa07cb9cSRuslan ErmilovThe only purpose of
50fa07cb9cSRuslan Ermilov.Nm
51fa07cb9cSRuslan Ermilovis to control the compilation of the
52fa07cb9cSRuslan Ermilov.Fx
5316f2e711SYaroslav Tykhiysource code, which is usually located in
54fa07cb9cSRuslan Ermilov.Pa /usr/src .
55fa07cb9cSRuslan ErmilovAs a rule, the system administrator creates
56fa07cb9cSRuslan Ermilov.Nm
57fa07cb9cSRuslan Ermilovwhen the values of certain control variables need to be changed
58fa07cb9cSRuslan Ermilovfrom their defaults.
59fa07cb9cSRuslan Ermilov.Pp
60fa07cb9cSRuslan ErmilovIn addition, control variables can be specified
61fa07cb9cSRuslan Ermilovfor a particular build via the
62fa07cb9cSRuslan Ermilov.Fl D
63fa07cb9cSRuslan Ermilovoption of
64fa07cb9cSRuslan Ermilov.Xr make 1
6572735687SMike Makonnenor in its environment; see
66fa07cb9cSRuslan Ermilov.Xr environ 7 .
67fa07cb9cSRuslan Ermilov.Pp
680a70ef02SBryan DreweryThe environment of
690a70ef02SBryan Drewery.Xr make 1
700a70ef02SBryan Dreweryfor the build can be controlled via the
710a70ef02SBryan Drewery.Va SRC_ENV_CONF
720a70ef02SBryan Dreweryvariable, which defaults to
730a70ef02SBryan Drewery.Pa /etc/src-env.conf .
740a70ef02SBryan DrewerySome examples that may only be set in this file are
7532b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD ,
760a70ef02SBryan Dreweryand
77efb949a6SBryan Drewery.Va WITH_META_MODE ,
78efb949a6SBryan Dreweryand
797df4050dSBryan Drewery.Va MAKEOBJDIRPREFIX
80efb949a6SBryan Dreweryas they are environment-only variables.
810a70ef02SBryan Drewery.Pp
8216f2e711SYaroslav TykhiyThe values of variables are ignored regardless of their setting;
8316f2e711SYaroslav Tykhiyeven if they would be set to
84fa07cb9cSRuslan Ermilov.Dq Li FALSE
85fa07cb9cSRuslan Ermilovor
8616f2e711SYaroslav Tykhiy.Dq Li NO .
87344e2bb9SEd MasteThe presence of an option causes
88344e2bb9SEd Masteit to be honored by
8916f2e711SYaroslav Tykhiy.Xr make 1 .
90fa07cb9cSRuslan Ermilov.Pp
91344e2bb9SEd MasteThis list provides a name and short description for variables
92fa07cb9cSRuslan Ermilovthat can be used for source builds.
93fa07cb9cSRuslan Ermilov.Bl -tag -width indent
94aaa6d7ebSSam Leffler.It Va WITHOUT_ACCT
95041c5049SEd MasteDo not build process accounting tools such as
960ea27d02SEd Schouten.Xr accton 8
97aaa6d7ebSSam Lefflerand
980ea27d02SEd Schouten.Xr sa 8 .
99fa07cb9cSRuslan Ermilov.It Va WITHOUT_ACPI
100041c5049SEd MasteDo not build
101fa07cb9cSRuslan Ermilov.Xr acpiconf 8 ,
102fa07cb9cSRuslan Ermilov.Xr acpidump 8
103fa07cb9cSRuslan Ermilovand related programs.
104aaa6d7ebSSam Leffler.It Va WITHOUT_APM
105041c5049SEd MasteDo not build
106aaa6d7ebSSam Leffler.Xr apm 8 ,
107aaa6d7ebSSam Leffler.Xr apmd 8
108aaa6d7ebSSam Lefflerand related programs.
1090ab89d72SEd Maste.It Va WITH_ASAN
1100ab89d72SEd MasteBuild the base system with Address Sanitizer (ASan) to detect
1110ab89d72SEd Mastememory corruption bugs such as buffer overflows or use-after-free.
1120ab89d72SEd MasteRequires that Clang be used as the base system compiler
1130ab89d72SEd Masteand that the runtime support library is available.
1140ab89d72SEd MasteWhen set, it enforces these options:
1150ab89d72SEd Maste.Pp
1160ab89d72SEd Maste.Bl -item -compact
1170ab89d72SEd Maste.It
1180ab89d72SEd Maste.Va WITH_LLVM_BINUTILS
1190ab89d72SEd Maste.It
1200ab89d72SEd Maste.Va WITH_LLVM_CXXFILT
1210ab89d72SEd Maste.El
122e567b213SRuslan Ermilov.It Va WITHOUT_ASSERT_DEBUG
123041c5049SEd MasteCompile programs and libraries without the
124e567b213SRuslan Ermilov.Xr assert 3
125e567b213SRuslan Ermilovchecks.
126aaa6d7ebSSam Leffler.It Va WITHOUT_AT
127041c5049SEd MasteDo not build
128aaa6d7ebSSam Leffler.Xr at 1
129aaa6d7ebSSam Lefflerand related utilities.
130fa07cb9cSRuslan Ermilov.It Va WITHOUT_ATM
131041c5049SEd MasteDo not build
132fa07cb9cSRuslan Ermilovprograms and libraries related to ATM networking.
133fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUDIT
134041c5049SEd MasteDo not build audit support into system programs.
135fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUTHPF
136041c5049SEd MasteDo not build
137fa07cb9cSRuslan Ermilov.Xr authpf 8 .
13861940879SEnji Cooper.It Va WITHOUT_AUTOFS
139041c5049SEd MasteDo not build
1404b9f77e4SEdward Tomasz Napierala.Xr autofs 5
14161940879SEnji Cooperrelated programs, libraries, and kernel modules.
142906a1c6cSBryan Drewery.It Va WITHOUT_AUTO_OBJ
143906a1c6cSBryan DreweryDisable automatic creation of objdirs.
144906a1c6cSBryan DreweryThis is enabled by default if the wanted OBJDIR is writable by the current user.
1450a70ef02SBryan Drewery.Pp
146ba852870SBryan DreweryThis must be set in the environment, make command line, or
1470a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
1480a70ef02SBryan Drewerynot
1490a70ef02SBryan Drewery.Pa /etc/src.conf .
150bfdf8aa9SJohn Baldwin.It Va WITH_BEARSSL
151bfdf8aa9SJohn BaldwinBuild the BearSSL library.
152bfdf8aa9SJohn Baldwin.Pp
153bfdf8aa9SJohn BaldwinBearSSL is a tiny SSL library suitable for embedded environments.
154bfdf8aa9SJohn BaldwinFor details see
155bfdf8aa9SJohn Baldwin.Lk http://www.BearSSL.org/
156bfdf8aa9SJohn Baldwin.Pp
157bfdf8aa9SJohn BaldwinThis library is currently only used to perform
158bfdf8aa9SJohn Baldwinsignature verification and related operations
159bfdf8aa9SJohn Baldwinfor Verified Exec and
160bfdf8aa9SJohn Baldwin.Xr loader 8 .
161bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
162bfdf8aa9SJohn Baldwin.Pp
163bfdf8aa9SJohn Baldwin.Bl -inset -compact
164bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
165bfdf8aa9SJohn Baldwin(unless
166bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
167bfdf8aa9SJohn Baldwinis set explicitly)
168bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
169bfdf8aa9SJohn Baldwin(unless
170bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_VERIEXEC
171bfdf8aa9SJohn Baldwinis set explicitly)
172f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
173f87a2082SEd Maste(unless
174f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
175f87a2082SEd Masteis set explicitly)
176bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
177bfdf8aa9SJohn Baldwin(unless
178bfdf8aa9SJohn Baldwin.Va WITHOUT_VERIEXEC
179bfdf8aa9SJohn Baldwinis set explicitly)
180bfdf8aa9SJohn Baldwin.El
18161940879SEnji Cooper.It Va WITHOUT_BHYVE
182041c5049SEd MasteDo not build or install
18361940879SEnji Cooper.Xr bhyve 8 ,
18461940879SEnji Cooperassociated utilities, and examples.
18561940879SEnji Cooper.Pp
18661940879SEnji CooperThis option only affects amd64/amd64.
187483d953aSJohn Baldwin.It Va WITH_BHYVE_SNAPSHOT
188041c5049SEd MasteInclude support for save and restore (snapshots) in
189483d953aSJohn Baldwin.Xr bhyve 8
190483d953aSJohn Baldwinand
191483d953aSJohn Baldwin.Xr bhyvectl 8 .
192483d953aSJohn Baldwin.Pp
193483d953aSJohn BaldwinThis option only affects amd64/amd64.
1941f3b049dSEd Maste.It Va WITH_BIND_NOW
1951f3b049dSEd MasteBuild all binaries with the
1961f3b049dSEd Maste.Dv DF_BIND_NOW
1971f3b049dSEd Masteflag set to indicate that the run-time loader should perform all relocation
1981f3b049dSEd Masteprocessing at process startup rather than on demand.
1990341a043SBryan Drewery.It Va WITHOUT_BLACKLIST
2004650b8aeSEnji CooperSet this if you do not want to build
2014650b8aeSEnji Cooper.Xr blacklistd 8
2024650b8aeSEnji Cooperand
2034650b8aeSEnji Cooper.Xr blacklistctl 8 .
204bf64e879SBryan DreweryWhen set, these options are also in effect:
2050341a043SBryan Drewery.Pp
206bf64e879SBryan Drewery.Bl -inset -compact
207bf64e879SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
208bf64e879SBryan Drewery(unless
209bf64e879SBryan Drewery.Va WITH_BLACKLIST_SUPPORT
210bf64e879SBryan Dreweryis set explicitly)
2110341a043SBryan Drewery.El
2120341a043SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
213041c5049SEd MasteBuild some programs without
2144650b8aeSEnji Cooper.Xr libblacklist 3
2154650b8aeSEnji Coopersupport, like
2160341a043SBryan Drewery.Xr fingerd 8 ,
2170341a043SBryan Drewery.Xr ftpd 8 ,
2180341a043SBryan Dreweryand
2190341a043SBryan Drewery.Xr sshd 8 .
22090be798eSDimitry Andric.It Va WITHOUT_BLUETOOTH
221041c5049SEd MasteDo not build Bluetooth related kernel modules, programs and libraries.
22290be798eSDimitry Andric.It Va WITHOUT_BOOT
223041c5049SEd MasteDo not build the boot blocks and loader.
2240e0e9604SEnji Cooper.It Va WITHOUT_BOOTPARAMD
225041c5049SEd MasteDo not build or install
2260e0e9604SEnji Cooper.Xr bootparamd 8 .
2270e0e9604SEnji Cooper.It Va WITHOUT_BOOTPD
228041c5049SEd MasteDo not build or install
2290e0e9604SEnji Cooper.Xr bootpd 8 .
23093da8366SEnji Cooper.It Va WITHOUT_BSDINSTALL
231041c5049SEd MasteDo not build
23293da8366SEnji Cooper.Xr bsdinstall 8 ,
23393da8366SEnji Cooper.Xr sade 8 ,
23493da8366SEnji Cooperand related programs.
23590be798eSDimitry Andric.It Va WITHOUT_BSD_CPIO
236041c5049SEd MasteDo not build the BSD licensed version of cpio based on
23790be798eSDimitry Andric.Xr libarchive 3 .
23890be798eSDimitry Andric.It Va WITHOUT_BSNMP
239041c5049SEd MasteDo not build or install
24090be798eSDimitry Andric.Xr bsnmpd 1
24190be798eSDimitry Andricand related libraries and data files.
24290be798eSDimitry Andric.It Va WITHOUT_BZIP2
243041c5049SEd MasteDo not build contributed bzip2 software as a part of the base system.
24490be798eSDimitry Andric.Bf -symbolic
24590be798eSDimitry AndricThe option has no effect yet.
24690be798eSDimitry Andric.Ef
247bf64e879SBryan DreweryWhen set, these options are also in effect:
24890be798eSDimitry Andric.Pp
249bf64e879SBryan Drewery.Bl -inset -compact
250bf64e879SBryan Drewery.It Va WITHOUT_BZIP2_SUPPORT
251bf64e879SBryan Drewery(unless
252bf64e879SBryan Drewery.Va WITH_BZIP2_SUPPORT
253bf64e879SBryan Dreweryis set explicitly)
25490be798eSDimitry Andric.El
25590be798eSDimitry Andric.It Va WITHOUT_BZIP2_SUPPORT
256041c5049SEd MasteBuild some programs without optional bzip2 support.
257fd1efedcSConrad Meyer.It Va WITHOUT_CALENDAR
258041c5049SEd MasteDo not build
259fd1efedcSConrad Meyer.Xr calendar 1 .
26090be798eSDimitry Andric.It Va WITHOUT_CAPSICUM
261041c5049SEd MasteDo not build Capsicum support into system programs.
262344e2bb9SEd MasteWhen set, it enforces these options:
263aced6942SBaptiste Daroussin.Pp
264aced6942SBaptiste Daroussin.Bl -item -compact
265aced6942SBaptiste Daroussin.It
266aced6942SBaptiste Daroussin.Va WITHOUT_CASPER
267aced6942SBaptiste Daroussin.El
268de19b521SDimitry Andric.It Va WITHOUT_CAROOT
269041c5049SEd MasteDo not add the trusted certificates from the Mozilla NSS bundle to
270de19b521SDimitry Andricbase.
27190be798eSDimitry Andric.It Va WITHOUT_CASPER
272041c5049SEd MasteDo not build Casper program and related libraries.
2731c01e4f8SBryan Drewery.It Va WITH_CCACHE_BUILD
274041c5049SEd MasteUse
2751c01e4f8SBryan Drewery.Xr ccache 1
2761c01e4f8SBryan Dreweryfor the build.
2771c01e4f8SBryan DreweryNo configuration is required except to install the
2781c01e4f8SBryan Drewery.Sy devel/ccache
2791c01e4f8SBryan Drewerypackage.
280344e2bb9SEd MasteWhen using with
281344e2bb9SEd Maste.Xr distcc 1 ,
282344e2bb9SEd Masteset
2831c01e4f8SBryan Drewery.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
2841c01e4f8SBryan DreweryThe default cache directory of
2851c01e4f8SBryan Drewery.Pa $HOME/.ccache
2861c01e4f8SBryan Drewerywill be used, which can be overridden by setting
2871c01e4f8SBryan Drewery.Sy CCACHE_DIR .
2881c01e4f8SBryan DreweryThe
2891c01e4f8SBryan Drewery.Sy CCACHE_COMPILERCHECK
2901c01e4f8SBryan Dreweryoption defaults to
2911c01e4f8SBryan Drewery.Sy content
2921c01e4f8SBryan Drewerywhen using the in-tree bootstrap compiler,
2931c01e4f8SBryan Dreweryand
2941c01e4f8SBryan Drewery.Sy mtime
2951c01e4f8SBryan Drewerywhen using an external compiler.
2961c01e4f8SBryan DreweryThe
2971c01e4f8SBryan Drewery.Sy CCACHE_CPP2
2981c01e4f8SBryan Dreweryoption is used for Clang but not GCC.
2991c01e4f8SBryan Drewery.Pp
3001c01e4f8SBryan DrewerySharing a cache between multiple work directories requires using a layout
3011c01e4f8SBryan Drewerysimilar to
3021c01e4f8SBryan Drewery.Pa /some/prefix/src
3031c01e4f8SBryan Drewery.Pa /some/prefix/obj
3041c01e4f8SBryan Dreweryand an environment such as:
3051c01e4f8SBryan Drewery.Bd -literal -offset indent
3061c01e4f8SBryan DreweryCCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
3071c01e4f8SBryan Drewery.Ed
3081c01e4f8SBryan Drewery.Pp
3091c01e4f8SBryan DrewerySee
3101c01e4f8SBryan Drewery.Xr ccache 1
3111c01e4f8SBryan Dreweryfor more configuration options.
31293da8366SEnji Cooper.It Va WITHOUT_CCD
313041c5049SEd MasteDo not build
31493da8366SEnji Cooper.Xr geom_ccd 4
31593da8366SEnji Cooperand related utilities.
31690be798eSDimitry Andric.It Va WITHOUT_CDDL
317041c5049SEd MasteDo not build code licensed under Sun's CDDL.
318344e2bb9SEd MasteWhen set, it enforces these options:
31990be798eSDimitry Andric.Pp
32090be798eSDimitry Andric.Bl -item -compact
32190be798eSDimitry Andric.It
32290be798eSDimitry Andric.Va WITHOUT_CTF
32390be798eSDimitry Andric.It
3241f7d1483SEd Maste.Va WITHOUT_LOADER_ZFS
3251f7d1483SEd Maste.It
32690be798eSDimitry Andric.Va WITHOUT_ZFS
32790be798eSDimitry Andric.El
32890be798eSDimitry Andric.It Va WITHOUT_CLANG
329041c5049SEd MasteDo not build the Clang C/C++ compiler during the regular phase of the build.
330344e2bb9SEd MasteWhen set, it enforces these options:
33190be798eSDimitry Andric.Pp
33290be798eSDimitry Andric.Bl -item -compact
33390be798eSDimitry Andric.It
33490be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
33590be798eSDimitry Andric.It
33619267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
33719267656SConrad Meyer.It
33890be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
3395b9c3654SEd Maste.It
3405b9c3654SEd Maste.Va WITHOUT_LLVM_COV
34190be798eSDimitry Andric.El
342ac56b22fSEd Maste.Pp
343ac56b22fSEd MasteWhen set, these options are also in effect:
344ac56b22fSEd Maste.Pp
345ac56b22fSEd Maste.Bl -inset -compact
346ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_AARCH64
347ac56b22fSEd Maste(unless
348ac56b22fSEd Maste.Va WITH_LLVM_TARGET_AARCH64
349ac56b22fSEd Masteis set explicitly)
350ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ALL
351ac56b22fSEd Maste(unless
352ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ALL
353ac56b22fSEd Masteis set explicitly)
354ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ARM
355ac56b22fSEd Maste(unless
356ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ARM
357ac56b22fSEd Masteis set explicitly)
358ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_MIPS
359ac56b22fSEd Maste(unless
360ac56b22fSEd Maste.Va WITH_LLVM_TARGET_MIPS
361ac56b22fSEd Masteis set explicitly)
362ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_POWERPC
363ac56b22fSEd Maste(unless
364ac56b22fSEd Maste.Va WITH_LLVM_TARGET_POWERPC
365ac56b22fSEd Masteis set explicitly)
366ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
367ac56b22fSEd Maste(unless
368ac56b22fSEd Maste.Va WITH_LLVM_TARGET_RISCV
369ac56b22fSEd Masteis set explicitly)
370ac56b22fSEd Maste.El
37190be798eSDimitry Andric.It Va WITHOUT_CLANG_BOOTSTRAP
372041c5049SEd MasteDo not build the Clang C/C++ compiler during the bootstrap phase of
373344e2bb9SEd Mastethe build.
374344e2bb9SEd MasteTo be able to build the system, either gcc or clang bootstrap must be
375344e2bb9SEd Masteenabled unless an alternate compiler is provided via XCC.
37690be798eSDimitry Andric.It Va WITH_CLANG_EXTRAS
377041c5049SEd MasteBuild additional clang and llvm tools, such as bugpoint and
378b3a27c81SEd Masteclang-format.
37919267656SConrad Meyer.It Va WITH_CLANG_FORMAT
380041c5049SEd MasteBuild clang-format.
38190be798eSDimitry Andric.It Va WITHOUT_CLANG_FULL
382041c5049SEd MasteAvoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
38390be798eSDimitry Andricthe Clang C/C++ compiler.
38490be798eSDimitry Andric.It Va WITHOUT_CLANG_IS_CC
3858683408cSEd MasteDo not install links to the Clang C/C++ compiler as
38690be798eSDimitry Andric.Pa /usr/bin/cc ,
38790be798eSDimitry Andric.Pa /usr/bin/c++
38890be798eSDimitry Andricand
38990be798eSDimitry Andric.Pa /usr/bin/cpp .
390f83a16e0SEd Maste.It Va WITHOUT_CLEAN
391f83a16e0SEd MasteDo not clean before building world and/or kernel.
39290be798eSDimitry Andric.It Va WITHOUT_CPP
393041c5049SEd MasteDo not build
39490be798eSDimitry Andric.Xr cpp 1 .
39590be798eSDimitry Andric.It Va WITHOUT_CROSS_COMPILER
396041c5049SEd MasteDo not build any cross compiler in the cross-tools stage of buildworld.
397344e2bb9SEd MasteWhen compiling a different version of
39890be798eSDimitry Andric.Fx
399344e2bb9SEd Mastethan what is installed on the system, provide an alternate
40090be798eSDimitry Andriccompiler with XCC to ensure success.
401344e2bb9SEd MasteWhen compiling with an identical version of
40290be798eSDimitry Andric.Fx
40390be798eSDimitry Andricto the host, this option may be safely used.
40490be798eSDimitry AndricThis option may also be safe when the host version of
40590be798eSDimitry Andric.Fx
40690be798eSDimitry Andricis close to the sources being built, but all bets are off if there have
40790be798eSDimitry Andricbeen any changes to the toolchain between the versions.
408344e2bb9SEd MasteWhen set, it enforces these options:
40990be798eSDimitry Andric.Pp
41090be798eSDimitry Andric.Bl -item -compact
41190be798eSDimitry Andric.It
41290be798eSDimitry Andric.Va WITHOUT_CLANG_BOOTSTRAP
41390be798eSDimitry Andric.It
414f972b8a4SBryan Drewery.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
415f972b8a4SBryan Drewery.It
41628f52545SEd Maste.Va WITHOUT_LLD_BOOTSTRAP
41790be798eSDimitry Andric.El
41890be798eSDimitry Andric.It Va WITHOUT_CRYPT
419041c5049SEd MasteDo not build any crypto code.
420344e2bb9SEd MasteWhen set, it enforces these options:
42190be798eSDimitry Andric.Pp
42290be798eSDimitry Andric.Bl -item -compact
42390be798eSDimitry Andric.It
4249f4e04c1SEd Maste.Va WITHOUT_DMAGENT
4259f4e04c1SEd Maste.It
42690be798eSDimitry Andric.Va WITHOUT_KERBEROS
42790be798eSDimitry Andric.It
428fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
429fb27d7aeSEd Maste.It
430da39b3adSEd Maste.Va WITHOUT_LDNS
431da39b3adSEd Maste.It
432da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
433da39b3adSEd Maste.It
43490be798eSDimitry Andric.Va WITHOUT_OPENSSH
43590be798eSDimitry Andric.It
43690be798eSDimitry Andric.Va WITHOUT_OPENSSL
437da39b3adSEd Maste.It
438ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
439ac56b22fSEd Maste.It
440116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
441116f7fccSEd Maste.It
442da39b3adSEd Maste.Va WITHOUT_UNBOUND
443243125c8SMitchell Horne.It
444243125c8SMitchell Horne.Va WITHOUT_ZFS
44590be798eSDimitry Andric.El
44690be798eSDimitry Andric.Pp
447344e2bb9SEd MasteWhen set, these options are also in effect:
44890be798eSDimitry Andric.Pp
44990be798eSDimitry Andric.Bl -inset -compact
45090be798eSDimitry Andric.It Va WITHOUT_GSSAPI
45190be798eSDimitry Andric(unless
45290be798eSDimitry Andric.Va WITH_GSSAPI
45390be798eSDimitry Andricis set explicitly)
45490be798eSDimitry Andric.El
45590be798eSDimitry Andric.It Va WITH_CTF
456041c5049SEd MasteCompile with CTF (Compact C Type Format) data.
45790be798eSDimitry AndricCTF data encapsulates a reduced form of debugging information
45890be798eSDimitry Andricsimilar to DWARF and the venerable stabs and is required for DTrace.
45954d8c5d5SBryan Drewery.It Va WITHOUT_CUSE
460041c5049SEd MasteDo not build CUSE-related programs and libraries.
4619cf76983SNavdeep Parhar.It Va WITHOUT_CXGBETOOL
462041c5049SEd MasteDo not build
4639cf76983SNavdeep Parhar.Xr cxgbetool 8
4649cf76983SNavdeep Parhar.Pp
4659cf76983SNavdeep ParharThis is a default setting on
466*f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
4679cf76983SNavdeep Parhar.It Va WITH_CXGBETOOL
468041c5049SEd MasteBuild
4699cf76983SNavdeep Parhar.Xr cxgbetool 8
4709cf76983SNavdeep Parhar.Pp
4719cf76983SNavdeep ParharThis is a default setting on
472429932baSEd Masteamd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
47390be798eSDimitry Andric.It Va WITHOUT_CXX
474041c5049SEd MasteDo not build
4754a62dc3aSBryan Drewery.Xr c++ 1
47690be798eSDimitry Andricand related libraries.
47790be798eSDimitry AndricIt will also prevent building of
47890be798eSDimitry Andric.Xr gperf 1
47990be798eSDimitry Andricand
48090be798eSDimitry Andric.Xr devd 8 .
481344e2bb9SEd MasteWhen set, it enforces these options:
48290be798eSDimitry Andric.Pp
48390be798eSDimitry Andric.Bl -item -compact
48490be798eSDimitry Andric.It
48590be798eSDimitry Andric.Va WITHOUT_CLANG
48690be798eSDimitry Andric.It
48790be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
48890be798eSDimitry Andric.It
48919267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
49019267656SConrad Meyer.It
49190be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
49290be798eSDimitry Andric.It
493051ea717SEd Maste.Va WITHOUT_DTRACE_TESTS
494051ea717SEd Maste.It
495770379b9SEd Maste.Va WITHOUT_GOOGLETEST
496770379b9SEd Maste.It
4975b9c3654SEd Maste.Va WITHOUT_LLVM_COV
4985b9c3654SEd Maste.It
499ac56b22fSEd Maste.Va WITHOUT_OFED
500ac56b22fSEd Maste.It
501ac56b22fSEd Maste.Va WITHOUT_OFED_EXTRA
502ac56b22fSEd Maste.It
503ac56b22fSEd Maste.Va WITHOUT_OPENMP
504ac56b22fSEd Maste.It
505ac56b22fSEd Maste.Va WITHOUT_PMC
506ac56b22fSEd Maste.It
507051ea717SEd Maste.Va WITHOUT_TESTS
50890be798eSDimitry Andric.El
5094a5e4462SEd Maste.It Va WITHOUT_DEBUG_FILES
510041c5049SEd MasteAvoid building or installing standalone debug files for each
5114a5e4462SEd Masteexecutable binary and shared library.
512ac56b22fSEd Maste.It Va WITH_DETECT_TZ_CHANGES
513ac56b22fSEd MasteMake the time handling code detect changes to the timezone files.
514cc68b6e5SEd Maste.It Va WITHOUT_DIALOG
515041c5049SEd MasteDo not build
516344e2bb9SEd Maste.Xr dialog 1 ,
517344e2bb9SEd Maste.Xr dialog 3 ,
518344e2bb9SEd Maste.Xr dpv 1 ,
519344e2bb9SEd Masteand
520344e2bb9SEd Maste.Xr dpv 3 .
521344e2bb9SEd MasteWhen set, it enforces these options:
522cc68b6e5SEd Maste.Pp
523cc68b6e5SEd Maste.Bl -item -compact
524cc68b6e5SEd Maste.It
525cc68b6e5SEd Maste.Va WITHOUT_BSDINSTALL
526cc68b6e5SEd Maste.El
52790be798eSDimitry Andric.It Va WITHOUT_DICT
528041c5049SEd MasteDo not build the Webster dictionary files.
52932b5dc9aSSimon J. Gerraty.It Va WITH_DIRDEPS_BUILD
530be894451SBryan DreweryThis is an experimental build system.
53132b5dc9aSSimon J. GerratyFor details see
53232b5dc9aSSimon J. Gerratyhttp://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
533be894451SBryan DreweryBuild commands can be seen from the top-level with:
534be894451SBryan Drewery.Dl make show-valid-targets
53532b5dc9aSSimon J. GerratyThe build is driven by dirdeps.mk using
53632b5dc9aSSimon J. Gerraty.Va DIRDEPS
53732b5dc9aSSimon J. Gerratystored in
53832b5dc9aSSimon J. GerratyMakefile.depend files found in each directory.
53932b5dc9aSSimon J. Gerraty.Pp
54032b5dc9aSSimon J. GerratyThe build can be started from anywhere, and behaves the same.
54132b5dc9aSSimon J. GerratyThe initial instance of
54232b5dc9aSSimon J. Gerraty.Xr make 1
54332b5dc9aSSimon J. Gerratyrecursively reads
54432b5dc9aSSimon J. Gerraty.Va DIRDEPS
545344e2bb9SEd Mastefrom
546344e2bb9SEd Maste.Pa Makefile.depend ,
54732b5dc9aSSimon J. Gerratycomputing a graph of tree dependencies from the current origin.
54832b5dc9aSSimon J. GerratySetting
54932b5dc9aSSimon J. Gerraty.Va NO_DIRDEPS
550344e2bb9SEd Masteskips checking dirdep dependencies and will only build in the current
5517f76a95cSBryan Dreweryand child directories.
5527f76a95cSBryan Drewery.Va NO_DIRDEPS_BELOW
553344e2bb9SEd Masteskips building any dirdeps and only build the current directory.
55432b5dc9aSSimon J. Gerraty.Pp
555be894451SBryan DreweryThis also utilizes the
556be894451SBryan Drewery.Va WITH_META_MODE
557be894451SBryan Drewerylogic for incremental builds.
55832b5dc9aSSimon J. Gerraty.Pp
559344e2bb9SEd MasteThe build hides commands executed unless
56032b5dc9aSSimon J. Gerraty.Va NO_SILENT
56132b5dc9aSSimon J. Gerratyis defined.
56232b5dc9aSSimon J. Gerraty.Pp
563be894451SBryan DreweryNote that there is currently no mass install feature for this.
564be894451SBryan Drewery.Pp
565344e2bb9SEd MasteWhen set, it enforces these options:
56632b5dc9aSSimon J. Gerraty.Pp
56732b5dc9aSSimon J. Gerraty.Bl -item -compact
56832b5dc9aSSimon J. Gerraty.It
56932b5dc9aSSimon J. Gerraty.Va WITH_INSTALL_AS_USER
57032b5dc9aSSimon J. Gerraty.El
57132b5dc9aSSimon J. Gerraty.Pp
572344e2bb9SEd MasteWhen set, these options are also in effect:
57332b5dc9aSSimon J. Gerraty.Pp
57432b5dc9aSSimon J. Gerraty.Bl -inset -compact
57526b79d5bSHajimu UMEMOTO.It Va WITH_META_MODE
57626b79d5bSHajimu UMEMOTO(unless
57726b79d5bSHajimu UMEMOTO.Va WITHOUT_META_MODE
57826b79d5bSHajimu UMEMOTOis set explicitly)
57932b5dc9aSSimon J. Gerraty.It Va WITH_STAGING
58032b5dc9aSSimon J. Gerraty(unless
58132b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING
58232b5dc9aSSimon J. Gerratyis set explicitly)
58332b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_MAN
58432b5dc9aSSimon J. Gerraty(unless
58532b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_MAN
58632b5dc9aSSimon J. Gerratyis set explicitly)
58732b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_PROG
58832b5dc9aSSimon J. Gerraty(unless
58932b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_PROG
59032b5dc9aSSimon J. Gerratyis set explicitly)
59132b5dc9aSSimon J. Gerraty.It Va WITH_SYSROOT
59232b5dc9aSSimon J. Gerraty(unless
59332b5dc9aSSimon J. Gerraty.Va WITHOUT_SYSROOT
59432b5dc9aSSimon J. Gerratyis set explicitly)
59532b5dc9aSSimon J. Gerraty.El
59632b5dc9aSSimon J. Gerraty.Pp
59732b5dc9aSSimon J. GerratyThis must be set in the environment, make command line, or
59832b5dc9aSSimon J. Gerraty.Pa /etc/src-env.conf ,
59932b5dc9aSSimon J. Gerratynot
60032b5dc9aSSimon J. Gerraty.Pa /etc/src.conf .
601cc2520d2SSimon J. Gerraty.It Va WITH_DIRDEPS_CACHE
602cc2520d2SSimon J. GerratyCache result of dirdeps.mk which can save significant time
603cc2520d2SSimon J. Gerratyfor subsequent builds.
604cc2520d2SSimon J. GerratyDepends on
60532b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
6060a70ef02SBryan Drewery.Pp
607ba852870SBryan DreweryThis must be set in the environment, make command line, or
6080a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
6090a70ef02SBryan Drewerynot
6100a70ef02SBryan Drewery.Pa /etc/src.conf .
61190be798eSDimitry Andric.It Va WITHOUT_DMAGENT
612041c5049SEd MasteDo not build dma Mail Transport Agent.
61390be798eSDimitry Andric.It Va WITHOUT_DOCCOMPRESS
614041c5049SEd MasteDo not install compressed system documentation.
61590be798eSDimitry AndricOnly the uncompressed version will be installed.
61616f3fdf5SMark Johnston.It Va WITH_DTRACE_TESTS
617041c5049SEd MasteBuild and install the DTrace test suite in
61816f3fdf5SMark Johnston.Pa /usr/tests/cddl/usr.sbin/dtrace .
61916f3fdf5SMark JohnstonThis test suite is considered experimental on architectures other than
62016f3fdf5SMark Johnstonamd64/amd64 and running it may cause system instability.
62190be798eSDimitry Andric.It Va WITHOUT_DYNAMICROOT
62290be798eSDimitry AndricSet this if you do not want to link
62390be798eSDimitry Andric.Pa /bin
62490be798eSDimitry Andricand
62590be798eSDimitry Andric.Pa /sbin
62690be798eSDimitry Andricdynamically.
62793da8366SEnji Cooper.It Va WITHOUT_EE
628041c5049SEd MasteDo not build and install
62993da8366SEnji Cooper.Xr edit 1 ,
63093da8366SEnji Cooper.Xr ee 1 ,
63193da8366SEnji Cooperand related programs.
6320cd582c8SEnji Cooper.It Va WITHOUT_EFI
6330cd582c8SEnji CooperSet not to build
6340cd582c8SEnji Cooper.Xr efivar 3
6350cd582c8SEnji Cooperand
6360cd582c8SEnji Cooper.Xr efivar 8 .
6370cd582c8SEnji Cooper.Pp
638344e2bb9SEd MasteThis is a default setting on
639*f89842a7SWarner Loshpowerpc/powerpc and powerpc/powerpc64.
6400cd582c8SEnji Cooper.It Va WITH_EFI
641041c5049SEd MasteBuild
6420cd582c8SEnji Cooper.Xr efivar 3
6430cd582c8SEnji Cooperand
6440cd582c8SEnji Cooper.Xr efivar 8 .
6450cd582c8SEnji Cooper.Pp
646344e2bb9SEd MasteThis is a default setting on
647d3112319SMitchell Horneamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
6485977355fSBryan Drewery.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
649041c5049SEd MasteDo not build ELF Tool Chain tools
6505977355fSBryan Drewery(addr2line, nm, size, strings and strip)
6515977355fSBryan Dreweryas part of the bootstrap process.
6525977355fSBryan Drewery.Bf -symbolic
6535977355fSBryan DreweryAn alternate bootstrap tool chain must be provided.
6545977355fSBryan Drewery.Ef
65590be798eSDimitry Andric.It Va WITHOUT_EXAMPLES
656041c5049SEd MasteAvoid installing examples to
65790be798eSDimitry Andric.Pa /usr/share/examples/ .
65843f75d57SBjoern A. Zeeb.It Va WITH_EXPERIMENTAL
659041c5049SEd MasteInclude experimental features in the build.
660d5a2667bSJonathan T. Looney.It Va WITH_EXTRA_TCP_STACKS
661041c5049SEd MasteBuild extra TCP stack modules.
66290be798eSDimitry Andric.It Va WITHOUT_FDT
663041c5049SEd MasteDo not build Flattened Device Tree support as part of the base system.
66490be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6650e0e9604SEnji Cooper.It Va WITHOUT_FILE
666041c5049SEd MasteDo not build
6670e0e9604SEnji Cooper.Xr file 1
6680e0e9604SEnji Cooperand related programs.
6690e0e9604SEnji Cooper.It Va WITHOUT_FINGER
670041c5049SEd MasteDo not build or install
6710e0e9604SEnji Cooper.Xr finger 1
6720e0e9604SEnji Cooperand
6730e0e9604SEnji Cooper.Xr fingerd 8 .
67490be798eSDimitry Andric.It Va WITHOUT_FLOPPY
675041c5049SEd MasteDo not build or install programs
67690be798eSDimitry Andricfor operating floppy disk driver.
677a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
678041c5049SEd MasteDo not enable
679a0f6423bSEd Maste.Fl fformat-extensions
680a0f6423bSEd Mastewhen compiling the kernel.
681a0f6423bSEd MasteAlso disables all format checking.
68290be798eSDimitry Andric.It Va WITHOUT_FORTH
683041c5049SEd MasteBuild bootloaders without Forth support.
68490be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
685041c5049SEd MasteBuild
68690be798eSDimitry Andric.Nm libc
68790be798eSDimitry Andricwithout floating-point support.
68890be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
689041c5049SEd MasteDo not build
69090be798eSDimitry Andric.Xr freebsd-update 8 .
6910e0e9604SEnji Cooper.It Va WITHOUT_FTP
692041c5049SEd MasteDo not build or install
6930e0e9604SEnji Cooper.Xr ftp 1
6940e0e9604SEnji Cooperand
6950e0e9604SEnji Cooper.Xr ftpd 8 .
69690be798eSDimitry Andric.It Va WITHOUT_GAMES
697041c5049SEd MasteDo not build games.
698160ea953SStefan Eßer.It Va WITHOUT_GH_BC
699041c5049SEd MasteInstall the traditional FreeBSD
70068c8c1a7SStefan Eßer.Xr bc 1
701160ea953SStefan Eßerand
70268c8c1a7SStefan Eßer.Xr dc 1
703041c5049SEd Masteprograms instead of the enhanced versions.
70436e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
705041c5049SEd MasteDo not build GNU
70636e8c7bbSEd Maste.Xr diff3 1 .
7077840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
708041c5049SEd MasteNeither build nor install
7097840b63aSEnji Cooper.Lb libgmock ,
7107840b63aSEnji Cooper.Lb libgtest ,
7117840b63aSEnji Cooperand dependent tests.
71290be798eSDimitry Andric.It Va WITHOUT_GPIO
713041c5049SEd MasteDo not build
71490be798eSDimitry Andric.Xr gpioctl 8
71590be798eSDimitry Andricas part of the base system.
71690be798eSDimitry Andric.It Va WITHOUT_GSSAPI
717041c5049SEd MasteDo not build libgssapi.
71861940879SEnji Cooper.It Va WITHOUT_HAST
719041c5049SEd MasteDo not build
72061940879SEnji Cooper.Xr hastd 8
72161940879SEnji Cooperand related utilities.
72290be798eSDimitry Andric.It Va WITH_HESIOD
723041c5049SEd MasteBuild Hesiod support.
72490be798eSDimitry Andric.It Va WITHOUT_HTML
725041c5049SEd MasteDo not build HTML docs.
7262c4b4abcSXin LI.It Va WITHOUT_HYPERV
727041c5049SEd MasteDo not build or install HyperV utilities.
7280543ade3SBrooks Davis.Pp
7290543ade3SBrooks DavisThis is a default setting on
730*f89842a7SWarner Losharm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
7310543ade3SBrooks Davis.It Va WITH_HYPERV
732041c5049SEd MasteBuild or install HyperV utilities.
7330543ade3SBrooks Davis.Pp
7340543ade3SBrooks DavisThis is a default setting on
7350543ade3SBrooks Davisamd64/amd64 and i386/i386.
73690be798eSDimitry Andric.It Va WITHOUT_ICONV
737041c5049SEd MasteDo not build iconv as part of libc.
738c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
739041c5049SEd MasteDo not install header files.
740c5d09a87SGlen BarberThis option used to be spelled
741c5d09a87SGlen Barber.Va NO_INCS .
742c5d09a87SGlen Barber.Bf -symbolic
743c5d09a87SGlen BarberThe option does not work for build targets.
744c5d09a87SGlen Barber.Ef
74590be798eSDimitry Andric.It Va WITHOUT_INET
746041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
747344e2bb9SEd MasteWhen set, it enforces these options:
74890be798eSDimitry Andric.Pp
74990be798eSDimitry Andric.Bl -item -compact
75090be798eSDimitry Andric.It
75190be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
75290be798eSDimitry Andric.El
75390be798eSDimitry Andric.It Va WITHOUT_INET6
754041c5049SEd MasteDo not build
75590be798eSDimitry Andricprograms and libraries related to IPv6 networking.
756344e2bb9SEd MasteWhen set, it enforces these options:
75790be798eSDimitry Andric.Pp
75890be798eSDimitry Andric.Bl -item -compact
75990be798eSDimitry Andric.It
76090be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
76190be798eSDimitry Andric.El
76290be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
763041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7640e0e9604SEnji Cooper.It Va WITHOUT_INETD
765041c5049SEd MasteDo not build
7660e0e9604SEnji Cooper.Xr inetd 8 .
76790be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
768041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
769b013518aSEd Maste.It Va WITH_INIT_ALL_PATTERN
770041c5049SEd MasteBuild the base system or kernel with stack variables initialized to
771b013518aSEd Maste.Pq compiler defined
772b013518aSEd Mastedebugging patterns on function entry.
773b013518aSEd MasteThis option requires the clang compiler.
774b013518aSEd Maste.It Va WITH_INIT_ALL_ZERO
775041c5049SEd MasteBuild the base system or kernel with stack variables initialized
776b013518aSEd Masteto zero on function entry.
777b013518aSEd MasteThis option requires that the clang compiler be used.
77890be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
779344e2bb9SEd MasteSet this to not install optional libraries.
780344e2bb9SEd MasteFor example, when creating a
78190be798eSDimitry Andric.Xr nanobsd 8
78290be798eSDimitry Andricimage.
783f79bedf5SBryan Drewery.Bf -symbolic
784f79bedf5SBryan DreweryThe option does not work for build targets.
785f79bedf5SBryan Drewery.Ef
78690be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
787041c5049SEd MasteMake install targets succeed for non-root users by installing
78890be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
78990be798eSDimitry Andricthe
79090be798eSDimitry Andric.Xr make 1
79190be798eSDimitry Andriccommand.
792344e2bb9SEd MasteThe user still must set the
79390be798eSDimitry Andric.Va DESTDIR
79490be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
79590be798eSDimitry Andric.It Va WITHOUT_IPFILTER
796041c5049SEd MasteDo not build IP Filter package.
79790be798eSDimitry Andric.It Va WITHOUT_IPFW
798041c5049SEd MasteDo not build IPFW tools.
79988342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
800041c5049SEd MasteDo not build the kernel with
80188342134SEnji Cooper.Xr ipsec 4
80288342134SEnji Coopersupport.
80388342134SEnji CooperThis option is needed for
80488342134SEnji Cooper.Xr ipsec 4
80588342134SEnji Cooperand
80688342134SEnji Cooper.Xr tcpmd5 4 .
80793da8366SEnji Cooper.It Va WITHOUT_ISCSI
808041c5049SEd MasteDo not build
80926d6bbfaSSevan Janiyan.Xr iscsid 8
81093da8366SEnji Cooperand related utilities.
81190be798eSDimitry Andric.It Va WITHOUT_JAIL
812041c5049SEd MasteDo not build tools for the support of jails; e.g.,
81390be798eSDimitry Andric.Xr jail 8 .
81490be798eSDimitry Andric.It Va WITHOUT_KDUMP
815041c5049SEd MasteDo not build
81690be798eSDimitry Andric.Xr kdump 1
81790be798eSDimitry Andricand
81890be798eSDimitry Andric.Xr truss 1 .
81990be798eSDimitry Andric.It Va WITHOUT_KERBEROS
820344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
821344e2bb9SEd MasteWhen set, these options are also in effect:
82290be798eSDimitry Andric.Pp
82390be798eSDimitry Andric.Bl -inset -compact
82490be798eSDimitry Andric.It Va WITHOUT_GSSAPI
82590be798eSDimitry Andric(unless
82690be798eSDimitry Andric.Va WITH_GSSAPI
82790be798eSDimitry Andricis set explicitly)
828bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
829bf64e879SBryan Drewery(unless
830bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
831bf64e879SBryan Dreweryis set explicitly)
83290be798eSDimitry Andric.El
83390be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
834041c5049SEd MasteBuild some programs without Kerberos support, like
83590be798eSDimitry Andric.Xr ssh 1 ,
83690be798eSDimitry Andric.Xr telnet 1 ,
83790be798eSDimitry Andric.Xr sshd 8 ,
83890be798eSDimitry Andricand
83990be798eSDimitry Andric.Xr telnetd 8 .
8406f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
841041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8426f7527f0SEd Mastebuild.
843a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
8441a7c2789SEd MasteDo not install kernel debug symbol files.
84590be798eSDimitry Andric.It Va WITHOUT_KVM
846041c5049SEd MasteDo not build the
84790be798eSDimitry Andric.Nm libkvm
84890be798eSDimitry Andriclibrary as a part of the base system.
84990be798eSDimitry Andric.Bf -symbolic
85090be798eSDimitry AndricThe option has no effect yet.
85190be798eSDimitry Andric.Ef
852bf64e879SBryan DreweryWhen set, these options are also in effect:
85390be798eSDimitry Andric.Pp
854bf64e879SBryan Drewery.Bl -inset -compact
855bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
856bf64e879SBryan Drewery(unless
857bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
858bf64e879SBryan Dreweryis set explicitly)
85990be798eSDimitry Andric.El
86090be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
861041c5049SEd MasteBuild some programs without optional
86290be798eSDimitry Andric.Nm libkvm
86390be798eSDimitry Andricsupport.
86490be798eSDimitry Andric.It Va WITHOUT_LDNS
86590be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
866344e2bb9SEd MasteWhen set, it enforces these options:
86790be798eSDimitry Andric.Pp
86890be798eSDimitry Andric.Bl -item -compact
86990be798eSDimitry Andric.It
87090be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
87190be798eSDimitry Andric.It
87290be798eSDimitry Andric.Va WITHOUT_UNBOUND
87390be798eSDimitry Andric.El
87490be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
87590be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
87690be798eSDimitry Andric.Xr drill 1
87790be798eSDimitry Andricand
87890be798eSDimitry Andric.Xr host 1 .
87990be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
880041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
88123a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
88290be798eSDimitry Andricand
88323a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
88490be798eSDimitry Andric.It Va WITHOUT_LIB32
885041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
88690be798eSDimitry Andric.Nm ld-elf32.so.1
88790be798eSDimitry Andricruntime linker.
888f3cdc622SEd Maste.Pp
889f3cdc622SEd MasteThis is a default setting on
890*f89842a7SWarner Losharm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
8918a7c8ae4SBryan Drewery.It Va WITH_LIBSOFT
892041c5049SEd MasteOn armv6 only, enable soft float ABI compatibility libraries.
8938a7c8ae4SBryan DreweryThis option is for transitioning to the new hard float ABI.
89436e8c7bbSEd Maste.It Va WITHOUT_LLD
895041c5049SEd MasteDo not build LLVM's lld linker.
8961500eb21SEd Maste.It Va WITHOUT_LLDB
897041c5049SEd MasteDo not build the LLDB debugger.
8981500eb21SEd Maste.Pp
899344e2bb9SEd MasteThis is a default setting on
900*f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
90190be798eSDimitry Andric.It Va WITH_LLDB
902041c5049SEd MasteBuild the LLDB debugger.
9031500eb21SEd Maste.Pp
904344e2bb9SEd MasteThis is a default setting on
905e5259506SEnji Cooperamd64/amd64, arm64/aarch64 and i386/i386.
9066c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
907041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
9086c2b7edaSEd Mastethe build.
9097680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
910661cf9b6SYoshihiro Takahashi.It Va WITHOUT_LLD_IS_LD
9117680431aSEd MasteDo not install a
9127680431aSEd Maste.Pa /usr/bin/ld symlink
9137680431aSEd Masteto
9147680431aSEd Maste.Pa ld.lld .
9157680431aSEd MasteThe system will not have a usable tool chain unless a linker is provided
9167680431aSEd Mastesome other way.
917a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
918041c5049SEd MasteDisable debugging assertions in LLVM.
919ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
920ac56b22fSEd MasteInstall LLVM's binutils (ar, addr2line, nm, etc.) instead of ELF Tool Chain's.
9215b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
922041c5049SEd MasteDo not build the
9235b9c3654SEd Maste.Xr llvm-cov 1
9245b9c3654SEd Mastetool.
9259fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9269fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
927cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
928041c5049SEd MasteDo not build LLVM target support for AArch64.
929bf64e879SBryan DreweryThe
930bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
931bf64e879SBryan Dreweryoption should be used rather than this in most cases.
932bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
933041c5049SEd MasteOnly build the required LLVM target support.
934bf64e879SBryan DreweryThis option is preferred to specific target support options.
935bf64e879SBryan DreweryWhen set, these options are also in effect:
936bf64e879SBryan Drewery.Pp
937bf64e879SBryan Drewery.Bl -inset -compact
938bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
939bf64e879SBryan Drewery(unless
940bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
941bf64e879SBryan Dreweryis set explicitly)
942bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
943bf64e879SBryan Drewery(unless
944bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
945bf64e879SBryan Dreweryis set explicitly)
946bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_MIPS
947bf64e879SBryan Drewery(unless
948bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_MIPS
949bf64e879SBryan Dreweryis set explicitly)
950bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
951bf64e879SBryan Drewery(unless
952bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
953bf64e879SBryan Dreweryis set explicitly)
954f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
955f3cdc622SEd Maste(unless
956f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
957f3cdc622SEd Masteis set explicitly)
958bf64e879SBryan Drewery.El
959cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
960041c5049SEd MasteDo not build LLVM target support for ARM.
961bf64e879SBryan DreweryThe
962bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
963bf64e879SBryan Dreweryoption should be used rather than this in most cases.
96489edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
965041c5049SEd MasteBuild LLVM target support for BPF.
96689edb881SDimitry AndricThe
96789edb881SDimitry Andric.Va LLVM_TARGET_ALL
96889edb881SDimitry Andricoption should be used rather than this in most cases.
969cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_MIPS
970041c5049SEd MasteDo not build LLVM target support for MIPS.
971bf64e879SBryan DreweryThe
972bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
973bf64e879SBryan Dreweryoption should be used rather than this in most cases.
974cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
975041c5049SEd MasteDo not build LLVM target support for PowerPC.
976bf64e879SBryan DreweryThe
977bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
978bf64e879SBryan Dreweryoption should be used rather than this in most cases.
979f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
980041c5049SEd MasteDo not build LLVM target support for RISC-V.
981f3cdc622SEd MasteThe
982f3cdc622SEd Maste.Va LLVM_TARGET_ALL
983f3cdc622SEd Masteoption should be used rather than this in most cases.
984cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
985041c5049SEd MasteDo not build LLVM target support for X86.
986bf64e879SBryan DreweryThe
987bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
988bf64e879SBryan Dreweryoption should be used rather than this in most cases.
989bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
990bfdf8aa9SJohn BaldwinEnable building
991bfdf8aa9SJohn Baldwin.Xr loader 8
992bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
993bfdf8aa9SJohn Baldwin.Pp
994782df3edSEd Maste.It Va WITH_LOADER_FIREWIRE
995ea91248cSLi-Wen HsuEnable firewire support in /boot/loader on x86.
996ea91248cSLi-Wen HsuThis option is a nop on all other platforms.
997782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
998782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
99930323356SWarner Losh.Pp
100030323356SWarner LoshThis is a default setting on
1001429932baSEd Mastepowerpc/powerpc and powerpc/powerpc64.
10028edab9cdSWarner Losh.It Va WITH_LOADER_GELI
1003041c5049SEd MasteBuild GELI bootloader support.
10048edab9cdSWarner Losh.Pp
10058edab9cdSWarner LoshThis is a default setting on
1006*f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
10078edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
1008041c5049SEd MasteDo not build LUA bindings for the boot loader.
10098edab9cdSWarner Losh.Pp
10108edab9cdSWarner LoshThis is a default setting on
1011429932baSEd Mastepowerpc/powerpc and powerpc/powerpc64.
10126f7527f0SEd Maste.It Va WITH_LOADER_LUA
1013041c5049SEd MasteBuild LUA bindings for the boot loader.
101430323356SWarner Losh.Pp
101530323356SWarner LoshThis is a default setting on
1016*f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1017b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1018b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1019b8f3641fSKyle Evans.Pp
1020b8f3641fSKyle EvansThis is a default setting on
1021*f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1022b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1023041c5049SEd MasteBuild openfirmware bootloader components.
1024b8f3641fSKyle Evans.Pp
1025b8f3641fSKyle EvansThis is a default setting on
1026429932baSEd Mastepowerpc/powerpc and powerpc/powerpc64.
1027b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1028b8f3641fSKyle EvansDisable building of ubldr.
1029b8f3641fSKyle Evans.Pp
1030b8f3641fSKyle EvansThis is a default setting on
1031429932baSEd Masteamd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1032b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1033041c5049SEd MasteBuild ubldr.
1034b8f3641fSKyle Evans.Pp
1035b8f3641fSKyle EvansThis is a default setting on
1036*f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc and powerpc/powerpc64.
10371f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1038041c5049SEd MasteBuild with extra verbose debugging in the loader.
10391f7d1483SEd MasteMay explode already nearly too large loader over the limit.
10401f7d1483SEd MasteUse with care.
1041bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1042bfdf8aa9SJohn BaldwinEnable building
1043bfdf8aa9SJohn Baldwin.Xr loader 8
1044de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1045bfdf8aa9SJohn Baldwin.Pp
1046de19b521SDimitry AndricDepends on
1047de19b521SDimitry Andric.Va WITH_BEARSSL .
1048bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1049bfdf8aa9SJohn Baldwin.Pp
1050bfdf8aa9SJohn Baldwin.Bl -inset -compact
1051bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1052bfdf8aa9SJohn Baldwin(unless
1053bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1054bfdf8aa9SJohn Baldwinis set explicitly)
1055f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1056f87a2082SEd Maste(unless
1057f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1058f87a2082SEd Masteis set explicitly)
1059bfdf8aa9SJohn Baldwin.El
1060de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1061de19b521SDimitry AndricEnable building
1062de19b521SDimitry Andric.Xr loader 8
1063de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1064de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1065de19b521SDimitry Andric.Pp
1066de19b521SDimitry AndricDepends on
1067de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
10681f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1069041c5049SEd MasteDo not build ZFS file system boot loader support.
107090be798eSDimitry Andric.It Va WITHOUT_LOCALES
1071041c5049SEd MasteDo not build localization files; see
107290be798eSDimitry Andric.Xr locale 1 .
107390be798eSDimitry Andric.It Va WITHOUT_LOCATE
1074041c5049SEd MasteDo not build
107590be798eSDimitry Andric.Xr locate 1
107690be798eSDimitry Andricand related programs.
107790be798eSDimitry Andric.It Va WITHOUT_LPR
1078041c5049SEd MasteDo not build
107990be798eSDimitry Andric.Xr lpr 1
108090be798eSDimitry Andricand related programs.
108190be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1082041c5049SEd MasteBuild
108390be798eSDimitry Andric.Xr ls 1
108490be798eSDimitry Andricwithout support for colors to distinguish file types.
108590be798eSDimitry Andric.It Va WITHOUT_MAIL
1086041c5049SEd MasteDo not build any mail support (MUA or MTA).
1087344e2bb9SEd MasteWhen set, it enforces these options:
108890be798eSDimitry Andric.Pp
108990be798eSDimitry Andric.Bl -item -compact
109090be798eSDimitry Andric.It
109190be798eSDimitry Andric.Va WITHOUT_DMAGENT
109290be798eSDimitry Andric.It
109390be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
109490be798eSDimitry Andric.It
109590be798eSDimitry Andric.Va WITHOUT_SENDMAIL
109690be798eSDimitry Andric.El
109790be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1098041c5049SEd MasteDo not build the
109990be798eSDimitry Andric.Xr mailwrapper 8
110090be798eSDimitry AndricMTA selector.
110190be798eSDimitry Andric.It Va WITHOUT_MAKE
1102041c5049SEd MasteDo not install
110390be798eSDimitry Andric.Xr make 1
110490be798eSDimitry Andricand related support files.
110574782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1106041c5049SEd MasteDo not execute
110774782f0eSEnji Cooper.Dq Li "make check"
110874782f0eSEnji Cooperin limited sandbox mode.
110974782f0eSEnji CooperThis option should be paired with
111074782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
111174782f0eSEnji Cooperif executed as an unprivileged user.
111274782f0eSEnji CooperSee
111374782f0eSEnji Cooper.Xr tests 7
111474782f0eSEnji Cooperfor more details.
11157d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1116041c5049SEd MasteDisable assertions and statistics gathering in
11177d4374f6SDimitry Andric.Xr malloc 3 .
11187d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
111990be798eSDimitry Andric.It Va WITHOUT_MAN
1120041c5049SEd MasteDo not build manual pages.
1121344e2bb9SEd MasteWhen set, these options are also in effect:
112290be798eSDimitry Andric.Pp
112390be798eSDimitry Andric.Bl -inset -compact
112490be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
112590be798eSDimitry Andric(unless
112690be798eSDimitry Andric.Va WITH_MAN_UTILS
112790be798eSDimitry Andricis set explicitly)
112890be798eSDimitry Andric.El
112990be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1130041c5049SEd MasteDo not install compressed man pages.
113190be798eSDimitry AndricOnly the uncompressed versions will be installed.
1132c7e6cb9eSEmmanuel Vadot.It Va WITH_MANSPLITPKG
1133041c5049SEd MasteSplit man pages into their own packages during make package.
113490be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1135041c5049SEd MasteDo not build utilities for manual pages,
113690be798eSDimitry Andric.Xr apropos 1 ,
113790be798eSDimitry Andric.Xr makewhatis 1 ,
113890be798eSDimitry Andric.Xr man 1 ,
113990be798eSDimitry Andric.Xr whatis 1 ,
114090be798eSDimitry Andric.Xr manctl 8 ,
114190be798eSDimitry Andricand related support files.
1142cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1143344e2bb9SEd MasteCreate
1144be894451SBryan Drewery.Xr make 1
1145be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1146be894451SBryan Dreweryusing
1147be894451SBryan Drewery.Xr filemon 4 .
1148344e2bb9SEd MasteThe meta file is created in OBJDIR as
1149be894451SBryan Drewery.Pa target.meta .
1150344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1151344e2bb9SEd Mastecurrent directory.
11522710e62cSBryan DreweryThe
11537f76a95cSBryan Drewery.Xr filemon 4
11542710e62cSBryan Drewerymodule is required unless
11552710e62cSBryan Drewery.Va NO_FILEMON
11562710e62cSBryan Dreweryis defined.
1157344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1158344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1159344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1160344e2bb9SEd Masteconditions are true compared to the last build:
1161be894451SBryan Drewery.Bl -bullet -compact
1162be894451SBryan Drewery.It
1163be894451SBryan DreweryThe command to execute changes.
1164be894451SBryan Drewery.It
1165be894451SBryan DreweryThe current working directory changes.
1166be894451SBryan Drewery.It
1167a4a2269eSBryan DreweryThe target's meta file is missing.
1168a4a2269eSBryan Drewery.It
1169a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1170a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1171be894451SBryan Drewery.It
1172be894451SBryan Drewery[requires
1173be894451SBryan Drewery.Xr filemon 4 ]
1174be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1175be894451SBryan Drewery.It
1176be894451SBryan Drewery[requires
1177be894451SBryan Drewery.Xr filemon 4 ]
1178be894451SBryan DreweryFiles read, written, executed or linked are missing.
1179be894451SBryan Drewery.El
11807f76a95cSBryan DreweryThe meta files can also be useful for debugging.
11817f76a95cSBryan Drewery.Pp
1182344e2bb9SEd MasteThe build hides commands that are executed unless
11837f76a95cSBryan Drewery.Va NO_SILENT
11847f76a95cSBryan Dreweryis defined.
1185344e2bb9SEd MasteErrors cause
11862710e62cSBryan Drewery.Xr make 1
11872710e62cSBryan Dreweryto show some of its environment for further debugging.
11880a70ef02SBryan Drewery.Pp
1189be894451SBryan DreweryThe build operates as it normally would otherwise.
1190be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1191be894451SBryan Dreweryto
1192be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1193be894451SBryan Drewery.Pp
1194ba852870SBryan DreweryThis must be set in the environment, make command line, or
11950a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
11960a70ef02SBryan Drewerynot
11970a70ef02SBryan Drewery.Pa /etc/src.conf .
1198912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1199041c5049SEd MasteDo not build
1200912aad0fSKyle Evans.Xr mlx5tool 8
1201912aad0fSKyle Evans.Pp
1202912aad0fSKyle EvansThis is a default setting on
1203*f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1204912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1205041c5049SEd MasteBuild
1206912aad0fSKyle Evans.Xr mlx5tool 8
1207912aad0fSKyle Evans.Pp
1208912aad0fSKyle EvansThis is a default setting on
1209429932baSEd Masteamd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
121090be798eSDimitry Andric.It Va WITHOUT_NETCAT
1211041c5049SEd MasteDo not build
121290be798eSDimitry Andric.Xr nc 1
121390be798eSDimitry Andricutility.
121490be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1215041c5049SEd MasteDo not build applications to support
121690be798eSDimitry Andric.Xr netgraph 4 .
1217344e2bb9SEd MasteWhen set, it enforces these options:
121890be798eSDimitry Andric.Pp
121990be798eSDimitry Andric.Bl -item -compact
122090be798eSDimitry Andric.It
122190be798eSDimitry Andric.Va WITHOUT_ATM
122290be798eSDimitry Andric.It
122390be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1224bf64e879SBryan Drewery.El
1225bf64e879SBryan Drewery.Pp
1226bf64e879SBryan DreweryWhen set, these options are also in effect:
1227bf64e879SBryan Drewery.Pp
1228bf64e879SBryan Drewery.Bl -inset -compact
1229bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1230bf64e879SBryan Drewery(unless
1231bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1232bf64e879SBryan Dreweryis set explicitly)
123390be798eSDimitry Andric.El
123490be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1235041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
123690be798eSDimitry Andric.It Va WITHOUT_NIS
1237041c5049SEd MasteDo not build
123890be798eSDimitry Andric.Xr NIS 8
123990be798eSDimitry Andricsupport and related programs.
124090be798eSDimitry AndricIf set, you might need to adopt your
124190be798eSDimitry Andric.Xr nsswitch.conf 5
124290be798eSDimitry Andricand remove
124390be798eSDimitry Andric.Sq nis
124490be798eSDimitry Andricentries.
124590be798eSDimitry Andric.It Va WITHOUT_NLS
1246041c5049SEd MasteDo not build NLS catalogs.
124757a87b06SEnji CooperWhen set, it enforces these options:
124857a87b06SEnji Cooper.Pp
124957a87b06SEnji Cooper.Bl -item -compact
125057a87b06SEnji Cooper.It
125157a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
125257a87b06SEnji Cooper.El
125390be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1254041c5049SEd MasteDo not build NLS catalog support for
125590be798eSDimitry Andric.Xr csh 1 .
125690be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1257041c5049SEd MasteDisable name caching in the
125890be798eSDimitry Andric.Pa nsswitch
125990be798eSDimitry Andricsubsystem.
126090be798eSDimitry AndricThe generic caching daemon,
126190be798eSDimitry Andric.Xr nscd 8 ,
126290be798eSDimitry Andricwill not be built either if this option is set.
126390be798eSDimitry Andric.It Va WITHOUT_NTP
1264041c5049SEd MasteDo not build
126590be798eSDimitry Andric.Xr ntpd 8
126690be798eSDimitry Andricand related programs.
12678edab9cdSWarner Losh.It Va WITHOUT_NVME
1268041c5049SEd MasteDo not build nvme related tools and kernel modules.
12698edab9cdSWarner Losh.Pp
12708edab9cdSWarner LoshThis is a default setting on
1271*f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
12728edab9cdSWarner Losh.It Va WITH_NVME
1273041c5049SEd MasteBuild nvme related tools and kernel modules.
12748edab9cdSWarner Losh.Pp
12758edab9cdSWarner LoshThis is a default setting on
1276f8783225SEd Masteamd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64.
1277d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1278041c5049SEd MasteDisable the build of the
127990be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1280d0ca28d7SKonstantin BelousovInfiniband software stack, including kernel modules and userspace libraries.
1281d0ca28d7SKonstantin Belousov.Pp
1282d0ca28d7SKonstantin BelousovThis is a default setting on
1283d0ca28d7SKonstantin Belousovriscv/riscv64 and riscv/riscv64sf.
1284d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1285d0ca28d7SKonstantin Belousov.Pp
1286d0ca28d7SKonstantin Belousov.Bl -item -compact
1287d0ca28d7SKonstantin Belousov.It
1288d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1289d0ca28d7SKonstantin Belousov.El
12904a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1291041c5049SEd MasteBuild the non-essential components of the
12924a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
12934a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
129490be798eSDimitry Andric.It Va WITH_OPENLDAP
12957587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1296b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1297041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1298b0840a28SDimitry Andric.Pp
1299b0840a28SDimitry AndricThis is a default setting on
1300*f89842a7SWarner Losharm/armv6, arm/armv7 and powerpc/powerpc.
1301b0840a28SDimitry Andric.It Va WITH_OPENMP
1302041c5049SEd MasteBuild LLVM's OpenMP runtime.
1303b0840a28SDimitry Andric.Pp
1304b0840a28SDimitry AndricThis is a default setting on
1305914b6a01SEd Masteamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
130690be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1307041c5049SEd MasteDo not build OpenSSH.
130890be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1309041c5049SEd MasteDo not build OpenSSL.
1310344e2bb9SEd MasteWhen set, it enforces these options:
131190be798eSDimitry Andric.Pp
131290be798eSDimitry Andric.Bl -item -compact
131390be798eSDimitry Andric.It
13149f4e04c1SEd Maste.Va WITHOUT_DMAGENT
13159f4e04c1SEd Maste.It
131690be798eSDimitry Andric.Va WITHOUT_KERBEROS
131790be798eSDimitry Andric.It
1318fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1319fb27d7aeSEd Maste.It
1320da39b3adSEd Maste.Va WITHOUT_LDNS
1321da39b3adSEd Maste.It
1322da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1323da39b3adSEd Maste.It
132490be798eSDimitry Andric.Va WITHOUT_OPENSSH
1325da39b3adSEd Maste.It
1326ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1327ac56b22fSEd Maste.It
1328116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1329116f7fccSEd Maste.It
1330da39b3adSEd Maste.Va WITHOUT_UNBOUND
1331243125c8SMitchell Horne.It
1332243125c8SMitchell Horne.Va WITHOUT_ZFS
133390be798eSDimitry Andric.El
133490be798eSDimitry Andric.Pp
1335344e2bb9SEd MasteWhen set, these options are also in effect:
133690be798eSDimitry Andric.Pp
133790be798eSDimitry Andric.Bl -inset -compact
133890be798eSDimitry Andric.It Va WITHOUT_GSSAPI
133990be798eSDimitry Andric(unless
134090be798eSDimitry Andric.Va WITH_GSSAPI
134190be798eSDimitry Andricis set explicitly)
134290be798eSDimitry Andric.El
1343ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1344041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1345ae257282SJohn Baldwin.Pp
1346ae257282SJohn BaldwinThis is a default setting on
1347*f89842a7SWarner Losharm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf.
1348ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1349041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1350ae257282SJohn Baldwin.Pp
1351ae257282SJohn BaldwinThis is a default setting on
1352b1f1917dSAllan Judeamd64/amd64 and arm64/aarch64.
135390be798eSDimitry Andric.It Va WITHOUT_PAM
1354041c5049SEd MasteDo not build PAM library and modules.
135590be798eSDimitry Andric.Bf -symbolic
135690be798eSDimitry AndricThis option is deprecated and does nothing.
135790be798eSDimitry Andric.Ef
1358bf64e879SBryan DreweryWhen set, these options are also in effect:
135990be798eSDimitry Andric.Pp
1360bf64e879SBryan Drewery.Bl -inset -compact
1361bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1362bf64e879SBryan Drewery(unless
1363bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1364bf64e879SBryan Dreweryis set explicitly)
136590be798eSDimitry Andric.El
136690be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1367041c5049SEd MasteBuild some programs without PAM support, particularly
136890be798eSDimitry Andric.Xr ftpd 8
136990be798eSDimitry Andricand
137090be798eSDimitry Andric.Xr ppp 8 .
137190be798eSDimitry Andric.It Va WITHOUT_PF
1372041c5049SEd MasteDo not build PF firewall package.
1373344e2bb9SEd MasteWhen set, it enforces these options:
137490be798eSDimitry Andric.Pp
137590be798eSDimitry Andric.Bl -item -compact
137690be798eSDimitry Andric.It
137790be798eSDimitry Andric.Va WITHOUT_AUTHPF
137890be798eSDimitry Andric.El
1379ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1380ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1381b3a27c81SEd MastePosition-Independent Executable (PIE).
138290be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1383041c5049SEd MasteDo not build
138490be798eSDimitry Andric.Xr pkg 7
138590be798eSDimitry Andricbootstrap tool.
138690be798eSDimitry Andric.It Va WITHOUT_PMC
1387041c5049SEd MasteDo not build
138890be798eSDimitry Andric.Xr pmccontrol 8
138990be798eSDimitry Andricand related programs.
139090be798eSDimitry Andric.It Va WITHOUT_PORTSNAP
1391041c5049SEd MasteDo not build or install
139290be798eSDimitry Andric.Xr portsnap 8
139390be798eSDimitry Andricand related files.
139490be798eSDimitry Andric.It Va WITHOUT_PPP
1395041c5049SEd MasteDo not build
139690be798eSDimitry Andric.Xr ppp 8
139790be798eSDimitry Andricand related programs.
13984c033a73SEnji Cooper.It Va WITH_PROFILE
1399041c5049SEd MasteBuild profiled libraries for use with
14004c033a73SEnji Cooper.Xr gprof 8 .
1401f9436097SEd MasteThis option is deprecated and is not present in
1402f9436097SEd Maste.Fx 14 .
140390be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1404041c5049SEd MasteDo not build
140523a6b49aSEdward Tomasz Napierala.Xr quota 1
140690be798eSDimitry Andricand related programs.
14070e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1408041c5049SEd MasteDo not build radius support into various applications, like
14090e0e9604SEnji Cooper.Xr pam_radius 8
14100e0e9604SEnji Cooperand
14110e0e9604SEnji Cooper.Xr ppp 8 .
141288342134SEnji Cooper.It Va WITH_RATELIMIT
1413041c5049SEd MasteBuild the system with rate limit support.
141488342134SEnji Cooper.Pp
141588342134SEnji CooperThis makes
141688342134SEnji Cooper.Dv SO_MAX_PACING_RATE
141788342134SEnji Coopereffective in
141888342134SEnji Cooper.Xr getsockopt 2 ,
141988342134SEnji Cooperand
142088342134SEnji Cooper.Ar txrlimit
142188342134SEnji Coopersupport in
142288342134SEnji Cooper.Xr ifconfig 8 ,
142388342134SEnji Cooperby proxy.
14240e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1425041c5049SEd MasteDo not build or install
14260e0e9604SEnji Cooper.Xr rbootd 8 .
142785d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1428041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
142985d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
143085d55309SEd Mastebit-for-bit identical output.
143190be798eSDimitry Andric.It Va WITHOUT_RESCUE
1432041c5049SEd MasteDo not build
143390be798eSDimitry Andric.Xr rescue 8 .
14348ccac680SEd Maste.It Va WITH_RETPOLINE
1435041c5049SEd MasteBuild the base system with the retpoline speculative execution
14368ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
143790be798eSDimitry Andric.It Va WITHOUT_ROUTED
1438041c5049SEd MasteDo not build
143990be798eSDimitry Andric.Xr routed 8
144090be798eSDimitry Andricutility.
14414c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1442041c5049SEd MasteBuild
14434c033a73SEnji Cooper.Xr rpcbind 8
14444c033a73SEnji Cooperwith warmstart support.
144590be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1446041c5049SEd MasteDo not build
144790be798eSDimitry Andric.Xr sendmail 8
144890be798eSDimitry Andricand related programs.
1449e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1450041c5049SEd MasteDo not install
1451e8788097SKonstantin Belousov.Pa /var/db/services.db .
145290be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
145390be798eSDimitry AndricSet this to disable the installation of
145490be798eSDimitry Andric.Xr login 1
145590be798eSDimitry Andricas a set-user-ID root program.
145690be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1457041c5049SEd MasteDo not build the
145890be798eSDimitry Andric.Bx 4.4
145990be798eSDimitry Andriclegacy docs.
14606ab18ea6SDimitry Andric.It Va WITHOUT_SHARED_TOOLCHAIN
1461041c5049SEd MasteBuild the toolchain binaries as statically linked executables.
146290be798eSDimitry AndricThe set includes
146390be798eSDimitry Andric.Xr cc 1 ,
146490be798eSDimitry Andric.Xr make 1
146590be798eSDimitry Andricand necessary utilities like assembler, linker and library archive manager.
146690be798eSDimitry Andric.It Va WITH_SORT_THREADS
1467041c5049SEd MasteEnable threads in
146890be798eSDimitry Andric.Xr sort 1 .
146990be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1470041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1471344e2bb9SEd MasteWhen set, it enforces these options:
147290be798eSDimitry Andric.Pp
147390be798eSDimitry Andric.Bl -item -compact
147490be798eSDimitry Andric.It
147590be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
147690be798eSDimitry Andric.It
147790be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
147890be798eSDimitry Andric.El
147990be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1480041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
148190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1482041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
148390be798eSDimitry Andric.It Va WITHOUT_SSP
1484041c5049SEd MasteDo not build world with propolice stack smashing protection.
1485cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1486cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1487cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1488cc2520d2SSimon J. Gerraty.Va DESTDIR
1489cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1490cc2520d2SSimon J. GerratyDepends on
149132b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1492344e2bb9SEd MasteWhen set, these options are also in effect:
1493cc2520d2SSimon J. Gerraty.Pp
1494cc2520d2SSimon J. Gerraty.Bl -inset -compact
1495cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1496cc2520d2SSimon J. Gerraty(unless
1497cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1498cc2520d2SSimon J. Gerratyis set explicitly)
1499cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1500cc2520d2SSimon J. Gerraty(unless
1501cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1502cc2520d2SSimon J. Gerratyis set explicitly)
1503cc2520d2SSimon J. Gerraty.El
15040a70ef02SBryan Drewery.Pp
1505ba852870SBryan DreweryThis must be set in the environment, make command line, or
15060a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15070a70ef02SBryan Drewerynot
15080a70ef02SBryan Drewery.Pa /etc/src.conf .
1509cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1510344e2bb9SEd MasteEnable staging of man pages to stage tree.
1511cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1512cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1513cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1514cc2520d2SSimon J. GerratyCheck staged files are not stale.
1515de19b521SDimitry Andric.It Va WITHOUT_STATS
1516041c5049SEd MasteNeither build nor install
1517de19b521SDimitry Andric.Lb libstats
1518de19b521SDimitry Andricand dependent binaries.
151990be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1520041c5049SEd MasteDo not build
152190be798eSDimitry Andric.Xr syscons 4
152290be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1523cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1524cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1525cc2520d2SSimon J. GerratyDepends on
152632b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
15270a70ef02SBryan Drewery.Pp
1528ba852870SBryan DreweryThis must be set in the environment, make command line, or
15290a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15300a70ef02SBryan Drewerynot
15310a70ef02SBryan Drewery.Pa /etc/src.conf .
15328095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1533041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1534a9da9b86SBryan Drewerybootstrap phase of the build.
15358095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
15368095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1537a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1538a9da9b86SBryan Dreweryonly for building one for the build itself.
1539a9da9b86SBryan DreweryThe
1540a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1541a5798ec8SEd Masteoption controls that.
1542be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1543041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1544be9309deSBryan Drewerybootstrap phase of the build.
1545be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1546be9309deSBryan Drewerylinker type and revision, then it will not be built.
1547be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1548be9309deSBryan Dreweryonly for building one for the build itself.
1549be9309deSBryan DreweryThe
1550be9309deSBryan Drewery.Va WITHOUT_LLD
15512ea16071SEd Masteoption controls that.
1552be9309deSBryan Drewery.Pp
1553be9309deSBryan DreweryThis option is only relevant when
1554be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1555be9309deSBryan Dreweryis set.
155693da8366SEnji Cooper.It Va WITHOUT_TALK
1557041c5049SEd MasteDo not build or install
155893da8366SEnji Cooper.Xr talk 1
155993da8366SEnji Cooperand
156093da8366SEnji Cooper.Xr talkd 8 .
15610e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1562041c5049SEd MasteDo not build or install
15630e0e9604SEnji Cooper.Xr tcpd 8 ,
15640e0e9604SEnji Cooperand related utilities.
156590be798eSDimitry Andric.It Va WITHOUT_TCSH
1566041c5049SEd MasteDo not build and install
156790be798eSDimitry Andric.Pa /bin/csh
156890be798eSDimitry Andric(which is
156990be798eSDimitry Andric.Xr tcsh 1 ) .
157090be798eSDimitry Andric.It Va WITHOUT_TELNET
1571041c5049SEd MasteDo not build
157223a6b49aSEdward Tomasz Napierala.Xr telnet 1
157390be798eSDimitry Andricand related programs.
157418c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1575041c5049SEd MasteDo not build nor install the
157690be798eSDimitry Andric.Fx
157790be798eSDimitry AndricTest Suite in
157890be798eSDimitry Andric.Pa /usr/tests/ .
157990be798eSDimitry AndricSee
158090be798eSDimitry Andric.Xr tests 7
158190be798eSDimitry Andricfor more details.
158218c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1583344e2bb9SEd MasteWhen set, it enforces these options:
1584c5d09a87SGlen Barber.Pp
1585c5d09a87SGlen Barber.Bl -item -compact
1586c5d09a87SGlen Barber.It
158716f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1588bf64e879SBryan Drewery.El
1589bf64e879SBryan Drewery.Pp
1590bf64e879SBryan DreweryWhen set, these options are also in effect:
1591bf64e879SBryan Drewery.Pp
1592bf64e879SBryan Drewery.Bl -inset -compact
15937840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
15947840b63aSEnji Cooper(unless
15957840b63aSEnji Cooper.Va WITH_GOOGLETEST
15967840b63aSEnji Cooperis set explicitly)
1597bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1598bf64e879SBryan Drewery(unless
1599bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1600bf64e879SBryan Dreweryis set explicitly)
1601c5d09a87SGlen Barber.El
1602c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1603041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
16047840b63aSEnji CooperWhen set, it enforces these options:
16057840b63aSEnji Cooper.Pp
16067840b63aSEnji Cooper.Bl -item -compact
16077840b63aSEnji Cooper.It
16087840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
16097840b63aSEnji Cooper.El
161090be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1611041c5049SEd MasteDo not build
161290be798eSDimitry Andricprograms used for text processing.
16130e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1614041c5049SEd MasteDo not build or install
16150e0e9604SEnji Cooper.Xr tftp 1
16160e0e9604SEnji Cooperand
16170e0e9604SEnji Cooper.Xr tftpd 8 .
161890be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
1619041c5049SEd MasteDo not install header or
162090be798eSDimitry Andricprograms used for program development,
162190be798eSDimitry Andriccompilers, debuggers etc.
1622344e2bb9SEd MasteWhen set, it enforces these options:
162390be798eSDimitry Andric.Pp
162490be798eSDimitry Andric.Bl -item -compact
162590be798eSDimitry Andric.It
162690be798eSDimitry Andric.Va WITHOUT_CLANG
162790be798eSDimitry Andric.It
162890be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
162990be798eSDimitry Andric.It
163019267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
163119267656SConrad Meyer.It
163290be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
163390be798eSDimitry Andric.It
1634c5d09a87SGlen Barber.Va WITHOUT_INCLUDES
16353d02549fSBryan Drewery.It
16366c2b7edaSEd Maste.Va WITHOUT_LLD
16376c2b7edaSEd Maste.It
16383d02549fSBryan Drewery.Va WITHOUT_LLDB
16395b9c3654SEd Maste.It
16405b9c3654SEd Maste.Va WITHOUT_LLVM_COV
164190be798eSDimitry Andric.El
16420ab89d72SEd Maste.It Va WITH_UBSAN
16430ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
16440ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
16450ab89d72SEd MasteRequires that Clang be used as the base system compiler
16460ab89d72SEd Masteand that the runtime support library is available
164790be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1648041c5049SEd MasteDo not build
164990be798eSDimitry Andric.Xr unbound 8
165090be798eSDimitry Andricand related programs.
1651efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1652041c5049SEd MasteUse the historical object directory format for
1653efb949a6SBryan Drewery.Xr build 7
1654efb949a6SBryan Drewerytargets.
1655efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1656efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1657efb949a6SBryan Dreweryis used,
1658efb949a6SBryan Drewerywhile for cross-builds
1659efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1660efb949a6SBryan Dreweryis used.
1661efb949a6SBryan Drewery.Pp
1662efb949a6SBryan DreweryThis option is transitional and will be removed before the 12.0 release,
1663efb949a6SBryan Dreweryat which time
1664efb949a6SBryan Drewery.va WITH_UNIFIED_OBJDIR
1665efb949a6SBryan Drewerywill be enabled permanently.
1666efb949a6SBryan Drewery.Pp
1667efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1668efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1669efb949a6SBryan Drewerynot
1670efb949a6SBryan Drewery.Pa /etc/src.conf .
167190be798eSDimitry Andric.It Va WITHOUT_USB
1672041c5049SEd MasteDo not build USB-related programs and libraries.
1673c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1674041c5049SEd MasteDo not build USB gadget kernel modules.
167590be798eSDimitry Andric.It Va WITHOUT_UTMPX
1676041c5049SEd MasteDo not build user accounting tools such as
167790be798eSDimitry Andric.Xr last 1 ,
167890be798eSDimitry Andric.Xr users 1 ,
167990be798eSDimitry Andric.Xr who 1 ,
168090be798eSDimitry Andric.Xr ac 8 ,
168190be798eSDimitry Andric.Xr lastlogin 8
168290be798eSDimitry Andricand
168390be798eSDimitry Andric.Xr utx 8 .
1684bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1685bfdf8aa9SJohn BaldwinEnable building
1686bfdf8aa9SJohn Baldwin.Xr veriexec 8
1687bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1688bfdf8aa9SJohn Baldwinfor use by
1689bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1690bfdf8aa9SJohn Baldwin.Pp
1691de19b521SDimitry AndricDepends on
1692de19b521SDimitry Andric.Va WITH_BEARSSL .
169390be798eSDimitry Andric.It Va WITHOUT_VI
1694041c5049SEd MasteDo not build and install vi, view, ex and related programs.
169590be798eSDimitry Andric.It Va WITHOUT_VT
1696041c5049SEd MasteDo not build
169790be798eSDimitry Andric.Xr vt 4
169890be798eSDimitry Andricsupport files (fonts and keymaps).
169990be798eSDimitry Andric.It Va WITHOUT_WARNS
170090be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
170190be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
170290be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1703559f9bfcSJens Schweikhardtoriginal developer.
1704f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1705f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1706f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1707f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
170890be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1709041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
171090be798eSDimitry Andric.Xr wpa_supplicant 8
171190be798eSDimitry Andricand
171290be798eSDimitry Andric.Xr hostapd 8 .
1713bf64e879SBryan DreweryWhen set, these options are also in effect:
171490be798eSDimitry Andric.Pp
1715bf64e879SBryan Drewery.Bl -inset -compact
1716bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1717bf64e879SBryan Drewery(unless
1718bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1719bf64e879SBryan Dreweryis set explicitly)
172090be798eSDimitry Andric.El
172190be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1722041c5049SEd MasteBuild libraries, programs, and kernel modules without
172390be798eSDimitry Andric802.11 wireless support.
172490be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
172590be798eSDimitry AndricBuild
172690be798eSDimitry Andric.Xr wpa_supplicant 8
172790be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
172890be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
172990be798eSDimitry Andricprotocols (usable only via 802.1X).
173090be798eSDimitry Andric.It Va WITHOUT_ZFS
1731041c5049SEd MasteDo not build ZFS file system kernel module, libraries, and user commands.
173290be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1733041c5049SEd MasteDo not build the timezone database.
17345c021049SEnji CooperWhen set, it enforces these options:
17355c021049SEnji Cooper.Pp
17365c021049SEnji Cooper.Bl -item -compact
17375c021049SEnji Cooper.It
17385c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
17395c021049SEnji Cooper.El
17405c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1741041c5049SEd MasteBuild leapsecond information in to the timezone database.
174290be798eSDimitry Andric.El
174390be798eSDimitry Andric.Sh FILES
174490be798eSDimitry Andric.Bl -tag -compact -width Pa
174590be798eSDimitry Andric.It Pa /etc/src.conf
17460a70ef02SBryan Drewery.It Pa /etc/src-env.conf
174790be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
174890be798eSDimitry Andric.El
174990be798eSDimitry Andric.Sh SEE ALSO
175090be798eSDimitry Andric.Xr make 1 ,
175190be798eSDimitry Andric.Xr make.conf 5 ,
175290be798eSDimitry Andric.Xr build 7 ,
175390be798eSDimitry Andric.Xr ports 7
175490be798eSDimitry Andric.Sh HISTORY
175590be798eSDimitry AndricThe
175690be798eSDimitry Andric.Nm
175790be798eSDimitry Andricfile appeared in
175890be798eSDimitry Andric.Fx 7.0 .
175990be798eSDimitry Andric.Sh AUTHORS
176088342134SEnji CooperThis manual page was autogenerated by
1761a121d3a8SEnji Cooper.An tools/build/options/makeman .
1762