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