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