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