Lines Matching +full:readme +full:. +full:installer
1 .\" $NetBSD: mk.conf.5,v 1.111 2024/09/07 19:13:28 rillig Exp $
2 .\"
3 .\" Copyright (c) 1999-2023 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 September 7, 2024
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
42 .Nm
43 file overrides various parameters used during the build of the system.
44 .
45 .Sh NETBSD SYSTEM VARIABLES
46 .
48 .Nm
50 .Nx
56 .Sy build.sh ) ,
57 and the default value of each variable.
58 .
59 .de DFLT
60 .Pp
61 .Em Default :
62 ..
63 .de DFLTn
64 .DFLT
65 .Dq no .
66 ..
67 .de DFLTu
68 .DFLT
69 Unset.
70 ..
71 .de DFLTy
72 .DFLT
73 .Dq yes .
74 ..
75 .de NODEF
76 .Pp
78 .Dq no
80 .Sy \\$*
83 .Xr make 1
84 .Cm \&.include
85 directives.
86 ..
87 .de NOVAR
88 .Pp
90 .Dq no
92 .Sy \\$* .
93 ..
94 .de YorN
96 .Dq yes
98 .Dq no .
99 ..
100 .
101 .Bl -tag -width 14n
102 .
103 .\" These entries are sorted alphabetically.
104 .
105 .It Sy BSDOBJDIR
107 .Nx
108 source tree.
109 .DFLT
110 .Dq Pa /usr/obj .
111 .
112 .It Sy BSDSRCDIR
114 .Nx
116 .Sy NETBSDSRCDIR
117 isn't defined.
118 .DFLT
119 .Dq Pa /usr/src .
120 .
121 .It Sy BUILD
123 .Sq "make install"
125 .Xr make 1
129 .Xr make 1
130 targets.
131 .DFLTu
132 .
133 .It Sy BUILDID
134 Identifier for the build.
136 part of a file or directory name.
138 .Sy OBJMACHINE
140 .Pa \&. Ns Sy BUILDID
142 .Pa \&. Ns Sy MACHINE .
145 .Dq Li uname \-v .
146 .DFLTu
147 .
148 .It Sy BUILDINFO
149 Optional multi-line string containing information about the build.
151 .Sy DESTDIR Ns Pa /etc/release ,
153 .Va buildinfo
154 variable in any kernels that are built.
156 .Xr sysctl 7
157 .Va kern.buildinfo
158 variable will report this value.
160 .Dq "\e\e"
163 .Dq "\en"
164 (representing a newline).
165 .DFLTu
166 .
167 .It Sy BUILDSEED
168 .Xr g++ 1
169 uses random numbers when compiling C++ code.
171 .Xr g++ 1
173 .Fl frandom-seed
174 with this value.
176 .Do NetBSD-( Ns Em majorversion ) Dc .
178 built from the same sources, resulting in identical (reproducible) builds.
180 .Xr g++ 1
182 .Fl frandom-seed .
183 .DFLTu
184 .
185 .It Sy CDEXTRA
188 .Sy build.sh
189 .Dq iso-image
191 .Dq iso-image-source
192 operations.
194 whereas directories will be copied recursively.
196 absolute paths before being used.
197 .Em Note :
199 .Sy build.sh ,
201 .Fl C
203 space-separated paths.
204 .DFLTu
205 .
206 .It Sy CONFIGOPTS
208 .Xr config 1
209 when building kernels.
210 .DFLTu
211 .
212 .It Sy COPTS
213 Extra options for the C compiler.
214 Should be appended to (e.g.,
215 .Sy COPTS+=-g ) ,
216 rather than explicitly set.
217 .Pp
218 .Em Note :
219 .Sy CPUFLAGS ,
221 .Sy COPTS ,
223 compiler options that select CPU-related options.
224 .Pp
225 .Em Note :
226 .Sy CFLAGS
228 .Nm .
229 .
230 .It Sy CPUFLAGS
232 CPU instruction set options, CPU tuning options, etc.
233 .Pp
234 .Em Note :
236 .Sy COPTS ,
238 CPU-related compiler options.
239 .DFLTu
240 .
241 .It Sy DESTDIR
243 .Nx
244 system.
247 .Sy /usr/include , /usr/lib ,
248 and so forth.
250 .Em not
252 .Pq /
253 character.
255 .Sy DESTDIR
257 .Dq / ) .
259 names and hard links.
260 .Pp
261 .Em Note :
262 .Sy build.sh
264 .Dq Pa destdir . Ns Sy MACHINE
266 .Sy .OBJDIR )
268 .Sq expert
270 .Fl E
271 option.
272 .DFLT
274 .Sy USETOOLS=yes ;
275 otherwise unset.
276 .
277 .It Sy EXTERNAL_TOOLCHAIN
279 an external toolchain which will be used to build the tree.
281 .Sy TOOLCHAIN_MISSING
283 .Sy EXTERNAL_TOOLCHAIN
284 can be used to re-enable the cross-compile framework.
285 .Pp
287 .Sy EXTERNAL_TOOLCHAIN
289 .Sy MKGCC=no ,
291 able to build the library components of the in-tree compiler.
292 .Pp
294 .Sy HAVE_GCC
296 .Sy HAVE_LLVM
297 setting to control the compiler options.
298 .Pp
299 .Em Note :
300 This variable is not yet used in as many places as it should be.
302 term as parts of the cross-compile framework continue to be cleaned up.
303 .DFLTu
304 .
305 .It Sy INSTALLBOOT_BOARDS
307 .Sy evbarm
308 boards to create bootable images for.
310 bootable images are created as part of a release.
312 .Bk -words
313 .Fl o Sy board= Ns Ar name
314 .Ek
316 .Xr installboot 8 .
317 .DFLTu
318 .
319 .It Sy INSTALLWORLDDIR
321 .Xr make 1
322 .Dq installworld
323 target to install to.
324 If specified, must be an absolute path.
325 .DFLT
326 .Dq Pa / .
327 .
328 .It Sy KERNARCHDIR
330 .Sy KERNSRCDIR
331 containing the machine dependent kernel sources.
332 .DFLT
333 .Dq Pa arch/ Ns Sy MACHINE .
334 .
335 .It Sy KERNCONFDIR
336 Directory containing the kernel configuration files.
337 .DFLT
338 .Dq Sy KERNSRCDIR Ns Pa / Ns Sy KERNARCHDIR Ns Pa /conf .
339 .
340 .It Sy KERNEL_DIR Pq No experimental
341 .YorN
343 .Sy /netbsd/
344 is created.
346 .Dq yes ,
348 .Pa /netbsd/kernel
350 .Pa /netbsd/modules/ .
353 .Pa /netbsd/
354 directory.
356 keeping the kernel and its associated modules together in one place.
357 .Pp
359 .Dq no ,
361 .Pa /netbsd
363 .Pa /stand/${ARCH}/
364 directory hierarchy.
365 .Pp
367 .Sy KERNEL_DIR
368 option is a work-in-progress, and is highly experimental.
369 It is also subject to change without notice.
370 .DFLTn
371 .
372 .It Sy KERNOBJDIR
373 Directory for kernel builds.
375 .Sy GENERIC
377 .Sy KERNOBJDIR Ns Pa /GENERIC .
378 .DFLT
379 .Dq Sy MAKEOBJDIRPREFIX Ns Pa / Ns Sy KERNSRCDIR Ns Pa / Ns Sy KERNARCHDIR Ns Pa /compile
381 .Xr make 1
382 .Dq obj
385 .Dq Sy KERNSRCDIR Ns Pa / Ns Sy KERNARCHDIR Ns Pa /compile .
386 .
387 .It Sy KERNSRCDIR
388 Directory at the top of the kernel source.
389 .DFLT
390 .Dq Sy NETBSDSRCDIR Ns Pa /sys .
391 .
392 .It Sy LOCALTIME
394 .Xr tzfile 5
396 .Pa /usr/share/zoneinfo
398 .Sy DESTDIR Ns Pa /etc/localtime
399 to.
400 .DFLT
401 .Dq UTC .
402 .
403 .It Sy MAKEVERBOSE
404 Level of verbosity of status messages.
406 .Bl -tag -width 2n
407 .It 0
409 .Xr make 1
410 are shown.
411 .It 1
414 .Xr make 1
415 are not shown.
416 .It 2
418 .Sq # ) ,
420 .Xr make 1
421 are shown.
422 .It 3
424 .Xr make 1
427 .Dq \&@
428 prefix in the relevant makefile.
429 .It 4
431 .Xr make 1
433 .Xr sh 1
434 .Dq Fl x
435 flag.
436 .El
437 .DFLT
438 .Sy 2 .
439 .
440 .It Sy MKAMDGPUFIRMWARE
441 .YorN
443 .Pa /libdata/firmware/amdgpu
445 .Xr amdgpu 4
446 AMD RADEON GPU video driver.
447 .DFLT
448 .Dq yes
450 .Sy i386
452 .Sy x86_64 ;
453 .Dq no
454 on other platforms.
455 .
456 .It Sy MKARGON2
457 .YorN
458 Indicates whether the Argon2 hash is enabled in libcrypt.
459 .DFLTy
460 .
461 .It Sy MKARZERO
462 .YorN
464 .Xr ar 1
466 for reproducible builds.
467 .DFLT
469 .Sy MKREPRO
471 .Dq no .
472 .
473 .It Sy MKATF
474 .YorN
476 will be built and installed.
478 .Nx
480 as the tests rely on ATF and cannot be built without it.
481 .NOVAR MKCXX=no
482 .DFLTy
483 .
484 .It Sy MKBINUTILS
485 .YorN
487 will be built and installed.
489 .Sy libbfd ,
490 .Sy libiberty ,
491 or any of the things that depend upon them, e.g.
492 .Xr as 1 ,
493 .Xr ld 1 ,
494 .Xr dbsym 8 ,
496 .Xr mdsetimage 8 .
497 .NOVAR TOOLCHAIN_MISSING!=no
498 .DFLTy
499 .
500 .It Sy MKBSDGREP
501 .YorN
503 .Xr grep 1
504 will be built and installed.
506 .Dq yes ,
507 use the BSD implementation.
509 .Dq no ,
510 use the GNU implementation.
511 .DFLTn
512 .
513 .It Sy MKBSDTAR
514 .YorN
516 .Xr cpio 1
518 .Xr tar 1
519 will be built and installed.
521 .Dq yes ,
523 .Sy libarchive Ns - Ns
524 based implementations.
526 .Dq no ,
528 .Xr pax 1
529 based implementations.
530 .DFLTy
531 .
532 .It Sy MKCATPAGES
533 .YorN
535 and installed.
536 .NOVAR MKMAN=no No or Sy MKSHARE=no
537 .DFLTn
538 .
539 .It Sy MKCLEANSRC
540 .YorN
542 .Sq "make clean"
544 .Sq "make cleandir"
546 .Sy CLEANFILES
548 .Sy CLEANDIRFILES
550 .Sy .OBJDIR ,
552 .Sy .SRCDIR .
553 .Pp
555 .Dq yes ,
557 .Sy .OBJDIR
559 .Sy .CURDIR .
561 .Dq no ,
563 .Sy .OBJDIR
564 only.
565 .DFLTy
566 .
567 .It Sy MKCLEANVERIFY
568 .YorN
570 .Sq "make clean"
572 .Sq "make cleandir"
573 will verify that files have been deleted.
575 .Dq yes ,
577 .Xr ls 1 .
579 .Dq no ,
580 then file deletions will not be verified.
581 .DFLTy
582 .
583 .It Sy MKCOMPAT
584 .YorN
586 installed.
587 .NODEF NOCOMPAT
588 .DFLT
589 .Dq yes
591 .Sy aarch64
593 .Sy mips64 ,
594 .Sy powerpc64 ,
595 .Sy riscv64 ,
596 .Sy sparc64 ,
598 .Sy x86_64 ;
599 .Dq no
600 on other platforms.
601 .
602 .It Sy MKCOMPATMODULES
603 .YorN
604 Indicates whether the compat kernel modules will be built and installed.
605 .NOVAR MKCOMPAT=no
606 .DFLT
607 .Dq yes
609 .Sy evbppc-powerpc
611 .Sy mips64 ;
612 .Dq no
613 on other platforms.
614 .
615 .It Sy MKCOMPATTESTS
616 .YorN
618 .Nx
620 .Pa src/compat
621 will be built and installed.
622 .NOVAR MKCOMPAT=no
623 .DFLTn
624 .
625 .It Sy MKCOMPATX11
626 .YorN
627 Indicates whether the X11 libraries will be built and installed.
628 .NOVAR MKCOMPAT=no
629 .DFLTn
630 .
631 .It Sy MKCOMPLEX
632 .YorN
634 .Lb libm
636 .In complex.h .
637 .DFLTy
638 .
639 .It Sy MKCROSSGDB
640 .YorN
641 Create a cross-gdb as a host tool.
642 .DFLTn
643 .
644 .It Sy MKCTF
645 .YorN
646 Indicates whether CTF tools are to be built and installed.
648 .Dq yes ,
650 CTF data of ELF binaries during build.
651 .NODEF NOCTF
652 .Pp
654 .Pa /usr/mdec .
655 .DFLT
656 .Dq yes
658 .Sy aarch64 ,
659 .Sy amd64 ,
661 .Sy i386 ;
662 .Dq no
663 on other platforms.
664 .
665 .It Sy MKCVS
666 .YorN
668 .Xr cvs 1
669 will be built and installed.
670 .DFLTy
671 .
672 .It Sy MKCXX
673 .YorN
674 Indicates whether C++ support is enabled.
675 .Pp
677 .Dq no ,
680 .Sy MKATF=no MKGCCCMDS=no MKGDB=no MKGROFF=no MKKYUA=no .
681 .DFLTy
682 .
683 .It Sy MKDEBUG
684 .YorN
686 all userland binaries.
688 .Sy debug
690 .Sy xdebug
692 .Sy DESTDIR Ns Pa /usr/libdata/debug .
693 .NODEF NODEBUG
694 .Pp
696 .Dq yes ,
698 .Sy MKSTRIPSYM=no .
699 .
700 .DFLTn
701 .
702 .It Sy MKDEBUGKERNEL
703 .YorN
706 .Em makeoptions DEBUG="-g"
707 is specified in kernel configuration files.
709 .Pa netbsd.gdb
710 in the kernel sets.
712 .Xr options 4
713 for details.
715 .Sy MKCROSSGDB ) .
716 .DFLTn
717 .
718 .It Sy MKDEBUGLIB
719 .YorN
721 .Sy ( lib*_g.a )
722 will be built and installed.
724 .Dq Li -g -DDEBUG .
725 .NODEF NODEBUGLIB
726 .DFLTn
727 .
728 .It Sy MKDEBUGTOOLS
729 .YorN
731 .Sy ( lib*_g.a )
732 will be included in the build toolchain.
733 .DFLTn
734 .
735 .It Sy MKDEPINCLUDES
736 .YorN
738 .Cm \&.include
740 .Pa .depend
742 .Pa *.d
743 files.
746 it is possibly slower than inlining.
747 .DFLTn
748 .
749 .It Sy MKDOC
750 .YorN
752 .Sy DESTDIR Ns Pa /usr/share/doc
753 will be installed.
754 .NODEF NODOC
755 .NOVAR MKSHARE=no
756 .DFLTy
757 .
758 .It Sy MKDTB
759 .YorN
760 Indicates whether the devicetree blobs will be built and installed.
761 .DFLT
762 .Dq yes
764 .Sy aarch64 ,
765 .Sy armv6 ,
766 .Sy armv7 ,
767 .Sy riscv32 ,
769 .Sy riscv64 ;
770 .Dq no
771 on other platforms.
772 .
773 .It Sy MKDTC
774 .YorN
775 Indicates whether the Device Tree Compiler (dtc) will be built and installed.
776 .DFLTy
777 .
778 .It Sy MKDTRACE
779 .YorN
781 .Xr dtrace 1
782 support are to be built and installed.
783 .DFLT
784 .Dq yes
786 .Sy aarch64 ,
787 .Sy amd64 ,
789 .Sy i386 ;
790 .Dq no
791 on other platforms.
792 .
793 .It Sy MKDYNAMICROOT
794 .YorN
797 .Pa /bin
799 .Pa /sbin
801 .Xr ld.elf_so 1
803 .Pa /lib .
805 .Dq no ,
807 .Pa /bin
809 .Pa /sbin
810 statically.
811 .DFLT
812 .Dq no
814 .Sy ia64 ;
815 .Dq yes
816 on other platforms.
817 .
818 .It Sy MKFIRMWARE
819 .YorN
821 .Pa /libdata/firmware
823 .Xr athn 4 ,
824 .Xr bcm43xx 4 ,
825 .Xr bwfm 4 ,
826 .Xr ipw 4 ,
827 .Xr iwi 4 ,
828 .Xr iwm 4 ,
829 .Xr iwn 4 ,
830 .Xr otus 4 ,
831 .Xr ral 4 ,
832 .Xr rtwn 4 ,
833 .Xr rum 4 ,
834 .Xr run 4 ,
835 .Xr urtwn 4 ,
836 .Xr wpi 4 ,
837 .Xr zyd 4 ,
838 and the Tegra 124 SoC.
839 .DFLT
840 .Dq yes
842 .Sy amd64 ,
843 .Sy cobalt ,
844 .Sy evbarm ,
845 .Sy evbmips ,
846 .Sy evbppc ,
847 .Sy hpcarm ,
848 .Sy hppa ,
849 .Sy i386 ,
850 .Sy mac68k ,
851 .Sy macppc ,
852 .Sy sandpoint ,
854 .Sy sparc64 ;
855 .Dq no
856 on other platforms.
857 .
858 .It Sy MKGCC
859 .YorN
861 .Xr gcc 1
863 .Pq Sy libg2c , libgcc , libobjc , libstdc++
864 will be built and installed.
865 .NOVAR TOOLCHAIN_MISSING!=no No or Sy EXTERNAL_TOOLCHAIN No is defined
866 .DFLTy
867 .
868 .It Sy MKGCCCMDS
869 .YorN
871 .Xr gcc 1
872 will be built and installed.
874 .Dq no ,
876 .Sy MKGCC
878 GCC libraries will be built and installed.
879 .NOVAR MKCXX=no
880 .DFLT
881 .Dq no
883 .Sy m68000 ;
884 .Dq yes
885 on other platforms.
886 .
887 .It Sy MKGDB
888 .YorN
890 .Xr gdb 1
891 will be built and installed.
892 .NOVAR MKCXX=no No or Sy TOOLCHAIN_MISSING!=no
893 .DFLT
894 .Dq no
896 .Sy ia64
898 .Sy or1k ;
899 .Dq yes
900 on other platforms.
901 .
902 .It Sy MKGROFF
903 .YorN
905 .Xr groff 1
908 documentation.
909 .NOVAR MKCXX=no
910 .DFLTy
911 .
912 .It Sy MKGROFFHTMLDOC
913 .YorN
915 .Xr groff 1
917 sometimes requires software not in the base installation.
918 Does not affect the generation of HTML man pages.
919 .DFLTn
920 .
921 .It Sy MKHESIOD
922 .YorN
924 (libraries and support programs) will be built and installed.
925 .DFLTy
926 .
927 .It Sy MKHOSTOBJ
928 .YorN
930 .Dq yes ,
934 .Dq make obj .
936 .Nx
937 for a single target architecture.)
939 .Dq no ,
942 architecture.
943 .DFLTn
944 .
945 .It Sy MKHTML
946 .YorN
947 Indicates whether the HTML manual pages are created and installed.
948 .NODEF NOHTML
949 .NOVAR MKMAN=no No or Sy MKSHARE=no
950 .DFLTy
951 .
952 .It Sy MKIEEEFP
953 .YorN
955 will be built and installed.
956 Has no effect on most platforms.
957 .DFLTy
958 .
959 .It Sy MKINET6
960 .YorN
962 (libraries and support programs) will be built and installed.
963 .Pp
964 .Em Note :
965 .Sy MKINET6
967 .Dq no
969 .Sy MKX11!=no .
970 .DFLTy
971 .
972 .It Sy MKINFO
973 .YorN
975 most of the compilation tools, will be built and installed.
976 .NODEF NOINFO
977 .NOVAR MKSHARE=no
978 .DFLTy
979 .
980 .It Sy MKIPFILTER
981 .YorN
983 .Xr ipf 4
984 programs, headers, and other components will be built and installed.
985 .DFLTy
986 .
987 .It Sy MKISCSI
988 .YorN
990 built and installed.
991 .DFLT
992 .Dq no
994 .Sy m68000 ;
995 .Dq yes
996 on other platforms.
997 .
998 .It Sy MKKERBEROS
999 .YorN
1001 (libraries and support programs) will be built and installed.
1003 .Xr pam 8
1004 configuration requires that Kerberos be present even if not used.
1007 .Xr pam.conf 5
1009 .Sy MKPAM .
1010 Otherwise all logins will fail.
1011 .DFLTy
1012 .
1013 .It Sy MKKMOD
1014 .YorN
1015 Indicates whether kernel modules will be built and installed.
1016 .DFLT
1017 .Dq no
1019 .Sy or1k ;
1020 .Dq yes
1021 on other platforms.
1022 .
1023 .It Sy MKKYUA
1024 .YorN
1026 .Nx )
1027 will be built and installed.
1028 .NOVAR MKCXX=no
1029 .Pp
1030 .Em Note :
1031 This does not control the installation of the tests themselves.
1034 .Sy MKATF
1035 variable.
1036 .DFLT
1037 .Dq no
1038 until the import of Kyua is done and validated.
1039 .
1040 .It Sy MKLDAP
1041 .YorN
1044 (libraries and support programs) will be built and installed.
1045 .DFLTy
1046 .
1047 .It Sy MKLIBCSANITIZER
1048 .YorN
1051 .Sy USE_LIBCSANITIZER .
1052 .NODEF NOLIBCSANITIZER
1053 .DFLTn
1054 .
1055 .It Sy MKLIBCXX
1056 .YorN
1059 .Xr clang++ 1 ) .
1060 .DFLT
1061 .Dq yes
1063 .Sy MKLLVM=yes ;
1065 .Dq no .
1066 .
1067 .It Sy MKLIBSTDCXX
1068 .YorN
1071 .Xr g++ 1 ) .
1072 .DFLTy
1073 .
1074 .It Sy MKLINKLIB
1075 .YorN
1077 will be built and installed.
1078 .Pp
1080 .Dq no ,
1082 .Bl -dash -compact
1083 .It
1085 .Sy *.a
1087 .It
1089 .Sy *_pic.a
1091 .It
1093 .Sy *.a
1095 .It
1097 .Sy .so
1099 .El
1100 .Pp
1101 I.e, only install the shared library (and the
1102 .Pa .so.major
1103 symlink on ELF).
1104 .NODEF NOLINKLIB
1105 .Pp
1107 .Dq no ,
1109 .Sy MKLINT=no MKPICINSTALL=no MKPROFILE=no .
1110 .DFLTy
1111 .
1112 .It Sy MKLINT
1113 .YorN
1115 .Xr lint 1
1117 .Nx
1120 .Sy DESTDIR Ns Pa /usr/libdata/lint .
1121 .NODEF NOLINT
1122 .NOVAR MKLINKLIB=no
1123 .DFLTn
1124 .
1125 .It Sy MKLLVM
1126 .YorN
1128 .Xr clang 1
1129 is installed as a host tool and target compiler.
1130 .Pp
1132 .Dq yes ,
1134 .Sy MKLIBCXX=yes .
1135 .Pp
1136 .Em Note :
1138 .Xr clang 1
1140 .Sy HAVE_LLVM .
1141 .DFLTn
1142 .
1143 .It Sy MKLLVMRT
1144 .YorN
1147 architecture, if supported.
1148 (Radeon R300 and newer, LLVMPIPE for most.)
1149 .DFLT
1151 .Sy MKX11=yes
1153 .Sy HAVE_MESA_VER>=19 ,
1154 .Dq yes
1156 .Sy aarch64 ,
1157 .Sy amd64 ,
1159 .Sy i386 ;
1161 .Dq no .
1162 .
1163 .It Sy MKLVM
1164 .YorN
1166 .Dq no ,
1167 build and install the logical volume manager.
1168 .DFLTy
1169 .
1170 .It Sy MKMAKEMANDB
1171 .YorN
1173 .Xr ( apropos 1 ,
1174 .Xr whatis 1 ,
1175 .Xr getNAME 8 ,
1176 .Xr makemandb 8 ,
1178 .Xr makewhatis 8 ) ,
1181 .Pa whatis.db .
1182 .DFLTy
1183 .
1184 .It Sy MKMAN
1185 .YorN
1186 Indicates whether manual pages will be installed.
1187 .NODEF NOMAN
1188 .NOVAR MKSHARE=no
1189 .Pp
1191 .Dq no ,
1193 .Sy MKCATPAGES=no MKHTML=no .
1194 .DFLTy
1195 .
1196 .It Sy MKMANDOC
1197 .YorN
1199 .Xr mandoc 1
1201 catman and HTML pages.
1202 .Pp
1204 .Dq no ,
1206 .Xr groff 1
1208 .Xr mandoc 1 .
1209 .NODEF NOMANDOC No or Sy NOMANDOC . Ns Ar target No (for a given Xr make 1 target Ar target )
1210 .Pp
1212 .Sy MKMAN=yes .
1213 .DFLTy
1214 .
1215 .It Sy MKMANZ
1216 .YorN
1218 .Xr gzip 1
1219 at installation time.
1220 .Pp
1222 .Sy MKMAN=yes .
1223 .DFLTn
1224 .
1225 .It Sy MKMDNS
1226 .YorN
1228 (libraries and support programs) will be built and installed.
1229 .DFLTy
1230 .
1231 .It Sy MKNLS
1232 .YorN
1234 built and installed.
1235 .NODEF NONLS
1236 .NOVAR MKSHARE=no
1237 .DFLTy
1238 .
1239 .It Sy MKNOUVEAUFIRMWARE
1240 .YorN
1242 .Pa /libdata/firmware/nouveau
1244 .Xr nouveau 4
1245 NVIDIA video driver.
1246 .DFLT
1247 .Dq yes
1249 .Sy aarch64 ,
1250 .Sy i386 ,
1252 .Sy x86_64 ,
1253 .Dq no
1254 on other platforms.
1255 .
1256 .It Sy MKNPF
1257 .YorN
1258 Indicates whether the NPF packet filter is to be built and installed.
1259 .DFLTy
1260 .
1261 .It Sy MKNSD
1262 .YorN
1263 Indicates whether the Name Server Daemon (NSD) is to be built and installed.
1264 .DFLTn
1265 .
1266 .It Sy MKOBJ
1267 .YorN
1269 .Dq make obj .
1271 .Dq no ,
1272 then all built files will be located inside the regular source tree.
1273 .NODEF NOOBJ
1274 .Pp
1276 .Dq no ,
1278 .Sy MKOBJDIRS=no .
1279 .Pp
1280 .Em Note :
1282 .Sy MKOBJ
1284 .Dq no
1286 .Xr cvs 1 .
1287 .DFLTy
1288 .
1289 .It Sy MKOBJDIRS
1290 .YorN
1293 .Dq make obj
1294 pass) at the start of a build.
1295 .NOVAR MKOBJ=no
1296 .Pp
1297 .Em Note :
1299 .Sy build.sh ,
1301 .Dq yes .
1303 .Dq no
1305 .Sy build.sh
1307 .Fl o
1308 option.
1309 .DFLTn
1310 .
1311 .It Sy MKPAM
1312 .YorN
1314 .Xr pam 8
1315 framework (libraries and support files) will be built and installed.
1316 The pre-PAM code is not supported and may be removed in the future.
1317 .DFLTy
1318 .
1319 .It Sy MKPCC
1320 .YorN
1322 .Xr pcc 1
1324 .Pq Sy libpcc , libpccsoftfloat
1325 will be built and installed.
1326 .DFLTn
1327 .
1328 .It Sy MKPF
1329 .YorN
1331 .Xr pf 4
1332 programs, headers, and LKM will be built and installed.
1333 .DFLTy
1334 .
1335 .It Sy MKPIC
1336 .YorN
1338 installed.
1340 .Dq no ,
1341 the entire built system will be statically linked.
1342 .NODEF NOPIC
1343 .Pp
1345 .Dq no ,
1347 .Sy MKPICLIB=no .
1348 .DFLT
1349 .Dq no
1351 .Sy m68000 ;
1352 .Dq yes
1353 on other platforms.
1354 .
1355 .It Sy MKPICINSTALL
1356 .YorN
1358 .Xr ar 1
1360 .Sy ( lib*_pic.a ) ,
1361 used to generate shared libraries, are installed.
1362 .NODEF NOPICINSTALL
1363 .NOVAR MKLINKLIB=no
1364 .DFLTn
1365 .
1366 .It Sy MKPICLIB
1367 .YorN
1369 .Xr ar 1
1371 .Sy ( lib*_pic.a ) ,
1372 used to generate shared libraries.
1373 .NOVAR MKPIC=no
1374 .DFLT
1375 .Dq no
1377 .Sy vax ;
1378 .Dq yes
1379 on other platforms.
1380 .
1381 .It Sy MKPIE
1382 .YorN
1384 will be built and installed.
1385 .NODEF NOPIE
1386 .NOVAR COVERITY_TOP_CONFIG No is defined
1387 .Pp
1389 .Pa /usr/mdec .
1390 .DFLT
1391 .Dq yes
1393 .Sy aarch64 ,
1394 .Sy arm ,
1395 .Sy i386 ,
1396 .Sy m68k ,
1397 .Sy mips ,
1398 .Sy sh3 ,
1399 .Sy sparc64 ,
1401 .Sy x86_64 ;
1402 .Dq no
1403 on other platforms.
1404 .
1405 .It Sy MKPIGZGZIP
1406 .YorN
1408 .Dq no ,
1410 .Xr pigz 1
1412 .Xr gzip 1 .
1413 .DFLTn
1414 .
1415 .It Sy MKPOSTFIX
1416 .YorN
1417 Indicates whether Postfix will be built and installed.
1418 .DFLTy
1419 .
1420 .It Sy MKPROFILE
1421 .YorN
1423 .Sy ( lib*_p.a )
1424 will be built and installed.
1425 .NODEF NOPROFILE
1426 .NOVAR MKLINKLIB=no
1427 .DFLT
1428 .Dq no
1430 .Sy or1k ,
1431 .Sy riscv32 ,
1433 .Sy riscv64
1435 .Dq yes
1436 on other platforms.
1437 .
1438 .It Sy MKRADEONFIRMWARE
1439 .YorN
1441 .Pa /libdata/firmware/radeon
1443 .Xr radeon 4
1444 AMD RADEON GPU video driver.
1445 .DFLT
1446 .Dq yes
1448 .Sy aarch64 ,
1449 .Sy i386 ,
1451 .Sy x86_64 ,
1452 .Dq no
1453 on other platforms.
1454 .
1455 .It Sy MKRELRO
1456 Indicates whether to enable support for Relocation Read-Only (RELRO).
1458 .Bl -tag -width partial
1459 .It partial
1460 Set the non-PLT GOT to read-only.
1461 .It full
1465 .Sy NOFULLRELRO
1467 .Dq no
1469 .Xr make 1
1470 .Cm \&.include
1471 directives).
1472 .It no
1473 Disable RELRO.
1474 .El
1475 .NODEF NORELRO
1476 .DFLT
1477 .Dq partial
1479 .Sy aarch64 ,
1480 .Sy i386 ,
1482 .Sy x86_64 ;
1483 .Dq no
1484 on other platforms.
1485 .
1486 .It Sy MKREPRO
1487 .YorN
1488 Indicates whether builds are to be reproducible.
1490 .Dq yes ,
1492 results.
1493 .Pp
1495 .Sy MKARZERO .
1496 .Pp
1497 .Em Note :
1499 .Dq yes
1501 .Sy build.sh
1503 .Fl P
1504 option.
1505 .DFLTn
1506 .
1507 .It Sy MKREPRO_TIMESTAMP
1508 Unix timestamp.
1510 .Sy MKREPRO
1512 to this value.
1513 .Pp
1514 .Em Note :
1517 .Xr cvslatest 1
1519 .Sy build.sh
1521 .Fl P
1522 option.
1523 .DFLTu
1524 .
1525 .It Sy MKRUMP
1526 .YorN
1528 .Xr rump 3
1529 headers, libraries, and programs are to be installed.
1530 .NOVAR COVERITY_TOP_CONFIG No is defined
1531 .Pp
1534 .Sy RUMPUSER_
1536 .Sy RUMP_ .
1537 .DFLTy
1538 .
1539 .It Sy MKSANITIZER
1540 .YorN
1543 .Sy USE_SANITIZER .
1544 .NODEF NOSANITIZER
1545 .DFLTn
1546 .
1547 .It Sy MKSHARE
1548 .YorN
1550 .Sy DESTDIR Ns Pa /usr/share
1551 will be built and installed.
1552 .NODEF NOSHARE
1553 .Pp
1555 .Dq no ,
1557 .Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
1558 .DFLTy
1559 .
1560 .It Sy MKSKEY
1561 .YorN
1563 (libraries and support programs) will be built and installed.
1564 .DFLTy
1565 .
1566 .It Sy MKSLJIT
1567 .YorN
1570 private library and tests.
1571 .DFLT
1572 .Dq yes
1574 .Sy i386 ,
1575 .Sy sparc ,
1577 .Sy x86_64 ;
1578 .Dq no
1579 on other platforms.
1580 .
1581 .It Sy MKSOFTFLOAT
1582 .YorN
1585 support.
1586 .Pp
1588 .Dq yes
1590 .Sy arm
1592 .Sq hf ,
1593 .Sy coldfire ,
1594 .Sy emips ,
1595 .Sy or1k ,
1597 .Sy sh3 .
1598 .DFLT
1599 .Dq yes
1601 .Sy mips64 ;
1602 .Dq no
1603 on other platforms.
1604 .
1605 .It Sy MKSTATICLIB
1606 .YorN
1608 .Sy ( lib*_g.a )
1609 will be built and installed.
1610 .NODEF NOSTATICLIB
1611 .DFLTy
1612 .
1613 .It Sy MKSTATICPIE
1614 .YorN
1616 will be built and installed.
1617 These binaries use a special support in crt0.o for
1618 resolving relative relocations and require linker support.
1619 .DFLT
1620 .Dq yes
1622 .Sy i386
1624 .Sy x86_64 ;
1625 .Dq no
1626 on other platforms.
1627 .
1628 .It Sy MKSTRIPIDENT
1629 .YorN
1631 .Xr ident 1 ,
1632 should be stripped from program binaries and shared libraries.
1633 .DFLTn
1634 .
1635 .It Sy MKSTRIPSYM
1636 .YorN
1637 Indicates whether all local symbols should be stripped from shared libraries.
1639 .Dq yes ,
1642 .Fl x
1644 .Xr ld 1 .
1646 .Dq no ,
1649 .Fl X
1651 .Xr ld 1 .
1655 .Xr rumpkernel 7
1657 loading shared libraries.
1658 .NOVAR MKDEBUG=yes
1659 .DFLTy
1660 .
1661 .It Sy MKTEGRAFIRMWARE
1662 .YorN
1664 .Pa /libdata/firmware/nvidia
1666 NVIDIA Tegra XHCI driver.
1667 .DFLT
1668 .Dq yes
1670 .Sy evbarm ;
1671 .Dq no
1672 on other platforms.
1673 .
1674 .It Sy MKTPM
1675 .YorN
1677 infrastructure.
1678 .DFLTn
1679 .
1680 .It Sy MKUNBOUND
1681 .YorN
1683 .Xr unbound 8
1684 DNS resolver will be built and installed.
1685 .DFLTy
1686 .
1687 .It Sy MKUNPRIVED
1688 .YorN
1689 Indicates whether an unprivileged install will occur.
1693 .Pa METALOG
1695 .Sy DESTDIR .
1697 .Pa METALOG
1699 tar files to ensure that the appropriate file ownership is stored.
1701 .Sq "make install" .
1702 .DFLTn
1703 .
1704 .It Sy MKUPDATE
1705 .YorN
1707 .Sy DESTDIR
1709 phase if the destination files are up-to-date.
1710 .Pp
1712 .Sy NOCLEANDIR
1713 (i.e.,
1714 .Dq make cleandir
1715 is avoided).
1716 .Pp
1717 .Em Note :
1719 .Dq yes
1721 .Sy build.sh
1723 .Fl u
1724 option.
1725 .DFLTn
1726 .
1727 .It Sy MKX11
1728 .YorN
1730 .Sy X11SRCDIR ,
1731 and whether the X sets will be created.
1732 .Pp
1733 .Em Note :
1735 .Dq yes ,
1737 .Sy MKINET6=yes .
1738 .DFLTn
1739 .
1740 .It Sy MKX11FONTS
1741 .YorN
1743 .Dq no ,
1744 do not build and install the X fonts.
1745 The xfont set is still created but will be empty.
1746 .Pp
1748 .Sy MKX11=yes .
1749 .DFLTy
1750 .
1751 .It Sy MKX11MOTIF
1752 .YorN
1754 .Dq yes ,
1755 build the native Xorg libGLw with Motif stubs.
1757 .Sy X11MOTIFPATH .
1758 .DFLTn
1759 .
1760 .It Sy MKXORG_SERVER
1761 .YorN
1763 .Xr Xorg 7
1764 X server and drivers will be built and installed.
1765 .DFLT
1766 .Dq yes
1768 .Sy alpha ,
1769 .Sy amd64 ,
1770 .Sy amiga ,
1771 .Sy bebox ,
1772 .Sy cats ,
1773 .Sy dreamcast ,
1774 .Sy ews4800mips ,
1775 .Sy evbarm ,
1776 .Sy evbmips ,
1777 .Sy evbppc ,
1778 .Sy hp300 ,
1779 .Sy hpcarm ,
1780 .Sy hpcmips ,
1781 .Sy hpcsh ,
1782 .Sy hppa ,
1783 .Sy i386 ,
1784 .Sy ibmnws ,
1785 .Sy iyonix ,
1786 .Sy luna68k ,
1787 .Sy mac68k ,
1788 .Sy macppc ,
1789 .Sy netwinder ,
1790 .Sy newsmips ,
1791 .Sy pmax ,
1792 .Sy prep ,
1793 .Sy ofppc ,
1794 .Sy sgimips ,
1795 .Sy shark ,
1796 .Sy sparc ,
1797 .Sy sparc64 ,
1798 .Sy vax ,
1800 .Sy zaurus ;
1801 .Dq no
1802 on other platforms.
1803 .
1804 .It Sy MKYP
1805 .YorN
1807 (libraries and support programs) will be built and installed.
1808 .DFLTy
1809 .
1810 .It Sy MKZFS
1811 .YorN
1813 libraries used to manage the ZFS system are to be built and installed.
1814 .Pp
1815 .Em Note :
1816 ZFS requires 64-bit atomic operations.
1817 .DFLT
1818 .Dq yes
1820 .Sy aarch64 ,
1821 .Sy amd64 ,
1823 .Sy sparc64 ;
1824 .Dq no
1825 on other platforms.
1826 .
1827 .It Sy NETBSDSRCDIR
1829 .Nx
1830 sources.
1831 .DFLT
1833 .Nx
1835 .Pa build.sh
1837 .Pa tools/ )
1839 .Xr make 1
1842 .Sy BSDSRCDIR
1843 will be used.
1844 .
1845 .It Sy NETBSD_OFFICIAL_RELEASE
1846 .YorN
1848 .Nx
1850 .Lk ftp.NetBSD.org
1852 .Lk cdn.NetBSD.org
1853 locations.
1854 This variable modifies a few default paths in the installer
1855 and also creates different links in the install documentation.
1857 .Sq daily
1858 builds from real releases.
1859 .DFLTu
1860 .Pq I.e., Dq no .
1861 .
1862 .It Sy NETBSD_REVISIONID
1864 or similar.
1866 .Xr __RCSID 3
1868 .Xr __KERNEL_RCSID 3
1870 .Xr ident 1 .
1871 .DFLTu
1872 .It Sy NOCLEANDIR
1874 .Dq make cleandir
1875 phase of a full build.
1877 files in a source tree to be recompiled.
1878 This can speed up builds when updating only a few files in the tree.
1879 .Pp
1881 .Sy MKUPDATE .
1882 .DFLTu
1883 .
1884 .It Sy NODISTRIBDIRS
1886 .Dq make distrib-dirs
1887 phase of a full build.
1889 .Xr mtree 8
1891 .Sy DESTDIR ,
1894 .Xr mtree 8
1895 files have not changed.
1896 .DFLTu
1897 .
1898 .It Sy NOINCLUDES
1900 .Dq make includes
1901 phase of a full build.
1903 .Xr make 1
1905 system include files have changed.
1907 .Nx
1909 .Sy MKUPDATE=yes
1910 instead in that case.
1911 .DFLTu
1912 .
1913 .It Sy OBJMACHINE
1915 .Pa obj . Ns Sy MACHINE ,
1917 .Sy MACHINE
1919 .Sq "uname -m" ) .
1920 .DFLTu
1921 .
1922 .It Sy RELEASEDIR
1924 .Xr release 7
1926 .Dq make release .
1927 If specified, must be an absolute path.
1928 .Pp
1929 .Em Note :
1930 .Sy build.sh
1932 .Dq Pa releasedir
1934 .Sy .OBJDIR )
1936 .Sq expert
1938 .Fl E
1939 option.
1940 .DFLTu
1941 .
1942 .It Sy RUMPUSER_THREADS
1944 .Xr rumpuser 3
1945 hypercall implementation.
1947 .Bl -tag -width pthread
1948 .It fiber
1949 Use a fiber interface, with cooperatively scheduled contexts.
1950 .It none
1951 Do not support kernel threads.
1952 .It pthread
1954 .Xr pthread 3
1955 to implement threads.
1956 .El
1957 .DFLT
1958 .Dq pthread .
1959 .
1960 .It Sy RUMP_CURLWP
1962 .Va curlwp
1964 .Xr rumpkernel 7
1965 kernel.
1966 .Va curlwp
1969 access has a significant performance impact.
1970 Note that all options are not available on hosts/machine architectures.
1972 .Bl -tag -width hypercall
1973 .It hypercall
1974 Use a hypercall to fetch the value.
1975 .It register
1976 Use a dedicated register.
1978 .Fl ffixed- Ns Ar reg ) .
1979 .It __thread
1981 thread local storage (TLS).
1982 .El
1983 .DFLT
1984 .Dq hypercall .
1985 .
1986 .It Sy RUMP_DEBUG
1989 .Xr rumpkernel 7
1991 .Fl DDEBUG .
1992 .DFLTu
1993 .
1994 .It Sy RUMP_DIAGNOSTIC
1995 .YorN
1997 .Xr rumpkernel 7
1999 .Fl DDIAGNOSTIC .
2000 .DFLTy
2001 .
2002 .It Sy RUMP_KTRACE
2003 .YorN
2005 .Xr rumpkernel 7
2007 .Fl DKTRACE .
2008 .DFLTy
2009 .
2010 .It Sy RUMP_LOCKDEBUG
2013 .Xr rumpkernel 7
2015 .Fl DLOCKDEBUG .
2016 .DFLTu
2017 .
2018 .It Sy RUMP_LOCKS_UP
2019 .YorN
2021 .Xr rumpkernel 7
2023 uniprocess-optimized locking or not.
2024 .Pp
2026 .Dq yes ,
2028 .Ev RUMP_NCPU=1
2029 in the environment at runtime.
2030 .Pp
2032 .Dq no ,
2033 build with multiprocessor-capable locking.
2034 .DFLTn
2035 .
2036 .It Sy RUMP_NBCOMPAT
2038 .Nx
2040 .Dv COMPAT_ Ns Ar ver
2042 .Xr rumpkernel 7
2043 kernels.
2045 .Xr rumpkernel 7 kernels
2047 .Nx
2048 userspace, and an empty value may be supplied elsewhere.
2050 .Bl -tag -width default
2051 .It all
2052 All supported release versions.
2054 .Dq 50,60,70,80,90 .
2055 .It default
2056 Default value.
2058 .Dq all ,
2059 although this default may change in the future.
2060 .It none
2061 No compatibility options are enabled.
2062 .It 50
2063 .Nx
2064 5.x compatibility, via
2065 .Dv COMPAT_50
2066 kernel option.
2067 .It 60
2068 .Nx
2069 6.x compatibility, via
2070 .Dv COMPAT_60
2071 kernel option.
2072 .It 70
2073 .Nx
2074 7.x compatibility, via
2075 .Dv COMPAT_70
2076 kernel option.
2077 .It 80
2078 .Nx
2079 8.x compatibility, via
2080 .Dv COMPAT_80
2081 kernel option.
2082 .It 90
2083 .Nx
2084 9.x compatibility, via
2085 .Dv COMPAT_90
2086 kernel option.
2087 .El
2088 .DFLT
2089 .Dq all .
2090 .
2091 .It Sy RUMP_VIRTIF
2092 .YorN
2094 .Xr rumpkernel 7
2096 .Xr virt 4
2097 network interface.
2098 .Pp
2100 .Dq no ,
2102 .Xr virt 4
2104 necessary headers, such as musl libc based Linux.
2105 .DFLTy
2106 .
2107 .It Sy RUMP_VNODE_LOCKDEBUG
2110 .Xr rumpkernel 7
2112 .Fl DVNODE_LOCKDEBUG .
2113 .DFLTu
2114 .
2115 .It Sy TOOLCHAIN_MISSING
2116 .YorN
2118 .Dq no ,
2120 .Dq Sy MACHINE_ARCH
2121 being built does not have a working in-tree toolchain.
2122 .Pp
2124 .Dq no ,
2126 .Sy MKBINUTILS=no MKGCC=no MKGDB=no .
2127 .\" See MKGCCCMDS for example text if a platform defaults to yes.
2128 .DFLTn
2129 .
2130 .It Sy TOOLDIR
2131 Directory to hold the host tools, once built.
2132 If specified, must be an absolute path.
2134 .Nx
2135 source tree.
2137 .Sy TOOLDIR ;
2138 the target-architecture-dependent files have unique names.)
2141 .Xr uname 1
2143 .Sy .OBJDIR
2145 .Pa src .
2146 .DFLTu
2147 .
2148 .It Sy USETOOLS
2149 .YorN
2151 .Sy TOOLDIR
2152 should be used as part of a build in progress.
2154 .Dq yes
2155 if cross-compiling.
2157 .Bl -tag -width never
2158 .It yes
2160 .Sy TOOLDIR .
2161 .It no
2163 .Sy TOOLDIR ,
2165 version-specific for that tool.
2166 .It never
2168 .Sy TOOLDIR ,
2169 even when building native tool components.
2171 .Nx
2173 .Em not
2175 to build the tree successfully.
2177 .Nx
2178 source tree.
2179 .El
2180 .DFLT
2181 .Dq no
2183 .Aq bsd.*.mk
2185 .Nx
2187 .Sy TOOLCHAIN_MISSING=yes ;
2189 .Dq yes .
2190 .
2191 .It Sy USE_FORT
2192 .YorN
2194 .Dq FORTIFY_SOURCE
2195 .Xr security 7
2197 .Xr ssp 3
2198 for details.
2199 This imposes some performance penalty.
2200 .NODEF NOFORT
2201 .DFLTn
2202 .
2203 .It Sy USE_HESIOD
2204 .YorN
2206 enabled in the various applications that support it.
2207 .NOVAR MKHESIOD=no
2208 .DFLTy
2209 .
2210 .It Sy USE_INET6
2211 .YorN
2213 enabled in the various applications that support it.
2214 .NOVAR MKINET6=no
2215 .DFLTy
2216 .
2217 .It Sy USE_JEMALLOC
2218 .YorN
2220 .Em jemalloc
2222 .Pq which is designed for improved performance with threaded applications
2224 .Em phkmalloc
2226 .Pq that was the default until Nx 5.0 .
2227 .DFLTy
2228 .
2229 .It Sy USE_KERBEROS
2230 .YorN
2232 enabled in the various applications that support it.
2233 .NOVAR MKKERBEROS=no
2234 .DFLTy
2235 .
2236 .It Sy USE_LDAP
2237 .YorN
2239 enabled in the various applications that support it.
2240 .NOVAR MKLDAP=no
2241 .DFLTy
2242 .
2243 .It Sy USE_LIBCSANITIZER
2244 Selects the sanitizer in libc to compile userland programs and libraries.
2246 .Bl -tag -width undefined
2247 .It undefined
2249 undefined behaviour sanitizer.
2250 The code is shared with the kernel mode variation (kUBSan).
2252 .Sy MKSANITIZER .
2255 .Li -fsanitize=no-vptr
2256 as that sanitizer is not supported.
2258 .Ev LIBC_UBSAN
2259 environment variable, that is designed to be safe for hardening.
2260 .El
2261 .Pp
2263 .Sy USE_LIBCSANITIZER
2265 .Li -fsanitize= .
2267 .Sy LIBCSANITIZERFLAGS .
2268 .Pp
2270 .Sy MKLIBCSANITIZER=no .
2271 .DFLT
2272 .Dq undefined .
2273 .
2274 .It Sy USE_PAM
2275 .YorN
2277 .Xr pam 8
2278 support is enabled in the various applications that support it.
2279 .NOVAR MKPAM=no
2280 .DFLTy
2281 .
2282 .It Sy USE_PIGZGZIP
2283 .YorN
2285 .Xr pigz 1
2287 .Xr gzip 1
2288 for multi-threaded gzip compression of the distribution tar sets.
2289 .DFLTn
2290 .
2291 .It Sy USE_SANITIZER
2292 Selects the sanitizer to compile userland programs and libraries.
2294 .Bl -tag -width safe-stack
2295 .It address
2296 A memory error detector.
2297 .It cfi
2298 A control flow detector.
2299 .It dataflow
2300 A general data flow analysis.
2301 .It leak
2302 A memory leak detector.
2303 .It memory
2304 An uninitialized memory read detector.
2305 .It safe-stack
2306 Protect against stack-based corruption.
2307 .It scudo
2308 The Scudo Hardened Allocator.
2309 .It thread
2310 A data race detector.
2311 .It undefined
2312 An undefined behavior detector.
2313 .El
2314 .Pp
2316 .Sy USE_SANITIZER
2318 .Li -fsanitize= .
2320 .Sy SANITIZERFLAGS .
2321 .Pp
2323 depends on the compiler version and target CPU architecture.
2324 .Pp
2326 .Sy MKSANITIZER=no .
2327 .DFLT
2328 .Dq address .
2329 .
2330 .It Sy USE_SKEY
2331 .YorN
2333 enabled in the various applications that support it.
2334 .NOVAR MKSKEY=no
2335 .Pp
2336 .Em Note :
2338 .Sy USE_PAM!=no .
2339 .DFLTn
2340 .
2341 .It Sy USE_SSP
2342 .YorN
2345 is enabled.
2347 (approximately 5%).
2348 .Pp
2350 .Pa /usr/mdec .
2351 .NODEF NOSSP
2352 .NOVAR COVERITY_TOP_CONFIG No is defined
2353 .DFLT
2354 .Dq no
2356 .Sy alpha ,
2357 .Sy hppa ,
2358 .Sy ia64 ,
2360 .Sy mips ;
2361 .Dq yes
2363 .Sy USE_FORT=yes ;
2365 .Dq no .
2366 .
2367 .It Sy USE_XZ_SETS
2368 .YorN
2371 .Xr xz 1
2373 .Xr gzip 1
2375 .Xr pigz 1 .
2376 .NOVAR USE_PIGZGZIP=yes
2377 .DFLT
2378 .Dq yes
2380 .Sy aarch64 ,
2381 .Sy amd64 ,
2383 .Sy sparc64 ,
2384 .Dq no
2385 on other platforms.
2386 .
2387 .It Sy USE_YP
2388 .YorN
2390 enabled in the various applications that support it.
2391 .NOVAR MKYP=no
2392 .DFLTy
2393 .
2394 .It Sy X11MOTIFPATH
2396 .Sy MKX11MOTIF=yes .
2397 .DFLT
2398 .Dq Pa /usr/pkg .
2399 .
2400 .It Sy X11SRCDIR
2401 Directory containing the modular Xorg source.
2402 If specified, must be an absolute path.
2404 .Sy X11SRCDIR Ns Pa /external/mit .
2405 .DFLT
2406 .Sy NETBSDSRCDIR Ns Pa /../xsrc ,
2408 .Dq Pa /usr/xsrc .
2409 .
2410 .El
2411 .
2412 .Sh PKGSRC SYSTEM VARIABLES
2413 .
2415 .Lk https://www.netbsd.org/docs/pkgsrc/
2417 .Pa pkgsrc/doc/pkgsrc.txt
2419 .Pa ${PKGSRCDIR}/mk/defaults/mk.conf
2420 for package-specific examples.
2421 .
2422 .Sh OBSOLETE VARIABLES
2423 .
2424 These variables are obsolete.
2425 .
2426 .Bl -tag -width 14n
2427 .
2428 .\" These entries are sorted alphabetically.
2429 .
2430 .It Sy EXTSRCSRCDIR
2431 Obsolete.
2432 .
2433 .It Sy MKBFD
2435 .Sy MKBINUTILS .
2436 .
2437 .It Sy MKCRYPTO
2438 Obsolete.
2439 .
2440 .It Sy MKEXTSRC
2441 Obsolete.
2442 .
2443 .It Sy MKKDEBUG
2445 .Sy MKDEBUGKERNEL .
2446 .
2447 .It Sy MKKERBEROS4
2448 Obsolete.
2449 .
2450 .It Sy MKLLD
2451 Obsolete.
2452 .
2453 .It Sy MKLLDB
2454 Obsolete.
2455 .
2456 .It Sy MKMCLINKER
2457 Obsolete.
2458 .
2459 .It Sy MKPERFUSE
2460 Obsolete.
2461 .
2462 .It Sy MKTOOLSDEBUG
2464 .Sy MKDEBUGTOOLS .
2465 .
2466 .It Sy NBUILDJOBS
2468 .Nm build.sh
2470 .Xr make 1
2472 .Fl j
2473 instead.
2474 .
2475 .It Sy SHAREDSTRINGS
2476 Obsolete.
2477 .
2478 .It Sy USE_COMBINE
2479 Obsolete.
2480 .
2481 .It Sy USE_NEW_TOOLCHAIN
2482 The new toolchain is now the default.
2484 .Sy TOOLCHAIN_MISSING=yes .
2485 .
2486 .El
2487 .
2488 .Sh FILES
2489 .Bl -tag -width /etc/mk.conf
2490 .
2491 .It Pa /etc/mk.conf
2493 .Nm
2495 .Pa /etc .
2496 .
2497 .It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
2498 Examples for settings regarding the pkgsrc collection.
2499 .El
2500 .
2501 .Sh SEE ALSO
2502 .Xr apropos 1 ,
2503 .Xr ar 1 ,
2504 .Xr as 1 ,
2505 .Xr clang 1 ,
2506 .Xr clang++ 1 ,
2507 .Xr config 1 ,
2508 .Xr cpio 1 ,
2509 .Xr cvs 1 ,
2510 .Xr cvslatest 1 ,
2511 .Xr dtrace 1 ,
2512 .Xr g++ 1 ,
2513 .Xr gcc 1 ,
2514 .Xr gdb 1 ,
2515 .Xr groff 1 ,
2516 .Xr gzip 1 ,
2517 .Xr ident 1 ,
2518 .Xr ld 1 ,
2519 .Xr ld.elf_so 1 ,
2520 .Xr lint 1 ,
2521 .Xr ls 1 ,
2522 .Xr make 1 ,
2523 .Xr mandoc 1 ,
2524 .Xr pax 1 ,
2525 .Xr pcc 1 ,
2526 .Xr pigz 1 ,
2527 .Xr sh 1 ,
2528 .Xr tar 1 ,
2529 .Xr uname 1 ,
2530 .Xr whatis 1 ,
2531 .Xr xz 1 ,
2532 .Xr rump 3 ,
2533 .Xr rumpuser 3 ,
2534 .Xr ssp 3 ,
2535 .Xr amdgpu 4 ,
2536 .Xr athn 4 ,
2537 .Xr bcm43xx 4 ,
2538 .Xr bwfm 4 ,
2539 .Xr ipf 4 ,
2540 .Xr ipw 4 ,
2541 .Xr iwi 4 ,
2542 .Xr iwm 4 ,
2543 .Xr iwn 4 ,
2544 .Xr nouveau 4 ,
2545 .Xr options 4 ,
2546 .Xr otus 4 ,
2547 .Xr pf 4 ,
2548 .Xr radeon 4 ,
2549 .Xr ral 4 ,
2550 .Xr rtwn 4 ,
2551 .Xr rum 4 ,
2552 .Xr run 4 ,
2553 .Xr urtwn 4 ,
2554 .Xr virt 4 ,
2555 .Xr wpi 4 ,
2556 .Xr zyd 4 ,
2557 .Xr pam.conf 5 ,
2558 .Xr release 7 ,
2559 .Xr rumpkernel 7 ,
2560 .Xr security 7 ,
2561 .Xr Xorg 7 ,
2562 .Xr dbsym 8 ,
2563 .Xr getNAME 8 ,
2564 .Xr installboot 8 ,
2565 .Xr makemandb 8 ,
2566 .Xr makewhatis 8 ,
2567 .Xr mdsetimage 8 ,
2568 .Xr mtree 8 ,
2569 .Xr pam 8 ,
2570 .Xr unbound 8 ,
2571 .Pa /usr/share/mk/bsd.README ,
2572 .Pa src/BUILDING ,
2573 .Pa pkgsrc/doc/pkgsrc.txt ,
2574 .Lk https://www.netbsd.org/docs/pkgsrc/
2575 .Sh HISTORY
2577 .Nm
2579 .Nx 1.2 .