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