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