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