src.conf.5 revision 319244
DO NOT EDIT-- this file is generated by tools/build/options/makeman.
$FreeBSD: stable/11/share/man/man5/src.conf.5 319244 2017-05-30 17:47:19Z ngie $
.Dd May 30, 2017 .Dt SRC.CONF 5 .Os .Sh NAME .Nm src.conf .Nd "source build options" .Sh DESCRIPTION The .Nm file contains settings that will apply to every build involving the .Fx source tree; see .Xr build 7 .

p The .Nm file uses the standard makefile syntax. However, .Nm should not specify any dependencies to .Xr make 1 . Instead, .Nm is to set .Xr make 1 variables that control the aspects of how the system builds.

p The default location of .Nm is

a /etc/src.conf , though an alternative location can be specified in the .Xr make 1 variable .Va SRCCONF . Overriding the location of .Nm may be necessary if the system-wide settings are not suitable for a particular build. For instance, setting .Va SRCCONF to

a /dev/null effectively resets all build controls to their defaults.

p The only purpose of .Nm is to control the compilation of the .Fx source code, which is usually located in

a /usr/src . As a rule, the system administrator creates .Nm when the values of certain control variables need to be changed from their defaults.

p In addition, control variables can be specified for a particular build via the .Fl D option of .Xr make 1 or in its environment; see .Xr environ 7 .

p The environment of .Xr make 1 for the build can be controlled via the .Va SRC_ENV_CONF variable, which defaults to

a /etc/src-env.conf . Some examples that may only be set in this file are .Va WITH_DIRDEPS_BUILD , and .Va WITH_META_MODE as they are environment-only variables. Note that .Va MAKEOBJDIRPREFIX may be set here only when using .Va WITH_DIRDEPS_BUILD .

p The values of variables are ignored regardless of their setting; even if they would be set to .Dq Li FALSE or .Dq Li NO . Just the existence of an option will cause it to be honoured by .Xr make 1 .

p The following list provides a name and short description for variables that can be used for source builds. l -tag -width indent t Va WITHOUT_ACCT Set to not build process accounting tools such as .Xr accton 8 and .Xr sa 8 . t Va WITHOUT_ACPI Set to not build .Xr acpiconf 8 , .Xr acpidump 8 and related programs. t Va WITHOUT_AMD Set to not build .Xr amd 8 , and related programs. t Va WITHOUT_APM Set to not build .Xr apm 8 , .Xr apmd 8 and related programs. t Va WITHOUT_ASSERT_DEBUG Set to compile programs and libraries without the .Xr assert 3 checks. t Va WITHOUT_AT Set to not build .Xr at 1 and related utilities. t Va WITHOUT_ATM Set to not build programs and libraries related to ATM networking. t Va WITHOUT_AUDIT Set to not build audit support into system programs. t Va WITHOUT_AUTHPF Set to not build .Xr authpf 8 . t Va WITHOUT_AUTOFS Set to not build .Xr autofs 5 related programs, libraries, and kernel modules. t Va WITH_AUTO_OBJ Enable automatic creation of objdirs.

p This must be set in the environment, make command line, or

a /etc/src-env.conf , not

a /etc/src.conf . t Va WITHOUT_BHYVE Set to not build or install .Xr bhyve 8 , associated utilities, and examples.

p This option only affects amd64/amd64. t Va WITHOUT_BINUTILS Set to not build or install binutils (as, ld, objcopy, and objdump ) as part of the normal system build. The resulting system cannot build programs from source.

p It is a default setting on arm64/aarch64. t Va WITH_BINUTILS Set to build and install binutils (as, ld, objcopy, and objdump) as part of the normal system build.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_BINUTILS_BOOTSTRAP Set to not build binutils (as, ld, objcopy and objdump) as part of the bootstrap process. f -symbolic The option does not work for build targets unless some alternative toolchain is provided. .Ef

p It is a default setting on arm64/aarch64. t Va WITH_BINUTILS_BOOTSTRAP Set build binutils (as, ld, objcopy and objdump) as part of the bootstrap process.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_BLACKLIST Set this if you do not want to build blacklistd / blacklistctl. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_BLACKLIST_SUPPORT .El t Va WITHOUT_BLACKLIST_SUPPORT Set to build some programs without blacklistd support, like .Xr fingerd 8 , .Xr ftpd 8 , .Xr rlogind 8 , .Xr rshd 8 , and .Xr sshd 8 . t Va WITHOUT_BLUETOOTH Set to not build Bluetooth related kernel modules, programs and libraries. t Va WITHOUT_BOOT Set to not build the boot blocks and loader. t Va WITHOUT_BOOTPARAMD Set to not build or install .Xr bootparamd 8 . t Va WITHOUT_BOOTPD Set to not build or install .Xr bootpd 8 . t Va WITHOUT_BSDINSTALL Set to not build .Xr bsdinstall 8 , .Xr sade 8 , and related programs. t Va WITHOUT_BSD_CPIO Set to not build the BSD licensed version of cpio based on .Xr libarchive 3 . t Va WITH_BSD_GREP Install BSD-licensed grep as '[ef]grep' instead of GNU grep. t Va WITHOUT_BSNMP Set to not build or install .Xr bsnmpd 1 and related libraries and data files. t Va WITHOUT_BZIP2 Set to not build contributed bzip2 software as a part of the base system. f -symbolic The option has no effect yet. .Ef When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_BZIP2_SUPPORT .El t Va WITHOUT_BZIP2_SUPPORT Set to build some programs without optional bzip2 support. t Va WITHOUT_CALENDAR Set to not build .Xr calendar 1 . t Va WITHOUT_CAPSICUM Set to not build Capsicum support into system programs. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_CASPER .El t Va WITHOUT_CASPER Set to not build Casper program and related libraries. t Va WITH_CCACHE_BUILD Set to use .Xr ccache 1 for the build. No configuration is required except to install the .Sy devel/ccache package. Using with .Xr distcc 1 should set .Sy CCACHE_PREFIX=/usr/local/bin/distcc . The default cache directory of

a $HOME/.ccache will be used, which can be overridden by setting .Sy CCACHE_DIR . The .Sy CCACHE_COMPILERCHECK option defaults to .Sy content when using the in-tree bootstrap compiler, and .Sy mtime when using an external compiler. The .Sy CCACHE_CPP2 option is used for Clang but not GCC.

p Sharing a cache between multiple work directories requires using a layout similar to

a /some/prefix/src

a /some/prefix/obj and an environment such as: d -literal -offset indent CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj' .Ed

p See .Xr ccache 1 for more configuration options. t Va WITHOUT_CCD Set to not build .Xr geom_ccd 4 and related utilities. t Va WITHOUT_CDDL Set to not build code licensed under Sun's CDDL. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_CTF t .Va WITHOUT_ZFS .El t Va WITHOUT_CLANG Set to not build the Clang C/C++ compiler during the regular phase of the build.

p It is a default setting on sparc64/sparc64. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_CLANG_EXTRAS t .Va WITHOUT_CLANG_FULL .El t Va WITH_CLANG Set to build the Clang C/C++ compiler during the normal phase of the build.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc and powerpc/powerpc64. t Va WITHOUT_CLANG_BOOTSTRAP Set to not build the Clang C/C++ compiler during the bootstrap phase of the build. You must enable either gcc or clang bootstrap to be able to build the system, unless an alternative compiler is provided via XCC.

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITH_CLANG_BOOTSTRAP Set to build the Clang C/C++ compiler during the bootstrap phase of the build.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITH_CLANG_EXTRAS Set to build additional clang and llvm tools, such as bugpoint. t Va WITHOUT_CLANG_FULL Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler.

p It is a default setting on sparc64/sparc64. t Va WITH_CLANG_FULL Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc and powerpc/powerpc64. t Va WITHOUT_CLANG_IS_CC Set to install the GCC compiler as

a /usr/bin/cc ,

a /usr/bin/c++ and

a /usr/bin/cpp .

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITH_CLANG_IS_CC Set to install the Clang C/C++ compiler as

a /usr/bin/cc ,

a /usr/bin/c++ and

a /usr/bin/cpp .

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITHOUT_CPP Set to not build .Xr cpp 1 . t Va WITHOUT_CROSS_COMPILER Set to not build any cross compiler in the cross-tools stage of buildworld. If you are compiling a different version of .Fx than what is installed on the system, you will need to provide an alternate compiler with XCC to ensure success. If you are compiling with an identical version of .Fx to the host, this option may be safely used. This option may also be safe when the host version of .Fx is close to the sources being built, but all bets are off if there have been any changes to the toolchain between the versions. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_BINUTILS_BOOTSTRAP t .Va WITHOUT_CLANG_BOOTSTRAP t .Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP t .Va WITHOUT_GCC_BOOTSTRAP .El t Va WITHOUT_CRYPT Set to not build any crypto code. When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_KERBEROS t .Va WITHOUT_KERBEROS_SUPPORT t .Va WITHOUT_OPENSSH t .Va WITHOUT_OPENSSL .El

p When set, the following options are also in effect:

p l -inset -compact t Va WITHOUT_GSSAPI (unless .Va WITH_GSSAPI is set explicitly) .El t Va WITH_CTF Set to compile with CTF (Compact C Type Format) data. CTF data encapsulates a reduced form of debugging information similar to DWARF and the venerable stabs and is required for DTrace. t Va WITHOUT_CTM Set to not build .Xr ctm 1 and related utilities. t Va WITHOUT_CUSE Set to not build CUSE-related programs and libraries. t Va WITHOUT_CXX Set to not build .Xr c++ 1 and related libraries. It will also prevent building of .Xr gperf 1 and .Xr devd 8 . When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_CLANG t .Va WITHOUT_CLANG_EXTRAS t .Va WITHOUT_CLANG_FULL t .Va WITHOUT_GNUCXX t .Va WITHOUT_GROFF .El t Va WITHOUT_DEBUG_FILES Set to avoid building or installing standalone debug files for each executable binary and shared library. t Va WITHOUT_DIALOG Set to not build dialog(1), dialog(1,3), and dpv(1,3). When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_BSDINSTALL .El t Va WITHOUT_DICT Set to not build the Webster dictionary files. t Va WITH_DIRDEPS_BUILD This is an experimental build system. For details see http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. Build commands can be seen from the top-level with: .Dl make show-valid-targets The build is driven by dirdeps.mk using .Va DIRDEPS stored in Makefile.depend files found in each directory.

p The build can be started from anywhere, and behaves the same. The initial instance of .Xr make 1 recursively reads .Va DIRDEPS from Makefile.depend computing a graph of tree dependencies from the current origin. Setting .Va NO_DIRDEPS will skip checking dirdep dependencies and will only build in the current and child directories. .Va NO_DIRDEPS_BELOW will skip building any dirdeps and only build the current directory.

p This also utilizes the .Va WITH_META_MODE logic for incremental builds.

p The build will hide commands ran unless .Va NO_SILENT is defined.

p Note that there is currently no mass install feature for this.

p When set, it also enforces the following options:

p l -item -compact t .Va WITH_INSTALL_AS_USER .El

p When set, the following options are also in effect:

p l -inset -compact t Va WITHOUT_SYSTEM_COMPILER (unless .Va WITH_SYSTEM_COMPILER is set explicitly) t Va WITH_AUTO_OBJ (unless .Va WITHOUT_AUTO_OBJ is set explicitly) t Va WITH_META_MODE (unless .Va WITHOUT_META_MODE is set explicitly) t Va WITH_STAGING (unless .Va WITHOUT_STAGING is set explicitly) t Va WITH_STAGING_MAN (unless .Va WITHOUT_STAGING_MAN is set explicitly) t Va WITH_STAGING_PROG (unless .Va WITHOUT_STAGING_PROG is set explicitly) t Va WITH_SYSROOT (unless .Va WITHOUT_SYSROOT is set explicitly) .El

p This must be set in the environment, make command line, or

a /etc/src-env.conf , not

a /etc/src.conf . t Va WITH_DIRDEPS_CACHE Cache result of dirdeps.mk which can save significant time for subsequent builds. Depends on .Va WITH_DIRDEPS_BUILD .

p This must be set in the environment, make command line, or

a /etc/src-env.conf , not

a /etc/src.conf . t Va WITHOUT_DMAGENT Set to not build dma Mail Transport Agent t Va WITHOUT_DOCCOMPRESS Set to not to install compressed system documentation. Only the uncompressed version will be installed. t Va WITH_DTRACE_TESTS Set to build and install the DTrace test suite in

a /usr/tests/cddl/usr.sbin/dtrace . This test suite is considered experimental on architectures other than amd64/amd64 and running it may cause system instability. t Va WITHOUT_DYNAMICROOT Set this if you do not want to link

a /bin and

a /sbin dynamically. t Va WITHOUT_ED_CRYPTO Set to build .Xr ed 1 without support for encryption/decryption. t Va WITHOUT_EE Set to not build and install .Xr edit 1 , .Xr ee 1 , and related programs. t Va WITHOUT_EFI Set not to build .Xr efivar 3 and .Xr efivar 8 .

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITH_EFI Set to build .Xr efivar 3 and .Xr efivar 8 .

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITH_EISA Set to build EISA kernel modules. t Va WITHOUT_ELFCOPY_AS_OBJCOPY Set to build and install .Xr objcopy 1 from GNU Binutils, instead of the one from ELF Tool Chain. This option is provided as a transition aid and will be removed in due time. t Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP Set to not build ELF Tool Chain tools (addr2line, nm, size, strings and strip) as part of the bootstrap process. f -symbolic An alternate bootstrap tool chain must be provided. .Ef t Va WITHOUT_EXAMPLES Set to avoid installing examples to

a /usr/share/examples/ . t Va WITH_EXTRA_TCP_STACKS Set to build extra TCP stack modules. t Va WITHOUT_FDT Set to not build Flattened Device Tree support as part of the base system. This includes the device tree compiler (dtc) and libfdt support library. t Va WITHOUT_FILE Set to not build .Xr file 1 and related programs. t Va WITHOUT_FINGER Set to not build or install .Xr finger 1 and .Xr fingerd 8 . t Va WITHOUT_FLOPPY Set to not build or install programs for operating floppy disk driver. t Va WITHOUT_FMTREE Set to not build and install

a /usr/sbin/fmtree . t Va WITHOUT_FORMAT_EXTENSIONS Set to not enable .Fl fformat-extensions when compiling the kernel. Also disables all format checking. t Va WITHOUT_FORTH Set to build bootloaders without Forth support. t Va WITHOUT_FP_LIBC Set to build .Nm libc without floating-point support. t Va WITHOUT_FREEBSD_UPDATE Set to not build .Xr freebsd-update 8 . t Va WITHOUT_FTP Set to not build or install .Xr ftp 1 and .Xr ftpd 8 . t Va WITHOUT_GAMES Set to not build games. t Va WITHOUT_GCC Set to not build and install gcc and g++ as part of the normal build process.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITH_GCC Set to build and install gcc and g++.

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_GCC_BOOTSTRAP Set to not build gcc and g++ as part of the bootstrap process. You must enable either gcc or clang bootstrap to be able to build the system, unless an alternative compiler is provided via XCC.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITH_GCC_BOOTSTRAP Set to build gcc and g++ as part of the bootstrap process.

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_GCOV Set to not build the .Xr gcov 1 tool. t Va WITHOUT_GDB Set to not build .Xr gdb 1 .

p It is a default setting on arm64/aarch64. t Va WITH_GDB Set to build .Xr gdb 1 .

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_GNU Set to not build contributed GNU software as a part of the base system. This option can be useful if the system built must not contain any code covered by the GNU Public License due to legal reasons. f -symbolic The option has no effect yet. .Ef When set, it also enforces the following options:

p l -item -compact t .Va WITHOUT_GNU_SUPPORT .El t Va WITHOUT_GNUCXX Do not build the GNU C++ stack (g++, libstdc++). This is the default on platforms where clang is the system compiler.

p It is a default setting on amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm64/aarch64, i386/i386 and pc98/i386. t Va WITH_GNUCXX Build the GNU C++ stack (g++, libstdc++). This is the default on platforms where gcc is the system compiler.

p It is a default setting on mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. t Va WITHOUT_GNU_GREP_COMPAT Set this option to omit the gnu extensions to grep from being included in BSD grep. t Va WITHOUT_GNU_SUPPORT Set to build some programs without optional GNU support. t Va WITHOUT_GPIO Set to not build .Xr gpioctl 8 as part of the base system. t Va WITHOUT_GPL_DTC Set to build the BSD licensed version of the device tree compiler, instead of the GPL'd one from elinux.org. t Va WITHOUT_GROFF Set to not build .Xr groff 1 and .Xr vgrind 1 . You should consider installing the textproc/groff port to not break .Xr man 1 . t Va WITHOUT_GSSAPI Set to not build libgssapi.