xref: /netbsd-src/share/man/man5/mk.conf.5 (revision 82d56013d7b633d116a93943de88e08335357a7c)
1.\"	$NetBSD: mk.conf.5,v 1.84 2021/01/14 23:32:12 pgoyette 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 October 27, 2020
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 (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 MKDEBUGLIB
380.YorN
381Indicates whether debug libraries
382.Sy ( lib*_g.a )
383will be built and installed.
384Debug libraries are compiled with
385.Dq Li -g -DDEBUG .
386.DFLTn
387.
388.It Sy MKDOC
389.YorN
390Indicates whether system documentation destined for
391.Sy DESTDIR Ns Pa /usr/share/doc
392will be installed.
393.DFLTy
394.
395.It Sy MKDTRACE
396.YorN
397Indicates whether the kernel modules, utilities and libraries for
398.Xr dtrace 1
399support are to be built and installed.
400.DFLTn
401.
402.It Sy MKDYNAMICROOT
403.YorN
404Indicates whether all programs should be dynamically linked,
405and to install shared libraries required by
406.Pa /bin
407and
408.Pa /sbin
409and the shared linker
410.Xr ld.elf_so 1
411into
412.Pa /lib .
413If
414.Sq no ,
415link programs in
416.Pa /bin
417and
418.Pa /sbin
419statically.
420.DFLTy
421.
422.It Sy MKGCC
423.YorN
424Indicates whether
425.Xr gcc 1
426or any related libraries
427.Pq Sy libg2c , libgcc , libobjc , libstdc++
428are built.
429.DFLTy
430.
431.It Sy MKGCCCMDS
432.YorN
433Indicates whether
434.Xr gcc 1
435is built.
436If
437.Dq no ,
438then
439.Sy MKGCC
440controls if the
441GCC libraries are built.
442.DFLTy
443.
444.It Sy MKGDB
445.YorN
446Indicates whether
447.Xr gdb 1
448is built.
449.DFLTy
450.
451.It Sy MKHESIOD
452.YorN
453Indicates whether the Hesiod infrastructure
454(libraries and support programs) is built and installed.
455.DFLTy
456.
457.It Sy MKHOSTOBJ
458.YorN
459If set to
460.Dq yes ,
461then for programs intended to be run on the compile host,
462the name, release, and architecture of the host operating system
463will be suffixed to the name of the object directory created by
464.Dq make obj .
465(This allows multiple host systems to compile
466.Nx
467for a single target.)
468If set to
469.Dq no ,
470then programs built to be run on the compile host will use the same
471object directory names as programs built to be run on the target.
472.DFLTn
473.
474.It Sy MKHTML
475.YorN
476Indicates whether the HTML manual pages are created and installed.
477.DFLTy
478.
479.It Sy MKIEEEFP
480.YorN
481Indicates whether code for IEEE754/IEC60559 conformance is built.
482Has no effect on most platforms.
483.DFLTy
484.
485.It Sy MKINET6
486Indicates whether INET6 (IPv6) infrastructure
487(libraries and support programs) is built and installed.
488.DFLTy
489.
490.It Sy MKINFO
491.YorN
492Indicates whether GNU Info files, used for the documentation for
493most of the compilation tools, will be built and installed.
494.DFLTy
495.
496.It Sy MKIPFILTER
497.YorN
498Indicates whether the
499.Xr ipf 4
500programs, headers and other components will be built and installed.
501.DFLTy
502.
503.It Sy MKISCSI
504.YorN
505Indicates whether the iSCSI library and applications are
506built and installed.
507.DFLTy
508.
509.It Sy MKKDEBUG
510.YorN
511Indicates whether debugging symbols will be built for kernels
512by default; pretend as if
513.Em makeoptions DEBUG="-g"
514is specified in kernel configuration files.
515See
516.Xr options 4
517for details.
518.DFLTn
519.
520.It Sy MKKERBEROS
521.YorN
522Indicates whether the Kerberos v5 infrastructure
523(libraries and support programs) is built and installed.
524Caution: the default
525.Xr pam 8
526configuration requires that Kerberos be present even if not used.
527Do not install a userland without Kerberos without also either
528updating the
529.Xr pam.conf 5
530files or disabling PAM via
531.Sy MKPAM .
532Otherwise all logins will fail.
533.DFLTy
534.
535.It Sy MKKMOD
536.YorN
537Indicates whether kernel modules are built and installed.
538.DFLTy
539.
540.It Sy MKKYUA
541.YorN
542Indicates whether Kyua (the testing infrastructure used by
543.Nx )
544is built and installed.
545Note that
546.Em this does not control the installation of the tests themselves .
547The tests rely on the ATF libraries and therefore their build is controlled
548by the
549.Sy MKATF
550knob.
551.DFLTn
552until the import of Kyua is done and validated.
553.
554.It Sy MKLDAP
555.YorN
556Indicates whether the Lightweight Directory Access Protocol (LDAP)
557infrastructure
558(libraries and support programs) is built and installed.
559.DFLTy
560.
561.It Sy MKLINKLIB
562.YorN
563Indicates whether all of the shared library infrastructure is built.
564If
565.Sq no ,
566prevents:
567installation of the
568.Sy *.a
569libraries,
570installation of the
571.Sy *_pic.a
572libraries on PIC systems,
573building of
574.Sy *.a
575libraries on PIC systems,
576or
577installation of
578.Sy .so
579symlinks on ELF systems.
580.DFLTy
581.Pp
582If
583.Dq no ,
584acts as
585.Sy MKPICINSTALL=no MKPROFILE=no .
586.
587.It Sy MKLINT
588.YorN
589Indicates whether
590.Xr lint 1
591will be run against portions of the
592.Nx
593source code during the build, and whether lint libraries will be
594installed into
595.Sy DESTDIR Ns Pa /usr/libdata/lint .
596.DFLTy
597.
598.It Sy MKLVM
599.YorN
600If not
601.Dq no ,
602build and install the logical volume manager.
603.DFLTy
604.
605.It Sy MKMAN
606.YorN
607Indicates whether manual pages will be installed.
608.DFLTy
609.Pp
610If
611.Dq no ,
612acts as
613.Sy MKCATPAGES=no MKHTML=no .
614.
615.It Sy MKMANZ
616.YorN
617Indicates whether manual pages should be compressed with
618.Xr gzip 1
619at installation time.
620.DFLTn
621.
622.It Sy MKMDNS
623.YorN
624Indicates whether the mDNS (Multicast DNS) infrastructure
625(libraries and support programs) is built and installed.
626.DFLTy
627.
628.It Sy MKNLS
629.YorN
630Indicates whether Native Language System (NLS) locale zone files will be
631built and installed.
632.DFLTy
633.
634.It Sy MKNPF
635.YorN
636Indicates whether the NPF packet filter is to be built and installed.
637.DFLTy
638.
639.It Sy MKOBJ
640.YorN
641Indicates whether object directories will be created when running
642.Dq make obj .
643If set to
644.Dq no ,
645then all built files will be located inside the regular source tree.
646.DFLTy
647.Pp
648If
649.Dq no ,
650acts as
651.Sy MKOBJDIRS=no .
652.
653.It Sy MKOBJDIRS
654.YorN
655Indicates whether object directories will be created automatically
656(via a
657.Dq make obj
658pass) at the start of a build.
659.DFLTn
660.
661.It Sy MKPAM
662.YorN
663Indicates whether the
664.Xr pam 8
665framework (libraries and support files) is built.
666The pre-PAM code is not supported and may be removed in the future.
667.DFLTy
668.
669.It Sy MKPCC
670.YorN
671Indicates whether
672.Xr pcc 1
673or any related libraries
674.Pq Sy libpcc , libpccsoftfloat
675are built.
676.DFLTn
677.
678.It Sy MKPF
679.YorN
680Indicates whether the
681.Xr pf 4
682programs, headers and LKM will be built and installed.
683.DFLTy
684.
685.It Sy MKPIC
686.YorN
687Indicates whether shared objects and libraries will be created and
688installed.
689If set to
690.Dq no ,
691the entire built system will be statically linked.
692.DFLT
693Platform dependent.
694As of this writing, all platforms except
695.Sy m68000
696default to
697.Dq yes .
698.Pp
699If
700.Dq no ,
701acts as
702.Sy MKPICLIB=no .
703.
704.It Sy MKPICINSTALL
705.YorN
706Indicates whether the
707.Xr ar 1
708format libraries
709.Sy ( lib*_pic.a ) ,
710used to generate shared libraries, are installed.
711.DFLTy
712.
713.It Sy MKPICLIB
714.YorN
715Indicates whether the
716.Xr ar 1
717format libraries
718.Sy ( lib*_pic.a ) ,
719used to generate shared libraries.
720.DFLTy
721.
722.It Sy MKPIE
723Indicates whether Position Independent Executables (PIE)
724are built and installed.
725.DFLTn
726.
727.It Sy MKPIGZGZIP
728.YorN
729If
730.Dq no ,
731the
732.Xr pigz 1
733utility is not installed as
734.Xr gzip 1 .
735.DFLTn
736.
737.It Sy MKPOSTFIX
738.YorN
739Indicates whether Postfix is built.
740.DFLTy
741.
742.It Sy MKPROFILE
743.YorN
744Indicates whether profiled libraries
745.Sy ( lib*_p.a )
746will be built and installed.
747.DFLT
748.Dq yes ;
749however, some platforms turn off
750.Sy MKPROFILE
751by default at times due to toolchain problems with profiled code.
752.
753.It Sy MKREPRO
754.YorN
755Indicates whether builds are to be reproducible.
756If
757.Dq yes ,
758two builds from the same source tree will produce the same build
759results.
760.DFLTn
761.
762.It Sy MKRUMP
763.YorN
764Indicates whether the
765.Xr rump 3
766headers, libraries and programs are to be installed.
767.DFLTy
768.
769.It Sy MKSHARE
770.YorN
771Indicates whether files destined to reside in
772.Sy DESTDIR Ns Pa /usr/share
773will be built and installed.
774.DFLTy
775.Pp
776If
777.Dq no ,
778acts as
779.Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
780.
781.It Sy MKSKEY
782.YorN
783Indicates whether the S/key infrastructure
784(libraries and support programs) is built.
785.DFLTy
786.
787.It Sy MKSOFTFLOAT
788.YorN
789Indicates whether the compiler generates output containing
790library calls for floating point and possibly soft-float library
791support.
792.DFLTn
793.
794.It Sy MKSTATICLIB
795.YorN
796Indicates whether the normal static libraries
797.Sy ( lib*_g.a )
798will be built and installed.
799.DFLTy
800.
801.It Sy MKSTRIPIDENT
802.YorN
803Indicates whether RCS IDs, for use with
804.Xr ident 1 ,
805should be stripped from program binaries and shared libraries.
806.DFLTn
807.
808.It Sy MKSTRIPSYM
809.YorN
810Indicates whether all local symbols should be stripped from shared libraries.
811If
812.Dq yes ,
813strip all local symbols from shared libraries;
814the affect is equivalent to the
815.Fl x
816option of
817.Xr ld 1 .
818If
819.Dq no ,
820strip only temporary local symbols; the affect is equivalent
821to the
822.Fl X
823option of
824.Xr ld 1 .
825Keeping non-temporary local symbols
826such as static function names is useful on using DTrace for
827userland libraries and getting a backtrace from a rump kernel
828loading shared libraries.
829.DFLTy
830.
831.It Sy MKUNPRIVED
832.YorN
833Indicates whether an unprivileged install will occur.
834The user, group, permissions, and file flags, will not be set on
835the installed item; instead the information will be appended to
836a file called
837.Pa METALOG
838in
839.Sy DESTDIR .
840The contents of
841.Pa METALOG
842is used during the generation of the distribution tar files to ensure
843that the appropriate file ownership is stored.
844.DFLTn
845.
846.It Sy MKUPDATE
847.YorN
848Indicates whether all install operations intended to write to
849.Sy DESTDIR
850will compare file timestamps before installing, and skip the install
851phase if the destination files are up-to-date.
852This also has implications on full builds (see next subsection).
853.DFLTn
854.
855.It Sy MKX11
856.YorN
857Indicates whether X11 is built and installed
858(by descending into
859.Pa src/external/mit/xorg ) .
860.DFLTn
861.
862.It Sy MKX11FONTS
863.YorN
864If
865.Dq no ,
866do not build and install the X fonts.
867.DFLTy
868.
869.It Sy X11MOTIFPATH
870Location of the Motif installation to use if setting
871.Sy MKX11MOTIF
872to
873.Dq yes .
874.DFLT
875.Pa /usr/pkg
876.
877.It Sy MKX11MOTIF
878.YorN
879If
880.Dq yes ,
881build the native Xorg libGLw with Motif stubs.
882Requires that Motif can be found via
883.Sy X11MOTIFPATH .
884.DFLTn
885.
886.It Sy MKYP
887.YorN
888Indicates whether the YP (NIS) infrastructure
889(libraries and support programs) is built.
890.DFLTy
891.
892.It Sy MKZFS
893.YorN
894Indicates whether the ZFS kernel module and the utilities and
895libraries used to manage the ZFS system are to be built.
896.DFLTy
897on amd64,
898.Dq no
899on other architectures.
900.
901.It Sy OBJMACHINE
902If defined, creates objdirs of the form
903.Pa obj. Ns Sy MACHINE ,
904where
905.Sy MACHINE
906is the current architecture (as per
907.Sq "uname -m" ) .
908.
909.It Sy RELEASEDIR
910If set, specifies the directory to which a
911.Xr release 7
912layout will be written at the end of a
913.Dq make release .
914.DFLTu
915.Pp
916.Em Note :
917.Sy build.sh
918will provide a default of
919.Pa releasedir
920(in the top-level
921.Sy .OBJDIR )
922unless run in
923.Sq expert
924mode
925.
926.It Sy TOOLDIR
927Directory to hold the host tools, once built.
928This directory should be unique to a given host system and
929.Nx
930source tree.
931(However, multiple targets may share the same
932.Sy TOOLDIR ;
933the target-dependent files have unique names.)
934If unset, a default based
935on the
936.Xr uname 1
937information of the host platform will be created in the
938.Sy .OBJDIR
939of
940.Pa src .
941.DFLTu
942.
943.It Sy USE_FORT
944Indicates whether the so-called
945.Dq FORTIFY_SOURCE
946.Xr security 7
947extensions are enabled; see
948.Xr ssp 3
949for details.
950This imposes some performance penalty.
951.DFLTn
952.
953.It Sy USE_HESIOD
954.YorN
955Indicates whether Hesiod support is
956enabled in the various applications that support it.
957If
958.Sy MKHESIOD=no ,
959.Sy USE_HESIOD
960will also be forced to
961.Dq no .
962.DFLTy
963.
964.It Sy USE_INET6
965.YorN
966Indicates whether INET6 (IPv6) support is
967enabled in the various applications that support it.
968If
969.Sy MKINET6=no ,
970.Sy USE_INET6
971will also be forced to
972.Dq no .
973.DFLTy
974.
975.It Sy USE_JEMALLOC
976.YorN
977Indicates whether the
978.Em jemalloc
979allocator
980.Pq which is designed for improved performance with threaded applications
981is used instead of the
982.Em phkmalloc
983allocator
984.Pq that was the default until Nx 5.0 .
985.DFLTy
986.
987.It Sy USE_KERBEROS
988.YorN
989Indicates whether Kerberos v5 support is
990enabled in the various applications that support it.
991If
992.Sy MKKERBEROS=no ,
993.Sy USE_KERBEROS
994will also be forced to
995.Dq no .
996.DFLTy
997.
998.It Sy USE_LDAP
999.YorN
1000Indicates whether LDAP support is
1001enabled in the various applications that support it.
1002If
1003.Sy MKLDAP=no ,
1004.Sy USE_LDAP
1005will also be forced to
1006.Dq no .
1007.DFLTy
1008.
1009.It Sy USE_PAM
1010.YorN
1011Indicates whether
1012.Xr pam 8
1013support is enabled in the various applications that support it.
1014If
1015.Sy MKPAM=no ,
1016.Sy USE_PAM
1017will also be forced to
1018.Dq no .
1019.DFLTy
1020.
1021.It Sy USE_SKEY
1022.YorN
1023Indicates whether S/key support is
1024enabled in the various applications that support it.
1025If
1026.Sy MKSKEY=no ,
1027.Sy USE_SKEY
1028will also be forced to
1029.Dq no .
1030.DFLTy
1031.Pp
1032This is mutually exclusive to
1033.Sy USE_PAM!=no .
1034.
1035.It Sy USE_SSP
1036.YorN
1037Indicates whether GCC stack-smashing protection (SSP) support,
1038which detects stack overflows and aborts the program,
1039is enabled.
1040This imposes some performance penalty.
1041.DFLTn
1042.
1043.It Sy USE_YP
1044.YorN
1045Indicates whether YP (NIS) support is
1046enabled in the various applications that support it.
1047If
1048.Sy MKYP=no ,
1049.Sy USE_YP
1050will also be forced to
1051.Dq no .
1052.DFLTy
1053.
1054.It Sy USETOOLS
1055Indicates whether the tools specified by
1056.Sy TOOLDIR
1057should be used as part of a build in progress.
1058Must be set to
1059.Dq yes
1060if cross-compiling.
1061.Bl -tag -width "never"
1062.It Sy yes
1063Use the tools from
1064.Sy TOOLDIR .
1065.It Sy no
1066Do not use the tools from
1067.Sy TOOLDIR ,
1068but refuse to build native compilation tool components that are
1069version-specific for that tool.
1070.It Sy never
1071Do not use the tools from
1072.Sy TOOLDIR ,
1073even when building native tool components.
1074This is similar to the traditional
1075.Nx
1076build method, but does
1077.Em not
1078verify that the compilation tools in use are up-to-date enough in order
1079to build the tree successfully.
1080This may cause build or runtime problems when building the whole
1081.Nx
1082source tree.
1083.El
1084.DFLT
1085.Dq yes
1086if building all or part of a whole
1087.Nx
1088source tree (detected automatically);
1089.Dq no
1090otherwise (to preserve traditional semantics of the
1091.Aq bsd.*.mk
1092.Xr make 1
1093include files).
1094.
1095.El
1096.
1097.Ss pkgsrc system variables
1098.
1099Please see the pkgsrc guide at
1100.Lk http://www.netbsd.org/Documentation/pkgsrc/
1101or
1102.Pa pkgsrc/doc/pkgsrc.txt
1103for more variables used internally by the package system and
1104.Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1105for package-specific examples.
1106.
1107.Sh FILES
1108.Bl -tag -width /etc/mk.conf
1109.
1110.It Pa /etc/mk.conf
1111This file.
1112.
1113.It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
1114Examples for settings regarding the pkgsrc collection.
1115.El
1116.
1117.Sh SEE ALSO
1118.Xr make 1 ,
1119.Pa /usr/share/mk/bsd.README ,
1120.Pa pkgsrc/doc/pkgsrc.txt ,
1121.Lk http://www.netbsd.org/Documentation/pkgsrc/
1122.Sh HISTORY
1123The
1124.Nm
1125file appeared in
1126.Nx 1.2 .
1127