xref: /freebsd/share/man/man5/src.conf.5 (revision 60eddb209b5ad13a549ca74a41b7cb38a31da5ef)
1.\" DO NOT EDIT-- this file is generated by tools/build/options/makeman.
2.\" $FreeBSD$
3.Dd January 10, 2018
4.Dt SRC.CONF 5
5.Os
6.Sh NAME
7.Nm src.conf
8.Nd "source build options"
9.Sh DESCRIPTION
10The
11.Nm
12file contains settings that will apply to every build involving the
13.Fx
14source tree; see
15.Xr build 7 .
16.Pp
17The
18.Nm
19file uses the standard makefile syntax.
20However,
21.Nm
22should not specify any dependencies to
23.Xr make 1 .
24Instead,
25.Nm
26is to set
27.Xr make 1
28variables that control the aspects of how the system builds.
29.Pp
30The default location of
31.Nm
32is
33.Pa /etc/src.conf ,
34though an alternative location can be specified in the
35.Xr make 1
36variable
37.Va SRCCONF .
38Overriding the location of
39.Nm
40may be necessary if the system-wide settings are not suitable
41for a particular build.
42For instance, setting
43.Va SRCCONF
44to
45.Pa /dev/null
46effectively resets all build controls to their defaults.
47.Pp
48The only purpose of
49.Nm
50is to control the compilation of the
51.Fx
52source code, which is usually located in
53.Pa /usr/src .
54As a rule, the system administrator creates
55.Nm
56when the values of certain control variables need to be changed
57from their defaults.
58.Pp
59In addition, control variables can be specified
60for a particular build via the
61.Fl D
62option of
63.Xr make 1
64or in its environment; see
65.Xr environ 7 .
66.Pp
67The environment of
68.Xr make 1
69for the build can be controlled via the
70.Va SRC_ENV_CONF
71variable, which defaults to
72.Pa /etc/src-env.conf .
73Some examples that may only be set in this file are
74.Va WITH_DIRDEPS_BUILD ,
75and
76.Va WITH_META_MODE ,
77and
78.Va MAKEOBJDIRPREFIX
79as they are environment-only variables.
80.Pp
81The values of variables are ignored regardless of their setting;
82even if they would be set to
83.Dq Li FALSE
84or
85.Dq Li NO .
86The presence of an option causes
87it to be honored by
88.Xr make 1 .
89.Pp
90This list provides a name and short description for variables
91that can be used for source builds.
92.Bl -tag -width indent
93.It Va WITHOUT_ACCT
94Set to not build process accounting tools such as
95.Xr accton 8
96and
97.Xr sa 8 .
98.It Va WITHOUT_ACPI
99Set to not build
100.Xr acpiconf 8 ,
101.Xr acpidump 8
102and related programs.
103.It Va WITHOUT_AMD
104Set to not build
105.Xr amd 8 ,
106and related programs.
107.It Va WITHOUT_APM
108Set to not build
109.Xr apm 8 ,
110.Xr apmd 8
111and related programs.
112.It Va WITHOUT_ASSERT_DEBUG
113Set to compile programs and libraries without the
114.Xr assert 3
115checks.
116.It Va WITHOUT_AT
117Set to not build
118.Xr at 1
119and related utilities.
120.It Va WITHOUT_ATM
121Set to not build
122programs and libraries related to ATM networking.
123.It Va WITHOUT_AUDIT
124Set to not build audit support into system programs.
125.It Va WITHOUT_AUTHPF
126Set to not build
127.Xr authpf 8 .
128.It Va WITHOUT_AUTOFS
129Set to not build
130.Xr autofs 5
131related programs, libraries, and kernel modules.
132.It Va WITHOUT_AUTO_OBJ
133Disable automatic creation of objdirs.
134This is enabled by default if the wanted OBJDIR is writable by the current user.
135.Pp
136This must be set in the environment, make command line, or
137.Pa /etc/src-env.conf ,
138not
139.Pa /etc/src.conf .
140.It Va WITHOUT_BHYVE
141Set to not build or install
142.Xr bhyve 8 ,
143associated utilities, and examples.
144.Pp
145This option only affects amd64/amd64.
146.It Va WITHOUT_BINUTILS
147Set to not build or install binutils (as, ld, objcopy, and objdump ) as part
148of the normal system build.
149The resulting system cannot build programs from source.
150.Pp
151This is a default setting on
152arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
153When set, it enforces these options:
154.Pp
155.Bl -item -compact
156.It
157.Va WITHOUT_GDB
158.El
159.It Va WITH_BINUTILS
160Set to build and install binutils (as, ld, objcopy, and objdump) as part
161of the normal system build.
162.Pp
163This is a default setting on
164amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
165.It Va WITHOUT_BINUTILS_BOOTSTRAP
166Set to not build binutils (as, ld, objcopy and objdump)
167as part of the bootstrap process.
168.Bf -symbolic
169The option does not work for build targets unless some alternative
170toolchain is provided.
171.Ef
172.Pp
173This is a default setting on
174arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
175.It Va WITH_BINUTILS_BOOTSTRAP
176Set build binutils (as, ld, objcopy and objdump)
177as part of the bootstrap process.
178.Pp
179This is a default setting on
180amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
181.It Va WITHOUT_BLACKLIST
182Set this if you do not want to build
183.Xr blacklistd 8
184and
185.Xr blacklistctl 8 .
186When set, it enforces these options:
187.Pp
188.Bl -item -compact
189.It
190.Va WITHOUT_BLACKLIST_SUPPORT
191.El
192.It Va WITHOUT_BLACKLIST_SUPPORT
193Set to build some programs without
194.Xr libblacklist 3
195support, like
196.Xr fingerd 8 ,
197.Xr ftpd 8 ,
198.Xr rlogind 8 ,
199.Xr rshd 8 ,
200and
201.Xr sshd 8 .
202.It Va WITHOUT_BLUETOOTH
203Set to not build Bluetooth related kernel modules, programs and libraries.
204.It Va WITHOUT_BOOT
205Set to not build the boot blocks and loader.
206.It Va WITHOUT_BOOTPARAMD
207Set to not build or install
208.Xr bootparamd 8 .
209.It Va WITHOUT_BOOTPD
210Set to not build or install
211.Xr bootpd 8 .
212.It Va WITHOUT_BSDINSTALL
213Set to not build
214.Xr bsdinstall 8 ,
215.Xr sade 8 ,
216and related programs.
217.It Va WITHOUT_BSD_CPIO
218Set to not build the BSD licensed version of cpio based on
219.Xr libarchive 3 .
220.It Va WITH_BSD_GREP
221Install BSD-licensed grep as '[ef]grep' instead of GNU grep.
222.It Va WITHOUT_BSNMP
223Set to not build or install
224.Xr bsnmpd 1
225and related libraries and data files.
226.It Va WITHOUT_BZIP2
227Set to not build contributed bzip2 software as a part of the base system.
228.Bf -symbolic
229The option has no effect yet.
230.Ef
231When set, it enforces these options:
232.Pp
233.Bl -item -compact
234.It
235.Va WITHOUT_BZIP2_SUPPORT
236.El
237.It Va WITHOUT_BZIP2_SUPPORT
238Set to build some programs without optional bzip2 support.
239.It Va WITHOUT_CALENDAR
240Set to not build
241.Xr calendar 1 .
242.It Va WITHOUT_CAPSICUM
243Set to not build Capsicum support into system programs.
244When set, it enforces these options:
245.Pp
246.Bl -item -compact
247.It
248.Va WITHOUT_CASPER
249.El
250.It Va WITHOUT_CASPER
251Set to not build Casper program and related libraries.
252.It Va WITH_CCACHE_BUILD
253Set to use
254.Xr ccache 1
255for the build.
256No configuration is required except to install the
257.Sy devel/ccache
258package.
259When using with
260.Xr distcc 1 ,
261set
262.Sy CCACHE_PREFIX=/usr/local/bin/distcc .
263The default cache directory of
264.Pa $HOME/.ccache
265will be used, which can be overridden by setting
266.Sy CCACHE_DIR .
267The
268.Sy CCACHE_COMPILERCHECK
269option defaults to
270.Sy content
271when using the in-tree bootstrap compiler,
272and
273.Sy mtime
274when using an external compiler.
275The
276.Sy CCACHE_CPP2
277option is used for Clang but not GCC.
278.Pp
279Sharing a cache between multiple work directories requires using a layout
280similar to
281.Pa /some/prefix/src
282.Pa /some/prefix/obj
283and an environment such as:
284.Bd -literal -offset indent
285CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj'
286.Ed
287.Pp
288See
289.Xr ccache 1
290for more configuration options.
291.It Va WITHOUT_CCD
292Set to not build
293.Xr geom_ccd 4
294and related utilities.
295.It Va WITHOUT_CDDL
296Set to not build code licensed under Sun's CDDL.
297When set, it enforces these options:
298.Pp
299.Bl -item -compact
300.It
301.Va WITHOUT_CTF
302.It
303.Va WITHOUT_ZFS
304.El
305.It Va WITHOUT_CLANG
306Set to not build the Clang C/C++ compiler during the regular phase of the build.
307.Pp
308This is a default setting on
309riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
310When set, it enforces these options:
311.Pp
312.Bl -item -compact
313.It
314.Va WITHOUT_CLANG_EXTRAS
315.It
316.Va WITHOUT_CLANG_FULL
317.El
318.It Va WITH_CLANG
319Set to build the Clang C/C++ compiler during the normal phase of the build.
320.Pp
321This is a default setting on
322amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
323.It Va WITHOUT_CLANG_BOOTSTRAP
324Set to not build the Clang C/C++ compiler during the bootstrap phase of
325the build.
326To be able to build the system, either gcc or clang bootstrap must be
327enabled unless an alternate compiler is provided via XCC.
328.Pp
329This is a default setting on
330mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
331.It Va WITH_CLANG_BOOTSTRAP
332Set to build the Clang C/C++ compiler during the bootstrap phase of the build.
333.Pp
334This is a default setting on
335amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
336.It Va WITH_CLANG_EXTRAS
337Set to build additional clang and llvm tools, such as bugpoint.
338.It Va WITHOUT_CLANG_FULL
339Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
340the Clang C/C++ compiler.
341.Pp
342This is a default setting on
343riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
344.It Va WITH_CLANG_FULL
345Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the
346Clang C/C++ compiler.
347.Pp
348This is a default setting on
349amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpcspe.
350.It Va WITHOUT_CLANG_IS_CC
351Set to install the GCC compiler as
352.Pa /usr/bin/cc ,
353.Pa /usr/bin/c++
354and
355.Pa /usr/bin/cpp .
356.Pp
357This is a default setting on
358mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
359.It Va WITH_CLANG_IS_CC
360Set to install the Clang C/C++ compiler as
361.Pa /usr/bin/cc ,
362.Pa /usr/bin/c++
363and
364.Pa /usr/bin/cpp .
365.Pp
366This is a default setting on
367amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
368.It Va WITHOUT_CPP
369Set to not build
370.Xr cpp 1 .
371.It Va WITHOUT_CROSS_COMPILER
372Set to not build any cross compiler in the cross-tools stage of buildworld.
373When compiling a different version of
374.Fx
375than what is installed on the system, provide an alternate
376compiler with XCC to ensure success.
377When compiling with an identical version of
378.Fx
379to the host, this option may be safely used.
380This option may also be safe when the host version of
381.Fx
382is close to the sources being built, but all bets are off if there have
383been any changes to the toolchain between the versions.
384When set, it enforces these options:
385.Pp
386.Bl -item -compact
387.It
388.Va WITHOUT_BINUTILS_BOOTSTRAP
389.It
390.Va WITHOUT_CLANG_BOOTSTRAP
391.It
392.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
393.It
394.Va WITHOUT_GCC_BOOTSTRAP
395.El
396.It Va WITHOUT_CRYPT
397Set to not build any crypto code.
398When set, it enforces these options:
399.Pp
400.Bl -item -compact
401.It
402.Va WITHOUT_KERBEROS
403.It
404.Va WITHOUT_KERBEROS_SUPPORT
405.It
406.Va WITHOUT_OPENSSH
407.It
408.Va WITHOUT_OPENSSL
409.El
410.Pp
411When set, these options are also in effect:
412.Pp
413.Bl -inset -compact
414.It Va WITHOUT_GSSAPI
415(unless
416.Va WITH_GSSAPI
417is set explicitly)
418.El
419.It Va WITH_CTF
420Set to compile with CTF (Compact C Type Format) data.
421CTF data encapsulates a reduced form of debugging information
422similar to DWARF and the venerable stabs and is required for DTrace.
423.It Va WITHOUT_CTM
424Set to not build
425.Xr ctm 1
426and related utilities.
427.It Va WITHOUT_CUSE
428Set to not build CUSE-related programs and libraries.
429.It Va WITHOUT_CXGBETOOL
430Set to not build
431.Xr cxgbetool 8
432.Pp
433This is a default setting on
434arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf.
435.It Va WITH_CXGBETOOL
436Set to build
437.Xr cxgbetool 8
438.Pp
439This is a default setting on
440amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and sparc64/sparc64.
441.It Va WITHOUT_CXX
442Set to not build
443.Xr c++ 1
444and related libraries.
445It will also prevent building of
446.Xr gperf 1
447and
448.Xr devd 8 .
449.Pp
450This is a default setting on
451riscv/riscv64 and riscv/riscv64sf.
452When set, it enforces these options:
453.Pp
454.Bl -item -compact
455.It
456.Va WITHOUT_CLANG
457.It
458.Va WITHOUT_CLANG_EXTRAS
459.It
460.Va WITHOUT_CLANG_FULL
461.It
462.Va WITHOUT_DTRACE_TESTS
463.It
464.Va WITHOUT_GNUCXX
465.It
466.Va WITHOUT_TESTS
467.It
468.Va WITHOUT_TESTS_SUPPORT
469.El
470.It Va WITH_CXX
471Set to build
472.Xr c++ 1
473and related libraries.
474.Pp
475This is a default setting on
476amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
477.It Va WITHOUT_DEBUG_FILES
478Set to avoid building or installing standalone debug files for each
479executable binary and shared library.
480.It Va WITHOUT_DIALOG
481Set to not build
482.Xr dialog 1 ,
483.Xr dialog 3 ,
484.Xr dpv 1 ,
485and
486.Xr dpv 3 .
487When set, it enforces these options:
488.Pp
489.Bl -item -compact
490.It
491.Va WITHOUT_BSDINSTALL
492.El
493.It Va WITHOUT_DICT
494Set to not build the Webster dictionary files.
495.It Va WITH_DIRDEPS_BUILD
496This is an experimental build system.
497For details see
498http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
499Build commands can be seen from the top-level with:
500.Dl make show-valid-targets
501The build is driven by dirdeps.mk using
502.Va DIRDEPS
503stored in
504Makefile.depend files found in each directory.
505.Pp
506The build can be started from anywhere, and behaves the same.
507The initial instance of
508.Xr make 1
509recursively reads
510.Va DIRDEPS
511from
512.Pa Makefile.depend ,
513computing a graph of tree dependencies from the current origin.
514Setting
515.Va NO_DIRDEPS
516skips checking dirdep dependencies and will only build in the current
517and child directories.
518.Va NO_DIRDEPS_BELOW
519skips building any dirdeps and only build the current directory.
520.Pp
521This also utilizes the
522.Va WITH_META_MODE
523logic for incremental builds.
524.Pp
525The build hides commands executed unless
526.Va NO_SILENT
527is defined.
528.Pp
529Note that there is currently no mass install feature for this.
530.Pp
531When set, it enforces these options:
532.Pp
533.Bl -item -compact
534.It
535.Va WITH_INSTALL_AS_USER
536.El
537.Pp
538When set, these options are also in effect:
539.Pp
540.Bl -inset -compact
541.It Va WITH_META_MODE
542(unless
543.Va WITHOUT_META_MODE
544is set explicitly)
545.It Va WITH_STAGING
546(unless
547.Va WITHOUT_STAGING
548is set explicitly)
549.It Va WITH_STAGING_MAN
550(unless
551.Va WITHOUT_STAGING_MAN
552is set explicitly)
553.It Va WITH_STAGING_PROG
554(unless
555.Va WITHOUT_STAGING_PROG
556is set explicitly)
557.It Va WITH_SYSROOT
558(unless
559.Va WITHOUT_SYSROOT
560is set explicitly)
561.El
562.Pp
563This must be set in the environment, make command line, or
564.Pa /etc/src-env.conf ,
565not
566.Pa /etc/src.conf .
567.It Va WITH_DIRDEPS_CACHE
568Cache result of dirdeps.mk which can save significant time
569for subsequent builds.
570Depends on
571.Va WITH_DIRDEPS_BUILD .
572.Pp
573This must be set in the environment, make command line, or
574.Pa /etc/src-env.conf ,
575not
576.Pa /etc/src.conf .
577.It Va WITHOUT_DMAGENT
578Set to not build dma Mail Transport Agent.
579.It Va WITHOUT_DOCCOMPRESS
580Set to not install compressed system documentation.
581Only the uncompressed version will be installed.
582.It Va WITH_DTRACE_TESTS
583Set to build and install the DTrace test suite in
584.Pa /usr/tests/cddl/usr.sbin/dtrace .
585This test suite is considered experimental on architectures other than
586amd64/amd64 and running it may cause system instability.
587.It Va WITHOUT_DYNAMICROOT
588Set this if you do not want to link
589.Pa /bin
590and
591.Pa /sbin
592dynamically.
593.It Va WITHOUT_ED_CRYPTO
594Set to build
595.Xr ed 1
596without support for encryption/decryption.
597.It Va WITHOUT_EE
598Set to not build and install
599.Xr edit 1 ,
600.Xr ee 1 ,
601and related programs.
602.It Va WITHOUT_EFI
603Set not to build
604.Xr efivar 3
605and
606.Xr efivar 8 .
607.Pp
608This is a default setting on
609mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
610.It Va WITH_EFI
611Set to build
612.Xr efivar 3
613and
614.Xr efivar 8 .
615.Pp
616This is a default setting on
617amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
618.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
619Set to not build ELF Tool Chain tools
620(addr2line, nm, size, strings and strip)
621as part of the bootstrap process.
622.Bf -symbolic
623An alternate bootstrap tool chain must be provided.
624.Ef
625.It Va WITHOUT_EXAMPLES
626Set to avoid installing examples to
627.Pa /usr/share/examples/ .
628.It Va WITH_EXTRA_TCP_STACKS
629Set to build extra TCP stack modules.
630.It Va WITHOUT_FDT
631Set to not build Flattened Device Tree support as part of the base system.
632This includes the device tree compiler (dtc) and libfdt support library.
633.It Va WITHOUT_FILE
634Set to not build
635.Xr file 1
636and related programs.
637.It Va WITHOUT_FINGER
638Set to not build or install
639.Xr finger 1
640and
641.Xr fingerd 8 .
642.It Va WITHOUT_FLOPPY
643Set to not build or install programs
644for operating floppy disk driver.
645.It Va WITHOUT_FMTREE
646Set to not build and install
647.Pa /usr/sbin/fmtree .
648.It Va WITHOUT_FORMAT_EXTENSIONS
649Set to not enable
650.Fl fformat-extensions
651when compiling the kernel.
652Also disables all format checking.
653.It Va WITHOUT_FORTH
654Set to build bootloaders without Forth support.
655.It Va WITHOUT_FP_LIBC
656Set to build
657.Nm libc
658without floating-point support.
659.It Va WITHOUT_FREEBSD_UPDATE
660Set to not build
661.Xr freebsd-update 8 .
662.It Va WITHOUT_FTP
663Set to not build or install
664.Xr ftp 1
665and
666.Xr ftpd 8 .
667.It Va WITHOUT_GAMES
668Set to not build games.
669.It Va WITHOUT_GCC
670Set to not build and install gcc and g++ as part of the normal build process.
671.Pp
672This is a default setting on
673amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
674.It Va WITH_GCC
675Set to build and install gcc and g++.
676.Pp
677This is a default setting on
678mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
679.It Va WITHOUT_GCC_BOOTSTRAP
680Set to not build gcc and g++ as part of the bootstrap process.
681You must enable either gcc or clang bootstrap to be able to build the system,
682unless an alternative compiler is provided via
683XCC.
684.Pp
685This is a default setting on
686amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
687.It Va WITH_GCC_BOOTSTRAP
688Set to build gcc and g++ as part of the bootstrap process.
689.Pp
690This is a default setting on
691mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
692.It Va WITHOUT_GCOV
693Set to not build the
694.Xr gcov 1
695tool.
696.It Va WITHOUT_GDB
697Set to not build
698.Xr gdb 1 .
699.Pp
700This is a default setting on
701arm64/aarch64, riscv/riscv64 and riscv/riscv64sf.
702.It Va WITH_GDB
703Set to build
704.Xr gdb 1 .
705.Pp
706This is a default setting on
707amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
708.It Va WITHOUT_GDB_LIBEXEC
709Set to install
710.Xr gdb 1
711into
712.Pa /usr/bin .
713.Pp
714This is a default setting on
715arm/arm, arm/armeb, arm/armv6, arm/armv7 and sparc64/sparc64.
716.It Va WITH_GDB_LIBEXEC
717Set to install
718.Xr gdb 1
719into
720.Pa /usr/libexec .
721This permits
722.Xr gdb 1
723to be used as a fallback for
724.Xr crashinfo 8
725if a newer version is not installed.
726.Pp
727This is a default setting on
728amd64/amd64, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64 and riscv/riscv64sf.
729.It Va WITHOUT_GNUCXX
730Do not build the GNU C++ stack (g++, libstdc++).
731This is the default on platforms where clang is the system compiler.
732.Pp
733This is a default setting on
734amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
735.It Va WITH_GNUCXX
736Build the GNU C++ stack (g++, libstdc++).
737This is the default on platforms where gcc is the system compiler.
738.Pp
739This is a default setting on
740mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
741.It Va WITHOUT_GNU_DIFF
742Set to not build GNU
743.Xr diff 1
744and
745.Xr diff3 1 .
746.It Va WITHOUT_GNU_GREP
747Set to not build GNU
748.Xr grep 1 .
749.It Va WITH_GNU_GREP_COMPAT
750Set this option to include GNU extensions in
751.Xr bsdgrep 1
752by linking against libgnuregex.
753.It Va WITHOUT_GPIO
754Set to not build
755.Xr gpioctl 8
756as part of the base system.
757.It Va WITHOUT_GPL_DTC
758Set to build the BSD licensed version of the device tree compiler rather
759than the GPLed one from elinux.org.
760.Pp
761This is a default setting on
762amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
763.It Va WITH_GPL_DTC
764Set to build the GPL'd version of the device tree compiler from elinux.org,
765instead of the BSD licensed one.
766.Pp
767This is a default setting on
768mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
769.It Va WITHOUT_GSSAPI
770Set to not build libgssapi.
771.It Va WITHOUT_HAST
772Set to not build
773.Xr hastd 8
774and related utilities.
775.It Va WITH_HESIOD
776Set to build Hesiod support.
777.It Va WITHOUT_HTML
778Set to not build HTML docs.
779.It Va WITHOUT_HYPERV
780Set to not build or install HyperV utilities.
781.It Va WITHOUT_ICONV
782Set to not build iconv as part of libc.
783.It Va WITHOUT_INCLUDES
784Set to not install header files.
785This option used to be spelled
786.Va NO_INCS .
787.Bf -symbolic
788The option does not work for build targets.
789.Ef
790.It Va WITHOUT_INET
791Set to not build programs and libraries related to IPv4 networking.
792When set, it enforces these options:
793.Pp
794.Bl -item -compact
795.It
796.Va WITHOUT_INET_SUPPORT
797.El
798.It Va WITHOUT_INET6
799Set to not build
800programs and libraries related to IPv6 networking.
801When set, it enforces these options:
802.Pp
803.Bl -item -compact
804.It
805.Va WITHOUT_INET6_SUPPORT
806.El
807.It Va WITHOUT_INET6_SUPPORT
808Set to build libraries, programs, and kernel modules without IPv6 support.
809.It Va WITHOUT_INETD
810Set to not build
811.Xr inetd 8 .
812.It Va WITHOUT_INET_SUPPORT
813Set to build libraries, programs, and kernel modules without IPv4 support.
814.It Va WITHOUT_INSTALLLIB
815Set this to not install optional libraries.
816For example, when creating a
817.Xr nanobsd 8
818image.
819.Bf -symbolic
820The option does not work for build targets.
821.Ef
822.It Va WITH_INSTALL_AS_USER
823Set to make install targets succeed for non-root users by installing
824files with owner and group attributes set to that of the user running
825the
826.Xr make 1
827command.
828The user still must set the
829.Va DESTDIR
830variable to point to a directory where the user has write permissions.
831.It Va WITHOUT_IPFILTER
832Set to not build IP Filter package.
833.It Va WITHOUT_IPFW
834Set to not build IPFW tools.
835.It Va WITHOUT_IPSEC_SUPPORT
836Set to not build the kernel with
837.Xr ipsec 4
838support.
839This option is needed for
840.Xr ipsec 4
841and
842.Xr tcpmd5 4 .
843.It Va WITHOUT_ISCSI
844Set to not build
845.Xr iscid 8
846and related utilities.
847.It Va WITHOUT_JAIL
848Set to not build tools for the support of jails; e.g.,
849.Xr jail 8 .
850.It Va WITHOUT_KDUMP
851Set to not build
852.Xr kdump 1
853and
854.Xr truss 1 .
855.It Va WITHOUT_KERBEROS
856Set this to not build Kerberos 5 (KTH Heimdal).
857When set, it enforces these options:
858.Pp
859.Bl -item -compact
860.It
861.Va WITHOUT_KERBEROS_SUPPORT
862.El
863.Pp
864When set, these options are also in effect:
865.Pp
866.Bl -inset -compact
867.It Va WITHOUT_GSSAPI
868(unless
869.Va WITH_GSSAPI
870is set explicitly)
871.El
872.It Va WITHOUT_KERBEROS_SUPPORT
873Set to build some programs without Kerberos support, like
874.Xr ssh 1 ,
875.Xr telnet 1 ,
876.Xr sshd 8 ,
877and
878.Xr telnetd 8 .
879.It Va WITHOUT_KERNEL_SYMBOLS
880Set to not install kernel symbol files.
881.Bf -symbolic
882This option is recommended for those people who have small root partitions.
883.Ef
884.It Va WITHOUT_KVM
885Set to not build the
886.Nm libkvm
887library as a part of the base system.
888.Bf -symbolic
889The option has no effect yet.
890.Ef
891When set, it enforces these options:
892.Pp
893.Bl -item -compact
894.It
895.Va WITHOUT_KVM_SUPPORT
896.El
897.It Va WITHOUT_KVM_SUPPORT
898Set to build some programs without optional
899.Nm libkvm
900support.
901.It Va WITHOUT_LDNS
902Setting this variable will prevent the LDNS library from being built.
903When set, it enforces these options:
904.Pp
905.Bl -item -compact
906.It
907.Va WITHOUT_LDNS_UTILS
908.It
909.Va WITHOUT_UNBOUND
910.El
911.It Va WITHOUT_LDNS_UTILS
912Setting this variable will prevent building the LDNS utilities
913.Xr drill 1
914and
915.Xr host 1 .
916.It Va WITHOUT_LEGACY_CONSOLE
917Set to not build programs that support a legacy PC console; e.g.,
918.Xr kbdcontrol 1
919and
920.Xr vidcontrol 1 .
921.It Va WITHOUT_LIB32
922On 64-bit platforms, set to not build 32-bit library set and a
923.Nm ld-elf32.so.1
924runtime linker.
925.It Va WITHOUT_LIBCPLUSPLUS
926Set to avoid building libcxxrt and libc++.
927.It Va WITHOUT_LIBPTHREAD
928Set to not build the
929.Nm libpthread
930providing library,
931.Nm libthr .
932When set, it enforces these options:
933.Pp
934.Bl -item -compact
935.It
936.Va WITHOUT_LIBTHR
937.El
938.It Va WITH_LIBSOFT
939On armv6 only, set to enable soft float ABI compatibility libraries.
940This option is for transitioning to the new hard float ABI.
941.It Va WITHOUT_LIBTHR
942Set to not build the
943.Nm libthr
944(1:1 threading)
945library.
946.It Va WITHOUT_LLD
947Set to not build LLVM's lld linker.
948.Pp
949This is a default setting on
950mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
951.It Va WITH_LLD
952Set to build LLVM's lld linker.
953.Pp
954This is a default setting on
955amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386.
956.It Va WITHOUT_LLDB
957Set to not build the LLDB debugger.
958.Pp
959This is a default setting on
960arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
961.It Va WITH_LLDB
962Set to build the LLDB debugger.
963.Pp
964This is a default setting on
965amd64/amd64, arm64/aarch64 and i386/i386.
966.It Va WITHOUT_LLD_BOOTSTRAP
967Set to not build the LLD linker during the bootstrap phase of
968the build.
969To be able to build the system, either Binutils or LLD bootstrap must be
970enabled unless an alternate linker is provided via XLD.
971.Pp
972This is a default setting on
973arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
974.It Va WITH_LLD_BOOTSTRAP
975Set to build the LLD linker during the bootstrap phase of the build.
976.Pp
977This is a default setting on
978amd64/amd64 and arm64/aarch64.
979.It Va WITHOUT_LLD_IS_LD
980Set to use GNU binutils ld as the system linker, instead of LLVM's LLD.
981.Pp
982This is a default setting on
983amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
984.It Va WITH_LLD_IS_LD
985Set to use LLVM's LLD as the system linker, instead of GNU binutils ld.
986.Pp
987This is a default setting on
988arm64/aarch64.
989.It Va WITHOUT_LLVM_LIBUNWIND
990Set to use GCC's stack unwinder (instead of LLVM's libunwind).
991.Pp
992This is a default setting on
993arm/arm, arm/armeb, arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
994.It Va WITH_LLVM_LIBUNWIND
995Set to use LLVM's libunwind stack unwinder (instead of GCC's unwinder).
996.Pp
997This is a default setting on
998amd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64 and riscv/riscv64sf.
999.It Va WITH_LOADER_FIREWIRE
1000Enable firewire support in /boot/loader and /boot/zfsloader on x86.
1001This option is a nop on all other platforms.
1002.It Va WITHOUT_LOADER_GELI
1003Disable inclusion of GELI crypto support in the boot chain binaries.
1004.It Va WITHOUT_LOCALES
1005Set to not build localization files; see
1006.Xr locale 1 .
1007.It Va WITHOUT_LOCATE
1008Set to not build
1009.Xr locate 1
1010and related programs.
1011.It Va WITHOUT_LPR
1012Set to not build
1013.Xr lpr 1
1014and related programs.
1015.It Va WITHOUT_LS_COLORS
1016Set to build
1017.Xr ls 1
1018without support for colors to distinguish file types.
1019.It Va WITHOUT_LZMA_SUPPORT
1020Set to build some programs without optional lzma compression support.
1021.It Va WITHOUT_MAIL
1022Set to not build any mail support (MUA or MTA).
1023When set, it enforces these options:
1024.Pp
1025.Bl -item -compact
1026.It
1027.Va WITHOUT_DMAGENT
1028.It
1029.Va WITHOUT_MAILWRAPPER
1030.It
1031.Va WITHOUT_SENDMAIL
1032.El
1033.It Va WITHOUT_MAILWRAPPER
1034Set to not build the
1035.Xr mailwrapper 8
1036MTA selector.
1037.It Va WITHOUT_MAKE
1038Set to not install
1039.Xr make 1
1040and related support files.
1041.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX
1042Set to not execute
1043.Dq Li "make check"
1044in limited sandbox mode.
1045This option should be paired with
1046.Va WITH_INSTALL_AS_USER
1047if executed as an unprivileged user.
1048See
1049.Xr tests 7
1050for more details.
1051.It Va WITHOUT_MAN
1052Set to not build manual pages.
1053When set, these options are also in effect:
1054.Pp
1055.Bl -inset -compact
1056.It Va WITHOUT_MAN_UTILS
1057(unless
1058.Va WITH_MAN_UTILS
1059is set explicitly)
1060.El
1061.It Va WITHOUT_MANCOMPRESS
1062Set to not to install compressed man pages.
1063Only the uncompressed versions will be installed.
1064.It Va WITHOUT_MAN_UTILS
1065Set to not build utilities for manual pages,
1066.Xr apropos 1 ,
1067.Xr makewhatis 1 ,
1068.Xr man 1 ,
1069.Xr whatis 1 ,
1070.Xr manctl 8 ,
1071and related support files.
1072.It Va WITH_META_MODE
1073Create
1074.Xr make 1
1075meta files when building, which can provide a reliable incremental build when
1076using
1077.Xr filemon 4 .
1078The meta file is created in OBJDIR as
1079.Pa target.meta .
1080These meta files track the command that was executed, its output, and the
1081current directory.
1082The
1083.Xr filemon 4
1084module is required unless
1085.Va NO_FILEMON
1086is defined.
1087When the module is loaded, any files used by the commands executed are
1088tracked as dependencies for the target in its meta file.
1089The target is considered out-of-date and rebuilt if any of these
1090conditions are true compared to the last build:
1091.Bl -bullet -compact
1092.It
1093The command to execute changes.
1094.It
1095The current working directory changes.
1096.It
1097The target's meta file is missing.
1098.It
1099The target's meta file is missing filemon data when filemon is loaded
1100and a previous run did not have it loaded.
1101.It
1102[requires
1103.Xr filemon 4 ]
1104Files read, executed or linked to are newer than the target.
1105.It
1106[requires
1107.Xr filemon 4 ]
1108Files read, written, executed or linked are missing.
1109.El
1110The meta files can also be useful for debugging.
1111.Pp
1112The build hides commands that are executed unless
1113.Va NO_SILENT
1114is defined.
1115Errors cause
1116.Xr make 1
1117to show some of its environment for further debugging.
1118.Pp
1119The build operates as it normally would otherwise.
1120This option originally invoked a different build system but that was renamed
1121to
1122.Va WITH_DIRDEPS_BUILD .
1123.Pp
1124This must be set in the environment, make command line, or
1125.Pa /etc/src-env.conf ,
1126not
1127.Pa /etc/src.conf .
1128.It Va WITH_NAND
1129Set to build the NAND Flash components.
1130.It Va WITHOUT_NDIS
1131Set to not build programs and libraries
1132related to NDIS emulation support.
1133.It Va WITHOUT_NETCAT
1134Set to not build
1135.Xr nc 1
1136utility.
1137.It Va WITHOUT_NETGRAPH
1138Set to not build applications to support
1139.Xr netgraph 4 .
1140When set, it enforces these options:
1141.Pp
1142.Bl -item -compact
1143.It
1144.Va WITHOUT_ATM
1145.It
1146.Va WITHOUT_BLUETOOTH
1147.It
1148.Va WITHOUT_NETGRAPH_SUPPORT
1149.El
1150.It Va WITHOUT_NETGRAPH_SUPPORT
1151Set to build libraries, programs, and kernel modules without netgraph support.
1152.It Va WITHOUT_NIS
1153Set to not build
1154.Xr NIS 8
1155support and related programs.
1156If set, you might need to adopt your
1157.Xr nsswitch.conf 5
1158and remove
1159.Sq nis
1160entries.
1161.It Va WITHOUT_NLS
1162Set to not build NLS catalogs.
1163When set, it enforces these options:
1164.Pp
1165.Bl -item -compact
1166.It
1167.Va WITHOUT_NLS_CATALOGS
1168.El
1169.It Va WITHOUT_NLS_CATALOGS
1170Set to not build NLS catalog support for
1171.Xr csh 1 .
1172.It Va WITHOUT_NS_CACHING
1173Set to disable name caching in the
1174.Pa nsswitch
1175subsystem.
1176The generic caching daemon,
1177.Xr nscd 8 ,
1178will not be built either if this option is set.
1179.It Va WITHOUT_NTP
1180Set to not build
1181.Xr ntpd 8
1182and related programs.
1183.It Va WITH_OFED
1184Set to build the
1185.Dq "OpenFabrics Enterprise Distribution"
1186Infiniband software stack.
1187.It Va WITH_OPENLDAP
1188Enable building openldap support for kerberos.
1189.It Va WITHOUT_OPENSSH
1190Set to not build OpenSSH.
1191.It Va WITHOUT_OPENSSL
1192Set to not build OpenSSL.
1193When set, it enforces these options:
1194.Pp
1195.Bl -item -compact
1196.It
1197.Va WITHOUT_KERBEROS
1198.It
1199.Va WITHOUT_KERBEROS_SUPPORT
1200.It
1201.Va WITHOUT_OPENSSH
1202.El
1203.Pp
1204When set, these options are also in effect:
1205.Pp
1206.Bl -inset -compact
1207.It Va WITHOUT_GSSAPI
1208(unless
1209.Va WITH_GSSAPI
1210is set explicitly)
1211.El
1212.It Va WITHOUT_PAM
1213Set to not build PAM library and modules.
1214.Bf -symbolic
1215This option is deprecated and does nothing.
1216.Ef
1217When set, it enforces these options:
1218.Pp
1219.Bl -item -compact
1220.It
1221.Va WITHOUT_PAM_SUPPORT
1222.El
1223.It Va WITHOUT_PAM_SUPPORT
1224Set to build some programs without PAM support, particularly
1225.Xr ftpd 8
1226and
1227.Xr ppp 8 .
1228.It Va WITHOUT_PC_SYSINSTALL
1229Set to not build
1230.Xr pc-sysinstall 8
1231and related programs.
1232.It Va WITHOUT_PF
1233Set to not build PF firewall package.
1234When set, it enforces these options:
1235.Pp
1236.Bl -item -compact
1237.It
1238.Va WITHOUT_AUTHPF
1239.El
1240.It Va WITHOUT_PKGBOOTSTRAP
1241Set to not build
1242.Xr pkg 7
1243bootstrap tool.
1244.It Va WITHOUT_PMC
1245Set to not build
1246.Xr pmccontrol 8
1247and related programs.
1248.It Va WITHOUT_PORTSNAP
1249Set to not build or install
1250.Xr portsnap 8
1251and related files.
1252.It Va WITHOUT_PPP
1253Set to not build
1254.Xr ppp 8
1255and related programs.
1256.It Va WITHOUT_PROFILE
1257Set to not build profiled libraries for use with
1258.Xr gprof 8 .
1259.Pp
1260This is a default setting on
1261mips/mips64el, mips/mips64, mips/mips64elhf, mips/mips64hf, riscv/riscv64 and riscv/riscv64sf.
1262.It Va WITH_PROFILE
1263Set to build profiled libraries for use with
1264.Xr gprof 8 .
1265.Pp
1266This is a default setting on
1267amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mipsn32, mips/mipselhf, mips/mipshf, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe and sparc64/sparc64.
1268.It Va WITHOUT_QUOTAS
1269Set to not build
1270.Xr quota 1
1271and related programs.
1272.It Va WITHOUT_RADIUS_SUPPORT
1273Set to not build radius support into various applications, like
1274.Xr pam_radius 8
1275and
1276.Xr ppp 8 .
1277.It Va WITH_RATELIMIT
1278Set to build the system with rate limit support.
1279.Pp
1280This makes
1281.Dv SO_MAX_PACING_RATE
1282effective in
1283.Xr getsockopt 2 ,
1284and
1285.Ar txrlimit
1286support in
1287.Xr ifconfig 8 ,
1288by proxy.
1289.It Va WITHOUT_RBOOTD
1290Set to not build or install
1291.Xr rbootd 8 .
1292.It Va WITH_REPRODUCIBLE_BUILD
1293Set to exclude build metadata (such as the build time, user, or host)
1294from the kernel, boot loaders, and uname output, so that builds produce
1295bit-for-bit identical output.
1296.It Va WITHOUT_RESCUE
1297Set to not build
1298.Xr rescue 8 .
1299.It Va WITHOUT_ROUTED
1300Set to not build
1301.Xr routed 8
1302utility.
1303.It Va WITH_RPCBIND_WARMSTART_SUPPORT
1304Set to build
1305.Xr rpcbind 8
1306with warmstart support.
1307.It Va WITHOUT_SENDMAIL
1308Set to not build
1309.Xr sendmail 8
1310and related programs.
1311.It Va WITHOUT_SETUID_LOGIN
1312Set this to disable the installation of
1313.Xr login 1
1314as a set-user-ID root program.
1315.It Va WITHOUT_SHAREDOCS
1316Set to not build the
1317.Bx 4.4
1318legacy docs.
1319.It Va WITH_SHARED_TOOLCHAIN
1320Set to build the toolchain binaries shared.
1321The set includes
1322.Xr cc 1 ,
1323.Xr make 1
1324and necessary utilities like assembler, linker and library archive manager.
1325.It Va WITH_SORT_THREADS
1326Set to enable threads in
1327.Xr sort 1 .
1328.It Va WITHOUT_SOURCELESS
1329Set to not build kernel modules that include sourceless code (either microcode or native code for host CPU).
1330When set, it enforces these options:
1331.Pp
1332.Bl -item -compact
1333.It
1334.Va WITHOUT_SOURCELESS_HOST
1335.It
1336.Va WITHOUT_SOURCELESS_UCODE
1337.El
1338.It Va WITHOUT_SOURCELESS_HOST
1339Set to not build kernel modules that include sourceless native code for host CPU.
1340.It Va WITHOUT_SOURCELESS_UCODE
1341Set to not build kernel modules that include sourceless microcode.
1342.It Va WITHOUT_SSP
1343Set to not build world with propolice stack smashing protection.
1344.Pp
1345This is a default setting on
1346mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf and mips/mips64hf.
1347.It Va WITH_SSP
1348Set to build world with propolice stack smashing protection.
1349.Pp
1350This is a default setting on
1351amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpcspe, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64.
1352.It Va WITH_STAGING
1353Enable staging of files to a stage tree.
1354This can be best thought of as auto-install to
1355.Va DESTDIR
1356with some extra meta data to ensure dependencies can be tracked.
1357Depends on
1358.Va WITH_DIRDEPS_BUILD .
1359When set, these options are also in effect:
1360.Pp
1361.Bl -inset -compact
1362.It Va WITH_STAGING_MAN
1363(unless
1364.Va WITHOUT_STAGING_MAN
1365is set explicitly)
1366.It Va WITH_STAGING_PROG
1367(unless
1368.Va WITHOUT_STAGING_PROG
1369is set explicitly)
1370.El
1371.Pp
1372This must be set in the environment, make command line, or
1373.Pa /etc/src-env.conf ,
1374not
1375.Pa /etc/src.conf .
1376.It Va WITH_STAGING_MAN
1377Enable staging of man pages to stage tree.
1378.It Va WITH_STAGING_PROG
1379Enable staging of PROGs to stage tree.
1380.It Va WITH_STALE_STAGED
1381Check staged files are not stale.
1382.It Va WITH_SVN
1383Set to install
1384.Xr svnlite 1
1385as
1386.Xr svn 1 .
1387.It Va WITHOUT_SVNLITE
1388Set to not build
1389.Xr svnlite 1
1390and related programs.
1391.It Va WITHOUT_SYMVER
1392Set to disable symbol versioning when building shared libraries.
1393.It Va WITHOUT_SYSCONS
1394Set to not build
1395.Xr syscons 4
1396support files such as keyboard maps, fonts, and screen output maps.
1397.It Va WITH_SYSROOT
1398Enable use of sysroot during build.
1399Depends on
1400.Va WITH_DIRDEPS_BUILD .
1401.Pp
1402This must be set in the environment, make command line, or
1403.Pa /etc/src-env.conf ,
1404not
1405.Pa /etc/src.conf .
1406.It Va WITHOUT_SYSTEM_COMPILER
1407Set to not opportunistically skip building a cross-compiler during the
1408bootstrap phase of the build.
1409Normally, if the currently installed compiler matches the planned bootstrap
1410compiler type and revision, then it will not be built.
1411This does not prevent a compiler from being built for installation though,
1412only for building one for the build itself.
1413The
1414.Va WITHOUT_CLANG
1415and
1416.Va WITHOUT_GCC
1417options control those.
1418.It Va WITHOUT_TALK
1419Set to not build or install
1420.Xr talk 1
1421and
1422.Xr talkd 8 .
1423.It Va WITHOUT_TCP_WRAPPERS
1424Set to not build or install
1425.Xr tcpd 8 ,
1426and related utilities.
1427.It Va WITHOUT_TCSH
1428Set to not build and install
1429.Pa /bin/csh
1430(which is
1431.Xr tcsh 1 ) .
1432.It Va WITHOUT_TELNET
1433Set to not build
1434.Xr telnet 1
1435and related programs.
1436.It Va WITHOUT_TESTS
1437Set to not build nor install the
1438.Fx
1439Test Suite in
1440.Pa /usr/tests/ .
1441See
1442.Xr tests 7
1443for more details.
1444This also disables the build of all test-related dependencies, including ATF.
1445.Pp
1446This is a default setting on
1447riscv/riscv64 and riscv/riscv64sf.
1448When set, it enforces these options:
1449.Pp
1450.Bl -item -compact
1451.It
1452.Va WITHOUT_DTRACE_TESTS
1453.It
1454.Va WITHOUT_TESTS_SUPPORT
1455.El
1456.It Va WITHOUT_TESTS_SUPPORT
1457Set to disables the build of all test-related dependencies, including ATF.
1458.Pp
1459This is a default setting on
1460riscv/riscv64 and riscv/riscv64sf.
1461.It Va WITHOUT_TEXTPROC
1462Set to not build
1463programs used for text processing.
1464.It Va WITHOUT_TFTP
1465Set to not build or install
1466.Xr tftp 1
1467and
1468.Xr tftpd 8 .
1469.It Va WITHOUT_TIMED
1470Set to not build or install
1471.Xr timed 8 .
1472.It Va WITHOUT_TOOLCHAIN
1473Set to not install header or
1474programs used for program development,
1475compilers, debuggers etc.
1476When set, it enforces these options:
1477.Pp
1478.Bl -item -compact
1479.It
1480.Va WITHOUT_BINUTILS
1481.It
1482.Va WITHOUT_CLANG
1483.It
1484.Va WITHOUT_CLANG_EXTRAS
1485.It
1486.Va WITHOUT_CLANG_FULL
1487.It
1488.Va WITHOUT_GCC
1489.It
1490.Va WITHOUT_GDB
1491.It
1492.Va WITHOUT_INCLUDES
1493.It
1494.Va WITHOUT_LLD
1495.It
1496.Va WITHOUT_LLDB
1497.El
1498.It Va WITHOUT_UNBOUND
1499Set to not build
1500.Xr unbound 8
1501and related programs.
1502.It Va WITHOUT_UNIFIED_OBJDIR
1503Set to use the historical object directory format for
1504.Xr build 7
1505targets.
1506For native-builds and builds done directly in sub-directories the format of
1507.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}
1508is used,
1509while for cross-builds
1510.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
1511is used.
1512.Pp
1513This option is transitional and will be removed before the 12.0 release,
1514at which time
1515.va WITH_UNIFIED_OBJDIR
1516will be enabled permanently.
1517.Pp
1518This must be set in the environment, make command line, or
1519.Pa /etc/src-env.conf ,
1520not
1521.Pa /etc/src.conf .
1522.It Va WITHOUT_USB
1523Set to not build USB-related programs and libraries.
1524.It Va WITHOUT_USB_GADGET_EXAMPLES
1525Set to not build USB gadget kernel modules.
1526.It Va WITHOUT_UTMPX
1527Set to not build user accounting tools such as
1528.Xr last 1 ,
1529.Xr users 1 ,
1530.Xr who 1 ,
1531.Xr ac 8 ,
1532.Xr lastlogin 8
1533and
1534.Xr utx 8 .
1535.It Va WITHOUT_VI
1536Set to not build and install vi, view, ex and related programs.
1537.It Va WITHOUT_VT
1538Set to not build
1539.Xr vt 4
1540support files (fonts and keymaps).
1541.It Va WITHOUT_WARNS
1542Set this to not add warning flags to the compiler invocations.
1543Useful as a temporary workaround when code enters the tree
1544which triggers warnings in environments that differ from the
1545original developer.
1546.It Va WITHOUT_WIRELESS
1547Set to not build programs used for 802.11 wireless networks; especially
1548.Xr wpa_supplicant 8
1549and
1550.Xr hostapd 8 .
1551When set, it enforces these options:
1552.Pp
1553.Bl -item -compact
1554.It
1555.Va WITHOUT_WIRELESS_SUPPORT
1556.El
1557.It Va WITHOUT_WIRELESS_SUPPORT
1558Set to build libraries, programs, and kernel modules without
1559802.11 wireless support.
1560.It Va WITHOUT_WPA_SUPPLICANT_EAPOL
1561Build
1562.Xr wpa_supplicant 8
1563without support for the IEEE 802.1X protocol and without
1564support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS
1565protocols (usable only via 802.1X).
1566.It Va WITHOUT_ZFS
1567Set to not build ZFS file system.
1568.It Va WITHOUT_ZONEINFO
1569Set to not build the timezone database.
1570When set, it enforces these options:
1571.Pp
1572.Bl -item -compact
1573.It
1574.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT
1575.It
1576.Va WITHOUT_ZONEINFO_OLD_TIMEZONES_SUPPORT
1577.El
1578.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT
1579Set to build leapsecond information in to the timezone database.
1580.It Va WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT
1581Set to build backward compatibility timezone aliases in to the timezone
1582database.
1583.El
1584.Sh FILES
1585.Bl -tag -compact -width Pa
1586.It Pa /etc/src.conf
1587.It Pa /etc/src-env.conf
1588.It Pa /usr/share/mk/bsd.own.mk
1589.El
1590.Sh SEE ALSO
1591.Xr make 1 ,
1592.Xr make.conf 5 ,
1593.Xr build 7 ,
1594.Xr ports 7
1595.Sh HISTORY
1596The
1597.Nm
1598file appeared in
1599.Fx 7.0 .
1600.Sh AUTHORS
1601This manual page was autogenerated by
1602.An tools/build/options/makeman .
1603