1.\" $NetBSD: mk.conf.5,v 1.97 2022/07/09 08:27:35 nia Exp $ 2.\" 3.\" Copyright (c) 1999-2003 The NetBSD Foundation, Inc. 4.\" All rights reserved. 5.\" 6.\" This code is derived from software contributed to The NetBSD Foundation 7.\" by Luke Mewburn. 8.\" 9.\" Redistribution and use in source and binary forms, with or without 10.\" modification, are permitted provided that the following conditions 11.\" are met: 12.\" 1. Redistributions of source code must retain the above copyright 13.\" notice, this list of conditions and the following disclaimer. 14.\" 2. Redistributions in binary form must reproduce the above copyright 15.\" notice, this list of conditions and the following disclaimer in the 16.\" documentation and/or other materials provided with the distribution. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28.\" POSSIBILITY OF SUCH DAMAGE. 29.\" 30.Dd July 9, 2022 31.Dt MK.CONF 5 32.Os 33.\" turn off hyphenation 34.hym 999 35. 36.Sh NAME 37.Nm mk.conf 38.Nd make configuration file 39. 40.Sh DESCRIPTION 41The 42.Nm 43file overrides various parameters used during the build of the system. 44.Pp 45Listed below are the 46.Nm 47variables that may be set, the values to which each may be set, 48a brief description of what each variable does, and a reference to 49relevant manual pages. 50. 51.Ss NetBSD System variables 52. 53.de YorN 54Can be set to 55.Dq yes 56or 57.Dq no . 58.. 59.de DFLT 60.Pp 61.Em Default : 62.. 63.de DFLTu 64.DFLT 65Unset. 66.. 67.de DFLTy 68.DFLT 69.Dq yes 70.. 71.de DFLTn 72.DFLT 73.Dq no 74.. 75.Bl -tag -width MKDYNAMICROOT 76. 77.It Sy NETBSDSRCDIR 78The path to the top level of the 79.Nx 80sources. 81If 82.Xr make 1 83is run from within the 84.Nx 85source tree, the default is the top 86level of that tree (as determined by the presence of 87.Pa build.sh 88and 89.Pa tools/ ) , 90otherwise 91.Sy BSDSRCDIR 92will be used. 93. 94.It Sy BSDOBJDIR 95The real path to the 96.Sq obj 97tree for the 98.Nx 99source tree. 100.DFLT 101.Pa /usr/obj 102. 103.It Sy BSDSRCDIR 104The real path to the 105.Nx 106source tree. 107.DFLT 108.Pa /usr/src 109. 110.It Sy BUILD 111If defined, 112.Sq "make install" 113checks that the targets in the source directories are up-to-date and 114re-makes them if they are out of date, instead of blindly trying to install 115out of date or non-existent targets. 116.DFLTu 117. 118.It Sy BUILDID 119Identifier for the build. 120The identifier will be appended to 121object directory names, and can be consulted in the 122.Xr make 1 123configuration file in order to set additional build parameters, 124such as compiler flags. 125.DFLTu 126. 127.It Sy COPTS 128Extra options for the C compiler. 129Should be appended to (e.g., 130.Sy COPTS+=-g ) , 131rather than explicitly set. 132Note that 133.Sy CPUFLAGS , 134not 135.Sy COPTS , 136should be used for 137compiler flags that select CPU-related options. 138Also note that 139.Sy CFLAGS 140should never be set in 141.Nm . 142. 143.It Sy CPUFLAGS 144Additional flags passed to the compiler/assembler to select 145CPU instruction set options, CPU tuning options, etc. 146Such options should not be specified in 147.Sy COPTS , 148because some parts of the build process need to override 149CPU-related compiler options. 150. 151.It Sy DESTDIR 152Directory to contain the built 153.Nx 154system. 155If set, special options are passed to the compilation tools to 156prevent their default use of the host system's 157.Sy /usr/include , /usr/lib , 158and so forth. 159This pathname should 160.Em not 161end with a slash 162.Pq / 163character (for installation into the system's root directory, set 164.Sy DESTDIR 165to an empty string). 166The directory must reside on a file system which supports long file 167names and hard links. 168.DFLT 169Empty string if 170.Sy USETOOLS 171is 172.Dq yes ; 173unset otherwise. 174.Pp 175.Em Note : 176.Sy build.sh 177will provide a default of 178.Pa destdir. Ns Sy MACHINE 179(in the top-level 180.Sy .OBJDIR ) 181unless run in 182.Sq expert 183mode 184. 185.It Sy KERNEL_DIR No Pq experimental 186.YorN 187Indicates if a top-level directory 188.Sy /netbsd/ 189is created. 190If 191.Dq yes , 192the directory will contain a kernel file 193.Pa /netbsd/kernel 194and a corresponding modules directory 195.Pa /netbsd/modules/ . 196System bootstrap procedures will be modified to search for the kernel 197and modules in the 198.Pa /netbsd/ 199directory. 200This is intended to simplify system upgrade and rollback procedures by 201keeping the kernel and its associated modules together in one place. 202.Pp 203If 204.Dq no , 205the kernel file will be stored in 206.Pa /netbsd 207and the modules will be stored within the 208.Pa /stand/${ARCH}/ 209directory hierarchy. 210.Pp 211The 212.Sy KERNEL_DIR 213option is a work-in-progress, and is highly experimental. 214It is also subject to change without notice. 215.DFLTn 216.It Sy MAKEVERBOSE 217Level of verbosity of status messages. 218Supported values: 219.Bl -tag -width xxx 220.It 0 221No descriptive messages or commands executed by 222.Xr make 1 223are shown. 224.It 1 225Brief messages are shown describing what is being done, 226but the actual commands executed by 227.Xr make 1 228are not displayed. 229.It 2 230Descriptive messages are shown as above (prefixed with a 231.Sq # ) , 232and ordinary commands performed by 233.Xr make 1 234are displayed. 235.It 3 236In addition to the above, all commands performed by 237.Xr make 1 238are displayed, even if they would ordinarily have been hidden 239through use of the 240.Dq \&@ 241prefix in the relevant makefile. 242.It 4 243In addition to the above, commands executed by 244.Xr make 1 245are traced through use of the 246.Xr sh 1 247.Dq Fl x 248flag. 249.El 250.DFLT 2512 252. 253.It Sy MKATF 254.YorN 255Indicates whether the Automated Testing Framework is built and installed. 256This also controls whether the 257.Nx 258test suite is built and installed, 259as the tests rely on ATF and cannot be built without it. 260.DFLTy 261. 262.It Sy MKBINUTILS 263.YorN 264Indicates whether any of the binutils tools or libraries should be built. 265That is, the libraries 266.Sy libbfd , 267.Sy libiberty , 268or any of the things that depend upon them, e.g. 269.Xr as 1 , 270.Xr ld 1 , 271.Xr dbsym 8 , 272or 273.Xr mdsetimage 8 . 274.DFLTy 275. 276.It Sy MKBSDTAR 277.YorN 278If 279.Dq yes , 280.Sy libarchive Ns - Ns 281based implementations of 282.Xr cpio 1 283and 284.Xr tar 1 285are built and installed. 286If 287.Dq no , 288.Xr pax 1 289based frontends are used. 290.DFLTy 291. 292.It Sy MKCATPAGES 293.YorN 294Indicates whether preformatted plaintext manual pages will be created 295and installed. 296.DFLTn 297. 298.It Sy MKCLEANSRC 299.YorN 300Indicates whether 301.Sq "make clean" 302and 303.Sq "make cleandir" 304will delete file names in 305.Sy CLEANFILES 306or 307.Sy CLEANDIRFILES 308from both the object directory, 309.Sy .OBJDIR , 310and the source directory, 311.Sy .SRCDIR . 312.Pp 313If 314.Dq yes , 315then these file names will be deleted relative to both 316.Sy .OBJDIR 317and 318.Sy .CURDIR . 319If 320.Dq no , 321then the deletion will be performed relative to 322.Sy .OBJDIR 323only. 324.DFLTy 325. 326.It Sy MKCLEANVERIFY 327.YorN 328Controls whether 329.Sq "make clean" 330and 331.Sq "make cleandir" 332will verify that files have been deleted. 333If 334.Dq yes , 335then file deletions will be verified using 336.Xr ls 1 . 337If 338.Dq no , 339then file deletions will not be verified. 340.DFLTy 341. 342.It Sy MKCOMPAT 343.YorN 344Indicates whether support for multiple ABIs is to be built and 345installed. 346.DFLTy 347on amd64, mips64 and sparc64, 348.Dq no 349on other architectures. 350. 351.It Sy MKCOMPLEX 352.YorN 353Indicates whether the 354.Lb libm 355is compiled with support for 356.In complex.h . 357.DFLTy 358. 359.It Sy MKCTF 360.YorN 361Indicates whether CTF tools are to be built and installed. 362If yes, the tools will be used to generate and manipulate 363CTF data of ELF binaries during build. 364.DFLTn 365. 366.It Sy MKCVS 367.YorN 368Indicates whether 369.Xr cvs 1 370is built. 371.DFLTy 372. 373.It Sy MKDEBUG 374.YorN 375Indicates whether separate debugging symbols should be installed into 376.Sy DESTDIR Ns Pa /usr/libdata/debug . 377.DFLTn 378. 379.It Sy MKDEBUGKERNEL 380.YorN 381Indicates whether debugging symbols will be built for kernels 382by default; pretend as if 383.Em makeoptions DEBUG="-g" 384is specified in kernel configuration files. 385This will also put the debug kernel in the kernel sets. 386See 387.Xr options 4 388for details. 389.DFLTn 390. 391.It Sy MKDEBUGLIB 392.YorN 393Indicates whether debug libraries 394.Sy ( lib*_g.a ) 395will be built and installed. 396Debug libraries are compiled with 397.Dq Li -g -DDEBUG . 398.DFLTn 399. 400.It Sy MKDEBUGTOOLS 401.YorN 402Indicates whether debug information 403.Sy ( lib*_g.a ) 404will be included in the build toolchain. 405.DFLTn 406. 407.It Sy MKDOC 408.YorN 409Indicates whether system documentation destined for 410.Sy DESTDIR Ns Pa /usr/share/doc 411will be installed. 412.DFLTy 413. 414.It Sy MKDTRACE 415.YorN 416Indicates whether the kernel modules, utilities and libraries for 417.Xr dtrace 1 418support are to be built and installed. 419.DFLTn 420. 421.It Sy MKDYNAMICROOT 422.YorN 423Indicates whether all programs should be dynamically linked, 424and to install shared libraries required by 425.Pa /bin 426and 427.Pa /sbin 428and the shared linker 429.Xr ld.elf_so 1 430into 431.Pa /lib . 432If 433.Sq no , 434link programs in 435.Pa /bin 436and 437.Pa /sbin 438statically. 439.DFLTy 440. 441.It Sy MKGCC 442.YorN 443Indicates whether 444.Xr gcc 1 445or any related libraries 446.Pq Sy libg2c , libgcc , libobjc , libstdc++ 447are built. 448.DFLTy 449. 450.It Sy MKGCCCMDS 451.YorN 452Indicates whether 453.Xr gcc 1 454is built. 455If 456.Dq no , 457then 458.Sy MKGCC 459controls if the 460GCC libraries are built. 461.DFLTy 462. 463.It Sy MKGDB 464.YorN 465Indicates whether 466.Xr gdb 1 467is built. 468.DFLTy 469. 470.It Sy MKHESIOD 471.YorN 472Indicates whether the Hesiod infrastructure 473(libraries and support programs) is built and installed. 474.DFLTy 475. 476.It Sy MKHOSTOBJ 477.YorN 478If set to 479.Dq yes , 480then for programs intended to be run on the compile host, 481the name, release, and architecture of the host operating system 482will be suffixed to the name of the object directory created by 483.Dq make obj . 484(This allows multiple host systems to compile 485.Nx 486for a single target.) 487If set to 488.Dq no , 489then programs built to be run on the compile host will use the same 490object directory names as programs built to be run on the target. 491.DFLTn 492. 493.It Sy MKHTML 494.YorN 495Indicates whether the HTML manual pages are created and installed. 496.DFLTy 497. 498.It Sy MKIEEEFP 499.YorN 500Indicates whether code for IEEE754/IEC60559 conformance is built. 501Has no effect on most platforms. 502.DFLTy 503. 504.It Sy MKINET6 505Indicates whether INET6 (IPv6) infrastructure 506(libraries and support programs) is built and installed. 507.DFLTy 508. 509.It Sy MKINFO 510.YorN 511Indicates whether GNU Info files, used for the documentation for 512most of the compilation tools, will be built and installed. 513.DFLTy 514. 515.It Sy MKIPFILTER 516.YorN 517Indicates whether the 518.Xr ipf 4 519programs, headers and other components will be built and installed. 520.DFLTy 521. 522.It Sy MKISCSI 523.YorN 524Indicates whether the iSCSI library and applications are 525built and installed. 526.DFLTy 527. 528.It Sy MKKERBEROS 529.YorN 530Indicates whether the Kerberos v5 infrastructure 531(libraries and support programs) is built and installed. 532Caution: the default 533.Xr pam 8 534configuration requires that Kerberos be present even if not used. 535Do not install a userland without Kerberos without also either 536updating the 537.Xr pam.conf 5 538files or disabling PAM via 539.Sy MKPAM . 540Otherwise all logins will fail. 541.DFLTy 542. 543.It Sy MKKMOD 544.YorN 545Indicates whether kernel modules are built and installed. 546.DFLTy 547. 548.It Sy MKKYUA 549.YorN 550Indicates whether Kyua (the testing infrastructure used by 551.Nx ) 552is built and installed. 553Note that 554.Em this does not control the installation of the tests themselves . 555The tests rely on the ATF libraries and therefore their build is controlled 556by the 557.Sy MKATF 558knob. 559.DFLTn 560until the import of Kyua is done and validated. 561. 562.It Sy MKLDAP 563.YorN 564Indicates whether the Lightweight Directory Access Protocol (LDAP) 565infrastructure 566(libraries and support programs) is built and installed. 567.DFLTy 568. 569.It Sy MKLINKLIB 570.YorN 571Indicates whether all of the shared library infrastructure is built. 572If 573.Sq no , 574prevents: 575installation of the 576.Sy *.a 577libraries, 578installation of the 579.Sy *_pic.a 580libraries on PIC systems, 581building of 582.Sy *.a 583libraries on PIC systems, 584or 585installation of 586.Sy .so 587symlinks on ELF systems. 588.DFLTy 589.Pp 590If 591.Dq no , 592acts as 593.Sy MKPICINSTALL=no MKPROFILE=no . 594. 595.It Sy MKLINT 596.YorN 597Indicates whether 598.Xr lint 1 599will be run against portions of the 600.Nx 601source code during the build, and whether lint libraries will be 602installed into 603.Sy DESTDIR Ns Pa /usr/libdata/lint . 604.DFLTy 605. 606.It Sy MKLVM 607.YorN 608If not 609.Dq no , 610build and install the logical volume manager. 611.DFLTy 612. 613.It Sy MKMAN 614.YorN 615Indicates whether manual pages will be installed. 616.DFLTy 617.Pp 618If 619.Dq no , 620acts as 621.Sy MKCATPAGES=no MKHTML=no . 622. 623.It Sy MKMANZ 624.YorN 625Indicates whether manual pages should be compressed with 626.Xr gzip 1 627at installation time. 628.DFLTn 629. 630.It Sy MKMDNS 631.YorN 632Indicates whether the mDNS (Multicast DNS) infrastructure 633(libraries and support programs) is built and installed. 634.DFLTy 635. 636.It Sy MKNLS 637.YorN 638Indicates whether Native Language System (NLS) locale zone files will be 639built and installed. 640.DFLTy 641. 642.It Sy MKNOUVEAUFIRMWARE 643.YorN 644Indicates whether to install the 645.Pa /libdata/firmware/nouveau 646directory, which is necessary for the nvidia DRM driver. 647.DFLT 648Platform dependent. 649. 650.It Sy MKNPF 651.YorN 652Indicates whether the NPF packet filter is to be built and installed. 653.DFLTy 654. 655.It Sy MKOBJ 656.YorN 657Indicates whether object directories will be created when running 658.Dq make obj . 659If set to 660.Dq no , 661then all built files will be located inside the regular source tree. 662.DFLTy 663.Pp 664If 665.Dq no , 666acts as 667.Sy MKOBJDIRS=no . 668. 669.It Sy MKOBJDIRS 670.YorN 671Indicates whether object directories will be created automatically 672(via a 673.Dq make obj 674pass) at the start of a build. 675.DFLTn 676. 677.It Sy MKPAM 678.YorN 679Indicates whether the 680.Xr pam 8 681framework (libraries and support files) is built. 682The pre-PAM code is not supported and may be removed in the future. 683.DFLTy 684. 685.It Sy MKPCC 686.YorN 687Indicates whether 688.Xr pcc 1 689or any related libraries 690.Pq Sy libpcc , libpccsoftfloat 691are built. 692.DFLTn 693. 694.It Sy MKPF 695.YorN 696Indicates whether the 697.Xr pf 4 698programs, headers and LKM will be built and installed. 699.DFLTy 700. 701.It Sy MKPIC 702.YorN 703Indicates whether shared objects and libraries will be created and 704installed. 705If set to 706.Dq no , 707the entire built system will be statically linked. 708.DFLT 709Platform dependent. 710As of this writing, all platforms except 711.Sy m68000 712default to 713.Dq yes . 714.Pp 715If 716.Dq no , 717acts as 718.Sy MKPICLIB=no . 719. 720.It Sy MKPICINSTALL 721.YorN 722Indicates whether the 723.Xr ar 1 724format libraries 725.Sy ( lib*_pic.a ) , 726used to generate shared libraries, are installed. 727.DFLTy 728. 729.It Sy MKPICLIB 730.YorN 731Indicates whether the 732.Xr ar 1 733format libraries 734.Sy ( lib*_pic.a ) , 735used to generate shared libraries. 736.DFLTy 737. 738.It Sy MKPIE 739Indicates whether Position Independent Executables (PIE) 740are built and installed. 741.DFLT 742Platform dependent. 743. 744.It Sy MKPIGZGZIP 745.YorN 746If 747.Dq no , 748the 749.Xr pigz 1 750utility is not installed as 751.Xr gzip 1 . 752.DFLTn 753. 754.It Sy MKPOSTFIX 755.YorN 756Indicates whether Postfix is built. 757.DFLTy 758. 759.It Sy MKPROFILE 760.YorN 761Indicates whether profiled libraries 762.Sy ( lib*_p.a ) 763will be built and installed. 764.DFLT 765.Dq yes ; 766however, some platforms turn off 767.Sy MKPROFILE 768by default at times due to toolchain problems with profiled code. 769. 770.It Sy MKREPRO 771.YorN 772Indicates whether builds are to be reproducible. 773If 774.Dq yes , 775two builds from the same source tree will produce the same build 776results. 777.DFLTn 778. 779.It Sy MKRADEONFIRMWARE 780.YorN 781Indicates whether to install the 782.Pa /libdata/firmware/radeon 783directory, which is necessary for the radeon DRM driver. 784.DFLT 785Platform dependent. 786. 787.It Sy MKRELRO 788If 789.Dq partial , 790set the non-PLT GOT to read-only. 791If 792.Dq full , 793also force immediate symbol binding. 794.DFLT 795Platform dependent. 796. 797.It Sy MKRUMP 798.YorN 799Indicates whether the 800.Xr rump 3 801headers, libraries and programs are to be installed. 802.DFLTy 803. 804.It Sy MKSHARE 805.YorN 806Indicates whether files destined to reside in 807.Sy DESTDIR Ns Pa /usr/share 808will be built and installed. 809.DFLTy 810.Pp 811If 812.Dq no , 813acts as 814.Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no . 815. 816.It Sy MKSKEY 817.YorN 818Indicates whether the S/key infrastructure 819(libraries and support programs) is built. 820.DFLTy 821. 822.It Sy MKSOFTFLOAT 823.YorN 824Indicates whether the compiler generates output containing 825library calls for floating point and possibly soft-float library 826support. 827.DFLTn 828. 829.It Sy MKSTATICLIB 830.YorN 831Indicates whether the normal static libraries 832.Sy ( lib*_g.a ) 833will be built and installed. 834.DFLTy 835. 836.It Sy MKSTRIPIDENT 837.YorN 838Indicates whether RCS IDs, for use with 839.Xr ident 1 , 840should be stripped from program binaries and shared libraries. 841.DFLTn 842. 843.It Sy MKSTRIPSYM 844.YorN 845Indicates whether all local symbols should be stripped from shared libraries. 846If 847.Dq yes , 848strip all local symbols from shared libraries; 849the affect is equivalent to the 850.Fl x 851option of 852.Xr ld 1 . 853If 854.Dq no , 855strip only temporary local symbols; the affect is equivalent 856to the 857.Fl X 858option of 859.Xr ld 1 . 860Keeping non-temporary local symbols 861such as static function names is useful on using DTrace for 862userland libraries and getting a backtrace from a rump kernel 863loading shared libraries. 864.DFLTy 865. 866.It Sy MKUNPRIVED 867.YorN 868Indicates whether an unprivileged install will occur. 869The user, group, permissions, and file flags, will not be set on 870the installed item; instead the information will be appended to 871a file called 872.Pa METALOG 873in 874.Sy DESTDIR . 875The contents of 876.Pa METALOG 877is used during the generation of the distribution tar files to ensure 878that the appropriate file ownership is stored. 879.DFLTn 880. 881.It Sy MKUPDATE 882.YorN 883Indicates whether all install operations intended to write to 884.Sy DESTDIR 885will compare file timestamps before installing, and skip the install 886phase if the destination files are up-to-date. 887This also has implications on full builds (see next subsection). 888.DFLTn 889. 890.It Sy MKX11 891.YorN 892Indicates whether X11 is built and installed 893(by descending into 894.Pa src/external/mit/xorg ) . 895.DFLTn 896. 897.It Sy MKX11FONTS 898.YorN 899If 900.Dq no , 901do not build and install the X fonts. 902.DFLTy 903. 904.It Sy X11MOTIFPATH 905Location of the Motif installation to use if setting 906.Sy MKX11MOTIF 907to 908.Dq yes . 909.DFLT 910.Pa /usr/pkg 911. 912.It Sy MKX11MOTIF 913.YorN 914If 915.Dq yes , 916build the native Xorg libGLw with Motif stubs. 917Requires that Motif can be found via 918.Sy X11MOTIFPATH . 919.DFLTn 920. 921.It Sy MKYP 922.YorN 923Indicates whether the YP (NIS) infrastructure 924(libraries and support programs) is built. 925.DFLTy 926. 927.It Sy MKZFS 928.YorN 929Indicates whether the ZFS kernel module and the utilities and 930libraries used to manage the ZFS system are to be built. 931.DFLTy 932on amd64, 933.Dq no 934on other architectures. 935. 936.It Sy OBJMACHINE 937If defined, creates objdirs of the form 938.Pa obj. Ns Sy MACHINE , 939where 940.Sy MACHINE 941is the current architecture (as per 942.Sq "uname -m" ) . 943. 944.It Sy RELEASEDIR 945If set, specifies the directory to which a 946.Xr release 7 947layout will be written at the end of a 948.Dq make release . 949.DFLTu 950.Pp 951.Em Note : 952.Sy build.sh 953will provide a default of 954.Pa releasedir 955(in the top-level 956.Sy .OBJDIR ) 957unless run in 958.Sq expert 959mode 960. 961.It Sy TOOLDIR 962Directory to hold the host tools, once built. 963This directory should be unique to a given host system and 964.Nx 965source tree. 966(However, multiple targets may share the same 967.Sy TOOLDIR ; 968the target-dependent files have unique names.) 969If unset, a default based 970on the 971.Xr uname 1 972information of the host platform will be created in the 973.Sy .OBJDIR 974of 975.Pa src . 976.DFLTu 977. 978.It Sy USE_FORT 979Indicates whether the so-called 980.Dq FORTIFY_SOURCE 981.Xr security 7 982extensions are enabled; see 983.Xr ssp 3 984for details. 985This imposes some performance penalty. 986.DFLTn 987. 988.It Sy USE_HESIOD 989.YorN 990Indicates whether Hesiod support is 991enabled in the various applications that support it. 992If 993.Sy MKHESIOD=no , 994.Sy USE_HESIOD 995will also be forced to 996.Dq no . 997.DFLTy 998. 999.It Sy USE_INET6 1000.YorN 1001Indicates whether INET6 (IPv6) support is 1002enabled in the various applications that support it. 1003If 1004.Sy MKINET6=no , 1005.Sy USE_INET6 1006will also be forced to 1007.Dq no . 1008.DFLTy 1009. 1010.It Sy USE_JEMALLOC 1011.YorN 1012Indicates whether the 1013.Em jemalloc 1014allocator 1015.Pq which is designed for improved performance with threaded applications 1016is used instead of the 1017.Em phkmalloc 1018allocator 1019.Pq that was the default until Nx 5.0 . 1020.DFLTy 1021. 1022.It Sy USE_KERBEROS 1023.YorN 1024Indicates whether Kerberos v5 support is 1025enabled in the various applications that support it. 1026If 1027.Sy MKKERBEROS=no , 1028.Sy USE_KERBEROS 1029will also be forced to 1030.Dq no . 1031.DFLTy 1032. 1033.It Sy USE_LDAP 1034.YorN 1035Indicates whether LDAP support is 1036enabled in the various applications that support it. 1037If 1038.Sy MKLDAP=no , 1039.Sy USE_LDAP 1040will also be forced to 1041.Dq no . 1042.DFLTy 1043. 1044.It Sy USE_PAM 1045.YorN 1046Indicates whether 1047.Xr pam 8 1048support is enabled in the various applications that support it. 1049If 1050.Sy MKPAM=no , 1051.Sy USE_PAM 1052will also be forced to 1053.Dq no . 1054.DFLTy 1055. 1056.It Sy USE_SKEY 1057.YorN 1058Indicates whether S/key support is 1059enabled in the various applications that support it. 1060If 1061.Sy MKSKEY=no , 1062.Sy USE_SKEY 1063will also be forced to 1064.Dq no . 1065.DFLTy 1066.Pp 1067This is mutually exclusive to 1068.Sy USE_PAM!=no . 1069. 1070.It Sy USE_SSP 1071.YorN 1072Indicates whether GCC stack-smashing protection (SSP) support, 1073which detects stack overflows and aborts the program, 1074is enabled. 1075This imposes some performance penalty. 1076.DFLTy 1077. 1078.It Sy USE_YP 1079.YorN 1080Indicates whether YP (NIS) support is 1081enabled in the various applications that support it. 1082If 1083.Sy MKYP=no , 1084.Sy USE_YP 1085will also be forced to 1086.Dq no . 1087.DFLTy 1088. 1089.It Sy USETOOLS 1090Indicates whether the tools specified by 1091.Sy TOOLDIR 1092should be used as part of a build in progress. 1093Must be set to 1094.Dq yes 1095if cross-compiling. 1096.Bl -tag -width "never" 1097.It Sy yes 1098Use the tools from 1099.Sy TOOLDIR . 1100.It Sy no 1101Do not use the tools from 1102.Sy TOOLDIR , 1103but refuse to build native compilation tool components that are 1104version-specific for that tool. 1105.It Sy never 1106Do not use the tools from 1107.Sy TOOLDIR , 1108even when building native tool components. 1109This is similar to the traditional 1110.Nx 1111build method, but does 1112.Em not 1113verify that the compilation tools in use are up-to-date enough in order 1114to build the tree successfully. 1115This may cause build or runtime problems when building the whole 1116.Nx 1117source tree. 1118.El 1119.DFLT 1120.Dq yes 1121if building all or part of a whole 1122.Nx 1123source tree (detected automatically); 1124.Dq no 1125otherwise (to preserve traditional semantics of the 1126.Aq bsd.*.mk 1127.Xr make 1 1128include files). 1129. 1130.El 1131. 1132.Ss pkgsrc system variables 1133. 1134Please see the pkgsrc guide at 1135.Lk http://www.netbsd.org/Documentation/pkgsrc/ 1136or 1137.Pa pkgsrc/doc/pkgsrc.txt 1138for more variables used internally by the package system and 1139.Pa ${PKGSRCDIR}/mk/defaults/mk.conf 1140for package-specific examples. 1141. 1142.Sh FILES 1143.Bl -tag -width /etc/mk.conf 1144. 1145.It Pa /etc/mk.conf 1146This file. 1147. 1148.It Pa ${PKGSRCDIR}/mk/defaults/mk.conf 1149Examples for settings regarding the pkgsrc collection. 1150.El 1151. 1152.Sh SEE ALSO 1153.Xr make 1 , 1154.Pa /usr/share/mk/bsd.README , 1155.Pa pkgsrc/doc/pkgsrc.txt , 1156.Lk http://www.netbsd.org/Documentation/pkgsrc/ 1157.Sh HISTORY 1158The 1159.Nm 1160file appeared in 1161.Nx 1.2 . 1162