1.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. 2.\" $FreeBSD$ 3.Dd February 4, 2020 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 WITH_AMD 104Set to build the legacy 105.Xr amd 8 106automount daemon and related programs. 107Note that 108.Xr autofs 5 109is the preferred automount technique. 110.It Va WITHOUT_APM 111Set to not build 112.Xr apm 8 , 113.Xr apmd 8 114and related programs. 115.It Va WITHOUT_ASSERT_DEBUG 116Set to compile programs and libraries without the 117.Xr assert 3 118checks. 119.It Va WITHOUT_AT 120Set to not build 121.Xr at 1 122and related utilities. 123.It Va WITHOUT_ATM 124Set to not build 125programs and libraries related to ATM networking. 126.It Va WITHOUT_AUDIT 127Set to not build audit support into system programs. 128.It Va WITHOUT_AUTHPF 129Set to not build 130.Xr authpf 8 . 131.It Va WITHOUT_AUTOFS 132Set to not build 133.Xr autofs 5 134related programs, libraries, and kernel modules. 135.It Va WITHOUT_AUTO_OBJ 136Disable automatic creation of objdirs. 137This is enabled by default if the wanted OBJDIR is writable by the current user. 138.Pp 139This must be set in the environment, make command line, or 140.Pa /etc/src-env.conf , 141not 142.Pa /etc/src.conf . 143.It Va WITH_BEARSSL 144Build the BearSSL library. 145.Pp 146BearSSL is a tiny SSL library suitable for embedded environments. 147For details see 148.Lk http://www.BearSSL.org/ 149.Pp 150This library is currently only used to perform 151signature verification and related operations 152for Verified Exec and 153.Xr loader 8 . 154When set, these options are also in effect: 155.Pp 156.Bl -inset -compact 157.It Va WITH_LOADER_EFI_SECUREBOOT 158(unless 159.Va WITHOUT_LOADER_EFI_SECUREBOOT 160is set explicitly) 161.It Va WITH_LOADER_VERIEXEC 162(unless 163.Va WITHOUT_LOADER_VERIEXEC 164is set explicitly) 165.It Va WITH_VERIEXEC 166(unless 167.Va WITHOUT_VERIEXEC 168is set explicitly) 169.El 170.It Va WITHOUT_BHYVE 171Set to not build or install 172.Xr bhyve 8 , 173associated utilities, and examples. 174.Pp 175This option only affects amd64/amd64. 176.It Va WITH_BIND_NOW 177Build all binaries with the 178.Dv DF_BIND_NOW 179flag set to indicate that the run-time loader should perform all relocation 180processing at process startup rather than on demand. 181.It Va WITHOUT_BINUTILS 182Do not build or install GNU 183.Xr as 1 , 184.Xr ld.bfd 1 , and 185.Xr objdump 1 186as part 187of the normal system build. 188.Pp 189This is a default setting on 190arm64/aarch64, riscv/riscv64 and riscv/riscv64sf. 191.It Va WITH_BINUTILS 192Build and install GNU 193.Xr as 1 194on i386 and amd64, 195.Xr objdump 1 , 196and 197.Xr ld.bfd 1 198on powerpc as part of the normal system build. 199.Pp 200This is a default setting on 201amd64/amd64, 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 and sparc64/sparc64. 202.It Va WITHOUT_BINUTILS_BOOTSTRAP 203Do not build binutils (as, ld.bfd, and objdump) 204as part of the bootstrap process. 205.Pp 206This is a default setting on 207arm/armv6, arm/armv7, arm64/aarch64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 208.It Va WITH_BINUTILS_BOOTSTRAP 209Build binutils (as on i386 and amd64, objdump, and ld on powerpc) 210as part of the bootstrap process. 211.Pp 212This is a default setting on 213amd64/amd64, i386/i386, powerpc/powerpc and powerpc/powerpc64. 214.It Va WITHOUT_BLACKLIST 215Set this if you do not want to build 216.Xr blacklistd 8 217and 218.Xr blacklistctl 8 . 219When set, these options are also in effect: 220.Pp 221.Bl -inset -compact 222.It Va WITHOUT_BLACKLIST_SUPPORT 223(unless 224.Va WITH_BLACKLIST_SUPPORT 225is set explicitly) 226.El 227.It Va WITHOUT_BLACKLIST_SUPPORT 228Set to build some programs without 229.Xr libblacklist 3 230support, like 231.Xr fingerd 8 , 232.Xr ftpd 8 , 233and 234.Xr sshd 8 . 235.It Va WITHOUT_BLUETOOTH 236Set to not build Bluetooth related kernel modules, programs and libraries. 237.It Va WITHOUT_BOOT 238Set to not build the boot blocks and loader. 239.It Va WITHOUT_BOOTPARAMD 240Set to not build or install 241.Xr bootparamd 8 . 242.It Va WITHOUT_BOOTPD 243Set to not build or install 244.Xr bootpd 8 . 245.It Va WITHOUT_BSDINSTALL 246Set to not build 247.Xr bsdinstall 8 , 248.Xr sade 8 , 249and related programs. 250.It Va WITHOUT_BSD_CPIO 251Set to not build the BSD licensed version of cpio based on 252.Xr libarchive 3 . 253.It Va WITH_BSD_GREP 254Install BSD-licensed grep as '[ef]grep' instead of GNU grep. 255.It Va WITHOUT_BSNMP 256Set to not build or install 257.Xr bsnmpd 1 258and related libraries and data files. 259.It Va WITHOUT_BZIP2 260Set to not build contributed bzip2 software as a part of the base system. 261.Bf -symbolic 262The option has no effect yet. 263.Ef 264When set, these options are also in effect: 265.Pp 266.Bl -inset -compact 267.It Va WITHOUT_BZIP2_SUPPORT 268(unless 269.Va WITH_BZIP2_SUPPORT 270is set explicitly) 271.El 272.It Va WITHOUT_BZIP2_SUPPORT 273Set to build some programs without optional bzip2 support. 274.It Va WITHOUT_CALENDAR 275Set to not build 276.Xr calendar 1 . 277.It Va WITHOUT_CAPSICUM 278Set to not build Capsicum support into system programs. 279When set, it enforces these options: 280.Pp 281.Bl -item -compact 282.It 283.Va WITHOUT_CASPER 284.El 285.It Va WITHOUT_CAROOT 286Set to not add the trusted certificates from the Mozilla NSS bundle to 287base. 288.It Va WITHOUT_CASPER 289Set to not build Casper program and related libraries. 290.It Va WITH_CCACHE_BUILD 291Set to use 292.Xr ccache 1 293for the build. 294No configuration is required except to install the 295.Sy devel/ccache 296package. 297When using with 298.Xr distcc 1 , 299set 300.Sy CCACHE_PREFIX=/usr/local/bin/distcc . 301The default cache directory of 302.Pa $HOME/.ccache 303will be used, which can be overridden by setting 304.Sy CCACHE_DIR . 305The 306.Sy CCACHE_COMPILERCHECK 307option defaults to 308.Sy content 309when using the in-tree bootstrap compiler, 310and 311.Sy mtime 312when using an external compiler. 313The 314.Sy CCACHE_CPP2 315option is used for Clang but not GCC. 316.Pp 317Sharing a cache between multiple work directories requires using a layout 318similar to 319.Pa /some/prefix/src 320.Pa /some/prefix/obj 321and an environment such as: 322.Bd -literal -offset indent 323CCACHE_BASEDIR='${SRCTOP:H}' MAKEOBJDIRPREFIX='${SRCTOP:H}/obj' 324.Ed 325.Pp 326See 327.Xr ccache 1 328for more configuration options. 329.It Va WITHOUT_CCD 330Set to not build 331.Xr geom_ccd 4 332and related utilities. 333.It Va WITHOUT_CDDL 334Set to not build code licensed under Sun's CDDL. 335When set, it enforces these options: 336.Pp 337.Bl -item -compact 338.It 339.Va WITHOUT_CTF 340.It 341.Va WITHOUT_LOADER_ZFS 342.It 343.Va WITHOUT_ZFS 344.El 345.It Va WITHOUT_CLANG 346Set to not build the Clang C/C++ compiler during the regular phase of the build. 347.Pp 348This is a default setting on 349sparc64/sparc64. 350When set, it enforces these options: 351.Pp 352.Bl -item -compact 353.It 354.Va WITHOUT_CLANG_EXTRAS 355.It 356.Va WITHOUT_CLANG_FULL 357.It 358.Va WITHOUT_LLVM_COV 359.El 360.It Va WITH_CLANG 361Set to build the Clang C/C++ compiler during the normal phase of the build. 362.Pp 363This is a default setting on 364amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 365.It Va WITHOUT_CLANG_BOOTSTRAP 366Set to not build the Clang C/C++ compiler during the bootstrap phase of 367the build. 368To be able to build the system, either gcc or clang bootstrap must be 369enabled unless an alternate compiler is provided via XCC. 370.Pp 371This is a default setting on 372mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf and sparc64/sparc64. 373.It Va WITH_CLANG_BOOTSTRAP 374Set to build the Clang C/C++ compiler during the bootstrap phase of the build. 375.Pp 376This is a default setting on 377amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf. 378.It Va WITH_CLANG_EXTRAS 379Set to build additional clang and llvm tools, such as bugpoint and 380clang-format. 381.It Va WITHOUT_CLANG_FULL 382Set to avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of 383the Clang C/C++ compiler. 384.Pp 385This is a default setting on 386sparc64/sparc64. 387.It Va WITH_CLANG_FULL 388Set to build the ARCMigrate, Rewriter and StaticAnalyzer components of the 389Clang C/C++ compiler. 390.Pp 391This is a default setting on 392amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 393.It Va WITHOUT_CLANG_IS_CC 394Do not install links to the Clang C/C++ compiler as 395.Pa /usr/bin/cc , 396.Pa /usr/bin/c++ 397and 398.Pa /usr/bin/cpp . 399If 400.Va WITH_GCC 401is set then links to the GCC C/C++ compiler will be installed instead. 402.Pp 403This is a default setting on 404mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf and sparc64/sparc64. 405.It Va WITH_CLANG_IS_CC 406Install links to the Clang C/C++ compiler as 407.Pa /usr/bin/cc , 408.Pa /usr/bin/c++ 409and 410.Pa /usr/bin/cpp . 411.Pp 412This is a default setting on 413amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf. 414.It Va WITHOUT_CPP 415Set to not build 416.Xr cpp 1 . 417.It Va WITHOUT_CROSS_COMPILER 418Set to not build any cross compiler in the cross-tools stage of buildworld. 419When compiling a different version of 420.Fx 421than what is installed on the system, provide an alternate 422compiler with XCC to ensure success. 423When compiling with an identical version of 424.Fx 425to the host, this option may be safely used. 426This option may also be safe when the host version of 427.Fx 428is close to the sources being built, but all bets are off if there have 429been any changes to the toolchain between the versions. 430When set, it enforces these options: 431.Pp 432.Bl -item -compact 433.It 434.Va WITHOUT_BINUTILS_BOOTSTRAP 435.It 436.Va WITHOUT_CLANG_BOOTSTRAP 437.It 438.Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP 439.It 440.Va WITHOUT_GCC_BOOTSTRAP 441.It 442.Va WITHOUT_LLD_BOOTSTRAP 443.El 444.It Va WITHOUT_CRYPT 445Set to not build any crypto code. 446When set, it enforces these options: 447.Pp 448.Bl -item -compact 449.It 450.Va WITHOUT_DMAGENT 451.It 452.Va WITHOUT_KERBEROS 453.It 454.Va WITHOUT_KERBEROS_SUPPORT 455.It 456.Va WITHOUT_LDNS 457.It 458.Va WITHOUT_LDNS_UTILS 459.It 460.Va WITHOUT_OPENSSH 461.It 462.Va WITHOUT_OPENSSL 463.It 464.Va WITHOUT_UNBOUND 465.El 466.Pp 467When set, these options are also in effect: 468.Pp 469.Bl -inset -compact 470.It Va WITHOUT_GSSAPI 471(unless 472.Va WITH_GSSAPI 473is set explicitly) 474.El 475.It Va WITH_CTF 476Set to compile with CTF (Compact C Type Format) data. 477CTF data encapsulates a reduced form of debugging information 478similar to DWARF and the venerable stabs and is required for DTrace. 479.It Va WITHOUT_CUSE 480Set to not build CUSE-related programs and libraries. 481.It Va WITHOUT_CXGBETOOL 482Set to not build 483.Xr cxgbetool 8 484.Pp 485This is a default setting on 486arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf. 487.It Va WITH_CXGBETOOL 488Set to build 489.Xr cxgbetool 8 490.Pp 491This is a default setting on 492amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and sparc64/sparc64. 493.It Va WITHOUT_CXX 494Set to not build 495.Xr c++ 1 496and related libraries. 497It will also prevent building of 498.Xr gperf 1 499and 500.Xr devd 8 . 501When set, it enforces these options: 502.Pp 503.Bl -item -compact 504.It 505.Va WITHOUT_CLANG 506.It 507.Va WITHOUT_CLANG_EXTRAS 508.It 509.Va WITHOUT_CLANG_FULL 510.It 511.Va WITHOUT_DTRACE_TESTS 512.It 513.Va WITHOUT_GNUCXX 514.It 515.Va WITHOUT_GOOGLETEST 516.It 517.Va WITHOUT_LLVM_COV 518.It 519.Va WITHOUT_TESTS 520.El 521.It Va WITHOUT_DEBUG_FILES 522Set to avoid building or installing standalone debug files for each 523executable binary and shared library. 524.It Va WITHOUT_DIALOG 525Set to not build 526.Xr dialog 1 , 527.Xr dialog 3 , 528.Xr dpv 1 , 529and 530.Xr dpv 3 . 531When set, it enforces these options: 532.Pp 533.Bl -item -compact 534.It 535.Va WITHOUT_BSDINSTALL 536.El 537.It Va WITHOUT_DICT 538Set to not build the Webster dictionary files. 539.It Va WITH_DIRDEPS_BUILD 540This is an experimental build system. 541For details see 542http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. 543Build commands can be seen from the top-level with: 544.Dl make show-valid-targets 545The build is driven by dirdeps.mk using 546.Va DIRDEPS 547stored in 548Makefile.depend files found in each directory. 549.Pp 550The build can be started from anywhere, and behaves the same. 551The initial instance of 552.Xr make 1 553recursively reads 554.Va DIRDEPS 555from 556.Pa Makefile.depend , 557computing a graph of tree dependencies from the current origin. 558Setting 559.Va NO_DIRDEPS 560skips checking dirdep dependencies and will only build in the current 561and child directories. 562.Va NO_DIRDEPS_BELOW 563skips building any dirdeps and only build the current directory. 564.Pp 565This also utilizes the 566.Va WITH_META_MODE 567logic for incremental builds. 568.Pp 569The build hides commands executed unless 570.Va NO_SILENT 571is defined. 572.Pp 573Note that there is currently no mass install feature for this. 574.Pp 575When set, it enforces these options: 576.Pp 577.Bl -item -compact 578.It 579.Va WITH_INSTALL_AS_USER 580.El 581.Pp 582When set, these options are also in effect: 583.Pp 584.Bl -inset -compact 585.It Va WITH_META_MODE 586(unless 587.Va WITHOUT_META_MODE 588is set explicitly) 589.It Va WITH_STAGING 590(unless 591.Va WITHOUT_STAGING 592is set explicitly) 593.It Va WITH_STAGING_MAN 594(unless 595.Va WITHOUT_STAGING_MAN 596is set explicitly) 597.It Va WITH_STAGING_PROG 598(unless 599.Va WITHOUT_STAGING_PROG 600is set explicitly) 601.It Va WITH_SYSROOT 602(unless 603.Va WITHOUT_SYSROOT 604is set explicitly) 605.El 606.Pp 607This must be set in the environment, make command line, or 608.Pa /etc/src-env.conf , 609not 610.Pa /etc/src.conf . 611.It Va WITH_DIRDEPS_CACHE 612Cache result of dirdeps.mk which can save significant time 613for subsequent builds. 614Depends on 615.Va WITH_DIRDEPS_BUILD . 616.Pp 617This must be set in the environment, make command line, or 618.Pa /etc/src-env.conf , 619not 620.Pa /etc/src.conf . 621.It Va WITHOUT_DMAGENT 622Set to not build dma Mail Transport Agent. 623.It Va WITHOUT_DOCCOMPRESS 624Set to not install compressed system documentation. 625Only the uncompressed version will be installed. 626.It Va WITH_DTRACE_TESTS 627Set to build and install the DTrace test suite in 628.Pa /usr/tests/cddl/usr.sbin/dtrace . 629This test suite is considered experimental on architectures other than 630amd64/amd64 and running it may cause system instability. 631.It Va WITHOUT_DYNAMICROOT 632Set this if you do not want to link 633.Pa /bin 634and 635.Pa /sbin 636dynamically. 637.It Va WITHOUT_EE 638Set to not build and install 639.Xr edit 1 , 640.Xr ee 1 , 641and related programs. 642.It Va WITHOUT_EFI 643Set not to build 644.Xr efivar 3 645and 646.Xr efivar 8 . 647.Pp 648This is a default setting on 649mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 650.It Va WITH_EFI 651Set to build 652.Xr efivar 3 653and 654.Xr efivar 8 . 655.Pp 656This is a default setting on 657amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64 and i386/i386. 658.It Va WITHOUT_ELFTOOLCHAIN_BOOTSTRAP 659Set to not build ELF Tool Chain tools 660(addr2line, nm, size, strings and strip) 661as part of the bootstrap process. 662.Bf -symbolic 663An alternate bootstrap tool chain must be provided. 664.Ef 665.It Va WITHOUT_EXAMPLES 666Set to avoid installing examples to 667.Pa /usr/share/examples/ . 668.It Va WITH_EXPERIMENTAL 669Set to include experimental features in the build. 670.It Va WITH_EXTRA_TCP_STACKS 671Set to build extra TCP stack modules. 672.It Va WITHOUT_FDT 673Set to not build Flattened Device Tree support as part of the base system. 674This includes the device tree compiler (dtc) and libfdt support library. 675.It Va WITHOUT_FILE 676Set to not build 677.Xr file 1 678and related programs. 679When set, it enforces these options: 680.Pp 681.Bl -item -compact 682.It 683.Va WITHOUT_SVNLITE 684.El 685.It Va WITHOUT_FINGER 686Set to not build or install 687.Xr finger 1 688and 689.Xr fingerd 8 . 690.It Va WITHOUT_FLOPPY 691Set to not build or install programs 692for operating floppy disk driver. 693.It Va WITHOUT_FMTREE 694Set to not build and install 695.Pa /usr/sbin/fmtree . 696.It Va WITHOUT_FORMAT_EXTENSIONS 697Set to not enable 698.Fl fformat-extensions 699when compiling the kernel. 700Also disables all format checking. 701.It Va WITHOUT_FORTH 702Set to build bootloaders without Forth support. 703.It Va WITHOUT_FP_LIBC 704Set to build 705.Nm libc 706without floating-point support. 707.It Va WITHOUT_FREEBSD_UPDATE 708Set to not build 709.Xr freebsd-update 8 . 710.It Va WITHOUT_FTP 711Set to not build or install 712.Xr ftp 1 713and 714.Xr ftpd 8 . 715.It Va WITHOUT_GAMES 716Set to not build games. 717.It Va WITH_GCC 718Set to build and install gcc and g++. 719This option is deprecated and will be removed before 720.Fx 13 . 721.It Va WITH_GCC_BOOTSTRAP 722Set to build gcc and g++ as part of the bootstrap process. 723This option is deprecated and will be removed before 724.Fx 13 . 725.It Va WITHOUT_GCOV 726Set to not build the 727.Xr gcov 1 728tool. 729.It Va WITHOUT_GDB 730Set to not build 731.Xr gdb 1 . 732.Pp 733This is a default setting on 734arm64/aarch64, riscv/riscv64 and riscv/riscv64sf. 735.It Va WITH_GDB 736Set to build 737.Xr gdb 1 . 738.Pp 739This is a default setting on 740amd64/amd64, 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 and sparc64/sparc64. 741.It Va WITHOUT_GDB_LIBEXEC 742Set to install 743.Xr gdb 1 744into 745.Pa /usr/bin . 746.Pp 747This is a default setting on 748sparc64/sparc64. 749.It Va WITH_GDB_LIBEXEC 750Set to install 751.Xr gdb 1 752into 753.Pa /usr/libexec . 754This permits 755.Xr gdb 1 756to be used as a fallback for 757.Xr crashinfo 8 758if a newer version is not installed. 759.Pp 760This is a default setting on 761amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 762.It Va WITH_GNUCXX 763Build the GNU C++ stack (g++, libstdc++). 764This option is deprecated and will be removed before 765.Fx 13 . 766.It Va WITHOUT_GNU_DIFF 767Set to not build GNU 768.Xr diff 1 769and 770.Xr diff3 1 . 771.It Va WITHOUT_GNU_GREP 772Set to not build GNU 773.Xr grep 1 . 774.It Va WITH_GNU_GREP_COMPAT 775Set this option to include GNU extensions in 776.Xr bsdgrep 1 777by linking against libgnuregex. 778.It Va WITHOUT_GOOGLETEST 779Set to neither build nor install 780.Lb libgmock , 781.Lb libgtest , 782and dependent tests. 783.It Va WITHOUT_GPIO 784Set to not build 785.Xr gpioctl 8 786as part of the base system. 787.It Va WITH_GPL_DTC 788Set to build the GPL'd version of the device tree compiler from elinux.org, 789instead of the BSD licensed one. 790.It Va WITHOUT_GSSAPI 791Set to not build libgssapi. 792.It Va WITHOUT_HAST 793Set to not build 794.Xr hastd 8 795and related utilities. 796.It Va WITH_HESIOD 797Set to build Hesiod support. 798.It Va WITHOUT_HTML 799Set to not build HTML docs. 800.It Va WITHOUT_HYPERV 801Set to not build or install HyperV utilities. 802.Pp 803This is a default setting on 804arm/armv6, arm/armv7, arm64/aarch64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 805.It Va WITH_HYPERV 806Set to build or install HyperV utilities. 807.Pp 808This is a default setting on 809amd64/amd64 and i386/i386. 810.It Va WITHOUT_ICONV 811Set to not build iconv as part of libc. 812.It Va WITHOUT_INCLUDES 813Set to not install header files. 814This option used to be spelled 815.Va NO_INCS . 816.Bf -symbolic 817The option does not work for build targets. 818.Ef 819.It Va WITHOUT_INET 820Set to not build programs and libraries related to IPv4 networking. 821When set, it enforces these options: 822.Pp 823.Bl -item -compact 824.It 825.Va WITHOUT_INET_SUPPORT 826.El 827.It Va WITHOUT_INET6 828Set to not build 829programs and libraries related to IPv6 networking. 830When set, it enforces these options: 831.Pp 832.Bl -item -compact 833.It 834.Va WITHOUT_INET6_SUPPORT 835.El 836.It Va WITHOUT_INET6_SUPPORT 837Set to build libraries, programs, and kernel modules without IPv6 support. 838.It Va WITHOUT_INETD 839Set to not build 840.Xr inetd 8 . 841.It Va WITHOUT_INET_SUPPORT 842Set to build libraries, programs, and kernel modules without IPv4 support. 843.It Va WITHOUT_INSTALLLIB 844Set this to not install optional libraries. 845For example, when creating a 846.Xr nanobsd 8 847image. 848.Bf -symbolic 849The option does not work for build targets. 850.Ef 851.It Va WITH_INSTALL_AS_USER 852Set to make install targets succeed for non-root users by installing 853files with owner and group attributes set to that of the user running 854the 855.Xr make 1 856command. 857The user still must set the 858.Va DESTDIR 859variable to point to a directory where the user has write permissions. 860.It Va WITHOUT_IPFILTER 861Set to not build IP Filter package. 862.It Va WITHOUT_IPFW 863Set to not build IPFW tools. 864.It Va WITHOUT_IPSEC_SUPPORT 865Set to not build the kernel with 866.Xr ipsec 4 867support. 868This option is needed for 869.Xr ipsec 4 870and 871.Xr tcpmd5 4 . 872.It Va WITHOUT_ISCSI 873Set to not build 874.Xr iscsid 8 875and related utilities. 876.It Va WITHOUT_JAIL 877Set to not build tools for the support of jails; e.g., 878.Xr jail 8 . 879.It Va WITHOUT_KDUMP 880Set to not build 881.Xr kdump 1 882and 883.Xr truss 1 . 884.It Va WITHOUT_KERBEROS 885Set this to not build Kerberos 5 (KTH Heimdal). 886When set, these options are also in effect: 887.Pp 888.Bl -inset -compact 889.It Va WITHOUT_GSSAPI 890(unless 891.Va WITH_GSSAPI 892is set explicitly) 893.It Va WITHOUT_KERBEROS_SUPPORT 894(unless 895.Va WITH_KERBEROS_SUPPORT 896is set explicitly) 897.El 898.It Va WITHOUT_KERBEROS_SUPPORT 899Set to build some programs without Kerberos support, like 900.Xr ssh 1 , 901.Xr telnet 1 , 902.Xr sshd 8 , 903and 904.Xr telnetd 8 . 905.It Va WITH_KERNEL_RETPOLINE 906Set to enable the "retpoline" mitigation for CVE-2017-5715 in the kernel 907build. 908.It Va WITHOUT_KERNEL_SYMBOLS 909Set to not install kernel symbol files. 910.Bf -symbolic 911This option is recommended for those people who have small root partitions. 912.Ef 913.It Va WITHOUT_KVM 914Set to not build the 915.Nm libkvm 916library as a part of the base system. 917.Bf -symbolic 918The option has no effect yet. 919.Ef 920When set, these options are also in effect: 921.Pp 922.Bl -inset -compact 923.It Va WITHOUT_KVM_SUPPORT 924(unless 925.Va WITH_KVM_SUPPORT 926is set explicitly) 927.El 928.It Va WITHOUT_KVM_SUPPORT 929Set to build some programs without optional 930.Nm libkvm 931support. 932.It Va WITHOUT_LDNS 933Setting this variable will prevent the LDNS library from being built. 934When set, it enforces these options: 935.Pp 936.Bl -item -compact 937.It 938.Va WITHOUT_LDNS_UTILS 939.It 940.Va WITHOUT_UNBOUND 941.El 942.It Va WITHOUT_LDNS_UTILS 943Setting this variable will prevent building the LDNS utilities 944.Xr drill 1 945and 946.Xr host 1 . 947.It Va WITHOUT_LEGACY_CONSOLE 948Set to not build programs that support a legacy PC console; e.g., 949.Xr kbdcontrol 1 950and 951.Xr vidcontrol 1 . 952.It Va WITHOUT_LIB32 953On 64-bit platforms, set to not build 32-bit library set and a 954.Nm ld-elf32.so.1 955runtime linker. 956.Pp 957This is a default setting on 958arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mipsn32, mips/mipselhf, mips/mipshf, powerpc/powerpc, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 959.It Va WITHOUT_LIBCPLUSPLUS 960Set to avoid building libcxxrt and libc++. 961.It Va WITHOUT_LIBPTHREAD 962Set to not build the 963.Nm libpthread 964providing library, 965.Nm libthr . 966When set, it enforces these options: 967.Pp 968.Bl -item -compact 969.It 970.Va WITHOUT_LIBTHR 971.El 972.It Va WITH_LIBSOFT 973On armv6 only, set to enable soft float ABI compatibility libraries. 974This option is for transitioning to the new hard float ABI. 975.It Va WITHOUT_LIBTHR 976Set to not build the 977.Nm libthr 978(1:1 threading) 979library. 980.It Va WITHOUT_LLD 981Set to not build LLVM's lld linker. 982.Pp 983This is a default setting on 984sparc64/sparc64. 985.It Va WITH_LLD 986Set to build LLVM's lld linker. 987.Pp 988This is a default setting on 989amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 990.It Va WITHOUT_LLDB 991Set to not build the LLDB debugger. 992.Pp 993This is a default setting on 994arm/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, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 995.It Va WITH_LLDB 996Set to build the LLDB debugger. 997.Pp 998This is a default setting on 999amd64/amd64, arm64/aarch64 and i386/i386. 1000.It Va WITHOUT_LLD_BOOTSTRAP 1001Set to not build the LLD linker during the bootstrap phase of 1002the build. 1003To be able to build the system, either Binutils or LLD bootstrap must be 1004enabled unless an alternate linker is provided via XLD. 1005.Pp 1006This is a default setting on 1007mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc and sparc64/sparc64. 1008.It Va WITH_LLD_BOOTSTRAP 1009Set to build the LLD linker during the bootstrap phase of the build, 1010and use it during buildworld and buildkernel. 1011.Pp 1012This is a default setting on 1013amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf. 1014.It Va WITHOUT_LLD_IS_LD 1015Set to use GNU binutils ld as the system linker, instead of LLVM's LLD. 1016.Pp 1017This is a default setting on 1018mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc and sparc64/sparc64. 1019.It Va WITH_LLD_IS_LD 1020Set to use LLVM's LLD as the system linker, instead of GNU binutils ld. 1021.Pp 1022This is a default setting on 1023amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc64, riscv/riscv64 and riscv/riscv64sf. 1024.It Va WITHOUT_LLVM_COV 1025Set to not build the 1026.Xr llvm-cov 1 1027tool. 1028.Pp 1029This is a default setting on 1030sparc64/sparc64. 1031.It Va WITH_LLVM_COV 1032Set to build the 1033.Xr llvm-cov 1 1034tool. 1035.Pp 1036This is a default setting on 1037amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 1038.It Va WITHOUT_LLVM_LIBUNWIND 1039Set to use GCC's stack unwinder (instead of LLVM's libunwind). 1040.Pp 1041This is a default setting on 1042sparc64/sparc64. 1043.It Va WITH_LLVM_LIBUNWIND 1044Set to use LLVM's libunwind stack unwinder (instead of GCC's unwinder). 1045.Pp 1046This is a default setting on 1047amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 1048.It Va WITHOUT_LLVM_TARGET_AARCH64 1049Set to not build LLVM target support for AArch64. 1050The 1051.Va LLVM_TARGET_ALL 1052option should be used rather than this in most cases. 1053.It Va WITHOUT_LLVM_TARGET_ALL 1054Set to only build the required LLVM target support. 1055This option is preferred to specific target support options. 1056When set, these options are also in effect: 1057.Pp 1058.Bl -inset -compact 1059.It Va WITHOUT_LLVM_TARGET_AARCH64 1060(unless 1061.Va WITH_LLVM_TARGET_AARCH64 1062is set explicitly) 1063.It Va WITHOUT_LLVM_TARGET_ARM 1064(unless 1065.Va WITH_LLVM_TARGET_ARM 1066is set explicitly) 1067.It Va WITHOUT_LLVM_TARGET_MIPS 1068(unless 1069.Va WITH_LLVM_TARGET_MIPS 1070is set explicitly) 1071.It Va WITHOUT_LLVM_TARGET_POWERPC 1072(unless 1073.Va WITH_LLVM_TARGET_POWERPC 1074is set explicitly) 1075.It Va WITHOUT_LLVM_TARGET_RISCV 1076(unless 1077.Va WITH_LLVM_TARGET_RISCV 1078is set explicitly) 1079.It Va WITHOUT_LLVM_TARGET_SPARC 1080(unless 1081.Va WITH_LLVM_TARGET_SPARC 1082is set explicitly) 1083.El 1084.It Va WITHOUT_LLVM_TARGET_ARM 1085Set to not build LLVM target support for ARM. 1086The 1087.Va LLVM_TARGET_ALL 1088option should be used rather than this in most cases. 1089.It Va WITH_LLVM_TARGET_BPF 1090Set to build LLVM target support for BPF. 1091The 1092.Va LLVM_TARGET_ALL 1093option should be used rather than this in most cases. 1094.It Va WITHOUT_LLVM_TARGET_MIPS 1095Set to not build LLVM target support for MIPS. 1096The 1097.Va LLVM_TARGET_ALL 1098option should be used rather than this in most cases. 1099.It Va WITHOUT_LLVM_TARGET_POWERPC 1100Set to not build LLVM target support for PowerPC. 1101The 1102.Va LLVM_TARGET_ALL 1103option should be used rather than this in most cases. 1104.It Va WITHOUT_LLVM_TARGET_RISCV 1105Set to not build LLVM target support for RISC-V. 1106The 1107.Va LLVM_TARGET_ALL 1108option should be used rather than this in most cases. 1109.It Va WITHOUT_LLVM_TARGET_SPARC 1110Set to not build LLVM target support for SPARC. 1111The 1112.Va LLVM_TARGET_ALL 1113option should be used rather than this in most cases. 1114.It Va WITHOUT_LLVM_TARGET_X86 1115Set to not build LLVM target support for X86. 1116The 1117.Va LLVM_TARGET_ALL 1118option should be used rather than this in most cases. 1119.It Va WITH_LOADER_EFI_SECUREBOOT 1120Enable building 1121.Xr loader 8 1122with support for verification based on certificates obtained from UEFI. 1123.Pp 1124.It Va WITH_LOADER_FIREWIRE 1125Enable firewire support in /boot/loader on x86. This option is a nop 1126on all other platforms. 1127.It Va WITH_LOADER_FORCE_LE 1128Set to force the powerpc boot loader to launch the kernel in little 1129endian mode. 1130.It Va WITHOUT_LOADER_GELI 1131Disable inclusion of GELI crypto support in the boot chain binaries. 1132.Pp 1133This is a default setting on 1134powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. 1135.It Va WITH_LOADER_GELI 1136Set to build GELI bootloader support. 1137.Pp 1138This is a default setting on 1139amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 1140.It Va WITHOUT_LOADER_LUA 1141Set to not build LUA bindings for the boot loader. 1142.Pp 1143This is a default setting on 1144powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. 1145.It Va WITH_LOADER_LUA 1146Set to build LUA bindings for the boot loader. 1147.Pp 1148This is a default setting on 1149amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 1150.It Va WITHOUT_LOADER_OFW 1151Disable building of openfirmware bootloader components. 1152.Pp 1153This is a default setting on 1154amd64/amd64, 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, riscv/riscv64 and riscv/riscv64sf. 1155.It Va WITH_LOADER_OFW 1156Set to build openfirmware bootloader components. 1157.Pp 1158This is a default setting on 1159powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. 1160.It Va WITHOUT_LOADER_UBOOT 1161Disable building of ubldr. 1162.Pp 1163This is a default setting on 1164amd64/amd64, arm64/aarch64, i386/i386, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 1165.It Va WITH_LOADER_UBOOT 1166Set to build ubldr. 1167.Pp 1168This is a default setting on 1169arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc and powerpc/powerpc64. 1170.It Va WITH_LOADER_VERBOSE 1171Set to build with extra verbose debugging in the loader. 1172May explode already nearly too large loader over the limit. 1173Use with care. 1174 1175.It Va WITH_LOADER_VERIEXEC 1176Enable building 1177.Xr loader 8 1178with support for verification similar to Verified Exec. 1179.Pp 1180Depends on 1181.Va WITH_BEARSSL . 1182When set, these options are also in effect: 1183.Pp 1184.Bl -inset -compact 1185.It Va WITH_LOADER_EFI_SECUREBOOT 1186(unless 1187.Va WITHOUT_LOADER_EFI_SECUREBOOT 1188is set explicitly) 1189.El 1190.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST 1191Enable building 1192.Xr loader 8 1193with support to pass a verified manifest to the kernel. 1194The kernel has to be built with a module to parse the manifest. 1195.Pp 1196Depends on 1197.Va WITH_LOADER_VERIEXEC . 1198.It Va WITHOUT_LOADER_ZFS 1199Set to not build ZFS file system boot loader support. 1200.It Va WITHOUT_LOCALES 1201Set to not build localization files; see 1202.Xr locale 1 . 1203.It Va WITHOUT_LOCATE 1204Set to not build 1205.Xr locate 1 1206and related programs. 1207.It Va WITHOUT_LPR 1208Set to not build 1209.Xr lpr 1 1210and related programs. 1211.It Va WITHOUT_LS_COLORS 1212Set to build 1213.Xr ls 1 1214without support for colors to distinguish file types. 1215.It Va WITHOUT_LZMA_SUPPORT 1216Set to build some programs without optional lzma compression support. 1217.It Va WITHOUT_MAIL 1218Set to not build any mail support (MUA or MTA). 1219When set, it enforces these options: 1220.Pp 1221.Bl -item -compact 1222.It 1223.Va WITHOUT_DMAGENT 1224.It 1225.Va WITHOUT_MAILWRAPPER 1226.It 1227.Va WITHOUT_SENDMAIL 1228.El 1229.It Va WITHOUT_MAILWRAPPER 1230Set to not build the 1231.Xr mailwrapper 8 1232MTA selector. 1233.It Va WITHOUT_MAKE 1234Set to not install 1235.Xr make 1 1236and related support files. 1237.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX 1238Set to not execute 1239.Dq Li "make check" 1240in limited sandbox mode. 1241This option should be paired with 1242.Va WITH_INSTALL_AS_USER 1243if executed as an unprivileged user. 1244See 1245.Xr tests 7 1246for more details. 1247.It Va WITHOUT_MAN 1248Set to not build manual pages. 1249When set, these options are also in effect: 1250.Pp 1251.Bl -inset -compact 1252.It Va WITHOUT_MAN_UTILS 1253(unless 1254.Va WITH_MAN_UTILS 1255is set explicitly) 1256.El 1257.It Va WITHOUT_MANCOMPRESS 1258Set to not to install compressed man pages. 1259Only the uncompressed versions will be installed. 1260.It Va WITHOUT_MAN_UTILS 1261Set to not build utilities for manual pages, 1262.Xr apropos 1 , 1263.Xr makewhatis 1 , 1264.Xr man 1 , 1265.Xr whatis 1 , 1266.Xr manctl 8 , 1267and related support files. 1268.It Va WITH_META_MODE 1269Create 1270.Xr make 1 1271meta files when building, which can provide a reliable incremental build when 1272using 1273.Xr filemon 4 . 1274The meta file is created in OBJDIR as 1275.Pa target.meta . 1276These meta files track the command that was executed, its output, and the 1277current directory. 1278The 1279.Xr filemon 4 1280module is required unless 1281.Va NO_FILEMON 1282is defined. 1283When the module is loaded, any files used by the commands executed are 1284tracked as dependencies for the target in its meta file. 1285The target is considered out-of-date and rebuilt if any of these 1286conditions are true compared to the last build: 1287.Bl -bullet -compact 1288.It 1289The command to execute changes. 1290.It 1291The current working directory changes. 1292.It 1293The target's meta file is missing. 1294.It 1295The target's meta file is missing filemon data when filemon is loaded 1296and a previous run did not have it loaded. 1297.It 1298[requires 1299.Xr filemon 4 ] 1300Files read, executed or linked to are newer than the target. 1301.It 1302[requires 1303.Xr filemon 4 ] 1304Files read, written, executed or linked are missing. 1305.El 1306The meta files can also be useful for debugging. 1307.Pp 1308The build hides commands that are executed unless 1309.Va NO_SILENT 1310is defined. 1311Errors cause 1312.Xr make 1 1313to show some of its environment for further debugging. 1314.Pp 1315The build operates as it normally would otherwise. 1316This option originally invoked a different build system but that was renamed 1317to 1318.Va WITH_DIRDEPS_BUILD . 1319.Pp 1320This must be set in the environment, make command line, or 1321.Pa /etc/src-env.conf , 1322not 1323.Pa /etc/src.conf . 1324.It Va WITHOUT_MLX5TOOL 1325Set to not build 1326.Xr mlx5tool 8 1327.Pp 1328This is a default setting on 1329arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, riscv/riscv64 and riscv/riscv64sf. 1330.It Va WITH_MLX5TOOL 1331Set to build 1332.Xr mlx5tool 8 1333.Pp 1334This is a default setting on 1335amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and sparc64/sparc64. 1336.It Va WITHOUT_NDIS 1337Set to not build programs and libraries 1338related to NDIS emulation support. 1339.It Va WITHOUT_NETCAT 1340Set to not build 1341.Xr nc 1 1342utility. 1343.It Va WITHOUT_NETGRAPH 1344Set to not build applications to support 1345.Xr netgraph 4 . 1346When set, it enforces these options: 1347.Pp 1348.Bl -item -compact 1349.It 1350.Va WITHOUT_ATM 1351.It 1352.Va WITHOUT_BLUETOOTH 1353.El 1354.Pp 1355When set, these options are also in effect: 1356.Pp 1357.Bl -inset -compact 1358.It Va WITHOUT_NETGRAPH_SUPPORT 1359(unless 1360.Va WITH_NETGRAPH_SUPPORT 1361is set explicitly) 1362.El 1363.It Va WITHOUT_NETGRAPH_SUPPORT 1364Set to build libraries, programs, and kernel modules without netgraph support. 1365.It Va WITHOUT_NIS 1366Set to not build 1367.Xr NIS 8 1368support and related programs. 1369If set, you might need to adopt your 1370.Xr nsswitch.conf 5 1371and remove 1372.Sq nis 1373entries. 1374.It Va WITHOUT_NLS 1375Set to not build NLS catalogs. 1376When set, it enforces these options: 1377.Pp 1378.Bl -item -compact 1379.It 1380.Va WITHOUT_NLS_CATALOGS 1381.El 1382.It Va WITHOUT_NLS_CATALOGS 1383Set to not build NLS catalog support for 1384.Xr csh 1 . 1385.It Va WITHOUT_NS_CACHING 1386Set to disable name caching in the 1387.Pa nsswitch 1388subsystem. 1389The generic caching daemon, 1390.Xr nscd 8 , 1391will not be built either if this option is set. 1392.It Va WITHOUT_NTP 1393Set to not build 1394.Xr ntpd 8 1395and related programs. 1396.It Va WITHOUT_NVME 1397Set to not build nvme related tools and kernel modules. 1398.Pp 1399This is a default setting on 1400arm/armv6, arm/armv7, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 1401.It Va WITH_NVME 1402Set to build nvme related tools and kernel modules. 1403 1404.Pp 1405This is a default setting on 1406amd64/amd64, arm64/aarch64, i386/i386 and powerpc/powerpc64. 1407.It Va WITH_OFED 1408Set to build the 1409.Dq "OpenFabrics Enterprise Distribution" 1410Infiniband software stack. 1411.It Va WITH_OFED_EXTRA 1412Set to build the non-essential components of the 1413.Dq "OpenFabrics Enterprise Distribution" 1414Infiniband software stack, mostly examples. 1415.It Va WITH_OPENLDAP 1416Enable building openldap support for kerberos. 1417.It Va WITHOUT_OPENMP 1418Set to not build LLVM's OpenMP runtime. 1419.Pp 1420This is a default setting on 1421arm/armv6, arm/armv7, arm64/aarch64, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf, mips/mips64hf, powerpc/powerpc, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 1422.It Va WITH_OPENMP 1423Set to build LLVM's OpenMP runtime. 1424.Pp 1425This is a default setting on 1426amd64/amd64, i386/i386 and powerpc/powerpc64. 1427.It Va WITHOUT_OPENSSH 1428Set to not build OpenSSH. 1429.It Va WITHOUT_OPENSSL 1430Set to not build OpenSSL. 1431When set, it enforces these options: 1432.Pp 1433.Bl -item -compact 1434.It 1435.Va WITHOUT_DMAGENT 1436.It 1437.Va WITHOUT_KERBEROS 1438.It 1439.Va WITHOUT_KERBEROS_SUPPORT 1440.It 1441.Va WITHOUT_LDNS 1442.It 1443.Va WITHOUT_LDNS_UTILS 1444.It 1445.Va WITHOUT_OPENSSH 1446.It 1447.Va WITHOUT_UNBOUND 1448.El 1449.Pp 1450When set, these options are also in effect: 1451.Pp 1452.Bl -inset -compact 1453.It Va WITHOUT_GSSAPI 1454(unless 1455.Va WITH_GSSAPI 1456is set explicitly) 1457.El 1458.It Va WITHOUT_PAM 1459Set to not build PAM library and modules. 1460.Bf -symbolic 1461This option is deprecated and does nothing. 1462.Ef 1463When set, these options are also in effect: 1464.Pp 1465.Bl -inset -compact 1466.It Va WITHOUT_PAM_SUPPORT 1467(unless 1468.Va WITH_PAM_SUPPORT 1469is set explicitly) 1470.El 1471.It Va WITHOUT_PAM_SUPPORT 1472Set to build some programs without PAM support, particularly 1473.Xr ftpd 8 1474and 1475.Xr ppp 8 . 1476.It Va WITHOUT_PF 1477Set to not build PF firewall package. 1478When set, it enforces these options: 1479.Pp 1480.Bl -item -compact 1481.It 1482.Va WITHOUT_AUTHPF 1483.El 1484.It Va WITH_PIE 1485Build dynamically linked binaries as 1486Position-Independent Executable (PIE). 1487.It Va WITHOUT_PKGBOOTSTRAP 1488Set to not build 1489.Xr pkg 7 1490bootstrap tool. 1491.It Va WITHOUT_PMC 1492Set to not build 1493.Xr pmccontrol 8 1494and related programs. 1495.It Va WITHOUT_PORTSNAP 1496Set to not build or install 1497.Xr portsnap 8 1498and related files. 1499When set, it enforces these options: 1500.Pp 1501.Bl -item -compact 1502.It 1503.Va WITHOUT_FREEBSD_UPDATE 1504.El 1505.It Va WITHOUT_PPP 1506Set to not build 1507.Xr ppp 8 1508and related programs. 1509.It Va WITHOUT_PROFILE 1510Set to not build profiled libraries for use with 1511.Xr gprof 8 . 1512.Pp 1513This is a default setting on 1514mips/mips64el, mips/mips64, mips/mips64elhf and mips/mips64hf. 1515.It Va WITH_PROFILE 1516Set to build profiled libraries for use with 1517.Xr gprof 8 . 1518.Pp 1519This is a default setting on 1520amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, mips/mipsel, mips/mips, mips/mipsn32, mips/mipselhf, mips/mipshf, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 1521.It Va WITHOUT_QUOTAS 1522Set to not build 1523.Xr quota 1 1524and related programs. 1525.It Va WITHOUT_RADIUS_SUPPORT 1526Set to not build radius support into various applications, like 1527.Xr pam_radius 8 1528and 1529.Xr ppp 8 . 1530.It Va WITH_RATELIMIT 1531Set to build the system with rate limit support. 1532.Pp 1533This makes 1534.Dv SO_MAX_PACING_RATE 1535effective in 1536.Xr getsockopt 2 , 1537and 1538.Ar txrlimit 1539support in 1540.Xr ifconfig 8 , 1541by proxy. 1542.It Va WITHOUT_RBOOTD 1543Set to not build or install 1544.Xr rbootd 8 . 1545.It Va WITH_REPRODUCIBLE_BUILD 1546Set to exclude build metadata (such as the build time, user, or host) 1547from the kernel, boot loaders, and uname output, so that builds produce 1548bit-for-bit identical output. 1549.It Va WITHOUT_RESCUE 1550Set to not build 1551.Xr rescue 8 . 1552.It Va WITH_RETPOLINE 1553Set to build the base system with the retpoline speculative execution 1554vulnerability mitigation for CVE-2017-5715. 1555.It Va WITHOUT_ROUTED 1556Set to not build 1557.Xr routed 8 1558utility. 1559.It Va WITH_RPCBIND_WARMSTART_SUPPORT 1560Set to build 1561.Xr rpcbind 8 1562with warmstart support. 1563.It Va WITHOUT_SENDMAIL 1564Set to not build 1565.Xr sendmail 8 1566and related programs. 1567.It Va WITHOUT_SERVICESDB 1568Set to not install 1569.Pa /var/db/services.db . 1570.It Va WITHOUT_SETUID_LOGIN 1571Set this to disable the installation of 1572.Xr login 1 1573as a set-user-ID root program. 1574.It Va WITHOUT_SHAREDOCS 1575Set to not build the 1576.Bx 4.4 1577legacy docs. 1578.It Va WITHOUT_SHARED_TOOLCHAIN 1579Set to build the toolchain binaries as statically linked executables. 1580The set includes 1581.Xr cc 1 , 1582.Xr make 1 1583and necessary utilities like assembler, linker and library archive manager. 1584.It Va WITH_SORT_THREADS 1585Set to enable threads in 1586.Xr sort 1 . 1587.It Va WITHOUT_SOURCELESS 1588Set to not build kernel modules that include sourceless code (either microcode or native code for host CPU). 1589When set, it enforces these options: 1590.Pp 1591.Bl -item -compact 1592.It 1593.Va WITHOUT_SOURCELESS_HOST 1594.It 1595.Va WITHOUT_SOURCELESS_UCODE 1596.El 1597.It Va WITHOUT_SOURCELESS_HOST 1598Set to not build kernel modules that include sourceless native code for host CPU. 1599.It Va WITHOUT_SOURCELESS_UCODE 1600Set to not build kernel modules that include sourceless microcode. 1601.It Va WITHOUT_SSP 1602Set to not build world with propolice stack smashing protection. 1603.Pp 1604This is a default setting on 1605mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, mips/mipselhf, mips/mipshf, mips/mips64elhf and mips/mips64hf. 1606.It Va WITH_SSP 1607Set to build world with propolice stack smashing protection. 1608.Pp 1609This is a default setting on 1610amd64/amd64, arm/armv6, arm/armv7, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, riscv/riscv64, riscv/riscv64sf and sparc64/sparc64. 1611.It Va WITH_STAGING 1612Enable staging of files to a stage tree. 1613This can be best thought of as auto-install to 1614.Va DESTDIR 1615with some extra meta data to ensure dependencies can be tracked. 1616Depends on 1617.Va WITH_DIRDEPS_BUILD . 1618When set, these options are also in effect: 1619.Pp 1620.Bl -inset -compact 1621.It Va WITH_STAGING_MAN 1622(unless 1623.Va WITHOUT_STAGING_MAN 1624is set explicitly) 1625.It Va WITH_STAGING_PROG 1626(unless 1627.Va WITHOUT_STAGING_PROG 1628is set explicitly) 1629.El 1630.Pp 1631This must be set in the environment, make command line, or 1632.Pa /etc/src-env.conf , 1633not 1634.Pa /etc/src.conf . 1635.It Va WITH_STAGING_MAN 1636Enable staging of man pages to stage tree. 1637.It Va WITH_STAGING_PROG 1638Enable staging of PROGs to stage tree. 1639.It Va WITH_STALE_STAGED 1640Check staged files are not stale. 1641.It Va WITHOUT_STATS 1642Set to neither build nor install 1643.Lb libstats 1644and dependent binaries. 1645.It Va WITH_SVN 1646Set to install 1647.Xr svnlite 1 1648as 1649.Xr svn 1 . 1650.It Va WITHOUT_SVNLITE 1651Set to not build 1652.Xr svnlite 1 1653and related programs. 1654.It Va WITHOUT_SYMVER 1655Set to disable symbol versioning when building shared libraries. 1656.It Va WITHOUT_SYSCONS 1657Set to not build 1658.Xr syscons 4 1659support files such as keyboard maps, fonts, and screen output maps. 1660.It Va WITH_SYSROOT 1661Enable use of sysroot during build. 1662Depends on 1663.Va WITH_DIRDEPS_BUILD . 1664.Pp 1665This must be set in the environment, make command line, or 1666.Pa /etc/src-env.conf , 1667not 1668.Pa /etc/src.conf . 1669.It Va WITHOUT_SYSTEM_COMPILER 1670Set to not opportunistically skip building a cross-compiler during the 1671bootstrap phase of the build. 1672Normally, if the currently installed compiler matches the planned bootstrap 1673compiler type and revision, then it will not be built. 1674This does not prevent a compiler from being built for installation though, 1675only for building one for the build itself. 1676The 1677.Va WITHOUT_CLANG 1678and 1679.Va WITHOUT_GCC 1680options control those. 1681.It Va WITHOUT_SYSTEM_LINKER 1682Set to not opportunistically skip building a cross-linker during the 1683bootstrap phase of the build. 1684Normally, if the currently installed linker matches the planned bootstrap 1685linker type and revision, then it will not be built. 1686This does not prevent a linker from being built for installation though, 1687only for building one for the build itself. 1688The 1689.Va WITHOUT_LLD 1690and 1691.Va WITHOUT_BINUTILS 1692options control those. 1693.Pp 1694This option is only relevant when 1695.Va WITH_LLD_BOOTSTRAP 1696is set. 1697.It Va WITHOUT_TALK 1698Set to not build or install 1699.Xr talk 1 1700and 1701.Xr talkd 8 . 1702.It Va WITHOUT_TCP_WRAPPERS 1703Set to not build or install 1704.Xr tcpd 8 , 1705and related utilities. 1706.It Va WITHOUT_TCSH 1707Set to not build and install 1708.Pa /bin/csh 1709(which is 1710.Xr tcsh 1 ) . 1711.It Va WITHOUT_TELNET 1712Set to not build 1713.Xr telnet 1 1714and related programs. 1715.It Va WITHOUT_TESTS 1716Set to not build nor install the 1717.Fx 1718Test Suite in 1719.Pa /usr/tests/ . 1720See 1721.Xr tests 7 1722for more details. 1723This also disables the build of all test-related dependencies, including ATF. 1724When set, it enforces these options: 1725.Pp 1726.Bl -item -compact 1727.It 1728.Va WITHOUT_DTRACE_TESTS 1729.El 1730.Pp 1731When set, these options are also in effect: 1732.Pp 1733.Bl -inset -compact 1734.It Va WITHOUT_GOOGLETEST 1735(unless 1736.Va WITH_GOOGLETEST 1737is set explicitly) 1738.It Va WITHOUT_TESTS_SUPPORT 1739(unless 1740.Va WITH_TESTS_SUPPORT 1741is set explicitly) 1742.El 1743.It Va WITHOUT_TESTS_SUPPORT 1744Set to disables the build of all test-related dependencies, including ATF. 1745When set, it enforces these options: 1746.Pp 1747.Bl -item -compact 1748.It 1749.Va WITHOUT_GOOGLETEST 1750.El 1751.It Va WITHOUT_TEXTPROC 1752Set to not build 1753programs used for text processing. 1754.It Va WITHOUT_TFTP 1755Set to not build or install 1756.Xr tftp 1 1757and 1758.Xr tftpd 8 . 1759.It Va WITHOUT_TOOLCHAIN 1760Set to not install header or 1761programs used for program development, 1762compilers, debuggers etc. 1763When set, it enforces these options: 1764.Pp 1765.Bl -item -compact 1766.It 1767.Va WITHOUT_BINUTILS 1768.It 1769.Va WITHOUT_CLANG 1770.It 1771.Va WITHOUT_CLANG_EXTRAS 1772.It 1773.Va WITHOUT_CLANG_FULL 1774.It 1775.Va WITHOUT_GCC 1776.It 1777.Va WITHOUT_GDB 1778.It 1779.Va WITHOUT_INCLUDES 1780.It 1781.Va WITHOUT_LLD 1782.It 1783.Va WITHOUT_LLDB 1784.It 1785.Va WITHOUT_LLVM_COV 1786.El 1787.It Va WITHOUT_UNBOUND 1788Set to not build 1789.Xr unbound 8 1790and related programs. 1791.It Va WITHOUT_UNIFIED_OBJDIR 1792Set to use the historical object directory format for 1793.Xr build 7 1794targets. 1795For native-builds and builds done directly in sub-directories the format of 1796.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR} 1797is used, 1798while for cross-builds 1799.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR} 1800is used. 1801.Pp 1802This option is transitional and will be removed before the 12.0 release, 1803at which time 1804.va WITH_UNIFIED_OBJDIR 1805will be enabled permanently. 1806.Pp 1807This must be set in the environment, make command line, or 1808.Pa /etc/src-env.conf , 1809not 1810.Pa /etc/src.conf . 1811.It Va WITHOUT_USB 1812Set to not build USB-related programs and libraries. 1813.It Va WITHOUT_USB_GADGET_EXAMPLES 1814Set to not build USB gadget kernel modules. 1815.It Va WITHOUT_UTMPX 1816Set to not build user accounting tools such as 1817.Xr last 1 , 1818.Xr users 1 , 1819.Xr who 1 , 1820.Xr ac 8 , 1821.Xr lastlogin 8 1822and 1823.Xr utx 8 . 1824.It Va WITH_VERIEXEC 1825Enable building 1826.Xr veriexec 8 1827which loads the contents of verified manifests into the kernel 1828for use by 1829.Xr mac_veriexec 4 1830.Pp 1831Depends on 1832.Va WITH_BEARSSL . 1833.It Va WITHOUT_VI 1834Set to not build and install vi, view, ex and related programs. 1835.It Va WITHOUT_VT 1836Set to not build 1837.Xr vt 4 1838support files (fonts and keymaps). 1839.It Va WITHOUT_WARNS 1840Set this to not add warning flags to the compiler invocations. 1841Useful as a temporary workaround when code enters the tree 1842which triggers warnings in environments that differ from the 1843original developer. 1844.It Va WITHOUT_WIRELESS 1845Set to not build programs used for 802.11 wireless networks; especially 1846.Xr wpa_supplicant 8 1847and 1848.Xr hostapd 8 . 1849When set, these options are also in effect: 1850.Pp 1851.Bl -inset -compact 1852.It Va WITHOUT_WIRELESS_SUPPORT 1853(unless 1854.Va WITH_WIRELESS_SUPPORT 1855is set explicitly) 1856.El 1857.It Va WITHOUT_WIRELESS_SUPPORT 1858Set to build libraries, programs, and kernel modules without 1859802.11 wireless support. 1860.It Va WITHOUT_WPA_SUPPLICANT_EAPOL 1861Build 1862.Xr wpa_supplicant 8 1863without support for the IEEE 802.1X protocol and without 1864support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS 1865protocols (usable only via 802.1X). 1866.It Va WITHOUT_ZFS 1867Set to not build ZFS file system kernel module, libraries, and user commands. 1868.It Va WITHOUT_ZONEINFO 1869Set to not build the timezone database. 1870When set, it enforces these options: 1871.Pp 1872.Bl -item -compact 1873.It 1874.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT 1875.It 1876.Va WITHOUT_ZONEINFO_OLD_TIMEZONES_SUPPORT 1877.El 1878.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT 1879Set to build leapsecond information in to the timezone database. 1880.It Va WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT 1881Set to build backward compatibility timezone aliases in to the timezone 1882database. 1883.El 1884.Sh FILES 1885.Bl -tag -compact -width Pa 1886.It Pa /etc/src.conf 1887.It Pa /etc/src-env.conf 1888.It Pa /usr/share/mk/bsd.own.mk 1889.El 1890.Sh SEE ALSO 1891.Xr make 1 , 1892.Xr make.conf 5 , 1893.Xr build 7 , 1894.Xr ports 7 1895.Sh HISTORY 1896The 1897.Nm 1898file appeared in 1899.Fx 7.0 . 1900.Sh AUTHORS 1901This manual page was autogenerated by 1902.An tools/build/options/makeman . 1903