xref: /freebsd/share/man/man5/src.conf.5 (revision bd258f88e57982fd68ce179d900d373aef14b252)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
2397364e7SBrooks Davis.Dd March 8, 2023
3fa07cb9cSRuslan Ermilov.Dt SRC.CONF 5
4fa07cb9cSRuslan Ermilov.Os
5fa07cb9cSRuslan Ermilov.Sh NAME
6fa07cb9cSRuslan Ermilov.Nm src.conf
716f2e711SYaroslav Tykhiy.Nd "source build options"
8fa07cb9cSRuslan Ermilov.Sh DESCRIPTION
9fa07cb9cSRuslan ErmilovThe
10fa07cb9cSRuslan Ermilov.Nm
11e6ca6901SGordon Berglingfile contains variables that control what components will be generated during
12e6ca6901SGordon Berglingthe build process of the
13fa07cb9cSRuslan Ermilov.Fx
14fa07cb9cSRuslan Ermilovsource tree; see
15fa07cb9cSRuslan Ermilov.Xr build 7 .
16fa07cb9cSRuslan Ermilov.Pp
17fa07cb9cSRuslan ErmilovThe
18fa07cb9cSRuslan Ermilov.Nm
19fa07cb9cSRuslan Ermilovfile uses the standard makefile syntax.
20fa07cb9cSRuslan ErmilovHowever,
21fa07cb9cSRuslan Ermilov.Nm
22fa07cb9cSRuslan Ermilovshould not specify any dependencies to
23fa07cb9cSRuslan Ermilov.Xr make 1 .
24fa07cb9cSRuslan ErmilovInstead,
25fa07cb9cSRuslan Ermilov.Nm
26fa07cb9cSRuslan Ermilovis to set
27fa07cb9cSRuslan Ermilov.Xr make 1
28fa07cb9cSRuslan Ermilovvariables that control the aspects of how the system builds.
29fa07cb9cSRuslan Ermilov.Pp
30fa07cb9cSRuslan ErmilovThe default location of
31fa07cb9cSRuslan Ermilov.Nm
32fa07cb9cSRuslan Ermilovis
33fa07cb9cSRuslan Ermilov.Pa /etc/src.conf ,
34fa07cb9cSRuslan Ermilovthough an alternative location can be specified in the
35fa07cb9cSRuslan Ermilov.Xr make 1
36fa07cb9cSRuslan Ermilovvariable
37fa07cb9cSRuslan Ermilov.Va SRCCONF .
38fa07cb9cSRuslan ErmilovOverriding the location of
39fa07cb9cSRuslan Ermilov.Nm
40fa07cb9cSRuslan Ermilovmay be necessary if the system-wide settings are not suitable
41fa07cb9cSRuslan Ermilovfor a particular build.
42fa07cb9cSRuslan ErmilovFor instance, setting
43fa07cb9cSRuslan Ermilov.Va SRCCONF
44fa07cb9cSRuslan Ermilovto
45fa07cb9cSRuslan Ermilov.Pa /dev/null
46fa07cb9cSRuslan Ermiloveffectively resets all build controls to their defaults.
47fa07cb9cSRuslan Ermilov.Pp
48fa07cb9cSRuslan ErmilovThe only purpose of
49fa07cb9cSRuslan Ermilov.Nm
50fa07cb9cSRuslan Ermilovis to control the compilation of the
51fa07cb9cSRuslan Ermilov.Fx
5216f2e711SYaroslav Tykhiysource code, which is usually located in
53fa07cb9cSRuslan Ermilov.Pa /usr/src .
54fa07cb9cSRuslan ErmilovAs a rule, the system administrator creates
55fa07cb9cSRuslan Ermilov.Nm
56fa07cb9cSRuslan Ermilovwhen the values of certain control variables need to be changed
57fa07cb9cSRuslan Ermilovfrom their defaults.
58fa07cb9cSRuslan Ermilov.Pp
59fa07cb9cSRuslan ErmilovIn addition, control variables can be specified
60fa07cb9cSRuslan Ermilovfor a particular build via the
61fa07cb9cSRuslan Ermilov.Fl D
62fa07cb9cSRuslan Ermilovoption of
63fa07cb9cSRuslan Ermilov.Xr make 1
6472735687SMike Makonnenor in its environment; see
65fa07cb9cSRuslan Ermilov.Xr environ 7 .
66fa07cb9cSRuslan Ermilov.Pp
670a70ef02SBryan DreweryThe environment of
680a70ef02SBryan Drewery.Xr make 1
690a70ef02SBryan Dreweryfor the build can be controlled via the
700a70ef02SBryan Drewery.Va SRC_ENV_CONF
710a70ef02SBryan Dreweryvariable, which defaults to
720a70ef02SBryan Drewery.Pa /etc/src-env.conf .
730a70ef02SBryan DrewerySome examples that may only be set in this file are
7432b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD ,
750a70ef02SBryan Dreweryand
76efb949a6SBryan Drewery.Va WITH_META_MODE ,
77efb949a6SBryan Dreweryand
787df4050dSBryan Drewery.Va MAKEOBJDIRPREFIX
79efb949a6SBryan Dreweryas they are environment-only variables.
800a70ef02SBryan Drewery.Pp
8116f2e711SYaroslav TykhiyThe values of variables are ignored regardless of their setting;
8216f2e711SYaroslav Tykhiyeven if they would be set to
83fa07cb9cSRuslan Ermilov.Dq Li FALSE
84fa07cb9cSRuslan Ermilovor
8516f2e711SYaroslav Tykhiy.Dq Li NO .
86344e2bb9SEd MasteThe presence of an option causes
87344e2bb9SEd Masteit to be honored by
8816f2e711SYaroslav Tykhiy.Xr make 1 .
89fa07cb9cSRuslan Ermilov.Pp
90344e2bb9SEd MasteThis list provides a name and short description for variables
91fa07cb9cSRuslan Ermilovthat can be used for source builds.
92fa07cb9cSRuslan Ermilov.Bl -tag -width indent
93aaa6d7ebSSam Leffler.It Va WITHOUT_ACCT
94041c5049SEd MasteDo not build process accounting tools such as
950ea27d02SEd Schouten.Xr accton 8
96aaa6d7ebSSam Lefflerand
970ea27d02SEd Schouten.Xr sa 8 .
98fa07cb9cSRuslan Ermilov.It Va WITHOUT_ACPI
99041c5049SEd MasteDo not build
100fa07cb9cSRuslan Ermilov.Xr acpiconf 8 ,
101fa07cb9cSRuslan Ermilov.Xr acpidump 8
102fa07cb9cSRuslan Ermilovand related programs.
103aaa6d7ebSSam Leffler.It Va WITHOUT_APM
104041c5049SEd MasteDo not build
105aaa6d7ebSSam Leffler.Xr apm 8 ,
106aaa6d7ebSSam Leffler.Xr apmd 8
107aaa6d7ebSSam Lefflerand related programs.
1080ab89d72SEd Maste.It Va WITH_ASAN
1090ab89d72SEd MasteBuild the base system with Address Sanitizer (ASan) to detect
1100ab89d72SEd Mastememory corruption bugs such as buffer overflows or use-after-free.
1110ab89d72SEd MasteRequires that Clang be used as the base system compiler
1120ab89d72SEd Masteand that the runtime support library is available.
1130ab89d72SEd MasteWhen set, it enforces these options:
1140ab89d72SEd Maste.Pp
1150ab89d72SEd Maste.Bl -item -compact
1160ab89d72SEd Maste.It
1170ab89d72SEd Maste.Va WITH_LLVM_BINUTILS
1180ab89d72SEd Maste.It
1190ab89d72SEd Maste.Va WITH_LLVM_CXXFILT
1200ab89d72SEd Maste.El
121e567b213SRuslan Ermilov.It Va WITHOUT_ASSERT_DEBUG
122041c5049SEd MasteCompile programs and libraries without the
123e567b213SRuslan Ermilov.Xr assert 3
124e567b213SRuslan Ermilovchecks.
125aaa6d7ebSSam Leffler.It Va WITHOUT_AT
126041c5049SEd MasteDo not build
127aaa6d7ebSSam Leffler.Xr at 1
128aaa6d7ebSSam Lefflerand related utilities.
1295ea96be4SEmmanuel Vadot.It Va WITH_ATM
1305ea96be4SEmmanuel VadotBuild ATM Libraries and related programs.
131fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUDIT
132041c5049SEd MasteDo not build audit support into system programs.
133fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUTHPF
134041c5049SEd MasteDo not build
135fa07cb9cSRuslan Ermilov.Xr authpf 8 .
13661940879SEnji Cooper.It Va WITHOUT_AUTOFS
137041c5049SEd MasteDo not build
1384b9f77e4SEdward Tomasz Napierala.Xr autofs 5
13961940879SEnji Cooperrelated programs, libraries, and kernel modules.
140906a1c6cSBryan Drewery.It Va WITHOUT_AUTO_OBJ
141906a1c6cSBryan DreweryDisable automatic creation of objdirs.
142906a1c6cSBryan DreweryThis is enabled by default if the wanted OBJDIR is writable by the current user.
1430a70ef02SBryan Drewery.Pp
144ba852870SBryan DreweryThis must be set in the environment, make command line, or
1450a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
1460a70ef02SBryan Drewerynot
1470a70ef02SBryan Drewery.Pa /etc/src.conf .
148bfdf8aa9SJohn Baldwin.It Va WITH_BEARSSL
149bfdf8aa9SJohn BaldwinBuild the BearSSL library.
150bfdf8aa9SJohn Baldwin.Pp
151bfdf8aa9SJohn BaldwinBearSSL is a tiny SSL library suitable for embedded environments.
152bfdf8aa9SJohn BaldwinFor details see
1532ec9a427SPiotr Kubaj.Lk https://www.BearSSL.org/
154bfdf8aa9SJohn Baldwin.Pp
155bfdf8aa9SJohn BaldwinThis library is currently only used to perform
156bfdf8aa9SJohn Baldwinsignature verification and related operations
157bfdf8aa9SJohn Baldwinfor Verified Exec and
158bfdf8aa9SJohn Baldwin.Xr loader 8 .
159bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
160bfdf8aa9SJohn Baldwin.Pp
161bfdf8aa9SJohn Baldwin.Bl -inset -compact
162bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
163bfdf8aa9SJohn Baldwin(unless
164bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
165bfdf8aa9SJohn Baldwinis set explicitly)
166bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
167bfdf8aa9SJohn Baldwin(unless
168bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_VERIEXEC
169bfdf8aa9SJohn Baldwinis set explicitly)
170f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
171f87a2082SEd Maste(unless
172f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
173f87a2082SEd Masteis set explicitly)
174bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
175bfdf8aa9SJohn Baldwin(unless
176bfdf8aa9SJohn Baldwin.Va WITHOUT_VERIEXEC
177bfdf8aa9SJohn Baldwinis set explicitly)
178bfdf8aa9SJohn Baldwin.El
17961940879SEnji Cooper.It Va WITHOUT_BHYVE
180041c5049SEd MasteDo not build or install
18161940879SEnji Cooper.Xr bhyve 8 ,
18261940879SEnji Cooperassociated utilities, and examples.
18361940879SEnji Cooper.Pp
18461940879SEnji CooperThis option only affects amd64/amd64.
185483d953aSJohn Baldwin.It Va WITH_BHYVE_SNAPSHOT
186041c5049SEd MasteInclude support for save and restore (snapshots) in
187483d953aSJohn Baldwin.Xr bhyve 8
188483d953aSJohn Baldwinand
189483d953aSJohn Baldwin.Xr bhyvectl 8 .
190483d953aSJohn Baldwin.Pp
191483d953aSJohn BaldwinThis option only affects amd64/amd64.
1921f3b049dSEd Maste.It Va WITH_BIND_NOW
1931f3b049dSEd MasteBuild all binaries with the
1941f3b049dSEd Maste.Dv DF_BIND_NOW
1951f3b049dSEd Masteflag set to indicate that the run-time loader should perform all relocation
1961f3b049dSEd Masteprocessing at process startup rather than on demand.
197a8af3aeeSEd MasteThe combination of the
198a8af3aeeSEd Maste.Va BIND_NOW
199a8af3aeeSEd Masteand
200a8af3aeeSEd Maste.Va RELRO
201a8af3aeeSEd Masteoptions provide "full" Relocation Read-Only (RELRO) support.
202a8af3aeeSEd MasteWith full RELRO the entire GOT is made read-only after performing relocation at
203a8af3aeeSEd Mastestartup, avoiding GOT overwrite attacks.
2040341a043SBryan Drewery.It Va WITHOUT_BLACKLIST
2054650b8aeSEnji CooperSet this if you do not want to build
2064650b8aeSEnji Cooper.Xr blacklistd 8
2074650b8aeSEnji Cooperand
2084650b8aeSEnji Cooper.Xr blacklistctl 8 .
209bf64e879SBryan DreweryWhen set, these options are also in effect:
2100341a043SBryan Drewery.Pp
211bf64e879SBryan Drewery.Bl -inset -compact
212bf64e879SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
213bf64e879SBryan Drewery(unless
214bf64e879SBryan Drewery.Va WITH_BLACKLIST_SUPPORT
215bf64e879SBryan Dreweryis set explicitly)
2160341a043SBryan Drewery.El
2170341a043SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
218041c5049SEd MasteBuild some programs without
2194650b8aeSEnji Cooper.Xr libblacklist 3
2204650b8aeSEnji Coopersupport, like
2210341a043SBryan Drewery.Xr fingerd 8 ,
2220341a043SBryan Drewery.Xr ftpd 8 ,
2230341a043SBryan Dreweryand
2240341a043SBryan Drewery.Xr sshd 8 .
22590be798eSDimitry Andric.It Va WITHOUT_BLUETOOTH
226041c5049SEd MasteDo not build Bluetooth related kernel modules, programs and libraries.
22790be798eSDimitry Andric.It Va WITHOUT_BOOT
228041c5049SEd MasteDo not build the boot blocks and loader.
2290e0e9604SEnji Cooper.It Va WITHOUT_BOOTPARAMD
230041c5049SEd MasteDo not build or install
2310e0e9604SEnji Cooper.Xr bootparamd 8 .
2320e0e9604SEnji Cooper.It Va WITHOUT_BOOTPD
233041c5049SEd MasteDo not build or install
2340e0e9604SEnji Cooper.Xr bootpd 8 .
23593da8366SEnji Cooper.It Va WITHOUT_BSDINSTALL
236041c5049SEd MasteDo not build
23793da8366SEnji Cooper.Xr bsdinstall 8 ,
23893da8366SEnji Cooper.Xr sade 8 ,
23993da8366SEnji Cooperand related programs.
24090be798eSDimitry Andric.It Va WITHOUT_BSD_CPIO
241041c5049SEd MasteDo not build the BSD licensed version of cpio based on
24290be798eSDimitry Andric.Xr libarchive 3 .
24390be798eSDimitry Andric.It Va WITHOUT_BSNMP
244041c5049SEd MasteDo not build or install
24590be798eSDimitry Andric.Xr bsnmpd 1
24690be798eSDimitry Andricand related libraries and data files.
24790be798eSDimitry Andric.It Va WITHOUT_BZIP2
248041c5049SEd MasteDo not build contributed bzip2 software as a part of the base system.
24990be798eSDimitry Andric.Bf -symbolic
25090be798eSDimitry AndricThe option has no effect yet.
25190be798eSDimitry Andric.Ef
252bf64e879SBryan DreweryWhen set, these options are also in effect:
25390be798eSDimitry Andric.Pp
254bf64e879SBryan Drewery.Bl -inset -compact
255bf64e879SBryan Drewery.It Va WITHOUT_BZIP2_SUPPORT
256bf64e879SBryan Drewery(unless
257bf64e879SBryan Drewery.Va WITH_BZIP2_SUPPORT
258bf64e879SBryan Dreweryis set explicitly)
25990be798eSDimitry Andric.El
26090be798eSDimitry Andric.It Va WITHOUT_BZIP2_SUPPORT
261041c5049SEd MasteBuild some programs without optional bzip2 support.
262fd1efedcSConrad Meyer.It Va WITHOUT_CALENDAR
263041c5049SEd MasteDo not build
264fd1efedcSConrad Meyer.Xr calendar 1 .
26590be798eSDimitry Andric.It Va WITHOUT_CAPSICUM
266041c5049SEd MasteDo not build Capsicum support into system programs.
267344e2bb9SEd MasteWhen set, it enforces these options:
268aced6942SBaptiste Daroussin.Pp
269aced6942SBaptiste Daroussin.Bl -item -compact
270aced6942SBaptiste Daroussin.It
271aced6942SBaptiste Daroussin.Va WITHOUT_CASPER
272aced6942SBaptiste Daroussin.El
273de19b521SDimitry Andric.It Va WITHOUT_CAROOT
274041c5049SEd MasteDo not add the trusted certificates from the Mozilla NSS bundle to
275de19b521SDimitry Andricbase.
27690be798eSDimitry Andric.It Va WITHOUT_CASPER
277041c5049SEd MasteDo not build Casper program and related libraries.
2781c01e4f8SBryan Drewery.It Va WITH_CCACHE_BUILD
279041c5049SEd MasteUse
2801c01e4f8SBryan Drewery.Xr ccache 1
2811c01e4f8SBryan Dreweryfor the build.
2821c01e4f8SBryan DreweryNo configuration is required except to install the
2831c01e4f8SBryan Drewery.Sy devel/ccache
2841c01e4f8SBryan Drewerypackage.
285344e2bb9SEd MasteWhen using with
286344e2bb9SEd Maste.Xr distcc 1 ,
287344e2bb9SEd Masteset
2881c01e4f8SBryan Drewery.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
2891c01e4f8SBryan DreweryThe default cache directory of
2901c01e4f8SBryan Drewery.Pa $HOME/.ccache
2911c01e4f8SBryan Drewerywill be used, which can be overridden by setting
2921c01e4f8SBryan Drewery.Sy CCACHE_DIR .
2931c01e4f8SBryan DreweryThe
2941c01e4f8SBryan Drewery.Sy CCACHE_COMPILERCHECK
2951c01e4f8SBryan Dreweryoption defaults to
2961c01e4f8SBryan Drewery.Sy content
2971c01e4f8SBryan Drewerywhen using the in-tree bootstrap compiler,
2981c01e4f8SBryan Dreweryand
2991c01e4f8SBryan Drewery.Sy mtime
3001c01e4f8SBryan Drewerywhen using an external compiler.
3011c01e4f8SBryan DreweryThe
3021c01e4f8SBryan Drewery.Sy CCACHE_CPP2
3031c01e4f8SBryan Dreweryoption is used for Clang but not GCC.
3041c01e4f8SBryan Drewery.Pp
3051c01e4f8SBryan DrewerySharing a cache between multiple work directories requires using a layout
3061c01e4f8SBryan Drewerysimilar to
3071c01e4f8SBryan Drewery.Pa /some/prefix/src
3081c01e4f8SBryan Drewery.Pa /some/prefix/obj
3091c01e4f8SBryan Dreweryand an environment such as:
3101c01e4f8SBryan Drewery.Bd -literal -offset indent
3111c01e4f8SBryan DreweryCCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
3121c01e4f8SBryan Drewery.Ed
3131c01e4f8SBryan Drewery.Pp
3141c01e4f8SBryan DrewerySee
3151c01e4f8SBryan Drewery.Xr ccache 1
3161c01e4f8SBryan Dreweryfor more configuration options.
31793da8366SEnji Cooper.It Va WITHOUT_CCD
318041c5049SEd MasteDo not build
31993da8366SEnji Cooper.Xr geom_ccd 4
32093da8366SEnji Cooperand related utilities.
32190be798eSDimitry Andric.It Va WITHOUT_CDDL
322041c5049SEd MasteDo not build code licensed under Sun's CDDL.
323344e2bb9SEd MasteWhen set, it enforces these options:
32490be798eSDimitry Andric.Pp
32590be798eSDimitry Andric.Bl -item -compact
32690be798eSDimitry Andric.It
32790be798eSDimitry Andric.Va WITHOUT_CTF
32890be798eSDimitry Andric.It
3293bf66365SBrooks Davis.Va WITHOUT_DTRACE
3303bf66365SBrooks Davis.It
3311f7d1483SEd Maste.Va WITHOUT_LOADER_ZFS
3321f7d1483SEd Maste.It
33390be798eSDimitry Andric.Va WITHOUT_ZFS
33490be798eSDimitry Andric.El
33590be798eSDimitry Andric.It Va WITHOUT_CLANG
336041c5049SEd MasteDo not build the Clang C/C++ compiler during the regular phase of the build.
337344e2bb9SEd MasteWhen set, it enforces these options:
33890be798eSDimitry Andric.Pp
33990be798eSDimitry Andric.Bl -item -compact
34090be798eSDimitry Andric.It
34190be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
34290be798eSDimitry Andric.It
34319267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
34419267656SConrad Meyer.It
34590be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
3465b9c3654SEd Maste.It
3475b9c3654SEd Maste.Va WITHOUT_LLVM_COV
34890be798eSDimitry Andric.El
349ac56b22fSEd Maste.Pp
350ac56b22fSEd MasteWhen set, these options are also in effect:
351ac56b22fSEd Maste.Pp
352ac56b22fSEd Maste.Bl -inset -compact
353ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_AARCH64
354ac56b22fSEd Maste(unless
355ac56b22fSEd Maste.Va WITH_LLVM_TARGET_AARCH64
356ac56b22fSEd Masteis set explicitly)
357ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ALL
358ac56b22fSEd Maste(unless
359ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ALL
360ac56b22fSEd Masteis set explicitly)
361ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ARM
362ac56b22fSEd Maste(unless
363ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ARM
364ac56b22fSEd Masteis set explicitly)
365ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_POWERPC
366ac56b22fSEd Maste(unless
367ac56b22fSEd Maste.Va WITH_LLVM_TARGET_POWERPC
368ac56b22fSEd Masteis set explicitly)
369ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
370ac56b22fSEd Maste(unless
371ac56b22fSEd Maste.Va WITH_LLVM_TARGET_RISCV
372ac56b22fSEd Masteis set explicitly)
373ac56b22fSEd Maste.El
37490be798eSDimitry Andric.It Va WITHOUT_CLANG_BOOTSTRAP
375041c5049SEd MasteDo not build the Clang C/C++ compiler during the bootstrap phase of
376344e2bb9SEd Mastethe build.
377344e2bb9SEd MasteTo be able to build the system, either gcc or clang bootstrap must be
378344e2bb9SEd Masteenabled unless an alternate compiler is provided via XCC.
37990be798eSDimitry Andric.It Va WITH_CLANG_EXTRAS
380041c5049SEd MasteBuild additional clang and llvm tools, such as bugpoint and
381b3a27c81SEd Masteclang-format.
38219267656SConrad Meyer.It Va WITH_CLANG_FORMAT
383041c5049SEd MasteBuild clang-format.
38490be798eSDimitry Andric.It Va WITHOUT_CLANG_FULL
385041c5049SEd MasteAvoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
38690be798eSDimitry Andricthe Clang C/C++ compiler.
387f83a16e0SEd Maste.It Va WITHOUT_CLEAN
388f83a16e0SEd MasteDo not clean before building world and/or kernel.
38990be798eSDimitry Andric.It Va WITHOUT_CPP
390041c5049SEd MasteDo not build
39190be798eSDimitry Andric.Xr cpp 1 .
39290be798eSDimitry Andric.It Va WITHOUT_CROSS_COMPILER
393041c5049SEd MasteDo not build any cross compiler in the cross-tools stage of buildworld.
394344e2bb9SEd MasteWhen compiling a different version of
39590be798eSDimitry Andric.Fx
396344e2bb9SEd Mastethan what is installed on the system, provide an alternate
39790be798eSDimitry Andriccompiler with XCC to ensure success.
398344e2bb9SEd MasteWhen compiling with an identical version of
39990be798eSDimitry Andric.Fx
40090be798eSDimitry Andricto the host, this option may be safely used.
40190be798eSDimitry AndricThis option may also be safe when the host version of
40290be798eSDimitry Andric.Fx
40390be798eSDimitry Andricis close to the sources being built, but all bets are off if there have
40490be798eSDimitry Andricbeen any changes to the toolchain between the versions.
405344e2bb9SEd MasteWhen set, it enforces these options:
40690be798eSDimitry Andric.Pp
40790be798eSDimitry Andric.Bl -item -compact
40890be798eSDimitry Andric.It
40990be798eSDimitry Andric.Va WITHOUT_CLANG_BOOTSTRAP
41090be798eSDimitry Andric.It
411f972b8a4SBryan Drewery.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
412f972b8a4SBryan Drewery.It
41328f52545SEd Maste.Va WITHOUT_LLD_BOOTSTRAP
41490be798eSDimitry Andric.El
41590be798eSDimitry Andric.It Va WITHOUT_CRYPT
416041c5049SEd MasteDo not build any crypto code.
417344e2bb9SEd MasteWhen set, it enforces these options:
41890be798eSDimitry Andric.Pp
41990be798eSDimitry Andric.Bl -item -compact
42090be798eSDimitry Andric.It
4219f4e04c1SEd Maste.Va WITHOUT_DMAGENT
4229f4e04c1SEd Maste.It
42390be798eSDimitry Andric.Va WITHOUT_KERBEROS
42490be798eSDimitry Andric.It
425fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
426fb27d7aeSEd Maste.It
427da39b3adSEd Maste.Va WITHOUT_LDNS
428da39b3adSEd Maste.It
429da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
430da39b3adSEd Maste.It
43190be798eSDimitry Andric.Va WITHOUT_OPENSSH
43290be798eSDimitry Andric.It
43390be798eSDimitry Andric.Va WITHOUT_OPENSSL
434da39b3adSEd Maste.It
435ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
436ac56b22fSEd Maste.It
437116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
438116f7fccSEd Maste.It
439da39b3adSEd Maste.Va WITHOUT_UNBOUND
440243125c8SMitchell Horne.It
441243125c8SMitchell Horne.Va WITHOUT_ZFS
44290be798eSDimitry Andric.El
44390be798eSDimitry Andric.Pp
444344e2bb9SEd MasteWhen set, these options are also in effect:
44590be798eSDimitry Andric.Pp
44690be798eSDimitry Andric.Bl -inset -compact
44790be798eSDimitry Andric.It Va WITHOUT_GSSAPI
44890be798eSDimitry Andric(unless
44990be798eSDimitry Andric.Va WITH_GSSAPI
45090be798eSDimitry Andricis set explicitly)
45190be798eSDimitry Andric.El
45290be798eSDimitry Andric.It Va WITH_CTF
453041c5049SEd MasteCompile with CTF (Compact C Type Format) data.
45490be798eSDimitry AndricCTF data encapsulates a reduced form of debugging information
45590be798eSDimitry Andricsimilar to DWARF and the venerable stabs and is required for DTrace.
45654d8c5d5SBryan Drewery.It Va WITHOUT_CUSE
457041c5049SEd MasteDo not build CUSE-related programs and libraries.
4589cf76983SNavdeep Parhar.It Va WITHOUT_CXGBETOOL
459041c5049SEd MasteDo not build
4609cf76983SNavdeep Parhar.Xr cxgbetool 8
4619cf76983SNavdeep Parhar.Pp
4629cf76983SNavdeep ParharThis is a default setting on
463ff5025d1SPiotr Kubajarm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
4649cf76983SNavdeep Parhar.It Va WITH_CXGBETOOL
465041c5049SEd MasteBuild
4669cf76983SNavdeep Parhar.Xr cxgbetool 8
4679cf76983SNavdeep Parhar.Pp
4689cf76983SNavdeep ParharThis is a default setting on
469ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
4704a5e4462SEd Maste.It Va WITHOUT_DEBUG_FILES
471041c5049SEd MasteAvoid building or installing standalone debug files for each
4724a5e4462SEd Masteexecutable binary and shared library.
473ac56b22fSEd Maste.It Va WITH_DETECT_TZ_CHANGES
474ac56b22fSEd MasteMake the time handling code detect changes to the timezone files.
475cc68b6e5SEd Maste.It Va WITHOUT_DIALOG
476041c5049SEd MasteDo not build
477344e2bb9SEd Maste.Xr dialog 1 ,
478344e2bb9SEd Maste.Xr dialog 3 ,
479344e2bb9SEd Maste.Xr dpv 1 ,
480344e2bb9SEd Masteand
481344e2bb9SEd Maste.Xr dpv 3 .
482344e2bb9SEd MasteWhen set, it enforces these options:
483cc68b6e5SEd Maste.Pp
484cc68b6e5SEd Maste.Bl -item -compact
485cc68b6e5SEd Maste.It
486cc68b6e5SEd Maste.Va WITHOUT_BSDINSTALL
487cc68b6e5SEd Maste.El
48890be798eSDimitry Andric.It Va WITHOUT_DICT
489041c5049SEd MasteDo not build the Webster dictionary files.
49032b5dc9aSSimon J. Gerraty.It Va WITH_DIRDEPS_BUILD
491be894451SBryan DreweryThis is an experimental build system.
49232b5dc9aSSimon J. GerratyFor details see
4932ec9a427SPiotr Kubajhttps://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
494be894451SBryan DreweryBuild commands can be seen from the top-level with:
495be894451SBryan Drewery.Dl make show-valid-targets
49632b5dc9aSSimon J. GerratyThe build is driven by dirdeps.mk using
49732b5dc9aSSimon J. Gerraty.Va DIRDEPS
49832b5dc9aSSimon J. Gerratystored in
49932b5dc9aSSimon J. GerratyMakefile.depend files found in each directory.
50032b5dc9aSSimon J. Gerraty.Pp
50132b5dc9aSSimon J. GerratyThe build can be started from anywhere, and behaves the same.
50232b5dc9aSSimon J. GerratyThe initial instance of
50332b5dc9aSSimon J. Gerraty.Xr make 1
50432b5dc9aSSimon J. Gerratyrecursively reads
50532b5dc9aSSimon J. Gerraty.Va DIRDEPS
506344e2bb9SEd Mastefrom
507344e2bb9SEd Maste.Pa Makefile.depend ,
50832b5dc9aSSimon J. Gerratycomputing a graph of tree dependencies from the current origin.
50932b5dc9aSSimon J. GerratySetting
51032b5dc9aSSimon J. Gerraty.Va NO_DIRDEPS
511344e2bb9SEd Masteskips checking dirdep dependencies and will only build in the current
5127f76a95cSBryan Dreweryand child directories.
5137f76a95cSBryan Drewery.Va NO_DIRDEPS_BELOW
514344e2bb9SEd Masteskips building any dirdeps and only build the current directory.
51532b5dc9aSSimon J. Gerraty.Pp
516be894451SBryan DreweryThis also utilizes the
517be894451SBryan Drewery.Va WITH_META_MODE
518be894451SBryan Drewerylogic for incremental builds.
51932b5dc9aSSimon J. Gerraty.Pp
520344e2bb9SEd MasteThe build hides commands executed unless
52132b5dc9aSSimon J. Gerraty.Va NO_SILENT
52232b5dc9aSSimon J. Gerratyis defined.
52332b5dc9aSSimon J. Gerraty.Pp
524be894451SBryan DreweryNote that there is currently no mass install feature for this.
525be894451SBryan Drewery.Pp
526344e2bb9SEd MasteWhen set, it enforces these options:
52732b5dc9aSSimon J. Gerraty.Pp
52832b5dc9aSSimon J. Gerraty.Bl -item -compact
52932b5dc9aSSimon J. Gerraty.It
53032b5dc9aSSimon J. Gerraty.Va WITH_INSTALL_AS_USER
53132b5dc9aSSimon J. Gerraty.El
53232b5dc9aSSimon J. Gerraty.Pp
533344e2bb9SEd MasteWhen set, these options are also in effect:
53432b5dc9aSSimon J. Gerraty.Pp
53532b5dc9aSSimon J. Gerraty.Bl -inset -compact
53626b79d5bSHajimu UMEMOTO.It Va WITH_META_MODE
53726b79d5bSHajimu UMEMOTO(unless
53826b79d5bSHajimu UMEMOTO.Va WITHOUT_META_MODE
53926b79d5bSHajimu UMEMOTOis set explicitly)
54032b5dc9aSSimon J. Gerraty.It Va WITH_STAGING
54132b5dc9aSSimon J. Gerraty(unless
54232b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING
54332b5dc9aSSimon J. Gerratyis set explicitly)
54432b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_MAN
54532b5dc9aSSimon J. Gerraty(unless
54632b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_MAN
54732b5dc9aSSimon J. Gerratyis set explicitly)
54832b5dc9aSSimon J. Gerraty.It Va WITH_STAGING_PROG
54932b5dc9aSSimon J. Gerraty(unless
55032b5dc9aSSimon J. Gerraty.Va WITHOUT_STAGING_PROG
55132b5dc9aSSimon J. Gerratyis set explicitly)
55232b5dc9aSSimon J. Gerraty.It Va WITH_SYSROOT
55332b5dc9aSSimon J. Gerraty(unless
55432b5dc9aSSimon J. Gerraty.Va WITHOUT_SYSROOT
55532b5dc9aSSimon J. Gerratyis set explicitly)
55632b5dc9aSSimon J. Gerraty.El
55732b5dc9aSSimon J. Gerraty.Pp
55832b5dc9aSSimon J. GerratyThis must be set in the environment, make command line, or
55932b5dc9aSSimon J. Gerraty.Pa /etc/src-env.conf ,
56032b5dc9aSSimon J. Gerratynot
56132b5dc9aSSimon J. Gerraty.Pa /etc/src.conf .
562cc2520d2SSimon J. Gerraty.It Va WITH_DIRDEPS_CACHE
563cc2520d2SSimon J. GerratyCache result of dirdeps.mk which can save significant time
564cc2520d2SSimon J. Gerratyfor subsequent builds.
565cc2520d2SSimon J. GerratyDepends on
56632b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
5670a70ef02SBryan Drewery.Pp
568ba852870SBryan DreweryThis must be set in the environment, make command line, or
5690a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
5700a70ef02SBryan Drewerynot
5710a70ef02SBryan Drewery.Pa /etc/src.conf .
57290be798eSDimitry Andric.It Va WITHOUT_DMAGENT
573041c5049SEd MasteDo not build dma Mail Transport Agent.
57490be798eSDimitry Andric.It Va WITHOUT_DOCCOMPRESS
575041c5049SEd MasteDo not install compressed system documentation.
57690be798eSDimitry AndricOnly the uncompressed version will be installed.
5773bf66365SBrooks Davis.It Va WITHOUT_DTRACE
5783bf66365SBrooks DavisDo not build DTrace framework kernel modules, libraries, and user commands.
5793bf66365SBrooks DavisWhen set, it enforces these options:
5803bf66365SBrooks Davis.Pp
5813bf66365SBrooks Davis.Bl -item -compact
5823bf66365SBrooks Davis.It
5833bf66365SBrooks Davis.Va WITHOUT_CTF
5843bf66365SBrooks Davis.El
58516f3fdf5SMark Johnston.It Va WITH_DTRACE_TESTS
586041c5049SEd MasteBuild and install the DTrace test suite in
58716f3fdf5SMark Johnston.Pa /usr/tests/cddl/usr.sbin/dtrace .
58816f3fdf5SMark JohnstonThis test suite is considered experimental on architectures other than
58916f3fdf5SMark Johnstonamd64/amd64 and running it may cause system instability.
59090be798eSDimitry Andric.It Va WITHOUT_DYNAMICROOT
59190be798eSDimitry AndricSet this if you do not want to link
59290be798eSDimitry Andric.Pa /bin
59390be798eSDimitry Andricand
59490be798eSDimitry Andric.Pa /sbin
59590be798eSDimitry Andricdynamically.
59693da8366SEnji Cooper.It Va WITHOUT_EE
597041c5049SEd MasteDo not build and install
59893da8366SEnji Cooper.Xr edit 1 ,
59993da8366SEnji Cooper.Xr ee 1 ,
60093da8366SEnji Cooperand related programs.
6010cd582c8SEnji Cooper.It Va WITHOUT_EFI
6020cd582c8SEnji CooperSet not to build
6030cd582c8SEnji Cooper.Xr efivar 3
6040cd582c8SEnji Cooperand
6050cd582c8SEnji Cooper.Xr efivar 8 .
6060cd582c8SEnji Cooper.Pp
607344e2bb9SEd MasteThis is a default setting on
6083f9c1b2cSEd Mastepowerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
6090cd582c8SEnji Cooper.It Va WITH_EFI
610041c5049SEd MasteBuild
6110cd582c8SEnji Cooper.Xr efivar 3
6120cd582c8SEnji Cooperand
6130cd582c8SEnji Cooper.Xr efivar 8 .
6140cd582c8SEnji Cooper.Pp
615344e2bb9SEd MasteThis is a default setting on
6163f9c1b2cSEd Masteamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
6175977355fSBryan Drewery.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
618041c5049SEd MasteDo not build ELF Tool Chain tools
6195977355fSBryan Drewery(addr2line, nm, size, strings and strip)
6205977355fSBryan Dreweryas part of the bootstrap process.
6215977355fSBryan Drewery.Bf -symbolic
6225977355fSBryan DreweryAn alternate bootstrap tool chain must be provided.
6235977355fSBryan Drewery.Ef
62490be798eSDimitry Andric.It Va WITHOUT_EXAMPLES
625041c5049SEd MasteAvoid installing examples to
62690be798eSDimitry Andric.Pa /usr/share/examples/ .
62743f75d57SBjoern A. Zeeb.It Va WITH_EXPERIMENTAL
628041c5049SEd MasteInclude experimental features in the build.
629d5a2667bSJonathan T. Looney.It Va WITH_EXTRA_TCP_STACKS
630041c5049SEd MasteBuild extra TCP stack modules.
6313f9c1b2cSEd Maste.It Va WITHOUT_FDT
6323f9c1b2cSEd MasteDo not build Flattened Device Tree support as part of the base system.
6333f9c1b2cSEd MasteThis includes the device tree compiler (dtc) and libfdt support library.
6343f9c1b2cSEd Maste.Pp
6353f9c1b2cSEd MasteThis is a default setting on
6363f9c1b2cSEd Masteamd64/amd64 and i386/i386.
637a8af3aeeSEd Maste.It Va WITH_FDT
638a8af3aeeSEd MasteBuild Flattened Device Tree support as part of the base system.
63990be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6403f9c1b2cSEd Maste.Pp
6413f9c1b2cSEd MasteThis is a default setting on
6423f9c1b2cSEd Mastearm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
6430e0e9604SEnji Cooper.It Va WITHOUT_FILE
644041c5049SEd MasteDo not build
6450e0e9604SEnji Cooper.Xr file 1
6460e0e9604SEnji Cooperand related programs.
6470e0e9604SEnji Cooper.It Va WITHOUT_FINGER
648041c5049SEd MasteDo not build or install
6490e0e9604SEnji Cooper.Xr finger 1
6500e0e9604SEnji Cooperand
6510e0e9604SEnji Cooper.Xr fingerd 8 .
65290be798eSDimitry Andric.It Va WITHOUT_FLOPPY
653041c5049SEd MasteDo not build or install programs
65490be798eSDimitry Andricfor operating floppy disk driver.
655a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
656041c5049SEd MasteDo not enable
657a0f6423bSEd Maste.Fl fformat-extensions
658a0f6423bSEd Mastewhen compiling the kernel.
659a0f6423bSEd MasteAlso disables all format checking.
66090be798eSDimitry Andric.It Va WITHOUT_FORTH
661041c5049SEd MasteBuild bootloaders without Forth support.
66290be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
663041c5049SEd MasteBuild
66490be798eSDimitry Andric.Nm libc
66590be798eSDimitry Andricwithout floating-point support.
66690be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
667041c5049SEd MasteDo not build
66890be798eSDimitry Andric.Xr freebsd-update 8 .
6690e0e9604SEnji Cooper.It Va WITHOUT_FTP
670041c5049SEd MasteDo not build or install
6710e0e9604SEnji Cooper.Xr ftp 1
6720e0e9604SEnji Cooperand
6730e0e9604SEnji Cooper.Xr ftpd 8 .
67490be798eSDimitry Andric.It Va WITHOUT_GAMES
675041c5049SEd MasteDo not build games.
676160ea953SStefan Eßer.It Va WITHOUT_GH_BC
677041c5049SEd MasteInstall the traditional FreeBSD
67868c8c1a7SStefan Eßer.Xr bc 1
679160ea953SStefan Eßerand
68068c8c1a7SStefan Eßer.Xr dc 1
681041c5049SEd Masteprograms instead of the enhanced versions.
68236e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
683041c5049SEd MasteDo not build GNU
68436e8c7bbSEd Maste.Xr diff3 1 .
6857840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
686041c5049SEd MasteNeither build nor install
6877840b63aSEnji Cooper.Lb libgmock ,
6887840b63aSEnji Cooper.Lb libgtest ,
6897840b63aSEnji Cooperand dependent tests.
69090be798eSDimitry Andric.It Va WITHOUT_GPIO
691041c5049SEd MasteDo not build
69290be798eSDimitry Andric.Xr gpioctl 8
69390be798eSDimitry Andricas part of the base system.
69490be798eSDimitry Andric.It Va WITHOUT_GSSAPI
695041c5049SEd MasteDo not build libgssapi.
69661940879SEnji Cooper.It Va WITHOUT_HAST
697041c5049SEd MasteDo not build
69861940879SEnji Cooper.Xr hastd 8
69961940879SEnji Cooperand related utilities.
70090be798eSDimitry Andric.It Va WITH_HESIOD
701041c5049SEd MasteBuild Hesiod support.
70290be798eSDimitry Andric.It Va WITHOUT_HTML
703041c5049SEd MasteDo not build HTML docs.
7042c4b4abcSXin LI.It Va WITHOUT_HYPERV
705041c5049SEd MasteDo not build or install HyperV utilities.
7060543ade3SBrooks Davis.Pp
7070543ade3SBrooks DavisThis is a default setting on
70807853c6cSEd Mastearm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
7090543ade3SBrooks Davis.It Va WITH_HYPERV
710041c5049SEd MasteBuild or install HyperV utilities.
7110543ade3SBrooks Davis.Pp
7120543ade3SBrooks DavisThis is a default setting on
71307853c6cSEd Masteamd64/amd64, arm64/aarch64 and i386/i386.
71490be798eSDimitry Andric.It Va WITHOUT_ICONV
715041c5049SEd MasteDo not build iconv as part of libc.
716c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
717041c5049SEd MasteDo not install header files.
718c5d09a87SGlen BarberThis option used to be spelled
719c5d09a87SGlen Barber.Va NO_INCS .
720c5d09a87SGlen Barber.Bf -symbolic
721c5d09a87SGlen BarberThe option does not work for build targets.
722c5d09a87SGlen Barber.Ef
72390be798eSDimitry Andric.It Va WITHOUT_INET
724041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
725344e2bb9SEd MasteWhen set, it enforces these options:
72690be798eSDimitry Andric.Pp
72790be798eSDimitry Andric.Bl -item -compact
72890be798eSDimitry Andric.It
72990be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
73090be798eSDimitry Andric.El
73190be798eSDimitry Andric.It Va WITHOUT_INET6
732041c5049SEd MasteDo not build
73390be798eSDimitry Andricprograms and libraries related to IPv6 networking.
734344e2bb9SEd MasteWhen set, it enforces these options:
73590be798eSDimitry Andric.Pp
73690be798eSDimitry Andric.Bl -item -compact
73790be798eSDimitry Andric.It
73890be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
73990be798eSDimitry Andric.El
74090be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
741041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7420e0e9604SEnji Cooper.It Va WITHOUT_INETD
743041c5049SEd MasteDo not build
7440e0e9604SEnji Cooper.Xr inetd 8 .
74590be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
746041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
747b013518aSEd Maste.It Va WITH_INIT_ALL_PATTERN
748041c5049SEd MasteBuild the base system or kernel with stack variables initialized to
749b013518aSEd Maste.Pq compiler defined
750b013518aSEd Mastedebugging patterns on function entry.
751b013518aSEd MasteThis option requires the clang compiler.
752b013518aSEd Maste.It Va WITH_INIT_ALL_ZERO
753041c5049SEd MasteBuild the base system or kernel with stack variables initialized
754b013518aSEd Masteto zero on function entry.
755b013518aSEd MasteThis option requires that the clang compiler be used.
75690be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
757344e2bb9SEd MasteSet this to not install optional libraries.
758344e2bb9SEd MasteFor example, when creating a
75990be798eSDimitry Andric.Xr nanobsd 8
76090be798eSDimitry Andricimage.
761f79bedf5SBryan Drewery.Bf -symbolic
762f79bedf5SBryan DreweryThe option does not work for build targets.
763f79bedf5SBryan Drewery.Ef
76490be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
765041c5049SEd MasteMake install targets succeed for non-root users by installing
76690be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
76790be798eSDimitry Andricthe
76890be798eSDimitry Andric.Xr make 1
76990be798eSDimitry Andriccommand.
770344e2bb9SEd MasteThe user still must set the
77190be798eSDimitry Andric.Va DESTDIR
77290be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
77390be798eSDimitry Andric.It Va WITHOUT_IPFILTER
774041c5049SEd MasteDo not build IP Filter package.
77590be798eSDimitry Andric.It Va WITHOUT_IPFW
776041c5049SEd MasteDo not build IPFW tools.
77788342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
778041c5049SEd MasteDo not build the kernel with
77988342134SEnji Cooper.Xr ipsec 4
78088342134SEnji Coopersupport.
78188342134SEnji CooperThis option is needed for
78288342134SEnji Cooper.Xr ipsec 4
78388342134SEnji Cooperand
78488342134SEnji Cooper.Xr tcpmd5 4 .
78593da8366SEnji Cooper.It Va WITHOUT_ISCSI
786041c5049SEd MasteDo not build
78726d6bbfaSSevan Janiyan.Xr iscsid 8
78893da8366SEnji Cooperand related utilities.
78990be798eSDimitry Andric.It Va WITHOUT_JAIL
790041c5049SEd MasteDo not build tools for the support of jails; e.g.,
79190be798eSDimitry Andric.Xr jail 8 .
79290be798eSDimitry Andric.It Va WITHOUT_KDUMP
793041c5049SEd MasteDo not build
79490be798eSDimitry Andric.Xr kdump 1
79590be798eSDimitry Andricand
79690be798eSDimitry Andric.Xr truss 1 .
79790be798eSDimitry Andric.It Va WITHOUT_KERBEROS
798344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
799344e2bb9SEd MasteWhen set, these options are also in effect:
80090be798eSDimitry Andric.Pp
80190be798eSDimitry Andric.Bl -inset -compact
80290be798eSDimitry Andric.It Va WITHOUT_GSSAPI
80390be798eSDimitry Andric(unless
80490be798eSDimitry Andric.Va WITH_GSSAPI
80590be798eSDimitry Andricis set explicitly)
806bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
807bf64e879SBryan Drewery(unless
808bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
809bf64e879SBryan Dreweryis set explicitly)
81090be798eSDimitry Andric.El
81190be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
812041c5049SEd MasteBuild some programs without Kerberos support, like
81390be798eSDimitry Andric.Xr ssh 1 ,
81490be798eSDimitry Andric.Xr telnet 1 ,
81590be798eSDimitry Andricand
816b4cfdbfeSBrooks Davis.Xr sshd 8 .
8176f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
818041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8196f7527f0SEd Mastebuild.
820a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
821330b7dccSEd MasteDo not install standalone kernel debug symbol files.
822330b7dccSEd MasteThis option has no effect at build time.
82390be798eSDimitry Andric.It Va WITHOUT_KVM
824041c5049SEd MasteDo not build the
82590be798eSDimitry Andric.Nm libkvm
82690be798eSDimitry Andriclibrary as a part of the base system.
82790be798eSDimitry Andric.Bf -symbolic
82890be798eSDimitry AndricThe option has no effect yet.
82990be798eSDimitry Andric.Ef
830bf64e879SBryan DreweryWhen set, these options are also in effect:
83190be798eSDimitry Andric.Pp
832bf64e879SBryan Drewery.Bl -inset -compact
833bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
834bf64e879SBryan Drewery(unless
835bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
836bf64e879SBryan Dreweryis set explicitly)
83790be798eSDimitry Andric.El
83890be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
839041c5049SEd MasteBuild some programs without optional
84090be798eSDimitry Andric.Nm libkvm
84190be798eSDimitry Andricsupport.
84290be798eSDimitry Andric.It Va WITHOUT_LDNS
84390be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
844344e2bb9SEd MasteWhen set, it enforces these options:
84590be798eSDimitry Andric.Pp
84690be798eSDimitry Andric.Bl -item -compact
84790be798eSDimitry Andric.It
84890be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
84990be798eSDimitry Andric.It
85090be798eSDimitry Andric.Va WITHOUT_UNBOUND
85190be798eSDimitry Andric.El
85290be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
85390be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
85490be798eSDimitry Andric.Xr drill 1
85590be798eSDimitry Andricand
85690be798eSDimitry Andric.Xr host 1 .
85790be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
858041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
85923a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
86090be798eSDimitry Andricand
86123a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
86290be798eSDimitry Andric.It Va WITHOUT_LIB32
863041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
86490be798eSDimitry Andric.Nm ld-elf32.so.1
86590be798eSDimitry Andricruntime linker.
866f3cdc622SEd Maste.Pp
867f3cdc622SEd MasteThis is a default setting on
8688cfd7a6aSPiotr Kubajarm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
869c5819624SEd Maste.It Va WITH_LIB32
870c5819624SEd MasteOn 64-bit platforms, build the 32-bit library set and a
871c5819624SEd Maste.Nm ld-elf32.so.1
872c5819624SEd Masteruntime linker.
873c5819624SEd Maste.Pp
874c5819624SEd MasteThis is a default setting on
875c5819624SEd Masteamd64/amd64 and powerpc/powerpc64.
87636e8c7bbSEd Maste.It Va WITHOUT_LLD
877041c5049SEd MasteDo not build LLVM's lld linker.
8781500eb21SEd Maste.It Va WITHOUT_LLDB
879041c5049SEd MasteDo not build the LLDB debugger.
8801500eb21SEd Maste.Pp
881344e2bb9SEd MasteThis is a default setting on
8822ec9a427SPiotr Kubajarm/armv6, arm/armv7, riscv/riscv64 and riscv/riscv64sf.
88390be798eSDimitry Andric.It Va WITH_LLDB
884041c5049SEd MasteBuild the LLDB debugger.
8851500eb21SEd Maste.Pp
886344e2bb9SEd MasteThis is a default setting on
8872ec9a427SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
8886c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
889041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
8906c2b7edaSEd Mastethe build.
8917680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
892661cf9b6SYoshihiro Takahashi.It Va WITHOUT_LLD_IS_LD
8937680431aSEd MasteDo not install a
8947680431aSEd Maste.Pa /usr/bin/ld symlink
8957680431aSEd Masteto
8967680431aSEd Maste.Pa ld.lld .
8977680431aSEd MasteThe system will not have a usable tool chain unless a linker is provided
8987680431aSEd Mastesome other way.
899a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
900041c5049SEd MasteDisable debugging assertions in LLVM.
901ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
902ac56b22fSEd MasteInstall LLVM's binutils (ar, addr2line, nm, etc.) instead of ELF Tool Chain's.
9035b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
904041c5049SEd MasteDo not build the
9055b9c3654SEd Maste.Xr llvm-cov 1
9065b9c3654SEd Mastetool.
9079fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9089fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
909cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
910041c5049SEd MasteDo not build LLVM target support for AArch64.
911bf64e879SBryan DreweryThe
912bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
913bf64e879SBryan Dreweryoption should be used rather than this in most cases.
914bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
915041c5049SEd MasteOnly build the required LLVM target support.
916bf64e879SBryan DreweryThis option is preferred to specific target support options.
917bf64e879SBryan DreweryWhen set, these options are also in effect:
918bf64e879SBryan Drewery.Pp
919bf64e879SBryan Drewery.Bl -inset -compact
920bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
921bf64e879SBryan Drewery(unless
922bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
923bf64e879SBryan Dreweryis set explicitly)
924bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
925bf64e879SBryan Drewery(unless
926bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
927bf64e879SBryan Dreweryis set explicitly)
928bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
929bf64e879SBryan Drewery(unless
930bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
931bf64e879SBryan Dreweryis set explicitly)
932f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
933f3cdc622SEd Maste(unless
934f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
935f3cdc622SEd Masteis set explicitly)
936bf64e879SBryan Drewery.El
937cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
938041c5049SEd MasteDo not build LLVM target support for ARM.
939bf64e879SBryan DreweryThe
940bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
941bf64e879SBryan Dreweryoption should be used rather than this in most cases.
94289edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
943041c5049SEd MasteBuild LLVM target support for BPF.
94489edb881SDimitry AndricThe
94589edb881SDimitry Andric.Va LLVM_TARGET_ALL
94689edb881SDimitry Andricoption should be used rather than this in most cases.
9476bdbfa49SPiotr Kubaj.It Va WITH_LLVM_TARGET_MIPS
9486bdbfa49SPiotr KubajBuild LLVM target support for MIPS.
949bf64e879SBryan DreweryThe
950bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
951bf64e879SBryan Dreweryoption should be used rather than this in most cases.
952cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
953041c5049SEd MasteDo not build LLVM target support for PowerPC.
954bf64e879SBryan DreweryThe
955bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
956bf64e879SBryan Dreweryoption should be used rather than this in most cases.
957f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
958041c5049SEd MasteDo not build LLVM target support for RISC-V.
959f3cdc622SEd MasteThe
960f3cdc622SEd Maste.Va LLVM_TARGET_ALL
961f3cdc622SEd Masteoption should be used rather than this in most cases.
962cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
963041c5049SEd MasteDo not build LLVM target support for X86.
964bf64e879SBryan DreweryThe
965bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
966bf64e879SBryan Dreweryoption should be used rather than this in most cases.
967bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
968bfdf8aa9SJohn BaldwinEnable building
969bfdf8aa9SJohn Baldwin.Xr loader 8
970bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
971782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
972782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
97330323356SWarner Losh.Pp
97430323356SWarner LoshThis is a default setting on
9758cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
9768edab9cdSWarner Losh.It Va WITH_LOADER_GELI
977041c5049SEd MasteBuild GELI bootloader support.
9788edab9cdSWarner Losh.Pp
9798edab9cdSWarner LoshThis is a default setting on
980f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
9812ec9a427SPiotr Kubaj.It Va WITHOUT_LOADER_KBOOT
9822ec9a427SPiotr KubajDo not build kboot, a linuxboot environment loader
9832ec9a427SPiotr Kubaj.Pp
9842ec9a427SPiotr KubajThis is a default setting on
985cfe244cbSBrooks Davisarm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
9862ec9a427SPiotr Kubaj.It Va WITH_LOADER_KBOOT
9872ec9a427SPiotr KubajBuild kboot, a linuxboot environment loader
9882ec9a427SPiotr Kubaj.Pp
9892ec9a427SPiotr KubajThis is a default setting on
990cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
9918edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
992041c5049SEd MasteDo not build LUA bindings for the boot loader.
9938edab9cdSWarner Losh.Pp
9948edab9cdSWarner LoshThis is a default setting on
9958cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
9966f7527f0SEd Maste.It Va WITH_LOADER_LUA
997041c5049SEd MasteBuild LUA bindings for the boot loader.
99830323356SWarner Losh.Pp
99930323356SWarner LoshThis is a default setting on
1000f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1001b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1002b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1003b8f3641fSKyle Evans.Pp
1004b8f3641fSKyle EvansThis is a default setting on
1005f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1006b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1007041c5049SEd MasteBuild openfirmware bootloader components.
1008b8f3641fSKyle Evans.Pp
1009b8f3641fSKyle EvansThis is a default setting on
10108cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1011b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1012b8f3641fSKyle EvansDisable building of ubldr.
1013b8f3641fSKyle Evans.Pp
1014b8f3641fSKyle EvansThis is a default setting on
10158cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1016b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1017041c5049SEd MasteBuild ubldr.
1018b8f3641fSKyle Evans.Pp
1019b8f3641fSKyle EvansThis is a default setting on
1020f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc and powerpc/powerpc64.
10211f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1022041c5049SEd MasteBuild with extra verbose debugging in the loader.
10231f7d1483SEd MasteMay explode already nearly too large loader over the limit.
10241f7d1483SEd MasteUse with care.
1025bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1026bfdf8aa9SJohn BaldwinEnable building
1027bfdf8aa9SJohn Baldwin.Xr loader 8
1028de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1029bfdf8aa9SJohn Baldwin.Pp
1030de19b521SDimitry AndricDepends on
1031de19b521SDimitry Andric.Va WITH_BEARSSL .
1032bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1033bfdf8aa9SJohn Baldwin.Pp
1034bfdf8aa9SJohn Baldwin.Bl -inset -compact
1035bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1036bfdf8aa9SJohn Baldwin(unless
1037bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1038bfdf8aa9SJohn Baldwinis set explicitly)
1039f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1040f87a2082SEd Maste(unless
1041f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1042f87a2082SEd Masteis set explicitly)
1043bfdf8aa9SJohn Baldwin.El
1044de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1045de19b521SDimitry AndricEnable building
1046de19b521SDimitry Andric.Xr loader 8
1047de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1048de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1049de19b521SDimitry Andric.Pp
1050de19b521SDimitry AndricDepends on
1051de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
10521f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1053041c5049SEd MasteDo not build ZFS file system boot loader support.
105490be798eSDimitry Andric.It Va WITHOUT_LOCALES
1055041c5049SEd MasteDo not build localization files; see
105690be798eSDimitry Andric.Xr locale 1 .
105790be798eSDimitry Andric.It Va WITHOUT_LOCATE
1058041c5049SEd MasteDo not build
105990be798eSDimitry Andric.Xr locate 1
106090be798eSDimitry Andricand related programs.
106190be798eSDimitry Andric.It Va WITHOUT_LPR
1062041c5049SEd MasteDo not build
106390be798eSDimitry Andric.Xr lpr 1
106490be798eSDimitry Andricand related programs.
106590be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1066041c5049SEd MasteBuild
106790be798eSDimitry Andric.Xr ls 1
106890be798eSDimitry Andricwithout support for colors to distinguish file types.
1069dcdf4c1aSGleb Popov.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1070dcdf4c1aSGleb PopovPrefer machine-independent non-assembler code in libc and libm.
107190be798eSDimitry Andric.It Va WITHOUT_MAIL
1072041c5049SEd MasteDo not build any mail support (MUA or MTA).
1073344e2bb9SEd MasteWhen set, it enforces these options:
107490be798eSDimitry Andric.Pp
107590be798eSDimitry Andric.Bl -item -compact
107690be798eSDimitry Andric.It
107790be798eSDimitry Andric.Va WITHOUT_DMAGENT
107890be798eSDimitry Andric.It
107990be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
108090be798eSDimitry Andric.It
108190be798eSDimitry Andric.Va WITHOUT_SENDMAIL
108290be798eSDimitry Andric.El
108390be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1084041c5049SEd MasteDo not build the
108590be798eSDimitry Andric.Xr mailwrapper 8
108690be798eSDimitry AndricMTA selector.
108790be798eSDimitry Andric.It Va WITHOUT_MAKE
1088041c5049SEd MasteDo not install
108990be798eSDimitry Andric.Xr make 1
109090be798eSDimitry Andricand related support files.
109174782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1092041c5049SEd MasteDo not execute
109374782f0eSEnji Cooper.Dq Li "make check"
109474782f0eSEnji Cooperin limited sandbox mode.
109574782f0eSEnji CooperThis option should be paired with
109674782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
109774782f0eSEnji Cooperif executed as an unprivileged user.
109874782f0eSEnji CooperSee
109974782f0eSEnji Cooper.Xr tests 7
110074782f0eSEnji Cooperfor more details.
11017d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1102041c5049SEd MasteDisable assertions and statistics gathering in
11037d4374f6SDimitry Andric.Xr malloc 3 .
11047d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
110590be798eSDimitry Andric.It Va WITHOUT_MAN
1106041c5049SEd MasteDo not build manual pages.
1107344e2bb9SEd MasteWhen set, these options are also in effect:
110890be798eSDimitry Andric.Pp
110990be798eSDimitry Andric.Bl -inset -compact
111090be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
111190be798eSDimitry Andric(unless
111290be798eSDimitry Andric.Va WITH_MAN_UTILS
111390be798eSDimitry Andricis set explicitly)
111490be798eSDimitry Andric.El
111590be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1116041c5049SEd MasteDo not install compressed man pages.
111790be798eSDimitry AndricOnly the uncompressed versions will be installed.
1118c7e6cb9eSEmmanuel Vadot.It Va WITH_MANSPLITPKG
1119041c5049SEd MasteSplit man pages into their own packages during make package.
112090be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1121041c5049SEd MasteDo not build utilities for manual pages,
112290be798eSDimitry Andric.Xr apropos 1 ,
112390be798eSDimitry Andric.Xr makewhatis 1 ,
112490be798eSDimitry Andric.Xr man 1 ,
112590be798eSDimitry Andric.Xr whatis 1 ,
112690be798eSDimitry Andric.Xr manctl 8 ,
112790be798eSDimitry Andricand related support files.
1128cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1129344e2bb9SEd MasteCreate
1130be894451SBryan Drewery.Xr make 1
1131be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1132be894451SBryan Dreweryusing
1133be894451SBryan Drewery.Xr filemon 4 .
1134344e2bb9SEd MasteThe meta file is created in OBJDIR as
1135be894451SBryan Drewery.Pa target.meta .
1136344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1137344e2bb9SEd Mastecurrent directory.
11382710e62cSBryan DreweryThe
11397f76a95cSBryan Drewery.Xr filemon 4
11402710e62cSBryan Drewerymodule is required unless
11412710e62cSBryan Drewery.Va NO_FILEMON
11422710e62cSBryan Dreweryis defined.
1143344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1144344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1145344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1146344e2bb9SEd Masteconditions are true compared to the last build:
1147be894451SBryan Drewery.Bl -bullet -compact
1148be894451SBryan Drewery.It
1149be894451SBryan DreweryThe command to execute changes.
1150be894451SBryan Drewery.It
1151be894451SBryan DreweryThe current working directory changes.
1152be894451SBryan Drewery.It
1153a4a2269eSBryan DreweryThe target's meta file is missing.
1154a4a2269eSBryan Drewery.It
1155a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1156a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1157be894451SBryan Drewery.It
1158be894451SBryan Drewery[requires
1159be894451SBryan Drewery.Xr filemon 4 ]
1160be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1161be894451SBryan Drewery.It
1162be894451SBryan Drewery[requires
1163be894451SBryan Drewery.Xr filemon 4 ]
1164be894451SBryan DreweryFiles read, written, executed or linked are missing.
1165be894451SBryan Drewery.El
11667f76a95cSBryan DreweryThe meta files can also be useful for debugging.
11677f76a95cSBryan Drewery.Pp
1168344e2bb9SEd MasteThe build hides commands that are executed unless
11697f76a95cSBryan Drewery.Va NO_SILENT
11707f76a95cSBryan Dreweryis defined.
1171344e2bb9SEd MasteErrors cause
11722710e62cSBryan Drewery.Xr make 1
11732710e62cSBryan Dreweryto show some of its environment for further debugging.
11740a70ef02SBryan Drewery.Pp
1175be894451SBryan DreweryThe build operates as it normally would otherwise.
1176be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1177be894451SBryan Dreweryto
1178be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1179be894451SBryan Drewery.Pp
1180ba852870SBryan DreweryThis must be set in the environment, make command line, or
11810a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
11820a70ef02SBryan Drewerynot
11830a70ef02SBryan Drewery.Pa /etc/src.conf .
1184912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1185041c5049SEd MasteDo not build
1186912aad0fSKyle Evans.Xr mlx5tool 8
1187912aad0fSKyle Evans.Pp
1188912aad0fSKyle EvansThis is a default setting on
1189ff5025d1SPiotr Kubajarm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1190912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1191041c5049SEd MasteBuild
1192912aad0fSKyle Evans.Xr mlx5tool 8
1193912aad0fSKyle Evans.Pp
1194912aad0fSKyle EvansThis is a default setting on
1195ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
119690be798eSDimitry Andric.It Va WITHOUT_NETCAT
1197041c5049SEd MasteDo not build
119890be798eSDimitry Andric.Xr nc 1
119990be798eSDimitry Andricutility.
120090be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1201041c5049SEd MasteDo not build applications to support
120290be798eSDimitry Andric.Xr netgraph 4 .
1203344e2bb9SEd MasteWhen set, it enforces these options:
120490be798eSDimitry Andric.Pp
120590be798eSDimitry Andric.Bl -item -compact
120690be798eSDimitry Andric.It
120790be798eSDimitry Andric.Va WITHOUT_ATM
120890be798eSDimitry Andric.It
120990be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1210bf64e879SBryan Drewery.El
1211bf64e879SBryan Drewery.Pp
1212bf64e879SBryan DreweryWhen set, these options are also in effect:
1213bf64e879SBryan Drewery.Pp
1214bf64e879SBryan Drewery.Bl -inset -compact
1215bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1216bf64e879SBryan Drewery(unless
1217bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1218bf64e879SBryan Dreweryis set explicitly)
121990be798eSDimitry Andric.El
122090be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1221041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
122290be798eSDimitry Andric.It Va WITHOUT_NIS
1223dcdf4c1aSGleb PopovDo not build
1224dcdf4c1aSGleb Popov.Xr NIS 8
122590be798eSDimitry Andricsupport and related programs.
122690be798eSDimitry AndricIf set, you might need to adopt your
122790be798eSDimitry Andric.Xr nsswitch.conf 5
122890be798eSDimitry Andricand remove
122990be798eSDimitry Andric.Sq nis
123090be798eSDimitry Andricentries.
123190be798eSDimitry Andric.It Va WITHOUT_NLS
1232041c5049SEd MasteDo not build NLS catalogs.
123357a87b06SEnji CooperWhen set, it enforces these options:
123457a87b06SEnji Cooper.Pp
123557a87b06SEnji Cooper.Bl -item -compact
123657a87b06SEnji Cooper.It
123757a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
123857a87b06SEnji Cooper.El
123990be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1240041c5049SEd MasteDo not build NLS catalog support for
124190be798eSDimitry Andric.Xr csh 1 .
124290be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1243041c5049SEd MasteDisable name caching in the
124490be798eSDimitry Andric.Pa nsswitch
124590be798eSDimitry Andricsubsystem.
124690be798eSDimitry AndricThe generic caching daemon,
124790be798eSDimitry Andric.Xr nscd 8 ,
124890be798eSDimitry Andricwill not be built either if this option is set.
124990be798eSDimitry Andric.It Va WITHOUT_NTP
1250041c5049SEd MasteDo not build
125190be798eSDimitry Andric.Xr ntpd 8
125290be798eSDimitry Andricand related programs.
12538edab9cdSWarner Losh.It Va WITHOUT_NVME
1254041c5049SEd MasteDo not build nvme related tools and kernel modules.
12558edab9cdSWarner Losh.Pp
12568edab9cdSWarner LoshThis is a default setting on
1257f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
12588edab9cdSWarner Losh.It Va WITH_NVME
1259041c5049SEd MasteBuild nvme related tools and kernel modules.
12608edab9cdSWarner Losh.Pp
12618edab9cdSWarner LoshThis is a default setting on
12628cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1263d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1264*bd258f88SEd MasteDo not build the
126590be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1266*bd258f88SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
12673f9c1b2cSEd Maste.Pp
12683f9c1b2cSEd MasteThis is a default setting on
1269fe0f6950SJohn Baldwinarm/armv6 and arm/armv7.
1270d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1271d0ca28d7SKonstantin Belousov.Pp
1272d0ca28d7SKonstantin Belousov.Bl -item -compact
1273d0ca28d7SKonstantin Belousov.It
1274d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1275d0ca28d7SKonstantin Belousov.El
1276c5819624SEd Maste.It Va WITH_OFED
1277c5819624SEd MasteBuild the
1278c5819624SEd Maste.Dq "OpenFabrics Enterprise Distribution"
1279c5819624SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
1280c5819624SEd Maste.Pp
1281c5819624SEd MasteThis is a default setting on
1282c5819624SEd Masteamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
12834a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1284041c5049SEd MasteBuild the non-essential components of the
12854a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
12864a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
128790be798eSDimitry Andric.It Va WITH_OPENLDAP
12887587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1289b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1290041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1291b0840a28SDimitry Andric.Pp
1292b0840a28SDimitry AndricThis is a default setting on
1293f89842a7SWarner Losharm/armv6, arm/armv7 and powerpc/powerpc.
1294b0840a28SDimitry Andric.It Va WITH_OPENMP
1295041c5049SEd MasteBuild LLVM's OpenMP runtime.
1296b0840a28SDimitry Andric.Pp
1297b0840a28SDimitry AndricThis is a default setting on
12988cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
129990be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1300041c5049SEd MasteDo not build OpenSSH.
130190be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1302041c5049SEd MasteDo not build OpenSSL.
1303344e2bb9SEd MasteWhen set, it enforces these options:
130490be798eSDimitry Andric.Pp
130590be798eSDimitry Andric.Bl -item -compact
130690be798eSDimitry Andric.It
13079f4e04c1SEd Maste.Va WITHOUT_DMAGENT
13089f4e04c1SEd Maste.It
130990be798eSDimitry Andric.Va WITHOUT_KERBEROS
131090be798eSDimitry Andric.It
1311fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1312fb27d7aeSEd Maste.It
1313da39b3adSEd Maste.Va WITHOUT_LDNS
1314da39b3adSEd Maste.It
1315da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1316da39b3adSEd Maste.It
131790be798eSDimitry Andric.Va WITHOUT_OPENSSH
1318da39b3adSEd Maste.It
1319ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1320ac56b22fSEd Maste.It
1321116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1322116f7fccSEd Maste.It
1323da39b3adSEd Maste.Va WITHOUT_UNBOUND
1324243125c8SMitchell Horne.It
1325243125c8SMitchell Horne.Va WITHOUT_ZFS
132690be798eSDimitry Andric.El
132790be798eSDimitry Andric.Pp
1328344e2bb9SEd MasteWhen set, these options are also in effect:
132990be798eSDimitry Andric.Pp
133090be798eSDimitry Andric.Bl -inset -compact
133190be798eSDimitry Andric.It Va WITHOUT_GSSAPI
133290be798eSDimitry Andric(unless
133390be798eSDimitry Andric.Va WITH_GSSAPI
133490be798eSDimitry Andricis set explicitly)
133590be798eSDimitry Andric.El
1336ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1337041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1338ae257282SJohn Baldwin.Pp
1339ae257282SJohn BaldwinThis is a default setting on
1340cfe244cbSBrooks Davisarm/armv6, arm/armv7, i386/i386, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1341ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1342041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1343ae257282SJohn Baldwin.Pp
1344ae257282SJohn BaldwinThis is a default setting on
1345cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
134690be798eSDimitry Andric.It Va WITHOUT_PAM
1347041c5049SEd MasteDo not build PAM library and modules.
134890be798eSDimitry Andric.Bf -symbolic
134990be798eSDimitry AndricThis option is deprecated and does nothing.
135090be798eSDimitry Andric.Ef
1351bf64e879SBryan DreweryWhen set, these options are also in effect:
135290be798eSDimitry Andric.Pp
1353bf64e879SBryan Drewery.Bl -inset -compact
1354bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1355bf64e879SBryan Drewery(unless
1356bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1357bf64e879SBryan Dreweryis set explicitly)
135890be798eSDimitry Andric.El
135990be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1360041c5049SEd MasteBuild some programs without PAM support, particularly
136190be798eSDimitry Andric.Xr ftpd 8
136290be798eSDimitry Andricand
136390be798eSDimitry Andric.Xr ppp 8 .
136490be798eSDimitry Andric.It Va WITHOUT_PF
1365041c5049SEd MasteDo not build PF firewall package.
1366344e2bb9SEd MasteWhen set, it enforces these options:
136790be798eSDimitry Andric.Pp
136890be798eSDimitry Andric.Bl -item -compact
136990be798eSDimitry Andric.It
137090be798eSDimitry Andric.Va WITHOUT_AUTHPF
137190be798eSDimitry Andric.El
1372ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1373ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1374b3a27c81SEd MastePosition-Independent Executable (PIE).
13753f9c1b2cSEd Maste.Pp
13763f9c1b2cSEd MasteThis is a default setting on
13773f9c1b2cSEd Mastearm/armv6, arm/armv7, i386/i386 and powerpc/powerpc.
13783f9c1b2cSEd Maste.It Va WITH_PIE
13793f9c1b2cSEd MasteBuild dynamically linked binaries as
13803f9c1b2cSEd MastePosition-Independent Executable (PIE).
13813f9c1b2cSEd Maste.Pp
13823f9c1b2cSEd MasteThis is a default setting on
13833f9c1b2cSEd Masteamd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
138490be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1385041c5049SEd MasteDo not build
138690be798eSDimitry Andric.Xr pkg 7
138790be798eSDimitry Andricbootstrap tool.
138890be798eSDimitry Andric.It Va WITHOUT_PMC
1389041c5049SEd MasteDo not build
139090be798eSDimitry Andric.Xr pmccontrol 8
139190be798eSDimitry Andricand related programs.
139290be798eSDimitry Andric.It Va WITHOUT_PORTSNAP
1393041c5049SEd MasteDo not build or install
139490be798eSDimitry Andric.Xr portsnap 8
139590be798eSDimitry Andricand related files.
139690be798eSDimitry Andric.It Va WITHOUT_PPP
1397041c5049SEd MasteDo not build
139890be798eSDimitry Andric.Xr ppp 8
139990be798eSDimitry Andricand related programs.
14004c033a73SEnji Cooper.It Va WITH_PROFILE
1401041c5049SEd MasteBuild profiled libraries for use with
14024c033a73SEnji Cooper.Xr gprof 8 .
140313cf4313SEd MasteThis option is deprecated and may not be present in a future version of
140413cf4313SEd Maste.Fx .
140590be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1406041c5049SEd MasteDo not build
140723a6b49aSEdward Tomasz Napierala.Xr quota 1
140890be798eSDimitry Andricand related programs.
14090e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1410041c5049SEd MasteDo not build radius support into various applications, like
14110e0e9604SEnji Cooper.Xr pam_radius 8
14120e0e9604SEnji Cooperand
14130e0e9604SEnji Cooper.Xr ppp 8 .
141488342134SEnji Cooper.It Va WITH_RATELIMIT
1415041c5049SEd MasteBuild the system with rate limit support.
141688342134SEnji Cooper.Pp
141788342134SEnji CooperThis makes
141888342134SEnji Cooper.Dv SO_MAX_PACING_RATE
141988342134SEnji Coopereffective in
142088342134SEnji Cooper.Xr getsockopt 2 ,
142188342134SEnji Cooperand
142288342134SEnji Cooper.Ar txrlimit
142388342134SEnji Coopersupport in
142488342134SEnji Cooper.Xr ifconfig 8 ,
142588342134SEnji Cooperby proxy.
14260e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1427041c5049SEd MasteDo not build or install
14280e0e9604SEnji Cooper.Xr rbootd 8 .
1429a8af3aeeSEd Maste.It Va WITHOUT_RELRO
1430a8af3aeeSEd MasteDo not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1431a8af3aeeSEd MasteSee also the
1432a8af3aeeSEd Maste.Va BIND_NOW
1433a8af3aeeSEd Masteoption.
143485d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1435041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
143685d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
143785d55309SEd Mastebit-for-bit identical output.
143890be798eSDimitry Andric.It Va WITHOUT_RESCUE
1439041c5049SEd MasteDo not build
144090be798eSDimitry Andric.Xr rescue 8 .
14418ccac680SEd Maste.It Va WITH_RETPOLINE
1442041c5049SEd MasteBuild the base system with the retpoline speculative execution
14438ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
144490be798eSDimitry Andric.It Va WITHOUT_ROUTED
1445041c5049SEd MasteDo not build
144690be798eSDimitry Andric.Xr routed 8
144790be798eSDimitry Andricutility.
14484c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1449041c5049SEd MasteBuild
14504c033a73SEnji Cooper.Xr rpcbind 8
14514c033a73SEnji Cooperwith warmstart support.
1452c5819624SEd Maste.It Va WITHOUT_SCTP_SUPPORT
1453c5819624SEd MasteDisable support in the kernel for the
1454c5819624SEd Maste.Xr sctp 4
1455c5819624SEd MasteStream Control Transmission Protocol
1456c5819624SEd Masteloadable kernel module.
145790be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1458041c5049SEd MasteDo not build
145990be798eSDimitry Andric.Xr sendmail 8
146090be798eSDimitry Andricand related programs.
1461e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1462041c5049SEd MasteDo not install
1463e8788097SKonstantin Belousov.Pa /var/db/services.db .
146490be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
146590be798eSDimitry AndricSet this to disable the installation of
146690be798eSDimitry Andric.Xr login 1
146790be798eSDimitry Andricas a set-user-ID root program.
146890be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1469041c5049SEd MasteDo not build the
147090be798eSDimitry Andric.Bx 4.4
147190be798eSDimitry Andriclegacy docs.
14726ab18ea6SDimitry Andric.It Va WITHOUT_SHARED_TOOLCHAIN
1473041c5049SEd MasteBuild the toolchain binaries as statically linked executables.
147490be798eSDimitry AndricThe set includes
147590be798eSDimitry Andric.Xr cc 1 ,
147690be798eSDimitry Andric.Xr make 1
147790be798eSDimitry Andricand necessary utilities like assembler, linker and library archive manager.
147890be798eSDimitry Andric.It Va WITH_SORT_THREADS
1479041c5049SEd MasteEnable threads in
148090be798eSDimitry Andric.Xr sort 1 .
148190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1482041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1483344e2bb9SEd MasteWhen set, it enforces these options:
148490be798eSDimitry Andric.Pp
148590be798eSDimitry Andric.Bl -item -compact
148690be798eSDimitry Andric.It
148790be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
148890be798eSDimitry Andric.It
148990be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
149090be798eSDimitry Andric.El
149190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1492041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
149390be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1494041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
1495330b7dccSEd Maste.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1496330b7dccSEd MasteDo not build standalone kernel debug files.
1497330b7dccSEd MasteDebug data (if enabled by the kernel configuration file)
1498330b7dccSEd Mastewill be included in the kernel and modules.
1499330b7dccSEd MasteWhen set, it enforces these options:
1500330b7dccSEd Maste.Pp
1501330b7dccSEd Maste.Bl -item -compact
1502330b7dccSEd Maste.It
1503330b7dccSEd Maste.Va WITHOUT_KERNEL_SYMBOLS
1504330b7dccSEd Maste.El
150590be798eSDimitry Andric.It Va WITHOUT_SSP
1506041c5049SEd MasteDo not build world with propolice stack smashing protection.
1507cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1508cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1509cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1510cc2520d2SSimon J. Gerraty.Va DESTDIR
1511cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1512cc2520d2SSimon J. GerratyDepends on
151332b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1514344e2bb9SEd MasteWhen set, these options are also in effect:
1515cc2520d2SSimon J. Gerraty.Pp
1516cc2520d2SSimon J. Gerraty.Bl -inset -compact
1517cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1518cc2520d2SSimon J. Gerraty(unless
1519cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1520cc2520d2SSimon J. Gerratyis set explicitly)
1521cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1522cc2520d2SSimon J. Gerraty(unless
1523cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1524cc2520d2SSimon J. Gerratyis set explicitly)
1525cc2520d2SSimon J. Gerraty.El
15260a70ef02SBryan Drewery.Pp
1527ba852870SBryan DreweryThis must be set in the environment, make command line, or
15280a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15290a70ef02SBryan Drewerynot
15300a70ef02SBryan Drewery.Pa /etc/src.conf .
1531cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1532344e2bb9SEd MasteEnable staging of man pages to stage tree.
1533cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1534cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1535cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1536cc2520d2SSimon J. GerratyCheck staged files are not stale.
1537de19b521SDimitry Andric.It Va WITHOUT_STATS
1538041c5049SEd MasteNeither build nor install
1539de19b521SDimitry Andric.Lb libstats
1540de19b521SDimitry Andricand dependent binaries.
154190be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1542041c5049SEd MasteDo not build
154390be798eSDimitry Andric.Xr syscons 4
154490be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1545cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1546cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1547cc2520d2SSimon J. GerratyDepends on
154832b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
15490a70ef02SBryan Drewery.Pp
1550ba852870SBryan DreweryThis must be set in the environment, make command line, or
15510a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15520a70ef02SBryan Drewerynot
15530a70ef02SBryan Drewery.Pa /etc/src.conf .
15548095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1555041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1556a9da9b86SBryan Drewerybootstrap phase of the build.
15578095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
15588095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1559a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1560a9da9b86SBryan Dreweryonly for building one for the build itself.
1561a9da9b86SBryan DreweryThe
1562a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1563a5798ec8SEd Masteoption controls that.
1564be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1565041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1566be9309deSBryan Drewerybootstrap phase of the build.
1567be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1568be9309deSBryan Drewerylinker type and revision, then it will not be built.
1569be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1570be9309deSBryan Dreweryonly for building one for the build itself.
1571be9309deSBryan DreweryThe
1572be9309deSBryan Drewery.Va WITHOUT_LLD
15732ea16071SEd Masteoption controls that.
1574be9309deSBryan Drewery.Pp
1575be9309deSBryan DreweryThis option is only relevant when
1576be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1577be9309deSBryan Dreweryis set.
157893da8366SEnji Cooper.It Va WITHOUT_TALK
1579041c5049SEd MasteDo not build or install
158093da8366SEnji Cooper.Xr talk 1
158193da8366SEnji Cooperand
158293da8366SEnji Cooper.Xr talkd 8 .
15830e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1584041c5049SEd MasteDo not build or install
15850e0e9604SEnji Cooper.Xr tcpd 8 ,
15860e0e9604SEnji Cooperand related utilities.
158790be798eSDimitry Andric.It Va WITHOUT_TCSH
1588041c5049SEd MasteDo not build and install
158990be798eSDimitry Andric.Pa /bin/csh
159090be798eSDimitry Andric(which is
159190be798eSDimitry Andric.Xr tcsh 1 ) .
159290be798eSDimitry Andric.It Va WITHOUT_TELNET
1593041c5049SEd MasteDo not build
159423a6b49aSEdward Tomasz Napierala.Xr telnet 1
159590be798eSDimitry Andricand related programs.
159618c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1597041c5049SEd MasteDo not build nor install the
159890be798eSDimitry Andric.Fx
159990be798eSDimitry AndricTest Suite in
160090be798eSDimitry Andric.Pa /usr/tests/ .
160190be798eSDimitry AndricSee
160290be798eSDimitry Andric.Xr tests 7
160390be798eSDimitry Andricfor more details.
160418c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1605344e2bb9SEd MasteWhen set, it enforces these options:
1606c5d09a87SGlen Barber.Pp
1607c5d09a87SGlen Barber.Bl -item -compact
1608c5d09a87SGlen Barber.It
160916f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1610bf64e879SBryan Drewery.El
1611bf64e879SBryan Drewery.Pp
1612bf64e879SBryan DreweryWhen set, these options are also in effect:
1613bf64e879SBryan Drewery.Pp
1614bf64e879SBryan Drewery.Bl -inset -compact
16157840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
16167840b63aSEnji Cooper(unless
16177840b63aSEnji Cooper.Va WITH_GOOGLETEST
16187840b63aSEnji Cooperis set explicitly)
1619bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1620bf64e879SBryan Drewery(unless
1621bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1622bf64e879SBryan Dreweryis set explicitly)
1623c5d09a87SGlen Barber.El
1624c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1625041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
16267840b63aSEnji CooperWhen set, it enforces these options:
16277840b63aSEnji Cooper.Pp
16287840b63aSEnji Cooper.Bl -item -compact
16297840b63aSEnji Cooper.It
16307840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
16317840b63aSEnji Cooper.El
163290be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1633041c5049SEd MasteDo not build
163490be798eSDimitry Andricprograms used for text processing.
16350e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1636041c5049SEd MasteDo not build or install
16370e0e9604SEnji Cooper.Xr tftp 1
16380e0e9604SEnji Cooperand
16390e0e9604SEnji Cooper.Xr tftpd 8 .
164090be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
1641041c5049SEd MasteDo not install header or
164290be798eSDimitry Andricprograms used for program development,
164390be798eSDimitry Andriccompilers, debuggers etc.
1644344e2bb9SEd MasteWhen set, it enforces these options:
164590be798eSDimitry Andric.Pp
164690be798eSDimitry Andric.Bl -item -compact
164790be798eSDimitry Andric.It
164890be798eSDimitry Andric.Va WITHOUT_CLANG
164990be798eSDimitry Andric.It
165090be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
165190be798eSDimitry Andric.It
165219267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
165319267656SConrad Meyer.It
165490be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
165590be798eSDimitry Andric.It
1656c5d09a87SGlen Barber.Va WITHOUT_INCLUDES
16573d02549fSBryan Drewery.It
16586c2b7edaSEd Maste.Va WITHOUT_LLD
16596c2b7edaSEd Maste.It
16603d02549fSBryan Drewery.Va WITHOUT_LLDB
16615b9c3654SEd Maste.It
16625b9c3654SEd Maste.Va WITHOUT_LLVM_COV
166390be798eSDimitry Andric.El
16640ab89d72SEd Maste.It Va WITH_UBSAN
16650ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
16660ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
16670ab89d72SEd MasteRequires that Clang be used as the base system compiler
16680ab89d72SEd Masteand that the runtime support library is available
166990be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1670041c5049SEd MasteDo not build
167190be798eSDimitry Andric.Xr unbound 8
167290be798eSDimitry Andricand related programs.
1673efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1674041c5049SEd MasteUse the historical object directory format for
1675efb949a6SBryan Drewery.Xr build 7
1676efb949a6SBryan Drewerytargets.
1677efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1678efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1679efb949a6SBryan Dreweryis used,
1680efb949a6SBryan Drewerywhile for cross-builds
1681efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1682efb949a6SBryan Dreweryis used.
1683efb949a6SBryan Drewery.Pp
1684b7f53cdcSEd MasteThis option is transitional and will be removed in a future version of
1685b7f53cdcSEd Maste.Fx ,
1686efb949a6SBryan Dreweryat which time
168716ee5cd1SChristian Brueffer.Va WITH_UNIFIED_OBJDIR
1688efb949a6SBryan Drewerywill be enabled permanently.
1689efb949a6SBryan Drewery.Pp
1690efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1691efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1692efb949a6SBryan Drewerynot
1693efb949a6SBryan Drewery.Pa /etc/src.conf .
169490be798eSDimitry Andric.It Va WITHOUT_USB
1695041c5049SEd MasteDo not build USB-related programs and libraries.
1696c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1697041c5049SEd MasteDo not build USB gadget kernel modules.
169890be798eSDimitry Andric.It Va WITHOUT_UTMPX
1699041c5049SEd MasteDo not build user accounting tools such as
170090be798eSDimitry Andric.Xr last 1 ,
170190be798eSDimitry Andric.Xr users 1 ,
170290be798eSDimitry Andric.Xr who 1 ,
170390be798eSDimitry Andric.Xr ac 8 ,
170490be798eSDimitry Andric.Xr lastlogin 8
170590be798eSDimitry Andricand
170690be798eSDimitry Andric.Xr utx 8 .
1707bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1708bfdf8aa9SJohn BaldwinEnable building
1709bfdf8aa9SJohn Baldwin.Xr veriexec 8
1710bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1711bfdf8aa9SJohn Baldwinfor use by
1712bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1713bfdf8aa9SJohn Baldwin.Pp
1714de19b521SDimitry AndricDepends on
1715de19b521SDimitry Andric.Va WITH_BEARSSL .
171690be798eSDimitry Andric.It Va WITHOUT_VI
1717041c5049SEd MasteDo not build and install vi, view, ex and related programs.
171890be798eSDimitry Andric.It Va WITHOUT_VT
1719041c5049SEd MasteDo not build
172090be798eSDimitry Andric.Xr vt 4
172190be798eSDimitry Andricsupport files (fonts and keymaps).
172290be798eSDimitry Andric.It Va WITHOUT_WARNS
172390be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
172490be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
172590be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1726559f9bfcSJens Schweikhardtoriginal developer.
1727f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1728f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1729f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1730f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
173190be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1732041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
173390be798eSDimitry Andric.Xr wpa_supplicant 8
173490be798eSDimitry Andricand
173590be798eSDimitry Andric.Xr hostapd 8 .
1736bf64e879SBryan DreweryWhen set, these options are also in effect:
173790be798eSDimitry Andric.Pp
1738bf64e879SBryan Drewery.Bl -inset -compact
1739bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1740bf64e879SBryan Drewery(unless
1741bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1742bf64e879SBryan Dreweryis set explicitly)
174390be798eSDimitry Andric.El
174490be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1745041c5049SEd MasteBuild libraries, programs, and kernel modules without
174690be798eSDimitry Andric802.11 wireless support.
174790be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
174890be798eSDimitry AndricBuild
174990be798eSDimitry Andric.Xr wpa_supplicant 8
175090be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
175190be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
175290be798eSDimitry Andricprotocols (usable only via 802.1X).
175390be798eSDimitry Andric.It Va WITHOUT_ZFS
17544be63587SMark JohnstonDo not build the ZFS file system kernel module, libraries such as
17554be63587SMark Johnston.Xr libbe 3 ,
17564be63587SMark Johnstonand user commands such as
17574be63587SMark Johnston.Xr zpool 8
17584be63587SMark Johnstonor
17594be63587SMark Johnston.Xr zfs 8 .
17604be63587SMark JohnstonAlso disable ZFS support in utilities and libraries which implement
17614be63587SMark JohnstonZFS-specific functionality.
17623f9c1b2cSEd Maste.Pp
17633f9c1b2cSEd MasteThis is a default setting on
17643f9c1b2cSEd Mastepowerpc/powerpc.
1765c5819624SEd Maste.It Va WITH_ZFS
1766c5819624SEd MasteBuild the ZFS file system kernel module, libraries, and user commands.
1767c5819624SEd MasteAlso enable ZFS support in utilities and libraries which implement
1768c5819624SEd MasteZFS-specific functionality.
1769c5819624SEd Maste.Pp
1770c5819624SEd MasteThis is a default setting on
1771c5819624SEd Masteamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
177290be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1773041c5049SEd MasteDo not build the timezone database.
17745c021049SEnji CooperWhen set, it enforces these options:
17755c021049SEnji Cooper.Pp
17765c021049SEnji Cooper.Bl -item -compact
17775c021049SEnji Cooper.It
17785c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
17795c021049SEnji Cooper.El
17805c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1781041c5049SEd MasteBuild leapsecond information in to the timezone database.
178290be798eSDimitry Andric.El
178390be798eSDimitry Andric.Sh FILES
178490be798eSDimitry Andric.Bl -tag -compact -width Pa
178590be798eSDimitry Andric.It Pa /etc/src.conf
17860a70ef02SBryan Drewery.It Pa /etc/src-env.conf
178790be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
178890be798eSDimitry Andric.El
178990be798eSDimitry Andric.Sh SEE ALSO
179090be798eSDimitry Andric.Xr make 1 ,
179190be798eSDimitry Andric.Xr make.conf 5 ,
179290be798eSDimitry Andric.Xr build 7 ,
179390be798eSDimitry Andric.Xr ports 7
179490be798eSDimitry Andric.Sh HISTORY
179590be798eSDimitry AndricThe
179690be798eSDimitry Andric.Nm
179790be798eSDimitry Andricfile appeared in
179890be798eSDimitry Andric.Fx 7.0 .
179990be798eSDimitry Andric.Sh AUTHORS
180088342134SEnji CooperThis manual page was autogenerated by
1801a121d3a8SEnji Cooper.An tools/build/options/makeman .
1802