xref: /freebsd/share/man/man5/src.conf.5 (revision a9d0665bbba528efcce56333a9a58d18ffb3a108)
1b1a0e564SEitan Adler.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman.
296aedfd5SEd Maste.Dd April 5, 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.
129fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUDIT
130041c5049SEd MasteDo not build audit support into system programs.
131fa07cb9cSRuslan Ermilov.It Va WITHOUT_AUTHPF
132041c5049SEd MasteDo not build
133fa07cb9cSRuslan Ermilov.Xr authpf 8 .
13461940879SEnji Cooper.It Va WITHOUT_AUTOFS
135041c5049SEd MasteDo not build
1364b9f77e4SEdward Tomasz Napierala.Xr autofs 5
13761940879SEnji Cooperrelated programs, libraries, and kernel modules.
138906a1c6cSBryan Drewery.It Va WITHOUT_AUTO_OBJ
139906a1c6cSBryan DreweryDisable automatic creation of objdirs.
140906a1c6cSBryan DreweryThis is enabled by default if the wanted OBJDIR is writable by the current user.
1410a70ef02SBryan Drewery.Pp
142ba852870SBryan DreweryThis must be set in the environment, make command line, or
1430a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
1440a70ef02SBryan Drewerynot
1450a70ef02SBryan Drewery.Pa /etc/src.conf .
146bfdf8aa9SJohn Baldwin.It Va WITH_BEARSSL
147bfdf8aa9SJohn BaldwinBuild the BearSSL library.
148bfdf8aa9SJohn Baldwin.Pp
149bfdf8aa9SJohn BaldwinBearSSL is a tiny SSL library suitable for embedded environments.
150bfdf8aa9SJohn BaldwinFor details see
1512ec9a427SPiotr Kubaj.Lk https://www.BearSSL.org/
152bfdf8aa9SJohn Baldwin.Pp
153bfdf8aa9SJohn BaldwinThis library is currently only used to perform
154bfdf8aa9SJohn Baldwinsignature verification and related operations
155bfdf8aa9SJohn Baldwinfor Verified Exec and
156bfdf8aa9SJohn Baldwin.Xr loader 8 .
157bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
158bfdf8aa9SJohn Baldwin.Pp
159bfdf8aa9SJohn Baldwin.Bl -inset -compact
160bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
161bfdf8aa9SJohn Baldwin(unless
162bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
163bfdf8aa9SJohn Baldwinis set explicitly)
164bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
165bfdf8aa9SJohn Baldwin(unless
166bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_VERIEXEC
167bfdf8aa9SJohn Baldwinis set explicitly)
168f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
169f87a2082SEd Maste(unless
170f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
171f87a2082SEd Masteis set explicitly)
172bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
173bfdf8aa9SJohn Baldwin(unless
174bfdf8aa9SJohn Baldwin.Va WITHOUT_VERIEXEC
175bfdf8aa9SJohn Baldwinis set explicitly)
176bfdf8aa9SJohn Baldwin.El
17761940879SEnji Cooper.It Va WITHOUT_BHYVE
178041c5049SEd MasteDo not build or install
17961940879SEnji Cooper.Xr bhyve 8 ,
18061940879SEnji Cooperassociated utilities, and examples.
18161940879SEnji Cooper.Pp
18261940879SEnji CooperThis option only affects amd64/amd64.
183483d953aSJohn Baldwin.It Va WITH_BHYVE_SNAPSHOT
184041c5049SEd MasteInclude support for save and restore (snapshots) in
185483d953aSJohn Baldwin.Xr bhyve 8
186483d953aSJohn Baldwinand
187483d953aSJohn Baldwin.Xr bhyvectl 8 .
188483d953aSJohn Baldwin.Pp
189483d953aSJohn BaldwinThis option only affects amd64/amd64.
1901f3b049dSEd Maste.It Va WITH_BIND_NOW
1911f3b049dSEd MasteBuild all binaries with the
1921f3b049dSEd Maste.Dv DF_BIND_NOW
1931f3b049dSEd Masteflag set to indicate that the run-time loader should perform all relocation
1941f3b049dSEd Masteprocessing at process startup rather than on demand.
195a8af3aeeSEd MasteThe combination of the
196a8af3aeeSEd Maste.Va BIND_NOW
197a8af3aeeSEd Masteand
198a8af3aeeSEd Maste.Va RELRO
199a8af3aeeSEd Masteoptions provide "full" Relocation Read-Only (RELRO) support.
200a8af3aeeSEd MasteWith full RELRO the entire GOT is made read-only after performing relocation at
201a8af3aeeSEd Mastestartup, avoiding GOT overwrite attacks.
2020341a043SBryan Drewery.It Va WITHOUT_BLACKLIST
2034650b8aeSEnji CooperSet this if you do not want to build
2044650b8aeSEnji Cooper.Xr blacklistd 8
2054650b8aeSEnji Cooperand
2064650b8aeSEnji Cooper.Xr blacklistctl 8 .
207bf64e879SBryan DreweryWhen set, these options are also in effect:
2080341a043SBryan Drewery.Pp
209bf64e879SBryan Drewery.Bl -inset -compact
210bf64e879SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
211bf64e879SBryan Drewery(unless
212bf64e879SBryan Drewery.Va WITH_BLACKLIST_SUPPORT
213bf64e879SBryan Dreweryis set explicitly)
2140341a043SBryan Drewery.El
2150341a043SBryan Drewery.It Va WITHOUT_BLACKLIST_SUPPORT
216041c5049SEd MasteBuild some programs without
2174650b8aeSEnji Cooper.Xr libblacklist 3
2184650b8aeSEnji Coopersupport, like
2190341a043SBryan Drewery.Xr fingerd 8 ,
2200341a043SBryan Drewery.Xr ftpd 8 ,
2210341a043SBryan Dreweryand
2220341a043SBryan Drewery.Xr sshd 8 .
22390be798eSDimitry Andric.It Va WITHOUT_BLUETOOTH
224041c5049SEd MasteDo not build Bluetooth related kernel modules, programs and libraries.
22590be798eSDimitry Andric.It Va WITHOUT_BOOT
226041c5049SEd MasteDo not build the boot blocks and loader.
2270e0e9604SEnji Cooper.It Va WITHOUT_BOOTPARAMD
228041c5049SEd MasteDo not build or install
2290e0e9604SEnji Cooper.Xr bootparamd 8 .
2300e0e9604SEnji Cooper.It Va WITHOUT_BOOTPD
231041c5049SEd MasteDo not build or install
2320e0e9604SEnji Cooper.Xr bootpd 8 .
23393da8366SEnji Cooper.It Va WITHOUT_BSDINSTALL
234041c5049SEd MasteDo not build
23593da8366SEnji Cooper.Xr bsdinstall 8 ,
23693da8366SEnji Cooper.Xr sade 8 ,
23793da8366SEnji Cooperand related programs.
23890be798eSDimitry Andric.It Va WITHOUT_BSD_CPIO
239041c5049SEd MasteDo not build the BSD licensed version of cpio based on
24090be798eSDimitry Andric.Xr libarchive 3 .
24190be798eSDimitry Andric.It Va WITHOUT_BSNMP
242041c5049SEd MasteDo not build or install
24390be798eSDimitry Andric.Xr bsnmpd 1
24490be798eSDimitry Andricand related libraries and data files.
24590be798eSDimitry Andric.It Va WITHOUT_BZIP2
246041c5049SEd MasteDo not build contributed bzip2 software as a part of the base system.
24790be798eSDimitry Andric.Bf -symbolic
24890be798eSDimitry AndricThe option has no effect yet.
24990be798eSDimitry Andric.Ef
250bf64e879SBryan DreweryWhen set, these options are also in effect:
25190be798eSDimitry Andric.Pp
252bf64e879SBryan Drewery.Bl -inset -compact
253bf64e879SBryan Drewery.It Va WITHOUT_BZIP2_SUPPORT
254bf64e879SBryan Drewery(unless
255bf64e879SBryan Drewery.Va WITH_BZIP2_SUPPORT
256bf64e879SBryan Dreweryis set explicitly)
25790be798eSDimitry Andric.El
25890be798eSDimitry Andric.It Va WITHOUT_BZIP2_SUPPORT
259041c5049SEd MasteBuild some programs without optional bzip2 support.
260fd1efedcSConrad Meyer.It Va WITHOUT_CALENDAR
261041c5049SEd MasteDo not build
262fd1efedcSConrad Meyer.Xr calendar 1 .
26390be798eSDimitry Andric.It Va WITHOUT_CAPSICUM
264041c5049SEd MasteDo not build Capsicum support into system programs.
265344e2bb9SEd MasteWhen set, it enforces these options:
266aced6942SBaptiste Daroussin.Pp
267aced6942SBaptiste Daroussin.Bl -item -compact
268aced6942SBaptiste Daroussin.It
269aced6942SBaptiste Daroussin.Va WITHOUT_CASPER
270aced6942SBaptiste Daroussin.El
271de19b521SDimitry Andric.It Va WITHOUT_CAROOT
272041c5049SEd MasteDo not add the trusted certificates from the Mozilla NSS bundle to
273de19b521SDimitry Andricbase.
27490be798eSDimitry Andric.It Va WITHOUT_CASPER
275041c5049SEd MasteDo not build Casper program and related libraries.
2761c01e4f8SBryan Drewery.It Va WITH_CCACHE_BUILD
277041c5049SEd MasteUse
2781c01e4f8SBryan Drewery.Xr ccache 1
2791c01e4f8SBryan Dreweryfor the build.
2801c01e4f8SBryan DreweryNo configuration is required except to install the
2811c01e4f8SBryan Drewery.Sy devel/ccache
2821c01e4f8SBryan Drewerypackage.
283344e2bb9SEd MasteWhen using with
284344e2bb9SEd Maste.Xr distcc 1 ,
285344e2bb9SEd Masteset
2861c01e4f8SBryan Drewery.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
2871c01e4f8SBryan DreweryThe default cache directory of
2881c01e4f8SBryan Drewery.Pa $HOME/.ccache
2891c01e4f8SBryan Drewerywill be used, which can be overridden by setting
2901c01e4f8SBryan Drewery.Sy CCACHE_DIR .
2911c01e4f8SBryan DreweryThe
2921c01e4f8SBryan Drewery.Sy CCACHE_COMPILERCHECK
2931c01e4f8SBryan Dreweryoption defaults to
2941c01e4f8SBryan Drewery.Sy content
2951c01e4f8SBryan Drewerywhen using the in-tree bootstrap compiler,
2961c01e4f8SBryan Dreweryand
2971c01e4f8SBryan Drewery.Sy mtime
2981c01e4f8SBryan Drewerywhen using an external compiler.
2991c01e4f8SBryan DreweryThe
3001c01e4f8SBryan Drewery.Sy CCACHE_CPP2
3011c01e4f8SBryan Dreweryoption is used for Clang but not GCC.
3021c01e4f8SBryan Drewery.Pp
3031c01e4f8SBryan DrewerySharing a cache between multiple work directories requires using a layout
3041c01e4f8SBryan Drewerysimilar to
3051c01e4f8SBryan Drewery.Pa /some/prefix/src
3061c01e4f8SBryan Drewery.Pa /some/prefix/obj
3071c01e4f8SBryan Dreweryand an environment such as:
3081c01e4f8SBryan Drewery.Bd -literal -offset indent
3091c01e4f8SBryan DreweryCCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
3101c01e4f8SBryan Drewery.Ed
3111c01e4f8SBryan Drewery.Pp
3121c01e4f8SBryan DrewerySee
3131c01e4f8SBryan Drewery.Xr ccache 1
3141c01e4f8SBryan Dreweryfor more configuration options.
31593da8366SEnji Cooper.It Va WITHOUT_CCD
316041c5049SEd MasteDo not build
31793da8366SEnji Cooper.Xr geom_ccd 4
31893da8366SEnji Cooperand related utilities.
31990be798eSDimitry Andric.It Va WITHOUT_CDDL
320041c5049SEd MasteDo not build code licensed under Sun's CDDL.
321344e2bb9SEd MasteWhen set, it enforces these options:
32290be798eSDimitry Andric.Pp
32390be798eSDimitry Andric.Bl -item -compact
32490be798eSDimitry Andric.It
32590be798eSDimitry Andric.Va WITHOUT_CTF
32690be798eSDimitry Andric.It
3273bf66365SBrooks Davis.Va WITHOUT_DTRACE
3283bf66365SBrooks Davis.It
3291f7d1483SEd Maste.Va WITHOUT_LOADER_ZFS
3301f7d1483SEd Maste.It
33190be798eSDimitry Andric.Va WITHOUT_ZFS
33290be798eSDimitry Andric.El
33390be798eSDimitry Andric.It Va WITHOUT_CLANG
334041c5049SEd MasteDo not build the Clang C/C++ compiler during the regular phase of the build.
335344e2bb9SEd MasteWhen set, it enforces these options:
33690be798eSDimitry Andric.Pp
33790be798eSDimitry Andric.Bl -item -compact
33890be798eSDimitry Andric.It
33990be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
34090be798eSDimitry Andric.It
34119267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
34219267656SConrad Meyer.It
34390be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
3445b9c3654SEd Maste.It
3455b9c3654SEd Maste.Va WITHOUT_LLVM_COV
34690be798eSDimitry Andric.El
347ac56b22fSEd Maste.Pp
348ac56b22fSEd MasteWhen set, these options are also in effect:
349ac56b22fSEd Maste.Pp
350ac56b22fSEd Maste.Bl -inset -compact
351ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_AARCH64
352ac56b22fSEd Maste(unless
353ac56b22fSEd Maste.Va WITH_LLVM_TARGET_AARCH64
354ac56b22fSEd Masteis set explicitly)
355ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ALL
356ac56b22fSEd Maste(unless
357ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ALL
358ac56b22fSEd Masteis set explicitly)
359ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_ARM
360ac56b22fSEd Maste(unless
361ac56b22fSEd Maste.Va WITH_LLVM_TARGET_ARM
362ac56b22fSEd Masteis set explicitly)
363ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_POWERPC
364ac56b22fSEd Maste(unless
365ac56b22fSEd Maste.Va WITH_LLVM_TARGET_POWERPC
366ac56b22fSEd Masteis set explicitly)
367ac56b22fSEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
368ac56b22fSEd Maste(unless
369ac56b22fSEd Maste.Va WITH_LLVM_TARGET_RISCV
370ac56b22fSEd Masteis set explicitly)
371ac56b22fSEd Maste.El
37290be798eSDimitry Andric.It Va WITHOUT_CLANG_BOOTSTRAP
373041c5049SEd MasteDo not build the Clang C/C++ compiler during the bootstrap phase of
374344e2bb9SEd Mastethe build.
375344e2bb9SEd MasteTo be able to build the system, either gcc or clang bootstrap must be
376344e2bb9SEd Masteenabled unless an alternate compiler is provided via XCC.
37790be798eSDimitry Andric.It Va WITH_CLANG_EXTRAS
378041c5049SEd MasteBuild additional clang and llvm tools, such as bugpoint and
379b3a27c81SEd Masteclang-format.
38019267656SConrad Meyer.It Va WITH_CLANG_FORMAT
381041c5049SEd MasteBuild clang-format.
38290be798eSDimitry Andric.It Va WITHOUT_CLANG_FULL
383041c5049SEd MasteAvoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
38490be798eSDimitry Andricthe Clang C/C++ compiler.
385f83a16e0SEd Maste.It Va WITHOUT_CLEAN
386f83a16e0SEd MasteDo not clean before building world and/or kernel.
38790be798eSDimitry Andric.It Va WITHOUT_CPP
388041c5049SEd MasteDo not build
38990be798eSDimitry Andric.Xr cpp 1 .
39090be798eSDimitry Andric.It Va WITHOUT_CROSS_COMPILER
391041c5049SEd MasteDo not build any cross compiler in the cross-tools stage of buildworld.
392344e2bb9SEd MasteWhen compiling a different version of
39390be798eSDimitry Andric.Fx
394344e2bb9SEd Mastethan what is installed on the system, provide an alternate
39590be798eSDimitry Andriccompiler with XCC to ensure success.
396344e2bb9SEd MasteWhen compiling with an identical version of
39790be798eSDimitry Andric.Fx
39890be798eSDimitry Andricto the host, this option may be safely used.
39990be798eSDimitry AndricThis option may also be safe when the host version of
40090be798eSDimitry Andric.Fx
40190be798eSDimitry Andricis close to the sources being built, but all bets are off if there have
40290be798eSDimitry Andricbeen any changes to the toolchain between the versions.
403344e2bb9SEd MasteWhen set, it enforces these options:
40490be798eSDimitry Andric.Pp
40590be798eSDimitry Andric.Bl -item -compact
40690be798eSDimitry Andric.It
40790be798eSDimitry Andric.Va WITHOUT_CLANG_BOOTSTRAP
40890be798eSDimitry Andric.It
409f972b8a4SBryan Drewery.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
410f972b8a4SBryan Drewery.It
41128f52545SEd Maste.Va WITHOUT_LLD_BOOTSTRAP
41290be798eSDimitry Andric.El
41390be798eSDimitry Andric.It Va WITHOUT_CRYPT
414041c5049SEd MasteDo not build any crypto code.
415344e2bb9SEd MasteWhen set, it enforces these options:
41690be798eSDimitry Andric.Pp
41790be798eSDimitry Andric.Bl -item -compact
41890be798eSDimitry Andric.It
4199f4e04c1SEd Maste.Va WITHOUT_DMAGENT
4209f4e04c1SEd Maste.It
42190be798eSDimitry Andric.Va WITHOUT_KERBEROS
42290be798eSDimitry Andric.It
423fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
424fb27d7aeSEd Maste.It
425da39b3adSEd Maste.Va WITHOUT_LDNS
426da39b3adSEd Maste.It
427da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
428da39b3adSEd Maste.It
429379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
430379954d0SJessica Clarke.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 .
5729e914c7aSJessica Clarke.It Va WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
5739e914c7aSJessica ClarkeBuild
5749e914c7aSJessica Clarke.Xr etdump 1 ,
5759e914c7aSJessica Clarke.Xr makefs 8
5769e914c7aSJessica Clarkeand
5779e914c7aSJessica Clarke.Xr mkimg 1
5789e914c7aSJessica Clarkeas bootstrap tools.
57990be798eSDimitry Andric.It Va WITHOUT_DMAGENT
580041c5049SEd MasteDo not build dma Mail Transport Agent.
58190be798eSDimitry Andric.It Va WITHOUT_DOCCOMPRESS
582041c5049SEd MasteDo not install compressed system documentation.
58390be798eSDimitry AndricOnly the uncompressed version will be installed.
5843bf66365SBrooks Davis.It Va WITHOUT_DTRACE
5853bf66365SBrooks DavisDo not build DTrace framework kernel modules, libraries, and user commands.
5863bf66365SBrooks DavisWhen set, it enforces these options:
5873bf66365SBrooks Davis.Pp
5883bf66365SBrooks Davis.Bl -item -compact
5893bf66365SBrooks Davis.It
5903bf66365SBrooks Davis.Va WITHOUT_CTF
5913bf66365SBrooks Davis.El
59216f3fdf5SMark Johnston.It Va WITH_DTRACE_TESTS
593041c5049SEd MasteBuild and install the DTrace test suite in
59416f3fdf5SMark Johnston.Pa /usr/tests/cddl/usr.sbin/dtrace .
59516f3fdf5SMark JohnstonThis test suite is considered experimental on architectures other than
59616f3fdf5SMark Johnstonamd64/amd64 and running it may cause system instability.
59790be798eSDimitry Andric.It Va WITHOUT_DYNAMICROOT
59890be798eSDimitry AndricSet this if you do not want to link
59990be798eSDimitry Andric.Pa /bin
60090be798eSDimitry Andricand
60190be798eSDimitry Andric.Pa /sbin
60290be798eSDimitry Andricdynamically.
60393da8366SEnji Cooper.It Va WITHOUT_EE
604041c5049SEd MasteDo not build and install
60593da8366SEnji Cooper.Xr edit 1 ,
60693da8366SEnji Cooper.Xr ee 1 ,
60793da8366SEnji Cooperand related programs.
6080cd582c8SEnji Cooper.It Va WITHOUT_EFI
6090cd582c8SEnji CooperSet not to build
6100cd582c8SEnji Cooper.Xr efivar 3
6110cd582c8SEnji Cooperand
6120cd582c8SEnji Cooper.Xr efivar 8 .
6130cd582c8SEnji Cooper.Pp
614344e2bb9SEd MasteThis is a default setting on
6153f9c1b2cSEd Mastepowerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
6160cd582c8SEnji Cooper.It Va WITH_EFI
617041c5049SEd MasteBuild
6180cd582c8SEnji Cooper.Xr efivar 3
6190cd582c8SEnji Cooperand
6200cd582c8SEnji Cooper.Xr efivar 8 .
6210cd582c8SEnji Cooper.Pp
622344e2bb9SEd MasteThis is a default setting on
6233f9c1b2cSEd Masteamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
6245977355fSBryan Drewery.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
625041c5049SEd MasteDo not build ELF Tool Chain tools
6265977355fSBryan Drewery(addr2line, nm, size, strings and strip)
6275977355fSBryan Dreweryas part of the bootstrap process.
6285977355fSBryan Drewery.Bf -symbolic
6295977355fSBryan DreweryAn alternate bootstrap tool chain must be provided.
6305977355fSBryan Drewery.Ef
63190be798eSDimitry Andric.It Va WITHOUT_EXAMPLES
632041c5049SEd MasteAvoid installing examples to
63390be798eSDimitry Andric.Pa /usr/share/examples/ .
63443f75d57SBjoern A. Zeeb.It Va WITH_EXPERIMENTAL
635041c5049SEd MasteInclude experimental features in the build.
636d5a2667bSJonathan T. Looney.It Va WITH_EXTRA_TCP_STACKS
637041c5049SEd MasteBuild extra TCP stack modules.
6383f9c1b2cSEd Maste.It Va WITHOUT_FDT
6393f9c1b2cSEd MasteDo not build Flattened Device Tree support as part of the base system.
6403f9c1b2cSEd MasteThis includes the device tree compiler (dtc) and libfdt support library.
6413f9c1b2cSEd Maste.Pp
6423f9c1b2cSEd MasteThis is a default setting on
6433f9c1b2cSEd Masteamd64/amd64 and i386/i386.
644a8af3aeeSEd Maste.It Va WITH_FDT
645a8af3aeeSEd MasteBuild Flattened Device Tree support as part of the base system.
64690be798eSDimitry AndricThis includes the device tree compiler (dtc) and libfdt support library.
6473f9c1b2cSEd Maste.Pp
6483f9c1b2cSEd MasteThis is a default setting on
6493f9c1b2cSEd Mastearm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
6500e0e9604SEnji Cooper.It Va WITHOUT_FILE
651041c5049SEd MasteDo not build
6520e0e9604SEnji Cooper.Xr file 1
6530e0e9604SEnji Cooperand related programs.
6540e0e9604SEnji Cooper.It Va WITHOUT_FINGER
655041c5049SEd MasteDo not build or install
6560e0e9604SEnji Cooper.Xr finger 1
6570e0e9604SEnji Cooperand
6580e0e9604SEnji Cooper.Xr fingerd 8 .
65990be798eSDimitry Andric.It Va WITHOUT_FLOPPY
660041c5049SEd MasteDo not build or install programs
66190be798eSDimitry Andricfor operating floppy disk driver.
662a0f6423bSEd Maste.It Va WITHOUT_FORMAT_EXTENSIONS
663041c5049SEd MasteDo not enable
664a0f6423bSEd Maste.Fl fformat-extensions
665a0f6423bSEd Mastewhen compiling the kernel.
666a0f6423bSEd MasteAlso disables all format checking.
66790be798eSDimitry Andric.It Va WITHOUT_FORTH
668041c5049SEd MasteBuild bootloaders without Forth support.
66990be798eSDimitry Andric.It Va WITHOUT_FP_LIBC
670041c5049SEd MasteBuild
67190be798eSDimitry Andric.Nm libc
67290be798eSDimitry Andricwithout floating-point support.
67390be798eSDimitry Andric.It Va WITHOUT_FREEBSD_UPDATE
674041c5049SEd MasteDo not build
67590be798eSDimitry Andric.Xr freebsd-update 8 .
6760e0e9604SEnji Cooper.It Va WITHOUT_FTP
677041c5049SEd MasteDo not build or install
6780e0e9604SEnji Cooper.Xr ftp 1
6790e0e9604SEnji Cooperand
6800e0e9604SEnji Cooper.Xr ftpd 8 .
68190be798eSDimitry Andric.It Va WITHOUT_GAMES
682041c5049SEd MasteDo not build games.
683160ea953SStefan Eßer.It Va WITHOUT_GH_BC
684041c5049SEd MasteInstall the traditional FreeBSD
68568c8c1a7SStefan Eßer.Xr bc 1
686160ea953SStefan Eßerand
68768c8c1a7SStefan Eßer.Xr dc 1
688041c5049SEd Masteprograms instead of the enhanced versions.
68936e8c7bbSEd Maste.It Va WITHOUT_GNU_DIFF
690041c5049SEd MasteDo not build GNU
69136e8c7bbSEd Maste.Xr diff3 1 .
6927840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
693041c5049SEd MasteNeither build nor install
6947840b63aSEnji Cooper.Lb libgmock ,
6957840b63aSEnji Cooper.Lb libgtest ,
6967840b63aSEnji Cooperand dependent tests.
69790be798eSDimitry Andric.It Va WITHOUT_GPIO
698041c5049SEd MasteDo not build
69990be798eSDimitry Andric.Xr gpioctl 8
70090be798eSDimitry Andricas part of the base system.
70190be798eSDimitry Andric.It Va WITHOUT_GSSAPI
702041c5049SEd MasteDo not build libgssapi.
70361940879SEnji Cooper.It Va WITHOUT_HAST
704041c5049SEd MasteDo not build
70561940879SEnji Cooper.Xr hastd 8
70661940879SEnji Cooperand related utilities.
70790be798eSDimitry Andric.It Va WITH_HESIOD
708041c5049SEd MasteBuild Hesiod support.
70990be798eSDimitry Andric.It Va WITHOUT_HTML
710041c5049SEd MasteDo not build HTML docs.
7112c4b4abcSXin LI.It Va WITHOUT_HYPERV
712041c5049SEd MasteDo not build or install HyperV utilities.
7130543ade3SBrooks Davis.Pp
7140543ade3SBrooks DavisThis is a default setting on
71507853c6cSEd Mastearm/armv6, arm/armv7, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
7160543ade3SBrooks Davis.It Va WITH_HYPERV
717041c5049SEd MasteBuild or install HyperV utilities.
7180543ade3SBrooks Davis.Pp
7190543ade3SBrooks DavisThis is a default setting on
72007853c6cSEd Masteamd64/amd64, arm64/aarch64 and i386/i386.
72190be798eSDimitry Andric.It Va WITHOUT_ICONV
722041c5049SEd MasteDo not build iconv as part of libc.
723c5d09a87SGlen Barber.It Va WITHOUT_INCLUDES
724041c5049SEd MasteDo not install header files.
725c5d09a87SGlen BarberThis option used to be spelled
726c5d09a87SGlen Barber.Va NO_INCS .
727c5d09a87SGlen Barber.Bf -symbolic
728c5d09a87SGlen BarberThe option does not work for build targets.
729c5d09a87SGlen Barber.Ef
73090be798eSDimitry Andric.It Va WITHOUT_INET
731041c5049SEd MasteDo not build programs and libraries related to IPv4 networking.
732344e2bb9SEd MasteWhen set, it enforces these options:
73390be798eSDimitry Andric.Pp
73490be798eSDimitry Andric.Bl -item -compact
73590be798eSDimitry Andric.It
73690be798eSDimitry Andric.Va WITHOUT_INET_SUPPORT
73790be798eSDimitry Andric.El
73890be798eSDimitry Andric.It Va WITHOUT_INET6
739041c5049SEd MasteDo not build
74090be798eSDimitry Andricprograms and libraries related to IPv6 networking.
741344e2bb9SEd MasteWhen set, it enforces these options:
74290be798eSDimitry Andric.Pp
74390be798eSDimitry Andric.Bl -item -compact
74490be798eSDimitry Andric.It
74590be798eSDimitry Andric.Va WITHOUT_INET6_SUPPORT
74690be798eSDimitry Andric.El
74790be798eSDimitry Andric.It Va WITHOUT_INET6_SUPPORT
748041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv6 support.
7490e0e9604SEnji Cooper.It Va WITHOUT_INETD
750041c5049SEd MasteDo not build
7510e0e9604SEnji Cooper.Xr inetd 8 .
75290be798eSDimitry Andric.It Va WITHOUT_INET_SUPPORT
753041c5049SEd MasteBuild libraries, programs, and kernel modules without IPv4 support.
754b013518aSEd Maste.It Va WITH_INIT_ALL_PATTERN
755041c5049SEd MasteBuild the base system or kernel with stack variables initialized to
756b013518aSEd Maste.Pq compiler defined
757b013518aSEd Mastedebugging patterns on function entry.
758b013518aSEd MasteThis option requires the clang compiler.
759b013518aSEd Maste.It Va WITH_INIT_ALL_ZERO
760041c5049SEd MasteBuild the base system or kernel with stack variables initialized
761b013518aSEd Masteto zero on function entry.
762b013518aSEd MasteThis option requires that the clang compiler be used.
76390be798eSDimitry Andric.It Va WITHOUT_INSTALLLIB
764344e2bb9SEd MasteSet this to not install optional libraries.
765344e2bb9SEd MasteFor example, when creating a
76690be798eSDimitry Andric.Xr nanobsd 8
76790be798eSDimitry Andricimage.
768f79bedf5SBryan Drewery.Bf -symbolic
769f79bedf5SBryan DreweryThe option does not work for build targets.
770f79bedf5SBryan Drewery.Ef
77190be798eSDimitry Andric.It Va WITH_INSTALL_AS_USER
772041c5049SEd MasteMake install targets succeed for non-root users by installing
77390be798eSDimitry Andricfiles with owner and group attributes set to that of the user running
77490be798eSDimitry Andricthe
77590be798eSDimitry Andric.Xr make 1
77690be798eSDimitry Andriccommand.
777344e2bb9SEd MasteThe user still must set the
77890be798eSDimitry Andric.Va DESTDIR
77990be798eSDimitry Andricvariable to point to a directory where the user has write permissions.
78090be798eSDimitry Andric.It Va WITHOUT_IPFILTER
781041c5049SEd MasteDo not build IP Filter package.
78290be798eSDimitry Andric.It Va WITHOUT_IPFW
783041c5049SEd MasteDo not build IPFW tools.
78488342134SEnji Cooper.It Va WITHOUT_IPSEC_SUPPORT
785041c5049SEd MasteDo not build the kernel with
78688342134SEnji Cooper.Xr ipsec 4
78788342134SEnji Coopersupport.
78888342134SEnji CooperThis option is needed for
78988342134SEnji Cooper.Xr ipsec 4
79088342134SEnji Cooperand
79188342134SEnji Cooper.Xr tcpmd5 4 .
79293da8366SEnji Cooper.It Va WITHOUT_ISCSI
793041c5049SEd MasteDo not build
79426d6bbfaSSevan Janiyan.Xr iscsid 8
79593da8366SEnji Cooperand related utilities.
79690be798eSDimitry Andric.It Va WITHOUT_JAIL
797041c5049SEd MasteDo not build tools for the support of jails; e.g.,
79890be798eSDimitry Andric.Xr jail 8 .
79990be798eSDimitry Andric.It Va WITHOUT_KDUMP
800041c5049SEd MasteDo not build
80190be798eSDimitry Andric.Xr kdump 1
80290be798eSDimitry Andricand
80390be798eSDimitry Andric.Xr truss 1 .
80490be798eSDimitry Andric.It Va WITHOUT_KERBEROS
805344e2bb9SEd MasteSet this to not build Kerberos 5 (KTH Heimdal).
806344e2bb9SEd MasteWhen set, these options are also in effect:
80790be798eSDimitry Andric.Pp
80890be798eSDimitry Andric.Bl -inset -compact
80990be798eSDimitry Andric.It Va WITHOUT_GSSAPI
81090be798eSDimitry Andric(unless
81190be798eSDimitry Andric.Va WITH_GSSAPI
81290be798eSDimitry Andricis set explicitly)
813bf64e879SBryan Drewery.It Va WITHOUT_KERBEROS_SUPPORT
814bf64e879SBryan Drewery(unless
815bf64e879SBryan Drewery.Va WITH_KERBEROS_SUPPORT
816bf64e879SBryan Dreweryis set explicitly)
81790be798eSDimitry Andric.El
81890be798eSDimitry Andric.It Va WITHOUT_KERBEROS_SUPPORT
819041c5049SEd MasteBuild some programs without Kerberos support, like
82090be798eSDimitry Andric.Xr ssh 1 ,
82190be798eSDimitry Andric.Xr telnet 1 ,
82290be798eSDimitry Andricand
823b4cfdbfeSBrooks Davis.Xr sshd 8 .
8246f7527f0SEd Maste.It Va WITH_KERNEL_RETPOLINE
825041c5049SEd MasteEnable the "retpoline" mitigation for CVE-2017-5715 in the kernel
8266f7527f0SEd Mastebuild.
827a0f6423bSEd Maste.It Va WITHOUT_KERNEL_SYMBOLS
828330b7dccSEd MasteDo not install standalone kernel debug symbol files.
829330b7dccSEd MasteThis option has no effect at build time.
83090be798eSDimitry Andric.It Va WITHOUT_KVM
831041c5049SEd MasteDo not build the
83290be798eSDimitry Andric.Nm libkvm
83390be798eSDimitry Andriclibrary as a part of the base system.
83490be798eSDimitry Andric.Bf -symbolic
83590be798eSDimitry AndricThe option has no effect yet.
83690be798eSDimitry Andric.Ef
837bf64e879SBryan DreweryWhen set, these options are also in effect:
83890be798eSDimitry Andric.Pp
839bf64e879SBryan Drewery.Bl -inset -compact
840bf64e879SBryan Drewery.It Va WITHOUT_KVM_SUPPORT
841bf64e879SBryan Drewery(unless
842bf64e879SBryan Drewery.Va WITH_KVM_SUPPORT
843bf64e879SBryan Dreweryis set explicitly)
84490be798eSDimitry Andric.El
84590be798eSDimitry Andric.It Va WITHOUT_KVM_SUPPORT
846041c5049SEd MasteBuild some programs without optional
84790be798eSDimitry Andric.Nm libkvm
84890be798eSDimitry Andricsupport.
84990be798eSDimitry Andric.It Va WITHOUT_LDNS
85090be798eSDimitry AndricSetting this variable will prevent the LDNS library from being built.
851344e2bb9SEd MasteWhen set, it enforces these options:
85290be798eSDimitry Andric.Pp
85390be798eSDimitry Andric.Bl -item -compact
85490be798eSDimitry Andric.It
85590be798eSDimitry Andric.Va WITHOUT_LDNS_UTILS
85690be798eSDimitry Andric.It
85790be798eSDimitry Andric.Va WITHOUT_UNBOUND
85890be798eSDimitry Andric.El
85990be798eSDimitry Andric.It Va WITHOUT_LDNS_UTILS
86090be798eSDimitry AndricSetting this variable will prevent building the LDNS utilities
86190be798eSDimitry Andric.Xr drill 1
86290be798eSDimitry Andricand
86390be798eSDimitry Andric.Xr host 1 .
86490be798eSDimitry Andric.It Va WITHOUT_LEGACY_CONSOLE
865041c5049SEd MasteDo not build programs that support a legacy PC console; e.g.,
86623a6b49aSEdward Tomasz Napierala.Xr kbdcontrol 1
86790be798eSDimitry Andricand
86823a6b49aSEdward Tomasz Napierala.Xr vidcontrol 1 .
86990be798eSDimitry Andric.It Va WITHOUT_LIB32
870041c5049SEd MasteOn 64-bit platforms, do not build 32-bit library set and a
87190be798eSDimitry Andric.Nm ld-elf32.so.1
87290be798eSDimitry Andricruntime linker.
873f3cdc622SEd Maste.Pp
874f3cdc622SEd MasteThis is a default setting on
8758cfd7a6aSPiotr Kubajarm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
876c5819624SEd Maste.It Va WITH_LIB32
877c5819624SEd MasteOn 64-bit platforms, build the 32-bit library set and a
878c5819624SEd Maste.Nm ld-elf32.so.1
879c5819624SEd Masteruntime linker.
880c5819624SEd Maste.Pp
881c5819624SEd MasteThis is a default setting on
882c5819624SEd Masteamd64/amd64 and powerpc/powerpc64.
88336e8c7bbSEd Maste.It Va WITHOUT_LLD
884041c5049SEd MasteDo not build LLVM's lld linker.
8851500eb21SEd Maste.It Va WITHOUT_LLDB
886041c5049SEd MasteDo not build the LLDB debugger.
8871500eb21SEd Maste.Pp
888344e2bb9SEd MasteThis is a default setting on
8892ec9a427SPiotr Kubajarm/armv6, arm/armv7, riscv/riscv64 and riscv/riscv64sf.
89090be798eSDimitry Andric.It Va WITH_LLDB
891041c5049SEd MasteBuild the LLDB debugger.
8921500eb21SEd Maste.Pp
893344e2bb9SEd MasteThis is a default setting on
8942ec9a427SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
8956c2b7edaSEd Maste.It Va WITHOUT_LLD_BOOTSTRAP
896041c5049SEd MasteDo not build the LLD linker during the bootstrap phase of
8976c2b7edaSEd Mastethe build.
8987680431aSEd MasteTo be able to build the system an alternate linker must be provided via XLD.
899661cf9b6SYoshihiro Takahashi.It Va WITHOUT_LLD_IS_LD
9007680431aSEd MasteDo not install a
9017680431aSEd Maste.Pa /usr/bin/ld symlink
9027680431aSEd Masteto
9037680431aSEd Maste.Pa ld.lld .
9047680431aSEd MasteThe system will not have a usable tool chain unless a linker is provided
9057680431aSEd Mastesome other way.
906a870eaa4SKyle Evans.It Va WITHOUT_LLVM_ASSERTIONS
907041c5049SEd MasteDisable debugging assertions in LLVM.
908ac56b22fSEd Maste.It Va WITH_LLVM_BINUTILS
909*a9d0665bSEd MasteInstall LLVM's binutils (without an llvm- prefix),
910*a9d0665bSEd Masteinstead of ELF Tool Chain's tools.
911*a9d0665bSEd MasteThis includes
912*a9d0665bSEd Maste.Xr addr2line 1 ,
913*a9d0665bSEd Maste.Xr ar 1 ,
914*a9d0665bSEd Maste.Xr nm 1 ,
915*a9d0665bSEd Maste.Xr objcopy 1 ,
916*a9d0665bSEd Maste.Xr ranlib 1 ,
917*a9d0665bSEd Maste.Xr readelf 1 ,
918*a9d0665bSEd Maste.Xr size 1 ,
919*a9d0665bSEd Masteand
920*a9d0665bSEd Maste.Xr strip 1 .
921*a9d0665bSEd MasteRegardless of this setting, LLVM tools are used for
922*a9d0665bSEd Maste.Xr c++filt 1
923*a9d0665bSEd Masteand
924*a9d0665bSEd Maste.Xr objdump 1 .
925*a9d0665bSEd Maste.Xr strings 1
926*a9d0665bSEd Masteis always provided by ELF Tool Chain.
9275b9c3654SEd Maste.It Va WITHOUT_LLVM_COV
928041c5049SEd MasteDo not build the
9295b9c3654SEd Maste.Xr llvm-cov 1
9305b9c3654SEd Mastetool.
9319fa94e1cSDimitry Andric.It Va WITHOUT_LLVM_CXXFILT
9329fa94e1cSDimitry AndricInstall ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
933cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_AARCH64
934041c5049SEd MasteDo not build LLVM target support for AArch64.
935bf64e879SBryan DreweryThe
936bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
937bf64e879SBryan Dreweryoption should be used rather than this in most cases.
938bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ALL
939041c5049SEd MasteOnly build the required LLVM target support.
940bf64e879SBryan DreweryThis option is preferred to specific target support options.
941bf64e879SBryan DreweryWhen set, these options are also in effect:
942bf64e879SBryan Drewery.Pp
943bf64e879SBryan Drewery.Bl -inset -compact
944bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_AARCH64
945bf64e879SBryan Drewery(unless
946bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_AARCH64
947bf64e879SBryan Dreweryis set explicitly)
948bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_ARM
949bf64e879SBryan Drewery(unless
950bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_ARM
951bf64e879SBryan Dreweryis set explicitly)
952bf64e879SBryan Drewery.It Va WITHOUT_LLVM_TARGET_POWERPC
953bf64e879SBryan Drewery(unless
954bf64e879SBryan Drewery.Va WITH_LLVM_TARGET_POWERPC
955bf64e879SBryan Dreweryis set explicitly)
956f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
957f3cdc622SEd Maste(unless
958f3cdc622SEd Maste.Va WITH_LLVM_TARGET_RISCV
959f3cdc622SEd Masteis set explicitly)
960bf64e879SBryan Drewery.El
961cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_ARM
962041c5049SEd MasteDo not build LLVM target support for ARM.
963bf64e879SBryan DreweryThe
964bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
965bf64e879SBryan Dreweryoption should be used rather than this in most cases.
96689edb881SDimitry Andric.It Va WITH_LLVM_TARGET_BPF
967041c5049SEd MasteBuild LLVM target support for BPF.
96889edb881SDimitry AndricThe
96989edb881SDimitry Andric.Va LLVM_TARGET_ALL
97089edb881SDimitry Andricoption should be used rather than this in most cases.
9716bdbfa49SPiotr Kubaj.It Va WITH_LLVM_TARGET_MIPS
9726bdbfa49SPiotr KubajBuild LLVM target support for MIPS.
973bf64e879SBryan DreweryThe
974bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
975bf64e879SBryan Dreweryoption should be used rather than this in most cases.
976cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_POWERPC
977041c5049SEd MasteDo not build LLVM target support for PowerPC.
978bf64e879SBryan DreweryThe
979bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
980bf64e879SBryan Dreweryoption should be used rather than this in most cases.
981f3cdc622SEd Maste.It Va WITHOUT_LLVM_TARGET_RISCV
982041c5049SEd MasteDo not build LLVM target support for RISC-V.
983f3cdc622SEd MasteThe
984f3cdc622SEd Maste.Va LLVM_TARGET_ALL
985f3cdc622SEd Masteoption should be used rather than this in most cases.
986cbafd263SDimitry Andric.It Va WITHOUT_LLVM_TARGET_X86
987041c5049SEd MasteDo not build LLVM target support for X86.
988bf64e879SBryan DreweryThe
989bf64e879SBryan Drewery.Va LLVM_TARGET_ALL
990bf64e879SBryan Dreweryoption should be used rather than this in most cases.
991bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
992bfdf8aa9SJohn BaldwinEnable building
993bfdf8aa9SJohn Baldwin.Xr loader 8
994bfdf8aa9SJohn Baldwinwith support for verification based on certificates obtained from UEFI.
995782df3edSEd Maste.It Va WITHOUT_LOADER_GELI
996782df3edSEd MasteDisable inclusion of GELI crypto support in the boot chain binaries.
99730323356SWarner Losh.Pp
99830323356SWarner LoshThis is a default setting on
9998cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10008edab9cdSWarner Losh.It Va WITH_LOADER_GELI
1001041c5049SEd MasteBuild GELI bootloader support.
10028edab9cdSWarner Losh.Pp
10038edab9cdSWarner LoshThis is a default setting on
1004f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
10052ec9a427SPiotr Kubaj.It Va WITHOUT_LOADER_KBOOT
10062ec9a427SPiotr KubajDo not build kboot, a linuxboot environment loader
10072ec9a427SPiotr Kubaj.Pp
10082ec9a427SPiotr KubajThis is a default setting on
1009cfe244cbSBrooks Davisarm/armv6, arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
10102ec9a427SPiotr Kubaj.It Va WITH_LOADER_KBOOT
10112ec9a427SPiotr KubajBuild kboot, a linuxboot environment loader
10122ec9a427SPiotr Kubaj.Pp
10132ec9a427SPiotr KubajThis is a default setting on
1014cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64 and powerpc/powerpc64.
10158edab9cdSWarner Losh.It Va WITHOUT_LOADER_LUA
1016041c5049SEd MasteDo not build LUA bindings for the boot loader.
10178edab9cdSWarner Losh.Pp
10188edab9cdSWarner LoshThis is a default setting on
10198cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
10206f7527f0SEd Maste.It Va WITH_LOADER_LUA
1021041c5049SEd MasteBuild LUA bindings for the boot loader.
102230323356SWarner Losh.Pp
102330323356SWarner LoshThis is a default setting on
1024f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1025b8f3641fSKyle Evans.It Va WITHOUT_LOADER_OFW
1026b8f3641fSKyle EvansDisable building of openfirmware bootloader components.
1027b8f3641fSKyle Evans.Pp
1028b8f3641fSKyle EvansThis is a default setting on
1029f89842a7SWarner Loshamd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
1030b8f3641fSKyle Evans.It Va WITH_LOADER_OFW
1031041c5049SEd MasteBuild openfirmware bootloader components.
1032b8f3641fSKyle Evans.Pp
1033b8f3641fSKyle EvansThis is a default setting on
10348cfd7a6aSPiotr Kubajpowerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le.
1035b8f3641fSKyle Evans.It Va WITHOUT_LOADER_UBOOT
1036b8f3641fSKyle EvansDisable building of ubldr.
1037b8f3641fSKyle Evans.Pp
1038b8f3641fSKyle EvansThis is a default setting on
10398cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
1040b8f3641fSKyle Evans.It Va WITH_LOADER_UBOOT
1041041c5049SEd MasteBuild ubldr.
1042b8f3641fSKyle Evans.Pp
1043b8f3641fSKyle EvansThis is a default setting on
1044f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc and powerpc/powerpc64.
10451f7d1483SEd Maste.It Va WITH_LOADER_VERBOSE
1046041c5049SEd MasteBuild with extra verbose debugging in the loader.
10471f7d1483SEd MasteMay explode already nearly too large loader over the limit.
10481f7d1483SEd MasteUse with care.
1049bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_VERIEXEC
1050bfdf8aa9SJohn BaldwinEnable building
1051bfdf8aa9SJohn Baldwin.Xr loader 8
1052de19b521SDimitry Andricwith support for verification similar to Verified Exec.
1053bfdf8aa9SJohn Baldwin.Pp
1054de19b521SDimitry AndricDepends on
1055de19b521SDimitry Andric.Va WITH_BEARSSL .
1056bfdf8aa9SJohn BaldwinWhen set, these options are also in effect:
1057bfdf8aa9SJohn Baldwin.Pp
1058bfdf8aa9SJohn Baldwin.Bl -inset -compact
1059bfdf8aa9SJohn Baldwin.It Va WITH_LOADER_EFI_SECUREBOOT
1060bfdf8aa9SJohn Baldwin(unless
1061bfdf8aa9SJohn Baldwin.Va WITHOUT_LOADER_EFI_SECUREBOOT
1062bfdf8aa9SJohn Baldwinis set explicitly)
1063f87a2082SEd Maste.It Va WITH_LOADER_VERIEXEC_VECTX
1064f87a2082SEd Maste(unless
1065f87a2082SEd Maste.Va WITHOUT_LOADER_VERIEXEC_VECTX
1066f87a2082SEd Masteis set explicitly)
1067bfdf8aa9SJohn Baldwin.El
1068de19b521SDimitry Andric.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST
1069de19b521SDimitry AndricEnable building
1070de19b521SDimitry Andric.Xr loader 8
1071de19b521SDimitry Andricwith support to pass a verified manifest to the kernel.
1072de19b521SDimitry AndricThe kernel has to be built with a module to parse the manifest.
1073de19b521SDimitry Andric.Pp
1074de19b521SDimitry AndricDepends on
1075de19b521SDimitry Andric.Va WITH_LOADER_VERIEXEC .
10763ac71149SBrooks Davis.It Va WITH_LOADER_VERIEXEC_VECTX
10773ac71149SBrooks DavisEnable building
10783ac71149SBrooks Davis.Xr loader 8
10793ac71149SBrooks Daviswith support for hashing and verifying kernel and modules as a side effect
10803ac71149SBrooks Davisof loading.
10813ac71149SBrooks Davis.Pp
10823ac71149SBrooks DavisDepends on
10833ac71149SBrooks Davis.Va WITH_LOADER_VERIEXEC .
10841f7d1483SEd Maste.It Va WITHOUT_LOADER_ZFS
1085041c5049SEd MasteDo not build ZFS file system boot loader support.
108690be798eSDimitry Andric.It Va WITHOUT_LOCALES
1087041c5049SEd MasteDo not build localization files; see
108890be798eSDimitry Andric.Xr locale 1 .
108990be798eSDimitry Andric.It Va WITHOUT_LOCATE
1090041c5049SEd MasteDo not build
109190be798eSDimitry Andric.Xr locate 1
109290be798eSDimitry Andricand related programs.
109390be798eSDimitry Andric.It Va WITHOUT_LPR
1094041c5049SEd MasteDo not build
109590be798eSDimitry Andric.Xr lpr 1
109690be798eSDimitry Andricand related programs.
109790be798eSDimitry Andric.It Va WITHOUT_LS_COLORS
1098041c5049SEd MasteBuild
109990be798eSDimitry Andric.Xr ls 1
110090be798eSDimitry Andricwithout support for colors to distinguish file types.
1101dcdf4c1aSGleb Popov.It Va WITHOUT_MACHDEP_OPTIMIZATIONS
1102dcdf4c1aSGleb PopovPrefer machine-independent non-assembler code in libc and libm.
110390be798eSDimitry Andric.It Va WITHOUT_MAIL
1104041c5049SEd MasteDo not build any mail support (MUA or MTA).
1105344e2bb9SEd MasteWhen set, it enforces these options:
110690be798eSDimitry Andric.Pp
110790be798eSDimitry Andric.Bl -item -compact
110890be798eSDimitry Andric.It
110990be798eSDimitry Andric.Va WITHOUT_DMAGENT
111090be798eSDimitry Andric.It
111190be798eSDimitry Andric.Va WITHOUT_MAILWRAPPER
111290be798eSDimitry Andric.It
111390be798eSDimitry Andric.Va WITHOUT_SENDMAIL
111490be798eSDimitry Andric.El
111590be798eSDimitry Andric.It Va WITHOUT_MAILWRAPPER
1116041c5049SEd MasteDo not build the
111790be798eSDimitry Andric.Xr mailwrapper 8
111890be798eSDimitry AndricMTA selector.
111990be798eSDimitry Andric.It Va WITHOUT_MAKE
1120041c5049SEd MasteDo not install
112190be798eSDimitry Andric.Xr make 1
112290be798eSDimitry Andricand related support files.
112374782f0eSEnji Cooper.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1124041c5049SEd MasteDo not execute
112574782f0eSEnji Cooper.Dq Li "make check"
112674782f0eSEnji Cooperin limited sandbox mode.
112774782f0eSEnji CooperThis option should be paired with
112874782f0eSEnji Cooper.Va WITH_INSTALL_AS_USER
112974782f0eSEnji Cooperif executed as an unprivileged user.
113074782f0eSEnji CooperSee
113174782f0eSEnji Cooper.Xr tests 7
113274782f0eSEnji Cooperfor more details.
11337d4374f6SDimitry Andric.It Va WITH_MALLOC_PRODUCTION
1134041c5049SEd MasteDisable assertions and statistics gathering in
11357d4374f6SDimitry Andric.Xr malloc 3 .
11367d4374f6SDimitry AndricIt also defaults the A and J runtime options to off.
113790be798eSDimitry Andric.It Va WITHOUT_MAN
1138041c5049SEd MasteDo not build manual pages.
1139344e2bb9SEd MasteWhen set, these options are also in effect:
114090be798eSDimitry Andric.Pp
114190be798eSDimitry Andric.Bl -inset -compact
114290be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
114390be798eSDimitry Andric(unless
114490be798eSDimitry Andric.Va WITH_MAN_UTILS
114590be798eSDimitry Andricis set explicitly)
114690be798eSDimitry Andric.El
114790be798eSDimitry Andric.It Va WITHOUT_MANCOMPRESS
1148041c5049SEd MasteDo not install compressed man pages.
114990be798eSDimitry AndricOnly the uncompressed versions will be installed.
1150c7e6cb9eSEmmanuel Vadot.It Va WITH_MANSPLITPKG
1151041c5049SEd MasteSplit man pages into their own packages during make package.
115290be798eSDimitry Andric.It Va WITHOUT_MAN_UTILS
1153041c5049SEd MasteDo not build utilities for manual pages,
115490be798eSDimitry Andric.Xr apropos 1 ,
115590be798eSDimitry Andric.Xr makewhatis 1 ,
115690be798eSDimitry Andric.Xr man 1 ,
115790be798eSDimitry Andric.Xr whatis 1 ,
115890be798eSDimitry Andric.Xr manctl 8 ,
115990be798eSDimitry Andricand related support files.
1160cc2520d2SSimon J. Gerraty.It Va WITH_META_MODE
1161344e2bb9SEd MasteCreate
1162be894451SBryan Drewery.Xr make 1
1163be894451SBryan Drewerymeta files when building, which can provide a reliable incremental build when
1164be894451SBryan Dreweryusing
1165be894451SBryan Drewery.Xr filemon 4 .
1166344e2bb9SEd MasteThe meta file is created in OBJDIR as
1167be894451SBryan Drewery.Pa target.meta .
1168344e2bb9SEd MasteThese meta files track the command that was executed, its output, and the
1169344e2bb9SEd Mastecurrent directory.
11702710e62cSBryan DreweryThe
11717f76a95cSBryan Drewery.Xr filemon 4
11722710e62cSBryan Drewerymodule is required unless
11732710e62cSBryan Drewery.Va NO_FILEMON
11742710e62cSBryan Dreweryis defined.
1175344e2bb9SEd MasteWhen the module is loaded, any files used by the commands executed are
1176344e2bb9SEd Mastetracked as dependencies for the target in its meta file.
1177344e2bb9SEd MasteThe target is considered out-of-date and rebuilt if any of these
1178344e2bb9SEd Masteconditions are true compared to the last build:
1179be894451SBryan Drewery.Bl -bullet -compact
1180be894451SBryan Drewery.It
1181be894451SBryan DreweryThe command to execute changes.
1182be894451SBryan Drewery.It
1183be894451SBryan DreweryThe current working directory changes.
1184be894451SBryan Drewery.It
1185a4a2269eSBryan DreweryThe target's meta file is missing.
1186a4a2269eSBryan Drewery.It
1187a4a2269eSBryan DreweryThe target's meta file is missing filemon data when filemon is loaded
1188a4a2269eSBryan Dreweryand a previous run did not have it loaded.
1189be894451SBryan Drewery.It
1190be894451SBryan Drewery[requires
1191be894451SBryan Drewery.Xr filemon 4 ]
1192be894451SBryan DreweryFiles read, executed or linked to are newer than the target.
1193be894451SBryan Drewery.It
1194be894451SBryan Drewery[requires
1195be894451SBryan Drewery.Xr filemon 4 ]
1196be894451SBryan DreweryFiles read, written, executed or linked are missing.
1197be894451SBryan Drewery.El
11987f76a95cSBryan DreweryThe meta files can also be useful for debugging.
11997f76a95cSBryan Drewery.Pp
1200344e2bb9SEd MasteThe build hides commands that are executed unless
12017f76a95cSBryan Drewery.Va NO_SILENT
12027f76a95cSBryan Dreweryis defined.
1203344e2bb9SEd MasteErrors cause
12042710e62cSBryan Drewery.Xr make 1
12052710e62cSBryan Dreweryto show some of its environment for further debugging.
12060a70ef02SBryan Drewery.Pp
1207be894451SBryan DreweryThe build operates as it normally would otherwise.
1208be894451SBryan DreweryThis option originally invoked a different build system but that was renamed
1209be894451SBryan Dreweryto
1210be894451SBryan Drewery.Va WITH_DIRDEPS_BUILD .
1211be894451SBryan Drewery.Pp
1212ba852870SBryan DreweryThis must be set in the environment, make command line, or
12130a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
12140a70ef02SBryan Drewerynot
12150a70ef02SBryan Drewery.Pa /etc/src.conf .
1216912aad0fSKyle Evans.It Va WITHOUT_MLX5TOOL
1217041c5049SEd MasteDo not build
1218912aad0fSKyle Evans.Xr mlx5tool 8
1219912aad0fSKyle Evans.Pp
1220912aad0fSKyle EvansThis is a default setting on
1221ff5025d1SPiotr Kubajarm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1222912aad0fSKyle Evans.It Va WITH_MLX5TOOL
1223041c5049SEd MasteBuild
1224912aad0fSKyle Evans.Xr mlx5tool 8
1225912aad0fSKyle Evans.Pp
1226912aad0fSKyle EvansThis is a default setting on
1227ff5025d1SPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
122890be798eSDimitry Andric.It Va WITHOUT_NETCAT
1229041c5049SEd MasteDo not build
123090be798eSDimitry Andric.Xr nc 1
123190be798eSDimitry Andricutility.
123290be798eSDimitry Andric.It Va WITHOUT_NETGRAPH
1233041c5049SEd MasteDo not build applications to support
123490be798eSDimitry Andric.Xr netgraph 4 .
1235344e2bb9SEd MasteWhen set, it enforces these options:
123690be798eSDimitry Andric.Pp
123790be798eSDimitry Andric.Bl -item -compact
123890be798eSDimitry Andric.It
123990be798eSDimitry Andric.Va WITHOUT_BLUETOOTH
1240bf64e879SBryan Drewery.El
1241bf64e879SBryan Drewery.Pp
1242bf64e879SBryan DreweryWhen set, these options are also in effect:
1243bf64e879SBryan Drewery.Pp
1244bf64e879SBryan Drewery.Bl -inset -compact
1245bf64e879SBryan Drewery.It Va WITHOUT_NETGRAPH_SUPPORT
1246bf64e879SBryan Drewery(unless
1247bf64e879SBryan Drewery.Va WITH_NETGRAPH_SUPPORT
1248bf64e879SBryan Dreweryis set explicitly)
124990be798eSDimitry Andric.El
125090be798eSDimitry Andric.It Va WITHOUT_NETGRAPH_SUPPORT
1251041c5049SEd MasteBuild libraries, programs, and kernel modules without netgraph support.
125296aedfd5SEd Maste.It Va WITHOUT_NETLINK_SUPPORT
125396aedfd5SEd MasteMake libraries and programs use rtsock and
125496aedfd5SEd Maste.Xr sysctl 3
125596aedfd5SEd Masteinterfaces instead of
125696aedfd5SEd Maste.Xr snl 3 .
125796aedfd5SEd Maste.Pp
125896aedfd5SEd MasteThis is a default setting on
125996aedfd5SEd Mastearm/armv6, arm/armv7, arm64/aarch64, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
126090be798eSDimitry Andric.It Va WITHOUT_NIS
1261dcdf4c1aSGleb PopovDo not build
1262dcdf4c1aSGleb Popov.Xr NIS 8
126390be798eSDimitry Andricsupport and related programs.
126490be798eSDimitry AndricIf set, you might need to adopt your
126590be798eSDimitry Andric.Xr nsswitch.conf 5
126690be798eSDimitry Andricand remove
126790be798eSDimitry Andric.Sq nis
126890be798eSDimitry Andricentries.
126990be798eSDimitry Andric.It Va WITHOUT_NLS
1270041c5049SEd MasteDo not build NLS catalogs.
127157a87b06SEnji CooperWhen set, it enforces these options:
127257a87b06SEnji Cooper.Pp
127357a87b06SEnji Cooper.Bl -item -compact
127457a87b06SEnji Cooper.It
127557a87b06SEnji Cooper.Va WITHOUT_NLS_CATALOGS
127657a87b06SEnji Cooper.El
127790be798eSDimitry Andric.It Va WITHOUT_NLS_CATALOGS
1278041c5049SEd MasteDo not build NLS catalog support for
127990be798eSDimitry Andric.Xr csh 1 .
128090be798eSDimitry Andric.It Va WITHOUT_NS_CACHING
1281041c5049SEd MasteDisable name caching in the
128290be798eSDimitry Andric.Pa nsswitch
128390be798eSDimitry Andricsubsystem.
128490be798eSDimitry AndricThe generic caching daemon,
128590be798eSDimitry Andric.Xr nscd 8 ,
128690be798eSDimitry Andricwill not be built either if this option is set.
128790be798eSDimitry Andric.It Va WITHOUT_NTP
1288041c5049SEd MasteDo not build
128990be798eSDimitry Andric.Xr ntpd 8
129090be798eSDimitry Andricand related programs.
12918edab9cdSWarner Losh.It Va WITHOUT_NVME
1292041c5049SEd MasteDo not build nvme related tools and kernel modules.
12938edab9cdSWarner Losh.Pp
12948edab9cdSWarner LoshThis is a default setting on
1295f89842a7SWarner Losharm/armv6, arm/armv7, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
12968edab9cdSWarner Losh.It Va WITH_NVME
1297041c5049SEd MasteBuild nvme related tools and kernel modules.
12988edab9cdSWarner Losh.Pp
12998edab9cdSWarner LoshThis is a default setting on
13008cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le.
1301d0ca28d7SKonstantin Belousov.It Va WITHOUT_OFED
1302bd258f88SEd MasteDo not build the
130390be798eSDimitry Andric.Dq "OpenFabrics Enterprise Distribution"
1304bd258f88SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
13053f9c1b2cSEd Maste.Pp
13063f9c1b2cSEd MasteThis is a default setting on
1307fe0f6950SJohn Baldwinarm/armv6 and arm/armv7.
1308d0ca28d7SKonstantin BelousovWhen set, it enforces these options:
1309d0ca28d7SKonstantin Belousov.Pp
1310d0ca28d7SKonstantin Belousov.Bl -item -compact
1311d0ca28d7SKonstantin Belousov.It
1312d0ca28d7SKonstantin Belousov.Va WITHOUT_OFED_EXTRA
1313d0ca28d7SKonstantin Belousov.El
1314c5819624SEd Maste.It Va WITH_OFED
1315c5819624SEd MasteBuild the
1316c5819624SEd Maste.Dq "OpenFabrics Enterprise Distribution"
1317c5819624SEd MasteInfiniBand software stack, including kernel modules and userspace libraries.
1318c5819624SEd Maste.Pp
1319c5819624SEd MasteThis is a default setting on
1320c5819624SEd Masteamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
13214a3caf80SKonstantin Belousov.It Va WITH_OFED_EXTRA
1322041c5049SEd MasteBuild the non-essential components of the
13234a3caf80SKonstantin Belousov.Dq "OpenFabrics Enterprise Distribution"
13244a3caf80SKonstantin BelousovInfiniband software stack, mostly examples.
132590be798eSDimitry Andric.It Va WITH_OPENLDAP
13267587d982SKyle EvansEnable building LDAP support for kerberos using an openldap client from ports.
1327b0840a28SDimitry Andric.It Va WITHOUT_OPENMP
1328041c5049SEd MasteDo not build LLVM's OpenMP runtime.
1329b0840a28SDimitry Andric.Pp
1330b0840a28SDimitry AndricThis is a default setting on
1331f89842a7SWarner Losharm/armv6, arm/armv7 and powerpc/powerpc.
1332b0840a28SDimitry Andric.It Va WITH_OPENMP
1333041c5049SEd MasteBuild LLVM's OpenMP runtime.
1334b0840a28SDimitry Andric.Pp
1335b0840a28SDimitry AndricThis is a default setting on
13368cfd7a6aSPiotr Kubajamd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
133790be798eSDimitry Andric.It Va WITHOUT_OPENSSH
1338041c5049SEd MasteDo not build OpenSSH.
133990be798eSDimitry Andric.It Va WITHOUT_OPENSSL
1340041c5049SEd MasteDo not build OpenSSL.
1341344e2bb9SEd MasteWhen set, it enforces these options:
134290be798eSDimitry Andric.Pp
134390be798eSDimitry Andric.Bl -item -compact
134490be798eSDimitry Andric.It
13459f4e04c1SEd Maste.Va WITHOUT_DMAGENT
13469f4e04c1SEd Maste.It
134790be798eSDimitry Andric.Va WITHOUT_KERBEROS
134890be798eSDimitry Andric.It
1349fb27d7aeSEd Maste.Va WITHOUT_KERBEROS_SUPPORT
1350fb27d7aeSEd Maste.It
1351da39b3adSEd Maste.Va WITHOUT_LDNS
1352da39b3adSEd Maste.It
1353da39b3adSEd Maste.Va WITHOUT_LDNS_UTILS
1354da39b3adSEd Maste.It
1355379954d0SJessica Clarke.Va WITHOUT_LOADER_ZFS
1356379954d0SJessica Clarke.It
135790be798eSDimitry Andric.Va WITHOUT_OPENSSH
1358da39b3adSEd Maste.It
1359ac56b22fSEd Maste.Va WITHOUT_OPENSSL_KTLS
1360ac56b22fSEd Maste.It
1361116f7fccSEd Maste.Va WITHOUT_PKGBOOTSTRAP
1362116f7fccSEd Maste.It
1363da39b3adSEd Maste.Va WITHOUT_UNBOUND
1364243125c8SMitchell Horne.It
1365243125c8SMitchell Horne.Va WITHOUT_ZFS
136690be798eSDimitry Andric.El
136790be798eSDimitry Andric.Pp
1368344e2bb9SEd MasteWhen set, these options are also in effect:
136990be798eSDimitry Andric.Pp
137090be798eSDimitry Andric.Bl -inset -compact
137190be798eSDimitry Andric.It Va WITHOUT_GSSAPI
137290be798eSDimitry Andric(unless
137390be798eSDimitry Andric.Va WITH_GSSAPI
137490be798eSDimitry Andricis set explicitly)
137590be798eSDimitry Andric.El
1376ae257282SJohn Baldwin.It Va WITHOUT_OPENSSL_KTLS
1377041c5049SEd MasteDo not include kernel TLS support in OpenSSL.
1378ae257282SJohn Baldwin.Pp
1379ae257282SJohn BaldwinThis is a default setting on
1380cfe244cbSBrooks Davisarm/armv6, arm/armv7, i386/i386, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf.
1381ae257282SJohn Baldwin.It Va WITH_OPENSSL_KTLS
1382041c5049SEd MasteInclude kernel TLS support in OpenSSL.
1383ae257282SJohn Baldwin.Pp
1384ae257282SJohn BaldwinThis is a default setting on
1385cfe244cbSBrooks Davisamd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le.
138690be798eSDimitry Andric.It Va WITHOUT_PAM
1387041c5049SEd MasteDo not build PAM library and modules.
138890be798eSDimitry Andric.Bf -symbolic
138990be798eSDimitry AndricThis option is deprecated and does nothing.
139090be798eSDimitry Andric.Ef
1391bf64e879SBryan DreweryWhen set, these options are also in effect:
139290be798eSDimitry Andric.Pp
1393bf64e879SBryan Drewery.Bl -inset -compact
1394bf64e879SBryan Drewery.It Va WITHOUT_PAM_SUPPORT
1395bf64e879SBryan Drewery(unless
1396bf64e879SBryan Drewery.Va WITH_PAM_SUPPORT
1397bf64e879SBryan Dreweryis set explicitly)
139890be798eSDimitry Andric.El
139990be798eSDimitry Andric.It Va WITHOUT_PAM_SUPPORT
1400041c5049SEd MasteBuild some programs without PAM support, particularly
140190be798eSDimitry Andric.Xr ftpd 8
140290be798eSDimitry Andricand
140390be798eSDimitry Andric.Xr ppp 8 .
140490be798eSDimitry Andric.It Va WITHOUT_PF
1405041c5049SEd MasteDo not build PF firewall package.
1406344e2bb9SEd MasteWhen set, it enforces these options:
140790be798eSDimitry Andric.Pp
140890be798eSDimitry Andric.Bl -item -compact
140990be798eSDimitry Andric.It
141090be798eSDimitry Andric.Va WITHOUT_AUTHPF
141190be798eSDimitry Andric.El
1412ca4e1ea1SKyle Evans.It Va WITHOUT_PIE
1413ca4e1ea1SKyle EvansDo not build dynamically linked binaries as
1414b3a27c81SEd MastePosition-Independent Executable (PIE).
14153f9c1b2cSEd Maste.Pp
14163f9c1b2cSEd MasteThis is a default setting on
14173f9c1b2cSEd Mastearm/armv6, arm/armv7, i386/i386 and powerpc/powerpc.
14183f9c1b2cSEd Maste.It Va WITH_PIE
14193f9c1b2cSEd MasteBuild dynamically linked binaries as
14203f9c1b2cSEd MastePosition-Independent Executable (PIE).
14213f9c1b2cSEd Maste.Pp
14223f9c1b2cSEd MasteThis is a default setting on
14233f9c1b2cSEd Masteamd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le, riscv/riscv64 and riscv/riscv64sf.
142490be798eSDimitry Andric.It Va WITHOUT_PKGBOOTSTRAP
1425041c5049SEd MasteDo not build
142690be798eSDimitry Andric.Xr pkg 7
142790be798eSDimitry Andricbootstrap tool.
142890be798eSDimitry Andric.It Va WITHOUT_PMC
1429041c5049SEd MasteDo not build
143090be798eSDimitry Andric.Xr pmccontrol 8
143190be798eSDimitry Andricand related programs.
143290be798eSDimitry Andric.It Va WITHOUT_PORTSNAP
1433041c5049SEd MasteDo not build or install
143490be798eSDimitry Andric.Xr portsnap 8
143590be798eSDimitry Andricand related files.
143690be798eSDimitry Andric.It Va WITHOUT_PPP
1437041c5049SEd MasteDo not build
143890be798eSDimitry Andric.Xr ppp 8
143990be798eSDimitry Andricand related programs.
14404c033a73SEnji Cooper.It Va WITH_PROFILE
1441041c5049SEd MasteBuild profiled libraries for use with
14424c033a73SEnji Cooper.Xr gprof 8 .
144313cf4313SEd MasteThis option is deprecated and may not be present in a future version of
144413cf4313SEd Maste.Fx .
144590be798eSDimitry Andric.It Va WITHOUT_QUOTAS
1446041c5049SEd MasteDo not build
144723a6b49aSEdward Tomasz Napierala.Xr quota 1
144890be798eSDimitry Andricand related programs.
14490e0e9604SEnji Cooper.It Va WITHOUT_RADIUS_SUPPORT
1450041c5049SEd MasteDo not build radius support into various applications, like
14510e0e9604SEnji Cooper.Xr pam_radius 8
14520e0e9604SEnji Cooperand
14530e0e9604SEnji Cooper.Xr ppp 8 .
145488342134SEnji Cooper.It Va WITH_RATELIMIT
1455041c5049SEd MasteBuild the system with rate limit support.
145688342134SEnji Cooper.Pp
145788342134SEnji CooperThis makes
145888342134SEnji Cooper.Dv SO_MAX_PACING_RATE
145988342134SEnji Coopereffective in
146088342134SEnji Cooper.Xr getsockopt 2 ,
146188342134SEnji Cooperand
146288342134SEnji Cooper.Ar txrlimit
146388342134SEnji Coopersupport in
146488342134SEnji Cooper.Xr ifconfig 8 ,
146588342134SEnji Cooperby proxy.
14660e0e9604SEnji Cooper.It Va WITHOUT_RBOOTD
1467041c5049SEd MasteDo not build or install
14680e0e9604SEnji Cooper.Xr rbootd 8 .
1469a8af3aeeSEd Maste.It Va WITHOUT_RELRO
1470a8af3aeeSEd MasteDo not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
1471a8af3aeeSEd MasteSee also the
1472a8af3aeeSEd Maste.Va BIND_NOW
1473a8af3aeeSEd Masteoption.
147485d55309SEd Maste.It Va WITH_REPRODUCIBLE_BUILD
1475041c5049SEd MasteExclude build metadata (such as the build time, user, or host)
147685d55309SEd Mastefrom the kernel, boot loaders, and uname output, so that builds produce
147785d55309SEd Mastebit-for-bit identical output.
147890be798eSDimitry Andric.It Va WITHOUT_RESCUE
1479041c5049SEd MasteDo not build
148090be798eSDimitry Andric.Xr rescue 8 .
14818ccac680SEd Maste.It Va WITH_RETPOLINE
1482041c5049SEd MasteBuild the base system with the retpoline speculative execution
14838ccac680SEd Mastevulnerability mitigation for CVE-2017-5715.
148490be798eSDimitry Andric.It Va WITHOUT_ROUTED
1485041c5049SEd MasteDo not build
148690be798eSDimitry Andric.Xr routed 8
148790be798eSDimitry Andricutility.
14884c033a73SEnji Cooper.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1489041c5049SEd MasteBuild
14904c033a73SEnji Cooper.Xr rpcbind 8
14914c033a73SEnji Cooperwith warmstart support.
1492c5819624SEd Maste.It Va WITHOUT_SCTP_SUPPORT
1493c5819624SEd MasteDisable support in the kernel for the
1494c5819624SEd Maste.Xr sctp 4
1495c5819624SEd MasteStream Control Transmission Protocol
1496c5819624SEd Masteloadable kernel module.
149790be798eSDimitry Andric.It Va WITHOUT_SENDMAIL
1498041c5049SEd MasteDo not build
149990be798eSDimitry Andric.Xr sendmail 8
150090be798eSDimitry Andricand related programs.
1501e8788097SKonstantin Belousov.It Va WITHOUT_SERVICESDB
1502041c5049SEd MasteDo not install
1503e8788097SKonstantin Belousov.Pa /var/db/services.db .
150490be798eSDimitry Andric.It Va WITHOUT_SETUID_LOGIN
150590be798eSDimitry AndricSet this to disable the installation of
150690be798eSDimitry Andric.Xr login 1
150790be798eSDimitry Andricas a set-user-ID root program.
150890be798eSDimitry Andric.It Va WITHOUT_SHAREDOCS
1509041c5049SEd MasteDo not build the
151090be798eSDimitry Andric.Bx 4.4
151190be798eSDimitry Andriclegacy docs.
15126ab18ea6SDimitry Andric.It Va WITHOUT_SHARED_TOOLCHAIN
1513041c5049SEd MasteBuild the toolchain binaries as statically linked executables.
151490be798eSDimitry AndricThe set includes
151590be798eSDimitry Andric.Xr cc 1 ,
151690be798eSDimitry Andric.Xr make 1
151790be798eSDimitry Andricand necessary utilities like assembler, linker and library archive manager.
151890be798eSDimitry Andric.It Va WITH_SORT_THREADS
1519041c5049SEd MasteEnable threads in
152090be798eSDimitry Andric.Xr sort 1 .
152190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS
1522041c5049SEd MasteDo not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1523344e2bb9SEd MasteWhen set, it enforces these options:
152490be798eSDimitry Andric.Pp
152590be798eSDimitry Andric.Bl -item -compact
152690be798eSDimitry Andric.It
152790be798eSDimitry Andric.Va WITHOUT_SOURCELESS_HOST
152890be798eSDimitry Andric.It
152990be798eSDimitry Andric.Va WITHOUT_SOURCELESS_UCODE
153090be798eSDimitry Andric.El
153190be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_HOST
1532041c5049SEd MasteDo not build kernel modules that include sourceless native code for host CPU.
153390be798eSDimitry Andric.It Va WITHOUT_SOURCELESS_UCODE
1534041c5049SEd MasteDo not build kernel modules that include sourceless microcode.
1535330b7dccSEd Maste.It Va WITHOUT_SPLIT_KERNEL_DEBUG
1536330b7dccSEd MasteDo not build standalone kernel debug files.
1537330b7dccSEd MasteDebug data (if enabled by the kernel configuration file)
1538330b7dccSEd Mastewill be included in the kernel and modules.
1539330b7dccSEd MasteWhen set, it enforces these options:
1540330b7dccSEd Maste.Pp
1541330b7dccSEd Maste.Bl -item -compact
1542330b7dccSEd Maste.It
1543330b7dccSEd Maste.Va WITHOUT_KERNEL_SYMBOLS
1544330b7dccSEd Maste.El
154590be798eSDimitry Andric.It Va WITHOUT_SSP
1546041c5049SEd MasteDo not build world with propolice stack smashing protection.
1547cc2520d2SSimon J. Gerraty.It Va WITH_STAGING
1548cc2520d2SSimon J. GerratyEnable staging of files to a stage tree.
1549cc2520d2SSimon J. GerratyThis can be best thought of as auto-install to
1550cc2520d2SSimon J. Gerraty.Va DESTDIR
1551cc2520d2SSimon J. Gerratywith some extra meta data to ensure dependencies can be tracked.
1552cc2520d2SSimon J. GerratyDepends on
155332b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
1554344e2bb9SEd MasteWhen set, these options are also in effect:
1555cc2520d2SSimon J. Gerraty.Pp
1556cc2520d2SSimon J. Gerraty.Bl -inset -compact
1557cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1558cc2520d2SSimon J. Gerraty(unless
1559cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_MAN
1560cc2520d2SSimon J. Gerratyis set explicitly)
1561cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1562cc2520d2SSimon J. Gerraty(unless
1563cc2520d2SSimon J. Gerraty.Va WITHOUT_STAGING_PROG
1564cc2520d2SSimon J. Gerratyis set explicitly)
1565cc2520d2SSimon J. Gerraty.El
15660a70ef02SBryan Drewery.Pp
1567ba852870SBryan DreweryThis must be set in the environment, make command line, or
15680a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15690a70ef02SBryan Drewerynot
15700a70ef02SBryan Drewery.Pa /etc/src.conf .
1571cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_MAN
1572344e2bb9SEd MasteEnable staging of man pages to stage tree.
1573cc2520d2SSimon J. Gerraty.It Va WITH_STAGING_PROG
1574cc2520d2SSimon J. GerratyEnable staging of PROGs to stage tree.
1575cc2520d2SSimon J. Gerraty.It Va WITH_STALE_STAGED
1576cc2520d2SSimon J. GerratyCheck staged files are not stale.
1577de19b521SDimitry Andric.It Va WITHOUT_STATS
1578041c5049SEd MasteNeither build nor install
1579de19b521SDimitry Andric.Lb libstats
1580de19b521SDimitry Andricand dependent binaries.
158190be798eSDimitry Andric.It Va WITHOUT_SYSCONS
1582041c5049SEd MasteDo not build
158390be798eSDimitry Andric.Xr syscons 4
158490be798eSDimitry Andricsupport files such as keyboard maps, fonts, and screen output maps.
1585cc2520d2SSimon J. Gerraty.It Va WITH_SYSROOT
1586cc2520d2SSimon J. GerratyEnable use of sysroot during build.
1587cc2520d2SSimon J. GerratyDepends on
158832b5dc9aSSimon J. Gerraty.Va WITH_DIRDEPS_BUILD .
15890a70ef02SBryan Drewery.Pp
1590ba852870SBryan DreweryThis must be set in the environment, make command line, or
15910a70ef02SBryan Drewery.Pa /etc/src-env.conf ,
15920a70ef02SBryan Drewerynot
15930a70ef02SBryan Drewery.Pa /etc/src.conf .
15948095b3c2SBryan Drewery.It Va WITHOUT_SYSTEM_COMPILER
1595041c5049SEd MasteDo not opportunistically skip building a cross-compiler during the
1596a9da9b86SBryan Drewerybootstrap phase of the build.
15978095b3c2SBryan DreweryNormally, if the currently installed compiler matches the planned bootstrap
15988095b3c2SBryan Drewerycompiler type and revision, then it will not be built.
1599a9da9b86SBryan DreweryThis does not prevent a compiler from being built for installation though,
1600a9da9b86SBryan Dreweryonly for building one for the build itself.
1601a9da9b86SBryan DreweryThe
1602a9da9b86SBryan Drewery.Va WITHOUT_CLANG
1603a5798ec8SEd Masteoption controls that.
1604be9309deSBryan Drewery.It Va WITHOUT_SYSTEM_LINKER
1605041c5049SEd MasteDo not opportunistically skip building a cross-linker during the
1606be9309deSBryan Drewerybootstrap phase of the build.
1607be9309deSBryan DreweryNormally, if the currently installed linker matches the planned bootstrap
1608be9309deSBryan Drewerylinker type and revision, then it will not be built.
1609be9309deSBryan DreweryThis does not prevent a linker from being built for installation though,
1610be9309deSBryan Dreweryonly for building one for the build itself.
1611be9309deSBryan DreweryThe
1612be9309deSBryan Drewery.Va WITHOUT_LLD
16132ea16071SEd Masteoption controls that.
1614be9309deSBryan Drewery.Pp
1615be9309deSBryan DreweryThis option is only relevant when
1616be9309deSBryan Drewery.Va WITH_LLD_BOOTSTRAP
1617be9309deSBryan Dreweryis set.
161893da8366SEnji Cooper.It Va WITHOUT_TALK
1619041c5049SEd MasteDo not build or install
162093da8366SEnji Cooper.Xr talk 1
162193da8366SEnji Cooperand
162293da8366SEnji Cooper.Xr talkd 8 .
16230e0e9604SEnji Cooper.It Va WITHOUT_TCP_WRAPPERS
1624041c5049SEd MasteDo not build or install
16250e0e9604SEnji Cooper.Xr tcpd 8 ,
16260e0e9604SEnji Cooperand related utilities.
162790be798eSDimitry Andric.It Va WITHOUT_TCSH
1628041c5049SEd MasteDo not build and install
162990be798eSDimitry Andric.Pa /bin/csh
163090be798eSDimitry Andric(which is
163190be798eSDimitry Andric.Xr tcsh 1 ) .
163290be798eSDimitry Andric.It Va WITHOUT_TELNET
1633041c5049SEd MasteDo not build
163423a6b49aSEdward Tomasz Napierala.Xr telnet 1
163590be798eSDimitry Andricand related programs.
163618c6fc4cSJulio Merino.It Va WITHOUT_TESTS
1637041c5049SEd MasteDo not build nor install the
163890be798eSDimitry Andric.Fx
163990be798eSDimitry AndricTest Suite in
164090be798eSDimitry Andric.Pa /usr/tests/ .
164190be798eSDimitry AndricSee
164290be798eSDimitry Andric.Xr tests 7
164390be798eSDimitry Andricfor more details.
164418c6fc4cSJulio MerinoThis also disables the build of all test-related dependencies, including ATF.
1645344e2bb9SEd MasteWhen set, it enforces these options:
1646c5d09a87SGlen Barber.Pp
1647c5d09a87SGlen Barber.Bl -item -compact
1648c5d09a87SGlen Barber.It
164916f3fdf5SMark Johnston.Va WITHOUT_DTRACE_TESTS
1650bf64e879SBryan Drewery.El
1651bf64e879SBryan Drewery.Pp
1652bf64e879SBryan DreweryWhen set, these options are also in effect:
1653bf64e879SBryan Drewery.Pp
1654bf64e879SBryan Drewery.Bl -inset -compact
16557840b63aSEnji Cooper.It Va WITHOUT_GOOGLETEST
16567840b63aSEnji Cooper(unless
16577840b63aSEnji Cooper.Va WITH_GOOGLETEST
16587840b63aSEnji Cooperis set explicitly)
1659bf64e879SBryan Drewery.It Va WITHOUT_TESTS_SUPPORT
1660bf64e879SBryan Drewery(unless
1661bf64e879SBryan Drewery.Va WITH_TESTS_SUPPORT
1662bf64e879SBryan Dreweryis set explicitly)
1663c5d09a87SGlen Barber.El
1664c5d09a87SGlen Barber.It Va WITHOUT_TESTS_SUPPORT
1665041c5049SEd MasteDisable the build of all test-related dependencies, including ATF.
16667840b63aSEnji CooperWhen set, it enforces these options:
16677840b63aSEnji Cooper.Pp
16687840b63aSEnji Cooper.Bl -item -compact
16697840b63aSEnji Cooper.It
16707840b63aSEnji Cooper.Va WITHOUT_GOOGLETEST
16717840b63aSEnji Cooper.El
167290be798eSDimitry Andric.It Va WITHOUT_TEXTPROC
1673041c5049SEd MasteDo not build
167490be798eSDimitry Andricprograms used for text processing.
16750e0e9604SEnji Cooper.It Va WITHOUT_TFTP
1676041c5049SEd MasteDo not build or install
16770e0e9604SEnji Cooper.Xr tftp 1
16780e0e9604SEnji Cooperand
16790e0e9604SEnji Cooper.Xr tftpd 8 .
168090be798eSDimitry Andric.It Va WITHOUT_TOOLCHAIN
1681041c5049SEd MasteDo not install header or
168290be798eSDimitry Andricprograms used for program development,
168390be798eSDimitry Andriccompilers, debuggers etc.
1684344e2bb9SEd MasteWhen set, it enforces these options:
168590be798eSDimitry Andric.Pp
168690be798eSDimitry Andric.Bl -item -compact
168790be798eSDimitry Andric.It
168890be798eSDimitry Andric.Va WITHOUT_CLANG
168990be798eSDimitry Andric.It
169090be798eSDimitry Andric.Va WITHOUT_CLANG_EXTRAS
169190be798eSDimitry Andric.It
169219267656SConrad Meyer.Va WITHOUT_CLANG_FORMAT
169319267656SConrad Meyer.It
169490be798eSDimitry Andric.Va WITHOUT_CLANG_FULL
169590be798eSDimitry Andric.It
1696c5d09a87SGlen Barber.Va WITHOUT_INCLUDES
16973d02549fSBryan Drewery.It
16986c2b7edaSEd Maste.Va WITHOUT_LLD
16996c2b7edaSEd Maste.It
17003d02549fSBryan Drewery.Va WITHOUT_LLDB
17015b9c3654SEd Maste.It
17025b9c3654SEd Maste.Va WITHOUT_LLVM_COV
170390be798eSDimitry Andric.El
17040ab89d72SEd Maste.It Va WITH_UBSAN
17050ab89d72SEd MasteBuild the base system with Undefined Behavior Sanitizer (UBSan) to detect
17060ab89d72SEd Mastevarious kinds of undefined behavior at runtime.
17070ab89d72SEd MasteRequires that Clang be used as the base system compiler
17080ab89d72SEd Masteand that the runtime support library is available
170990be798eSDimitry Andric.It Va WITHOUT_UNBOUND
1710041c5049SEd MasteDo not build
171190be798eSDimitry Andric.Xr unbound 8
171290be798eSDimitry Andricand related programs.
1713efb949a6SBryan Drewery.It Va WITHOUT_UNIFIED_OBJDIR
1714041c5049SEd MasteUse the historical object directory format for
1715efb949a6SBryan Drewery.Xr build 7
1716efb949a6SBryan Drewerytargets.
1717efb949a6SBryan DreweryFor native-builds and builds done directly in sub-directories the format of
1718efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1719efb949a6SBryan Dreweryis used,
1720efb949a6SBryan Drewerywhile for cross-builds
1721efb949a6SBryan Drewery.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1722efb949a6SBryan Dreweryis used.
1723efb949a6SBryan Drewery.Pp
1724b7f53cdcSEd MasteThis option is transitional and will be removed in a future version of
1725b7f53cdcSEd Maste.Fx ,
1726efb949a6SBryan Dreweryat which time
172716ee5cd1SChristian Brueffer.Va WITH_UNIFIED_OBJDIR
1728efb949a6SBryan Drewerywill be enabled permanently.
1729efb949a6SBryan Drewery.Pp
1730efb949a6SBryan DreweryThis must be set in the environment, make command line, or
1731efb949a6SBryan Drewery.Pa /etc/src-env.conf ,
1732efb949a6SBryan Drewerynot
1733efb949a6SBryan Drewery.Pa /etc/src.conf .
173490be798eSDimitry Andric.It Va WITHOUT_USB
1735041c5049SEd MasteDo not build USB-related programs and libraries.
1736c5d09a87SGlen Barber.It Va WITHOUT_USB_GADGET_EXAMPLES
1737041c5049SEd MasteDo not build USB gadget kernel modules.
173890be798eSDimitry Andric.It Va WITHOUT_UTMPX
1739041c5049SEd MasteDo not build user accounting tools such as
174090be798eSDimitry Andric.Xr last 1 ,
174190be798eSDimitry Andric.Xr users 1 ,
174290be798eSDimitry Andric.Xr who 1 ,
174390be798eSDimitry Andric.Xr ac 8 ,
174490be798eSDimitry Andric.Xr lastlogin 8
174590be798eSDimitry Andricand
174690be798eSDimitry Andric.Xr utx 8 .
1747bfdf8aa9SJohn Baldwin.It Va WITH_VERIEXEC
1748bfdf8aa9SJohn BaldwinEnable building
1749bfdf8aa9SJohn Baldwin.Xr veriexec 8
1750bfdf8aa9SJohn Baldwinwhich loads the contents of verified manifests into the kernel
1751bfdf8aa9SJohn Baldwinfor use by
1752bfdf8aa9SJohn Baldwin.Xr mac_veriexec 4
1753bfdf8aa9SJohn Baldwin.Pp
1754de19b521SDimitry AndricDepends on
1755de19b521SDimitry Andric.Va WITH_BEARSSL .
175690be798eSDimitry Andric.It Va WITHOUT_VI
1757041c5049SEd MasteDo not build and install vi, view, ex and related programs.
175890be798eSDimitry Andric.It Va WITHOUT_VT
1759041c5049SEd MasteDo not build
176090be798eSDimitry Andric.Xr vt 4
176190be798eSDimitry Andricsupport files (fonts and keymaps).
176290be798eSDimitry Andric.It Va WITHOUT_WARNS
176390be798eSDimitry AndricSet this to not add warning flags to the compiler invocations.
176490be798eSDimitry AndricUseful as a temporary workaround when code enters the tree
176590be798eSDimitry Andricwhich triggers warnings in environments that differ from the
1766559f9bfcSJens Schweikhardtoriginal developer.
1767f309bd63SAlex Richardson.It Va WITHOUT_WERROR
1768f309bd63SAlex RichardsonSet this to not treat compiler warnings as errors.
1769f309bd63SAlex RichardsonUseful as a temporary workaround when working on fixing compiler warnings.
1770f309bd63SAlex RichardsonWhen set, warnings are still printed in the build log but do not fail the build.
177190be798eSDimitry Andric.It Va WITHOUT_WIRELESS
1772041c5049SEd MasteDo not build programs used for 802.11 wireless networks; especially
177390be798eSDimitry Andric.Xr wpa_supplicant 8
177490be798eSDimitry Andricand
177590be798eSDimitry Andric.Xr hostapd 8 .
1776bf64e879SBryan DreweryWhen set, these options are also in effect:
177790be798eSDimitry Andric.Pp
1778bf64e879SBryan Drewery.Bl -inset -compact
1779bf64e879SBryan Drewery.It Va WITHOUT_WIRELESS_SUPPORT
1780bf64e879SBryan Drewery(unless
1781bf64e879SBryan Drewery.Va WITH_WIRELESS_SUPPORT
1782bf64e879SBryan Dreweryis set explicitly)
178390be798eSDimitry Andric.El
178490be798eSDimitry Andric.It Va WITHOUT_WIRELESS_SUPPORT
1785041c5049SEd MasteBuild libraries, programs, and kernel modules without
178690be798eSDimitry Andric802.11 wireless support.
178790be798eSDimitry Andric.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
178890be798eSDimitry AndricBuild
178990be798eSDimitry Andric.Xr wpa_supplicant 8
179090be798eSDimitry Andricwithout support for the IEEE 802.1X protocol and without
179190be798eSDimitry Andricsupport for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
179290be798eSDimitry Andricprotocols (usable only via 802.1X).
179390be798eSDimitry Andric.It Va WITHOUT_ZFS
17944be63587SMark JohnstonDo not build the ZFS file system kernel module, libraries such as
17954be63587SMark Johnston.Xr libbe 3 ,
17964be63587SMark Johnstonand user commands such as
17974be63587SMark Johnston.Xr zpool 8
17984be63587SMark Johnstonor
17994be63587SMark Johnston.Xr zfs 8 .
18004be63587SMark JohnstonAlso disable ZFS support in utilities and libraries which implement
18014be63587SMark JohnstonZFS-specific functionality.
180290be798eSDimitry Andric.It Va WITHOUT_ZONEINFO
1803041c5049SEd MasteDo not build the timezone database.
18045c021049SEnji CooperWhen set, it enforces these options:
18055c021049SEnji Cooper.Pp
18065c021049SEnji Cooper.Bl -item -compact
18075c021049SEnji Cooper.It
18085c021049SEnji Cooper.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
18095c021049SEnji Cooper.El
18105c021049SEnji Cooper.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1811041c5049SEd MasteBuild leapsecond information in to the timezone database.
181290be798eSDimitry Andric.El
181390be798eSDimitry Andric.Sh FILES
181490be798eSDimitry Andric.Bl -tag -compact -width Pa
181590be798eSDimitry Andric.It Pa /etc/src.conf
18160a70ef02SBryan Drewery.It Pa /etc/src-env.conf
181790be798eSDimitry Andric.It Pa /usr/share/mk/bsd.own.mk
181890be798eSDimitry Andric.El
181990be798eSDimitry Andric.Sh SEE ALSO
182090be798eSDimitry Andric.Xr make 1 ,
182190be798eSDimitry Andric.Xr make.conf 5 ,
182290be798eSDimitry Andric.Xr build 7 ,
182390be798eSDimitry Andric.Xr ports 7
182490be798eSDimitry Andric.Sh HISTORY
182590be798eSDimitry AndricThe
182690be798eSDimitry Andric.Nm
182790be798eSDimitry Andricfile appeared in
182890be798eSDimitry Andric.Fx 7.0 .
182990be798eSDimitry Andric.Sh AUTHORS
183088342134SEnji CooperThis manual page was autogenerated by
1831a121d3a8SEnji Cooper.An tools/build/options/makeman .
1832