1.\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. 2.Dd March 1, 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_NVME 1318Do not build nvme related tools and kernel modules. 1319.Pp 1320This is a default setting on 1321arm/armv7, powerpc/powerpc and riscv/riscv64. 1322.It Va WITH_NVME 1323Build nvme related tools and kernel modules. 1324.Pp 1325This is a default setting on 1326amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64 and powerpc/powerpc64le. 1327.It Va WITHOUT_OFED 1328Do not build the 1329.Dq "OpenFabrics Enterprise Distribution" 1330InfiniBand software stack, including kernel modules and userspace libraries. 1331.Pp 1332This is a default setting on 1333arm/armv7. 1334When set, it enforces these options: 1335.Pp 1336.Bl -item -compact 1337.It 1338.Va WITHOUT_OFED_EXTRA 1339.El 1340.It Va WITH_OFED 1341Build the 1342.Dq "OpenFabrics Enterprise Distribution" 1343InfiniBand software stack, including kernel modules and userspace libraries. 1344.Pp 1345This is a default setting on 1346amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1347.It Va WITH_OFED_EXTRA 1348Build the non-essential components of the 1349.Dq "OpenFabrics Enterprise Distribution" 1350Infiniband software stack, mostly examples. 1351.It Va WITH_OPENLDAP 1352Enable building LDAP support for kerberos using an openldap client from ports. 1353.It Va WITHOUT_OPENMP 1354Do not build LLVM's OpenMP runtime. 1355.Pp 1356This is a default setting on 1357arm/armv7 and powerpc/powerpc. 1358.It Va WITH_OPENMP 1359Build LLVM's OpenMP runtime. 1360.Pp 1361This is a default setting on 1362amd64/amd64, arm64/aarch64, i386/i386, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1363.It Va WITHOUT_OPENSSH 1364Do not build OpenSSH. 1365.It Va WITHOUT_OPENSSL 1366Do not build OpenSSL. 1367When set, it enforces these options: 1368.Pp 1369.Bl -item -compact 1370.It 1371.Va WITHOUT_DMAGENT 1372.It 1373.Va WITHOUT_KERBEROS 1374.It 1375.Va WITHOUT_KERBEROS_SUPPORT 1376.It 1377.Va WITHOUT_LDNS 1378.It 1379.Va WITHOUT_LDNS_UTILS 1380.It 1381.Va WITHOUT_LOADER_ZFS 1382.It 1383.Va WITHOUT_OPENSSH 1384.It 1385.Va WITHOUT_OPENSSL_KTLS 1386.It 1387.Va WITHOUT_PKGBOOTSTRAP 1388.It 1389.Va WITHOUT_UNBOUND 1390.It 1391.Va WITHOUT_ZFS 1392.El 1393.Pp 1394When set, these options are also in effect: 1395.Pp 1396.Bl -inset -compact 1397.It Va WITHOUT_GSSAPI 1398(unless 1399.Va WITH_GSSAPI 1400is set explicitly) 1401.El 1402.It Va WITHOUT_OPENSSL_KTLS 1403Do not include kernel TLS support in OpenSSL. 1404.Pp 1405This is a default setting on 1406arm/armv7, i386/i386, powerpc/powerpc and riscv/riscv64. 1407.It Va WITH_OPENSSL_KTLS 1408Include kernel TLS support in OpenSSL. 1409.Pp 1410This is a default setting on 1411amd64/amd64, arm64/aarch64, powerpc/powerpc64 and powerpc/powerpc64le. 1412.It Va WITHOUT_PAM 1413Do not build PAM library and modules. 1414.Bf -symbolic 1415This option is deprecated and does nothing. 1416.Ef 1417When set, these options are also in effect: 1418.Pp 1419.Bl -inset -compact 1420.It Va WITHOUT_PAM_SUPPORT 1421(unless 1422.Va WITH_PAM_SUPPORT 1423is set explicitly) 1424.El 1425.It Va WITHOUT_PAM_SUPPORT 1426Build some programs without PAM support, particularly 1427.Xr ftpd 8 1428and 1429.Xr ppp 8 . 1430.It Va WITHOUT_PF 1431Do not build PF firewall package. 1432When set, it enforces these options: 1433.Pp 1434.Bl -item -compact 1435.It 1436.Va WITHOUT_AUTHPF 1437.El 1438.It Va WITHOUT_PIE 1439Do not build dynamically linked binaries as 1440Position-Independent Executable (PIE). 1441.Pp 1442This is a default setting on 1443arm/armv7, i386/i386 and powerpc/powerpc. 1444.It Va WITH_PIE 1445Build dynamically linked binaries as 1446Position-Independent Executable (PIE). 1447.Pp 1448This is a default setting on 1449amd64/amd64, arm64/aarch64, powerpc/powerpc64, powerpc/powerpc64le and riscv/riscv64. 1450.It Va WITHOUT_PKGBOOTSTRAP 1451Do not build 1452.Xr pkg 7 1453bootstrap tool. 1454.It Va WITHOUT_PMC 1455Do not build 1456.Xr pmccontrol 8 1457and related programs. 1458.It Va WITHOUT_PPP 1459Do not build 1460.Xr ppp 8 1461and related programs. 1462.It Va WITH_PROFILE 1463Build profiled libraries for use with 1464.Xr gprof 8 . 1465This option is deprecated and may not be present in a future version of 1466.Fx . 1467.It Va WITHOUT_PTHREADS_ASSERTIONS 1468Disable debugging assertions in pthreads library. 1469.It Va WITHOUT_QUOTAS 1470Do not build 1471.Xr quota 1 1472and related programs. 1473.It Va WITHOUT_RADIUS_SUPPORT 1474Do not build radius support into various applications, like 1475.Xr pam_radius 8 1476and 1477.Xr ppp 8 . 1478.It Va WITH_RATELIMIT 1479Build the system with rate limit support. 1480.Pp 1481This makes 1482.Dv SO_MAX_PACING_RATE 1483effective in 1484.Xr getsockopt 2 , 1485and 1486.Ar txrlimit 1487support in 1488.Xr ifconfig 8 , 1489by proxy. 1490.It Va WITHOUT_RBOOTD 1491Do not build or install 1492.Xr rbootd 8 . 1493.It Va WITHOUT_RELRO 1494Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation. 1495See also the 1496.Va BIND_NOW 1497option. 1498.It Va WITH_REPRODUCIBLE_BUILD 1499Exclude build metadata (such as the build time, user, or host) 1500from the kernel, boot loaders, and uname output, so that builds produce 1501bit-for-bit identical output. 1502.It Va WITHOUT_RESCUE 1503Do not build 1504.Xr rescue 8 . 1505.It Va WITH_RETPOLINE 1506Build the base system with the retpoline speculative execution 1507vulnerability mitigation for CVE-2017-5715. 1508.It Va WITHOUT_ROUTED 1509Do not build 1510.Xr routed 8 1511utility. 1512.It Va WITH_RPCBIND_WARMSTART_SUPPORT 1513Build 1514.Xr rpcbind 8 1515with warmstart support. 1516.It Va WITHOUT_SCTP_SUPPORT 1517Disable support in the kernel for the 1518.Xr sctp 4 1519Stream Control Transmission Protocol 1520loadable kernel module. 1521.It Va WITHOUT_SENDMAIL 1522Do not build 1523.Xr sendmail 8 1524and related programs. 1525.It Va WITHOUT_SERVICESDB 1526Do not install 1527.Pa /var/db/services.db . 1528.It Va WITHOUT_SETUID_LOGIN 1529Set this to disable the installation of 1530.Xr login 1 1531as a set-user-ID root program. 1532.It Va WITHOUT_SHAREDOCS 1533Do not build the 1534.Bx 4.4 1535legacy docs. 1536.It Va WITH_SORT_THREADS 1537Enable threads in 1538.Xr sort 1 . 1539.It Va WITHOUT_SOURCELESS 1540Do not build kernel modules that include sourceless code (either microcode or native code for host CPU). 1541When set, it enforces these options: 1542.Pp 1543.Bl -item -compact 1544.It 1545.Va WITHOUT_SOURCELESS_HOST 1546.It 1547.Va WITHOUT_SOURCELESS_UCODE 1548.El 1549.It Va WITHOUT_SOURCELESS_HOST 1550Do not build kernel modules that include sourceless native code for host CPU. 1551.It Va WITHOUT_SOURCELESS_UCODE 1552Do not build kernel modules that include sourceless microcode. 1553.It Va WITHOUT_SPLIT_KERNEL_DEBUG 1554Do not build standalone kernel debug files. 1555Debug data (if enabled by the kernel configuration file) 1556will be included in the kernel and modules. 1557When set, it enforces these options: 1558.Pp 1559.Bl -item -compact 1560.It 1561.Va WITHOUT_KERNEL_SYMBOLS 1562.El 1563.It Va WITHOUT_SSP 1564Do not build world with stack smashing protection. 1565.It Va WITH_STAGING 1566Enable staging of files to a stage tree. 1567This can be best thought of as auto-install to 1568.Va DESTDIR 1569with some extra meta data to ensure dependencies can be tracked. 1570Depends on 1571.Va WITH_DIRDEPS_BUILD . 1572When set, these options are also in effect: 1573.Pp 1574.Bl -inset -compact 1575.It Va WITH_STAGING_MAN 1576(unless 1577.Va WITHOUT_STAGING_MAN 1578is set explicitly) 1579.It Va WITH_STAGING_PROG 1580(unless 1581.Va WITHOUT_STAGING_PROG 1582is set explicitly) 1583.El 1584.Pp 1585This must be set in the environment, make command line, or 1586.Pa /etc/src-env.conf , 1587not 1588.Pa /etc/src.conf . 1589.It Va WITH_STAGING_MAN 1590Enable staging of man pages to stage tree. 1591.It Va WITH_STAGING_PROG 1592Enable staging of PROGs to stage tree. 1593.It Va WITH_STALE_STAGED 1594Check staged files are not stale. 1595.It Va WITHOUT_STATS 1596Neither build nor install 1597.Lb libstats 1598and dependent binaries. 1599.It Va WITHOUT_SYSCONS 1600Do not build 1601.Xr syscons 4 1602support files such as keyboard maps, fonts, and screen output maps. 1603.It Va WITH_SYSROOT 1604Enable use of sysroot during build. 1605Depends on 1606.Va WITH_DIRDEPS_BUILD . 1607.Pp 1608This must be set in the environment, make command line, or 1609.Pa /etc/src-env.conf , 1610not 1611.Pa /etc/src.conf . 1612.It Va WITHOUT_SYSTEM_COMPILER 1613Do not opportunistically skip building a cross-compiler during the 1614bootstrap phase of the build. 1615Normally, if the currently installed compiler matches the planned bootstrap 1616compiler type and revision, then it will not be built. 1617This does not prevent a compiler from being built for installation though, 1618only for building one for the build itself. 1619The 1620.Va WITHOUT_CLANG 1621option controls that. 1622.It Va WITHOUT_SYSTEM_LINKER 1623Do not opportunistically skip building a cross-linker during the 1624bootstrap phase of the build. 1625Normally, if the currently installed linker matches the planned bootstrap 1626linker type and revision, then it will not be built. 1627This does not prevent a linker from being built for installation though, 1628only for building one for the build itself. 1629The 1630.Va WITHOUT_LLD 1631option controls that. 1632.Pp 1633This option is only relevant when 1634.Va WITH_LLD_BOOTSTRAP 1635is set. 1636.It Va WITHOUT_TALK 1637Do not build or install 1638.Xr talk 1 1639and 1640.Xr talkd 8 . 1641.It Va WITHOUT_TCP_WRAPPERS 1642Do not build or install 1643.Xr tcpd 8 , 1644and related utilities. 1645.It Va WITHOUT_TCSH 1646Do not build and install 1647.Pa /bin/csh 1648(which is 1649.Xr tcsh 1 ) . 1650.It Va WITHOUT_TELNET 1651Do not build 1652.Xr telnet 1 1653and related programs. 1654.It Va WITHOUT_TESTS 1655Do not build nor install the 1656.Fx 1657Test Suite in 1658.Pa /usr/tests/ . 1659See 1660.Xr tests 7 1661for more details. 1662This also disables the build of all test-related dependencies, including ATF. 1663When set, it enforces these options: 1664.Pp 1665.Bl -item -compact 1666.It 1667.Va WITHOUT_DTRACE_TESTS 1668.El 1669.Pp 1670When set, these options are also in effect: 1671.Pp 1672.Bl -inset -compact 1673.It Va WITHOUT_GOOGLETEST 1674(unless 1675.Va WITH_GOOGLETEST 1676is set explicitly) 1677.It Va WITHOUT_TESTS_SUPPORT 1678(unless 1679.Va WITH_TESTS_SUPPORT 1680is set explicitly) 1681.El 1682.It Va WITHOUT_TESTS_SUPPORT 1683Disable the build of all test-related dependencies, including ATF. 1684When set, it enforces these options: 1685.Pp 1686.Bl -item -compact 1687.It 1688.Va WITHOUT_GOOGLETEST 1689.El 1690.It Va WITHOUT_TEXTPROC 1691Do not build 1692programs used for text processing. 1693.It Va WITHOUT_TFTP 1694Do not build or install 1695.Xr tftp 1 1696and 1697.Xr tftpd 8 . 1698.It Va WITHOUT_TOOLCHAIN 1699Do not install 1700programs used for program development, 1701compilers, debuggers etc. 1702When set, it enforces these options: 1703.Pp 1704.Bl -item -compact 1705.It 1706.Va WITHOUT_CLANG 1707.It 1708.Va WITHOUT_CLANG_EXTRAS 1709.It 1710.Va WITHOUT_CLANG_FORMAT 1711.It 1712.Va WITHOUT_CLANG_FULL 1713.It 1714.Va WITHOUT_LLD 1715.It 1716.Va WITHOUT_LLDB 1717.It 1718.Va WITHOUT_LLVM_COV 1719.El 1720.It Va WITH_UBSAN 1721Build the base system with Undefined Behavior Sanitizer (UBSan) to detect 1722various kinds of undefined behavior at runtime. 1723Requires that Clang be used as the base system compiler 1724and that the runtime support library is available 1725.It Va WITHOUT_UNBOUND 1726Do not build 1727.Xr unbound 8 1728and related programs. 1729.It Va WITHOUT_UNDEFINED_VERSION 1730Link libraries with --no-undefined-version to ensure all symbols are 1731provided. 1732.It Va WITHOUT_UNIFIED_OBJDIR 1733Use the historical object directory format for 1734.Xr build 7 1735targets. 1736For native-builds and builds done directly in sub-directories the format of 1737.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR} 1738is used, 1739while for cross-builds 1740.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR} 1741is used. 1742.Pp 1743This option is transitional and will be removed in a future version of 1744.Fx , 1745at which time 1746.Va WITH_UNIFIED_OBJDIR 1747will be enabled permanently. 1748.Pp 1749This must be set in the environment, make command line, or 1750.Pa /etc/src-env.conf , 1751not 1752.Pa /etc/src.conf . 1753.It Va WITHOUT_USB 1754Do not build USB-related programs and libraries. 1755.It Va WITHOUT_USB_GADGET_EXAMPLES 1756Do not build USB gadget kernel modules. 1757.It Va WITHOUT_UTMPX 1758Do not build user accounting tools such as 1759.Xr last 1 , 1760.Xr users 1 , 1761.Xr who 1 , 1762.Xr ac 8 , 1763.Xr lastlogin 8 1764and 1765.Xr utx 8 . 1766.It Va WITH_VERIEXEC 1767Enable building 1768.Xr veriexec 8 1769which loads the contents of verified manifests into the kernel 1770for use by 1771.Xr mac_veriexec 4 1772.Pp 1773Depends on 1774.Va WITH_BEARSSL . 1775.It Va WITHOUT_VI 1776Do not build and install vi, view, ex and related programs. 1777.It Va WITHOUT_VT 1778Do not build 1779.Xr vt 4 1780support files (fonts and keymaps). 1781.It Va WITHOUT_WARNS 1782Set this to not add warning flags to the compiler invocations. 1783Useful as a temporary workaround when code enters the tree 1784which triggers warnings in environments that differ from the 1785original developer. 1786.It Va WITHOUT_WERROR 1787Set this to not treat compiler warnings as errors. 1788Useful as a temporary workaround when working on fixing compiler warnings. 1789When set, warnings are still printed in the build log but do not fail the build. 1790.It Va WITHOUT_WIRELESS 1791Do not build programs used for 802.11 wireless networks; especially 1792.Xr wpa_supplicant 8 1793and 1794.Xr hostapd 8 . 1795When set, these options are also in effect: 1796.Pp 1797.Bl -inset -compact 1798.It Va WITHOUT_WIRELESS_SUPPORT 1799(unless 1800.Va WITH_WIRELESS_SUPPORT 1801is set explicitly) 1802.El 1803.It Va WITHOUT_WIRELESS_SUPPORT 1804Build libraries, programs, and kernel modules without 1805802.11 wireless support. 1806.It Va WITHOUT_WPA_SUPPLICANT_EAPOL 1807Build 1808.Xr wpa_supplicant 8 1809without support for the IEEE 802.1X protocol and without 1810support for EAP-PEAP, EAP-TLS, EAP-LEAP, and EAP-TTLS 1811protocols (usable only via 802.1X). 1812.It Va WITHOUT_ZFS 1813Do not build the ZFS file system kernel module, libraries such as 1814.Xr libbe 3 , 1815and user commands such as 1816.Xr zpool 8 1817or 1818.Xr zfs 8 . 1819Also disable ZFS support in utilities and libraries which implement 1820ZFS-specific functionality. 1821.It Va WITHOUT_ZONEINFO 1822Do not build the timezone database. 1823When set, it enforces these options: 1824.Pp 1825.Bl -item -compact 1826.It 1827.Va WITHOUT_ZONEINFO_LEAPSECONDS_SUPPORT 1828.El 1829.It Va WITH_ZONEINFO_LEAPSECONDS_SUPPORT 1830Build leapsecond information in to the timezone database. 1831.El 1832.Pp 1833The following options accept a single value from a list of valid values. 1834.Bl -tag -width indent 1835.It Va INIT_ALL 1836Control default initialization of stack variables in C and C++ code. 1837Options other than 1838.Li none 1839require the Clang compiler or GCC 12.0 or later. 1840The default value is 1841.Li none . 1842Valid values are: 1843.Bl -tag -width indent 1844.It Li none 1845Do not initialize stack variables (standard C/C++ behavior). 1846.It Li pattern 1847Build the base system or kernel with stack variables initialized to 1848.Pq compiler defined 1849debugging patterns on function entry. 1850.It Li zero 1851Build the base system or kernel with stack variables initialized 1852to zero on function entry. 1853This value is converted to 1854.Li none 1855for amd64 kernel builds due to incompatability with ifunc memset. 1856.El 1857.It Va LIBC_MALLOC 1858Specify the 1859.Xr malloc 3 1860implementation used by libc. 1861The default value is 1862.Li jemalloc . 1863Valid values are: 1864.Bl -tag -width indent 1865.It Li jemalloc 1866.El 1867.Pp 1868Other implementations are expected in the future in both 1869.Fx 1870and downstream consumers. 1871.El 1872.Sh FILES 1873.Bl -tag -compact -width Pa 1874.It Pa /etc/src.conf 1875.It Pa /etc/src-env.conf 1876.It Pa /usr/share/mk/bsd.own.mk 1877.El 1878.Sh SEE ALSO 1879.Xr make 1 , 1880.Xr make.conf 5 , 1881.Xr build 7 , 1882.Xr ports 7 1883.Sh HISTORY 1884The 1885.Nm 1886file appeared in 1887.Fx 7.0 . 1888.Sh AUTHORS 1889This manual page was autogenerated by 1890.An tools/build/options/makeman . 1891