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