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