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