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