1.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. 2.Dd March 15, 2024 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_BIN 822Generate and install kernel.bin from kernel as part of the normal build and 823install processes for the kernel. Available only on arm and arm64. 824 825Usually this will be added to the kernel config file with: 826 827makeoptions WITH_KERNEL_BIN=1 828 829though it can also be used on the command line. 830.It Va WITH_KERNEL_RETPOLINE 831Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel 832build. 833.It Va WITHOUT_KERNEL_SYMBOLS 834Do not install standalone kernel debug symbol files. 835This option has no effect at build time. 836.It Va WITHOUT_KVM 837Do not build the 838.Nm libkvm 839library as a part of the base system. 840.Bf -symbolic 841The option has no effect yet. 842.Ef 843When set, these options are also in effect: 844.Pp 845.Bl -inset -compact 846.It Va WITHOUT_KVM_SUPPORT 847(unless 848.Va WITH_KVM_SUPPORT 849is set explicitly) 850.El 851.It Va WITHOUT_KVM_SUPPORT 852Build some programs without optional 853.Nm libkvm 854support. 855.It Va WITHOUT_LDNS 856Setting this variable will prevent the LDNS library from being built. 857When set, it enforces these options: 858.Pp 859.Bl -item -compact 860.It 861.Va WITHOUT_LDNS_UTILS 862.It 863.Va WITHOUT_UNBOUND 864.El 865.It Va WITHOUT_LDNS_UTILS 866Setting this variable will prevent building the LDNS utilities 867.Xr drill 1 868and 869.Xr host 1 . 870.It Va WITHOUT_LEGACY_CONSOLE 871Do not build programs that support a legacy PC console; e.g., 872.Xr kbdcontrol 1 873and 874.Xr vidcontrol 1 . 875.It Va WITHOUT_LIB32 876On 64-bit platforms, do not build 32-bit library set and a 877.Nm ld-elf32.so.1 878runtime linker. 879.Pp 880This is a default setting on 881arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64. 882.It Va WITH_LIB32 883On 64-bit platforms, build the 32-bit library set and a 884.Nm ld-elf32.so.1 885runtime linker. 886.Pp 887This is a default setting on 888amd64/amd64, arm64/aarch64 and powerpc/powerpc64. 889.It Va WITHOUT_LLD 890Do not build LLVM's lld linker. 891.It Va WITHOUT_LLDB 892Do not build the LLDB debugger. 893.Pp 894This is a default setting on 895arm/armv7 and riscv/riscv64. 896.It Va WITH_LLDB 897Build the LLDB debugger. 898.Pp 899This is a default setting on 900amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le. 901.It Va WITHOUT_LLD_BOOTSTRAP 902Do not build the LLD linker during the bootstrap phase of 903the build. 904To be able to build the system an alternate linker must be provided via XLD. 905.It Va WITHOUT_LLVM_ASSERTIONS 906Disable debugging assertions in LLVM. 907.It Va WITH_LLVM_BINUTILS 908Install LLVM's binutils (without an llvm- prefix), 909instead of ELF Tool Chain's tools. 910This includes 911.Xr addr2line 1 , 912.Xr ar 1 , 913.Xr nm 1 , 914.Xr objcopy 1 , 915.Xr ranlib 1 , 916.Xr readelf 1 , 917.Xr size 1 , 918and 919.Xr strip 1 . 920Regardless of this setting, LLVM tools are used for 921.Xr c++filt 1 922and 923.Xr objdump 1 . 924.Xr strings 1 925is always provided by ELF Tool Chain. 926.It Va WITHOUT_LLVM_COV 927Do not build the 928.Xr llvm-cov 1 929tool. 930.It Va WITHOUT_LLVM_CXXFILT 931Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt. 932.It Va WITH_LLVM_FULL_DEBUGINFO 933Generate full debug information for LLVM libraries and tools, which uses 934more disk space and build resources, but allows for easier debugging. 935.It Va WITHOUT_LLVM_TARGET_AARCH64 936Do not build LLVM target support for AArch64. 937The 938.Va LLVM_TARGET_ALL 939option should be used rather than this in most cases. 940.It Va WITHOUT_LLVM_TARGET_ALL 941Only build the required LLVM target support. 942This option is preferred to specific target support options. 943When set, these options are also in effect: 944.Pp 945.Bl -inset -compact 946.It Va WITHOUT_LLVM_TARGET_AARCH64 947(unless 948.Va WITH_LLVM_TARGET_AARCH64 949is set explicitly) 950.It Va WITHOUT_LLVM_TARGET_ARM 951(unless 952.Va WITH_LLVM_TARGET_ARM 953is set explicitly) 954.It Va WITHOUT_LLVM_TARGET_POWERPC 955(unless 956.Va WITH_LLVM_TARGET_POWERPC 957is set explicitly) 958.It Va WITHOUT_LLVM_TARGET_RISCV 959(unless 960.Va WITH_LLVM_TARGET_RISCV 961is set explicitly) 962.El 963.It Va WITHOUT_LLVM_TARGET_ARM 964Do not build LLVM target support for ARM. 965The 966.Va LLVM_TARGET_ALL 967option should be used rather than this in most cases. 968.It Va WITH_LLVM_TARGET_BPF 969Build LLVM target support for BPF. 970The 971.Va LLVM_TARGET_ALL 972option should be used rather than this in most cases. 973.It Va WITH_LLVM_TARGET_MIPS 974Build LLVM target support for MIPS. 975The 976.Va LLVM_TARGET_ALL 977option should be used rather than this in most cases. 978.It Va WITHOUT_LLVM_TARGET_POWERPC 979Do not build LLVM target support for PowerPC. 980The 981.Va LLVM_TARGET_ALL 982option should be used rather than this in most cases. 983.It Va WITHOUT_LLVM_TARGET_RISCV 984Do not build LLVM target support for RISC-V. 985The 986.Va LLVM_TARGET_ALL 987option should be used rather than this in most cases. 988.It Va WITHOUT_LLVM_TARGET_X86 989Do not build LLVM target support for X86. 990The 991.Va LLVM_TARGET_ALL 992option should be used rather than this in most cases. 993.It Va WITH_LOADER_BIOS_TEXTONLY 994Use the old, FreeBSD 12 vidconsole.c. 995This only supports text mode without teken, without any graphics, font or video mode support. 996This setting only affects the i386 and amd64 BIOS boot loader. 997.It Va WITH_LOADER_EFI_SECUREBOOT 998Enable building 999.Xr loader 8 1000with support for verification based on certificates obtained from UEFI. 1001.It Va WITHOUT_LOADER_GELI 1002Disable inclusion of GELI crypto support in the boot chain binaries. 1003.Pp 1004This is a default setting on 1005powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le. 1006.It Va WITH_LOADER_GELI 1007Build GELI bootloader support. 1008.Pp 1009This is a default setting on 1010amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64. 1011.It Va WITHOUT_LOADER_KBOOT 1012Do not build kboot, a linuxboot environment loader 1013.Pp 1014This is a default setting on 1015arm/armv7, i386/i386, powerpc/powerpc, powerpc/powerpc64le and riscv/riscv64. 1016.It Va WITH_LOADER_KBOOT 1017Build kboot, a linuxboot environment loader 1018.Pp 1019This is a default setting on 1020amd64/amd64, arm64/aarch64 and powerpc/powerpc64. 1021.It Va WITHOUT_LOADER_LUA 1022Do not build LUA bindings for the boot loader. 1023.Pp 1024This is a default setting on 1025powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le. 1026.It Va WITH_LOADER_LUA 1027Build LUA bindings for the boot loader. 1028.Pp 1029This is a default setting on 1030amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64. 1031.It Va WITHOUT_LOADER_OFW 1032Disable building of openfirmware bootloader components. 1033.Pp 1034This is a default setting on 1035amd64/amd64, arm/armv7, arm64/aarch64, i386/i386 and riscv/riscv64. 1036.It Va WITH_LOADER_OFW 1037Build openfirmware bootloader components. 1038.Pp 1039This is a default setting on 1040powerpc/powerpc, powerpc/powerpc64 and powerpc/powerpc64le. 1041.It Va WITHOUT_LOADER_UBOOT 1042Disable building of ubldr. 1043.Pp 1044This is a default setting on 1045amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64le and riscv/riscv64. 1046.It Va WITH_LOADER_UBOOT 1047Build ubldr. 1048.Pp 1049This is a default setting on 1050arm/armv7, powerpc/powerpc and powerpc/powerpc64. 1051.It Va WITH_LOADER_VERBOSE 1052Build with extra verbose debugging in the loader. 1053May explode already nearly too large loader over the limit. 1054Use with care. 1055.It Va WITH_LOADER_VERIEXEC 1056Enable building 1057.Xr loader 8 1058with support for verification similar to Verified Exec. 1059.Pp 1060Depends on 1061.Va WITH_BEARSSL . 1062When set, these options are also in effect: 1063.Pp 1064.Bl -inset -compact 1065.It Va WITH_LOADER_EFI_SECUREBOOT 1066(unless 1067.Va WITHOUT_LOADER_EFI_SECUREBOOT 1068is set explicitly) 1069.It Va WITH_LOADER_VERIEXEC_VECTX 1070(unless 1071.Va WITHOUT_LOADER_VERIEXEC_VECTX 1072is set explicitly) 1073.El 1074.It Va WITH_LOADER_VERIEXEC_PASS_MANIFEST 1075Enable building 1076.Xr loader 8 1077with support to pass a verified manifest to the kernel. 1078The kernel has to be built with a module to parse the manifest. 1079.Pp 1080Depends on 1081.Va WITH_LOADER_VERIEXEC . 1082.It Va WITH_LOADER_VERIEXEC_VECTX 1083Enable building 1084.Xr loader 8 1085with support for hashing and verifying kernel and modules as a side effect 1086of loading. 1087.Pp 1088Depends on 1089.Va WITH_LOADER_VERIEXEC . 1090.It Va WITHOUT_LOADER_ZFS 1091Do not build ZFS file system boot loader support. 1092.It Va WITHOUT_LOCALES 1093Do not build localization files; see 1094.Xr locale 1 . 1095.It Va WITHOUT_LOCATE 1096Do not build 1097.Xr locate 1 1098and related programs. 1099.It Va WITHOUT_LPR 1100Do not build 1101.Xr lpr 1 1102and related programs. 1103.It Va WITHOUT_LS_COLORS 1104Build 1105.Xr ls 1 1106without support for colors to distinguish file types. 1107.It Va WITHOUT_MACHDEP_OPTIMIZATIONS 1108Prefer machine-independent non-assembler code in libc and libm. 1109.It Va WITHOUT_MAIL 1110Do not build any mail support (MUA or MTA). 1111When set, it enforces these options: 1112.Pp 1113.Bl -item -compact 1114.It 1115.Va WITHOUT_DMAGENT 1116.It 1117.Va WITHOUT_MAILWRAPPER 1118.It 1119.Va WITHOUT_SENDMAIL 1120.El 1121.It Va WITHOUT_MAILWRAPPER 1122Do not build the 1123.Xr mailwrapper 8 1124MTA selector. 1125.It Va WITHOUT_MAKE 1126Do not install 1127.Xr make 1 1128and related support files. 1129.It Va WITHOUT_MAKE_CHECK_USE_SANDBOX 1130Do not execute 1131.Dq Li "make check" 1132in limited sandbox mode. 1133This option should be paired with 1134.Va WITH_INSTALL_AS_USER 1135if executed as an unprivileged user. 1136See 1137.Xr tests 7 1138for more details. 1139.It Va WITH_MALLOC_PRODUCTION 1140Disable assertions and statistics gathering in 1141.Xr malloc 3 . 1142It also defaults the A and J runtime options to off. 1143.It Va WITHOUT_MAN 1144Do not build manual pages. 1145When set, these options are also in effect: 1146.Pp 1147.Bl -inset -compact 1148.It Va WITHOUT_MAN_UTILS 1149(unless 1150.Va WITH_MAN_UTILS 1151is set explicitly) 1152.El 1153.It Va WITHOUT_MANCOMPRESS 1154Do not install compressed man pages. 1155Only the uncompressed versions will be installed. 1156.It Va WITHOUT_MANSPLITPKG 1157Do not split man pages into their own packages during make package. 1158.It Va WITHOUT_MAN_UTILS 1159Do not build utilities for manual pages, 1160.Xr apropos 1 , 1161.Xr makewhatis 1 , 1162.Xr man 1 , 1163.Xr whatis 1 , 1164.Xr manctl 8 , 1165and related support files. 1166.It Va WITH_META_ERROR_TARGET 1167Enable the META_MODE .ERROR target. 1168.Pp 1169This target will copy the meta file of a failed target 1170to 1171.Va ERROR_LOGDIR 1172(default is 1173.Ql ${SRCTOP:H}/error ) 1174to help with failure analysis. 1175Depends on 1176.Va WITH_META_MODE . 1177This default when 1178.Va WITH_DIRDEPS_BUILD 1179is set. 1180.Pp 1181This must be set in the environment, make command line, or 1182.Pa /etc/src-env.conf , 1183not 1184.Pa /etc/src.conf . 1185.It Va WITH_META_MODE 1186Create 1187.Xr make 1 1188meta files when building, which can provide a reliable incremental build when 1189using 1190.Xr filemon 4 . 1191The meta file is created in OBJDIR as 1192.Pa target.meta . 1193These meta files track the command that was executed, its output, and the 1194current directory. 1195The 1196.Xr filemon 4 1197module is required unless 1198.Va NO_FILEMON 1199is defined. 1200When the module is loaded, any files used by the commands executed are 1201tracked as dependencies for the target in its meta file. 1202The target is considered out-of-date and rebuilt if any of these 1203conditions are true compared to the last build: 1204.Bl -bullet -compact 1205.It 1206The command to execute changes. 1207.It 1208The current working directory changes. 1209.It 1210The target's meta file is missing. 1211.It 1212The target's meta file is missing filemon data when filemon is loaded 1213and a previous run did not have it loaded. 1214.It 1215[requires 1216.Xr filemon 4 ] 1217Files read, executed or linked to are newer than the target. 1218.It 1219[requires 1220.Xr filemon 4 ] 1221Files read, written, executed or linked are missing. 1222.El 1223The meta files can also be useful for debugging. 1224.Pp 1225The build hides commands that are executed unless 1226.Va NO_SILENT 1227is defined. 1228Errors cause 1229.Xr make 1 1230to show some of its environment for further debugging. 1231.Pp 1232The build operates as it normally would otherwise. 1233This option originally invoked a different build system but that was renamed 1234to 1235.Va WITH_DIRDEPS_BUILD . 1236.Pp 1237This must be set in the environment, make command line, or 1238.Pa /etc/src-env.conf , 1239not 1240.Pa /etc/src.conf . 1241.It Va WITHOUT_MLX5TOOL 1242Do not build 1243.Xr mlx5tool 8 1244.Pp 1245This is a default setting on 1246arm/armv7, powerpc/powerpc and riscv/riscv64. 1247.It Va WITH_MLX5TOOL 1248Build 1249.Xr mlx5tool 8 1250.Pp 1251This is a default setting on 1252amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. 1253.It Va WITHOUT_NETCAT 1254Do not build 1255.Xr nc 1 1256utility. 1257.It Va WITHOUT_NETGRAPH 1258Do not build applications to support 1259.Xr netgraph 4 . 1260When set, it enforces these options: 1261.Pp 1262.Bl -item -compact 1263.It 1264.Va WITHOUT_BLUETOOTH 1265.El 1266.Pp 1267When set, these options are also in effect: 1268.Pp 1269.Bl -inset -compact 1270.It Va WITHOUT_NETGRAPH_SUPPORT 1271(unless 1272.Va WITH_NETGRAPH_SUPPORT 1273is set explicitly) 1274.El 1275.It Va WITHOUT_NETGRAPH_SUPPORT 1276Build libraries, programs, and kernel modules without netgraph support. 1277.It Va WITHOUT_NETLINK 1278Do not build 1279.Xr genl 1 1280utility. 1281.It Va WITHOUT_NETLINK_SUPPORT 1282Make libraries and programs use rtsock and 1283.Xr sysctl 3 1284interfaces instead of 1285.Xr snl 3 . 1286.It Va WITHOUT_NIS 1287Do not build 1288.Xr NIS 8 1289support and related programs. 1290If set, you might need to adopt your 1291.Xr nsswitch.conf 5 1292and remove 1293.Sq nis 1294entries. 1295.It Va WITHOUT_NLS 1296Do not build NLS catalogs. 1297When set, it enforces these options: 1298.Pp 1299.Bl -item -compact 1300.It 1301.Va WITHOUT_NLS_CATALOGS 1302.El 1303.It Va WITHOUT_NLS_CATALOGS 1304Do not build NLS catalog support for 1305.Xr csh 1 . 1306.It Va WITHOUT_NS_CACHING 1307Disable name caching in the 1308.Pa nsswitch 1309subsystem. 1310The generic caching daemon, 1311.Xr nscd 8 , 1312will not be built either if this option is set. 1313.It Va WITHOUT_NTP 1314Do not build 1315.Xr ntpd 8 1316and related programs. 1317.It Va WITHOUT_NUAGEINIT 1318Do not install the limited cloud init support scripts. 1319.It Va WITHOUT_NVME 1320Do not build nvme related tools and kernel modules. 1321.Pp 1322This is a default setting on 1323arm/armv7, powerpc/powerpc and riscv/riscv64. 1324.It Va WITH_NVME 1325Build nvme related tools and kernel modules. 1326.Pp 1327This is a default setting on 1328amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. 1329.It Va WITHOUT_OFED 1330Do not build the 1331.Dq "OpenFabrics Enterprise Distribution" 1332InfiniBand software stack, including kernel modules and userspace libraries. 1333.Pp 1334This is a default setting on 1335arm/armv7. 1336When set, it enforces these options: 1337.Pp 1338.Bl -item -compact 1339.It 1340.Va WITHOUT_OFED_EXTRA 1341.El 1342.It Va WITH_OFED 1343Build the 1344.Dq "OpenFabrics Enterprise Distribution" 1345InfiniBand software stack, including kernel modules and userspace libraries. 1346.Pp 1347This is a default setting on 1348amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1349.It Va WITH_OFED_EXTRA 1350Build the non-essential components of the 1351.Dq "OpenFabrics Enterprise Distribution" 1352Infiniband software stack, mostly examples. 1353.It Va WITH_OPENLDAP 1354Enable building LDAP support for kerberos using an openldap client from ports. 1355.It Va WITHOUT_OPENMP 1356Do not build LLVM's OpenMP runtime. 1357.Pp 1358This is a default setting on 1359arm/armv7 and powerpc/powerpc. 1360.It Va WITH_OPENMP 1361Build LLVM's OpenMP runtime. 1362.Pp 1363This is a default setting on 1364amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1365.It Va WITHOUT_OPENSSH 1366Do not build OpenSSH. 1367.It Va WITHOUT_OPENSSL 1368Do not build OpenSSL. 1369When set, it enforces these options: 1370.Pp 1371.Bl -item -compact 1372.It 1373.Va WITHOUT_DMAGENT 1374.It 1375.Va WITHOUT_KERBEROS 1376.It 1377.Va WITHOUT_KERBEROS_SUPPORT 1378.It 1379.Va WITHOUT_LDNS 1380.It 1381.Va WITHOUT_LDNS_UTILS 1382.It 1383.Va WITHOUT_LOADER_ZFS 1384.It 1385.Va WITHOUT_OPENSSH 1386.It 1387.Va WITHOUT_OPENSSL_KTLS 1388.It 1389.Va WITHOUT_PKGBOOTSTRAP 1390.It 1391.Va WITHOUT_UNBOUND 1392.It 1393.Va WITHOUT_ZFS 1394.El 1395.Pp 1396When set, these options are also in effect: 1397.Pp 1398.Bl -inset -compact 1399.It Va WITHOUT_GSSAPI 1400(unless 1401.Va WITH_GSSAPI 1402is set explicitly) 1403.El 1404.It Va WITHOUT_OPENSSL_KTLS 1405Do not include kernel TLS support in OpenSSL. 1406.Pp 1407This is a default setting on 1408arm/armv7, i386/i386, powerpc/powerpc and riscv/riscv64. 1409.It Va WITH_OPENSSL_KTLS 1410Include kernel TLS support in OpenSSL. 1411.Pp 1412This is a default setting on 1413amd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le. 1414.It Va WITHOUT_PAM 1415Do not build PAM library and modules. 1416.Bf -symbolic 1417This option is deprecated and does nothing. 1418.Ef 1419When set, these options are also in effect: 1420.Pp 1421.Bl -inset -compact 1422.It Va WITHOUT_PAM_SUPPORT 1423(unless 1424.Va WITH_PAM_SUPPORT 1425is set explicitly) 1426.El 1427.It Va WITHOUT_PAM_SUPPORT 1428Build some programs without PAM support, particularly 1429.Xr ftpd 8 1430and 1431.Xr ppp 8 . 1432.It Va WITHOUT_PF 1433Do not build PF firewall package. 1434When set, it enforces these options: 1435.Pp 1436.Bl -item -compact 1437.It 1438.Va WITHOUT_AUTHPF 1439.El 1440.It Va WITHOUT_PIE 1441Do not build dynamically linked binaries as 1442Position-Independent Executable (PIE). 1443.Pp 1444This is a default setting on 1445arm/armv7, i386/i386 and powerpc/powerpc. 1446.It Va WITH_PIE 1447Build dynamically linked binaries as 1448Position-Independent Executable (PIE). 1449.Pp 1450This is a default setting on 1451amd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1452.It Va WITHOUT_PKGBOOTSTRAP 1453Do not build 1454.Xr pkg 7 1455bootstrap tool. 1456.It Va WITHOUT_PMC 1457Do not build 1458.Xr pmccontrol 8 1459and related programs. 1460.It Va WITHOUT_PPP 1461Do not build 1462.Xr ppp 8 1463and related programs. 1464.It Va WITH_PROFILE 1465Build profiled libraries for use with 1466.Xr gprof 8 . 1467This option is deprecated and may not be present in a future version of 1468.Fx . 1469.It Va WITHOUT_PTHREADS_ASSERTIONS 1470Disable debugging assertions in pthreads library. 1471.It Va WITHOUT_QUOTAS 1472Do not build 1473.Xr quota 1 1474and related programs. 1475.It Va WITHOUT_RADIUS_SUPPORT 1476Do not build radius support into various applications, like 1477.Xr pam_radius 8 1478and 1479.Xr ppp 8 . 1480.It Va WITH_RATELIMIT 1481Build the system with rate limit support. 1482.Pp 1483This makes 1484.Dv SO_MAX_PACING_RATE 1485effective in 1486.Xr getsockopt 2 , 1487and 1488.Ar txrlimit 1489support in 1490.Xr ifconfig 8 , 1491by proxy. 1492.It Va WITHOUT_RBOOTD 1493Do not build or install 1494.Xr rbootd 8 . 1495.It Va WITHOUT_RELRO 1496Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation. 1497See also the 1498.Va BIND_NOW 1499option. 1500.It Va WITH_REPRODUCIBLE_BUILD 1501Exclude build metadata (such as the build time, user, or host) 1502from the kernel, boot loaders, and uname output, so that builds produce 1503bit-for-bit identical output. 1504.It Va WITHOUT_RESCUE 1505Do not build 1506.Xr rescue 8 . 1507.It Va WITH_RETPOLINE 1508Build the base system with the retpoline speculative execution 1509vulnerability mitigation for CVE-2017-5715. 1510.It Va WITHOUT_ROUTED 1511Do not build 1512.Xr routed 8 1513utility. 1514.It Va WITH_RPCBIND_WARMSTART_SUPPORT 1515Build 1516.Xr rpcbind 8 1517with warmstart support. 1518.It Va WITHOUT_SCTP_SUPPORT 1519Disable support in the kernel for the 1520.Xr sctp 4 1521Stream Control Transmission Protocol 1522loadable kernel module. 1523.It Va WITHOUT_SENDMAIL 1524Do not build 1525.Xr sendmail 8 1526and related programs. 1527.It Va WITHOUT_SERVICESDB 1528Do not install 1529.Pa /var/db/services.db . 1530.It Va WITHOUT_SETUID_LOGIN 1531Set this to disable the installation of 1532.Xr login 1 1533as a set-user-ID root program. 1534.It Va WITHOUT_SHAREDOCS 1535Do not build the 1536.Bx 4.4 1537legacy docs. 1538.It Va WITH_SORT_THREADS 1539Enable threads in 1540.Xr sort 1 . 1541.It Va WITHOUT_SOURCELESS 1542Do not build kernel modules that include sourceless code (either microcode or native code for host CPU). 1543When set, it enforces these options: 1544.Pp 1545.Bl -item -compact 1546.It 1547.Va WITHOUT_SOURCELESS_HOST 1548.It 1549.Va WITHOUT_SOURCELESS_UCODE 1550.El 1551.It Va WITHOUT_SOURCELESS_HOST 1552Do not build kernel modules that include sourceless native code for host CPU. 1553.It Va WITHOUT_SOURCELESS_UCODE 1554Do not build kernel modules that include sourceless microcode. 1555.It Va WITHOUT_SPLIT_KERNEL_DEBUG 1556Do not build standalone kernel debug files. 1557Debug data (if enabled by the kernel configuration file) 1558will be included in the kernel and modules. 1559When set, it enforces these options: 1560.Pp 1561.Bl -item -compact 1562.It 1563.Va WITHOUT_KERNEL_SYMBOLS 1564.El 1565.It Va WITHOUT_SSP 1566Do not build world with stack smashing protection. 1567.It Va WITH_STAGING 1568Enable staging of files to a stage tree. 1569This can be best thought of as auto-install to 1570.Va DESTDIR 1571with some extra meta data to ensure dependencies can be tracked. 1572Depends on 1573.Va WITH_DIRDEPS_BUILD . 1574When set, these options are also in effect: 1575.Pp 1576.Bl -inset -compact 1577.It Va WITH_STAGING_MAN 1578(unless 1579.Va WITHOUT_STAGING_MAN 1580is set explicitly) 1581.It Va WITH_STAGING_PROG 1582(unless 1583.Va WITHOUT_STAGING_PROG 1584is set explicitly) 1585.El 1586.Pp 1587This must be set in the environment, make command line, or 1588.Pa /etc/src-env.conf , 1589not 1590.Pa /etc/src.conf . 1591.It Va WITH_STAGING_MAN 1592Enable staging of man pages to stage tree. 1593.It Va WITH_STAGING_PROG 1594Enable staging of PROGs to stage tree. 1595.It Va WITH_STALE_STAGED 1596Check staged files are not stale. 1597.It Va WITHOUT_STATS 1598Neither build nor install 1599.Lb libstats 1600and dependent binaries. 1601.It Va WITHOUT_SYSCONS 1602Do not build 1603.Xr syscons 4 1604support files such as keyboard maps, fonts, and screen output maps. 1605.It Va WITH_SYSROOT 1606Enable use of sysroot during build. 1607Depends on 1608.Va WITH_DIRDEPS_BUILD . 1609.Pp 1610This must be set in the environment, make command line, or 1611.Pa /etc/src-env.conf , 1612not 1613.Pa /etc/src.conf . 1614.It Va WITHOUT_SYSTEM_COMPILER 1615Do not opportunistically skip building a cross-compiler during the 1616bootstrap phase of the build. 1617Normally, if the currently installed compiler matches the planned bootstrap 1618compiler type and revision, then it will not be built. 1619This does not prevent a compiler from being built for installation though, 1620only for building one for the build itself. 1621The 1622.Va WITHOUT_CLANG 1623option controls that. 1624.It Va WITHOUT_SYSTEM_LINKER 1625Do not opportunistically skip building a cross-linker during the 1626bootstrap phase of the build. 1627Normally, if the currently installed linker matches the planned bootstrap 1628linker type and revision, then it will not be built. 1629This does not prevent a linker from being built for installation though, 1630only for building one for the build itself. 1631The 1632.Va WITHOUT_LLD 1633option controls that. 1634.Pp 1635This option is only relevant when 1636.Va WITH_LLD_BOOTSTRAP 1637is set. 1638.It Va WITHOUT_TALK 1639Do not build or install 1640.Xr talk 1 1641and 1642.Xr talkd 8 . 1643.It Va WITHOUT_TCP_WRAPPERS 1644Do not build or install 1645.Xr tcpd 8 , 1646and related utilities. 1647.It Va WITHOUT_TCSH 1648Do not build and install 1649.Pa /bin/csh 1650(which is 1651.Xr tcsh 1 ) . 1652.It Va WITHOUT_TELNET 1653Do not build 1654.Xr telnet 1 1655and related programs. 1656.It Va WITHOUT_TESTS 1657Do not build nor install the 1658.Fx 1659Test Suite in 1660.Pa /usr/tests/ . 1661See 1662.Xr tests 7 1663for more details. 1664This also disables the build of all test-related dependencies, including ATF. 1665When set, it enforces these options: 1666.Pp 1667.Bl -item -compact 1668.It 1669.Va WITHOUT_DTRACE_TESTS 1670.El 1671.Pp 1672When set, these options are also in effect: 1673.Pp 1674.Bl -inset -compact 1675.It Va WITHOUT_GOOGLETEST 1676(unless 1677.Va WITH_GOOGLETEST 1678is set explicitly) 1679.It Va WITHOUT_TESTS_SUPPORT 1680(unless 1681.Va WITH_TESTS_SUPPORT 1682is set explicitly) 1683.El 1684.It Va WITHOUT_TESTS_SUPPORT 1685Disable the build of all test-related dependencies, including ATF. 1686When set, it enforces these options: 1687.Pp 1688.Bl -item -compact 1689.It 1690.Va WITHOUT_GOOGLETEST 1691.El 1692.It Va WITHOUT_TEXTPROC 1693Do not build 1694programs used for text processing. 1695.It Va WITHOUT_TFTP 1696Do not build or install 1697.Xr tftp 1 1698and 1699.Xr tftpd 8 . 1700.It Va WITHOUT_TOOLCHAIN 1701Do not install 1702programs used for program development, 1703compilers, debuggers etc. 1704When set, it enforces these options: 1705.Pp 1706.Bl -item -compact 1707.It 1708.Va WITHOUT_CLANG 1709.It 1710.Va WITHOUT_CLANG_EXTRAS 1711.It 1712.Va WITHOUT_CLANG_FORMAT 1713.It 1714.Va WITHOUT_CLANG_FULL 1715.It 1716.Va WITHOUT_LLD 1717.It 1718.Va WITHOUT_LLDB 1719.It 1720.Va WITHOUT_LLVM_COV 1721.El 1722.It Va WITH_UBSAN 1723Build the base system with Undefined Behavior Sanitizer (UBSan) to detect 1724various kinds of undefined behavior at runtime. 1725Requires that Clang be used as the base system compiler 1726and that the runtime support library is available 1727.It Va WITHOUT_UNBOUND 1728Do not build 1729.Xr unbound 8 1730and related programs. 1731.It Va WITHOUT_UNDEFINED_VERSION 1732Link libraries with --no-undefined-version to ensure all symbols are 1733provided. 1734.It Va WITHOUT_UNIFIED_OBJDIR 1735Use the historical object directory format for 1736.Xr build 7 1737targets. 1738For native-builds and builds done directly in sub-directories the format of 1739.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR} 1740is used, 1741while for cross-builds 1742.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR} 1743is used. 1744.Pp 1745This option is transitional and will be removed in a future version of 1746.Fx , 1747at which time 1748.Va WITH_UNIFIED_OBJDIR 1749will be enabled permanently. 1750.Pp 1751This must be set in the environment, make command line, or 1752.Pa /etc/src-env.conf , 1753not 1754.Pa /etc/src.conf . 1755.It Va WITHOUT_USB 1756Do not build USB-related programs and libraries. 1757.It Va WITHOUT_USB_GADGET_EXAMPLES 1758Do not build USB gadget kernel modules. 1759.It Va WITHOUT_UTMPX 1760Do not build user accounting tools such as 1761.Xr last 1 , 1762.Xr users 1 , 1763.Xr who 1 , 1764.Xr ac 8 , 1765.Xr lastlogin 8 1766and 1767.Xr utx 8 . 1768.It Va WITH_VERIEXEC 1769Enable building 1770.Xr veriexec 8 1771which loads the contents of verified manifests into the kernel 1772for use by 1773.Xr mac_veriexec 4 1774.Pp 1775Depends on 1776.Va WITH_BEARSSL . 1777.It Va WITHOUT_VI 1778Do not build and install vi, view, ex and related programs. 1779.It Va WITHOUT_VT 1780Do not build 1781.Xr vt 4 1782support files (fonts and keymaps). 1783.It Va WITHOUT_WARNS 1784Set this to not add warning flags to the compiler invocations. 1785Useful as a temporary workaround when code enters the tree 1786which triggers warnings in environments that differ from the 1787original developer. 1788.It Va WITHOUT_WERROR 1789Set this to not treat compiler warnings as errors. 1790Useful as a temporary workaround when working on fixing compiler warnings. 1791When set, warnings are still printed in the build log but do not fail the build. 1792.It Va WITHOUT_WIRELESS 1793Do not build programs used for 802.11 wireless networks; especially 1794.Xr wpa_supplicant 8 1795and 1796.Xr hostapd 8 . 1797When set, these options are also in effect: 1798.Pp 1799.Bl -inset -compact 1800.It Va WITHOUT_WIRELESS_SUPPORT 1801(unless 1802.Va WITH_WIRELESS_SUPPORT 1803is set explicitly) 1804.El 1805.It Va WITHOUT_WIRELESS_SUPPORT 1806Build libraries, programs, and kernel modules without 1807802.11 wireless support. 1808.It Va WITHOUT_WPA_SUPPLICANT_EAPOL 1809Build 1810.Xr wpa_supplicant 8 1811without support for the IEEE 802.1X protocol and without 1812support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS 1813protocols (usable only via 802.1X). 1814.It Va WITHOUT_ZFS 1815Do not build the ZFS file system kernel module, libraries such as 1816.Xr libbe 3 , 1817and user commands such as 1818.Xr zpool 8 1819or 1820.Xr zfs 8 . 1821Also disable ZFS support in utilities and libraries which implement 1822ZFS-specific functionality. 1823.It Va WITHOUT_ZONEINFO 1824Do not build the timezone database. 1825When set, it enforces these options: 1826.Pp 1827.Bl -item -compact 1828.It 1829.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT 1830.El 1831.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT 1832Build leapsecond information in to the timezone database. 1833.El 1834.Pp 1835The following options accept a single value from a list of valid values. 1836.Bl -tag -width indent 1837.It Va INIT_ALL 1838Control default initialization of stack variables in C and C++ code. 1839Options other than 1840.Li none 1841require the Clang compiler or GCC 12.0 or later. 1842The default value is 1843.Li none . 1844Valid values are: 1845.Bl -tag -width indent 1846.It Li none 1847Do not initialize stack variables (standard C/C++ behavior). 1848.It Li pattern 1849Build the base system or kernel with stack variables initialized to 1850.Pq compiler defined 1851debugging patterns on function entry. 1852.It Li zero 1853Build the base system or kernel with stack variables initialized 1854to zero on function entry. 1855This value is converted to 1856.Li none 1857for amd64 kernel builds due to incompatability with ifunc memset. 1858.El 1859.It Va LIBC_MALLOC 1860Specify the 1861.Xr malloc 3 1862implementation used by libc. 1863The default value is 1864.Li jemalloc . 1865Valid values are: 1866.Bl -tag -width indent 1867.It Li jemalloc 1868.El 1869.Pp 1870Other implementations are expected in the future in both 1871.Fx 1872and downstream consumers. 1873.El 1874.Sh FILES 1875.Bl -tag -compact -width Pa 1876.It Pa /etc/src.conf 1877.It Pa /etc/src-env.conf 1878.It Pa /usr/share/mk/bsd.own.mk 1879.El 1880.Sh SEE ALSO 1881.Xr make 1 , 1882.Xr make.conf 5 , 1883.Xr build 7 , 1884.Xr ports 7 1885.Sh HISTORY 1886The 1887.Nm 1888file appeared in 1889.Fx 7.0 . 1890.Sh AUTHORS 1891This manual page was autogenerated by 1892.An tools/build/options/makeman . 1893