Lines Matching +full:readme +full:. +full:installer
0 .\" $NetBSD: mk.conf.5,v 1.115 2025/12/04 18:22:16 nia 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 November 28, 2025
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 for which to create bootable images.
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 currently available only for amd64 and i386 platforms.
369 It is a work-in-progress, and is highly experimental.
370 It is also subject to change without notice.
371 .DFLTn
372 .
373 .It Sy KERNOBJDIR
374 Directory for kernel builds.
376 .Sy GENERIC
378 .Sy KERNOBJDIR Ns Pa /GENERIC .
379 .DFLT
380 .Dq Sy MAKEOBJDIRPREFIX Ns Pa / Ns Sy KERNSRCDIR Ns Pa / Ns Sy KERNARCHDIR Ns Pa /compile
382 .Xr make 1
383 .Dq obj
386 .Dq Sy KERNSRCDIR Ns Pa / Ns Sy KERNARCHDIR Ns Pa /compile .
387 .
388 .It Sy KERNSRCDIR
389 Directory at the top of the kernel source.
390 .DFLT
391 .Dq Sy NETBSDSRCDIR Ns Pa /sys .
392 .
393 .It Sy LOCALTIME
395 .Xr tzfile 5
397 .Pa /usr/share/zoneinfo
399 .Sy DESTDIR Ns Pa /etc/localtime
400 to.
401 .DFLT
402 .Dq UTC .
403 .
404 .It Sy MAKEVERBOSE
405 Level of verbosity of status messages.
407 .Bl -tag -width 2n
408 .It 0
410 .Xr make 1
411 are shown.
412 .It 1
415 .Xr make 1
416 are not shown.
417 .It 2
419 .Sq # ) ,
421 .Xr make 1
422 are shown.
423 .It 3
425 .Xr make 1
428 .Dq \&@
429 prefix in the relevant makefile.
430 .It 4
432 .Xr make 1
434 .Xr sh 1
435 .Dq Fl x
436 flag.
437 .El
438 .DFLT
439 .Sy 2 .
440 .
441 .It Sy MKAMDGPUFIRMWARE
442 .YorN
444 .Pa /libdata/firmware/amdgpu
446 .Xr amdgpu 4
447 AMD RADEON GPU video driver.
448 .DFLT
449 .Dq yes
451 .Sy i386
453 .Sy x86_64 ;
454 .Dq no
455 on other platforms.
456 .
457 .It Sy MKARGON2
458 .YorN
459 Indicates whether the Argon2 hash is enabled in libcrypt.
460 .DFLTy
461 .
462 .It Sy MKARZERO
463 .YorN
465 .Xr ar 1
467 for reproducible builds.
468 .DFLT
470 .Sy MKREPRO
472 .Dq no .
473 .
474 .It Sy MKATF
475 .YorN
477 will be built and installed.
479 .Nx
481 as the tests rely on ATF and cannot be built without it.
482 .NOVAR MKCXX=no
483 .DFLTy
484 .
485 .It Sy MKBINUTILS
486 .YorN
488 will be built and installed.
490 .Sy libbfd ,
491 .Sy libiberty ,
492 or any of the things that depend upon them, e.g.
493 .Xr as 1 ,
494 .Xr ld 1 ,
495 .Xr dbsym 8 ,
497 .Xr mdsetimage 8 .
498 .NOVAR TOOLCHAIN_MISSING!=no
499 .DFLTy
500 .
501 .It Sy MKBSDDIFF
502 .YorN
504 .Xr diff 1
505 will be built and installed.
507 .Dq yes ,
508 use the BSD implementation.
510 .Dq no ,
511 use the GNU implementation.
512 .DFLTn
513 .
514 .It Sy MKBSDGREP
515 .YorN
517 .Xr grep 1
518 will be built and installed.
520 .Dq yes ,
521 use the BSD implementation.
523 .Dq no ,
524 use the GNU implementation.
525 .DFLTn
526 .
527 .It Sy MKBSDTAR
528 .YorN
530 .Xr cpio 1
532 .Xr tar 1
533 will be built and installed.
535 .Dq yes ,
537 .Sy libarchive Ns - Ns
538 based implementations.
540 .Dq no ,
542 .Xr pax 1
543 based implementations.
544 .DFLTy
545 .
546 .It Sy MKCATPAGES
547 .YorN
549 and installed.
550 .NOVAR MKMAN=no No or Sy MKSHARE=no
551 .DFLTn
552 .
553 .It Sy MKCLEANSRC
554 .YorN
556 .Sq "make clean"
558 .Sq "make cleandir"
560 .Sy CLEANFILES
562 .Sy CLEANDIRFILES
564 .Sy .OBJDIR ,
566 .Sy .SRCDIR .
567 .Pp
569 .Dq yes ,
571 .Sy .OBJDIR
573 .Sy .CURDIR .
575 .Dq no ,
577 .Sy .OBJDIR
578 only.
579 .DFLTy
580 .
581 .It Sy MKCLEANVERIFY
582 .YorN
584 .Sq "make clean"
586 .Sq "make cleandir"
587 will verify that files have been deleted.
589 .Dq yes ,
591 .Xr ls 1 .
593 .Dq no ,
594 then file deletions will not be verified.
595 .DFLTy
596 .
597 .It Sy MKCOMPAT
598 .YorN
600 installed.
601 .NODEF NOCOMPAT
602 .DFLT
603 .Dq yes
605 .Sy aarch64
607 .Sy earm*
609 .Sy mips64 ,
610 .Sy powerpc64 ,
611 .Sy riscv64 ,
612 .Sy sparc64 ,
614 .Sy x86_64 ;
615 .Dq no
616 on other platforms.
617 .
618 .It Sy MKCOMPATMODULES
619 .YorN
620 Indicates whether the compat kernel modules will be built and installed.
621 .NOVAR MKCOMPAT=no
622 .DFLT
623 .Dq yes
625 .Sy evbppc-powerpc
627 .Sy mips64 ;
628 .Dq no
629 on other platforms.
630 .
631 .It Sy MKCOMPATTESTS
632 .YorN
634 .Nx
636 .Pa src/compat
637 will be built and installed.
638 .NOVAR MKCOMPAT=no
639 .DFLTn
640 .
641 .It Sy MKCOMPATX11
642 .YorN
643 Indicates whether the X11 libraries will be built and installed.
644 .NOVAR MKCOMPAT=no
645 .DFLTn
646 .
647 .It Sy MKCOMPLEX
648 .YorN
650 .Lb libm
652 .In complex.h .
653 .DFLTy
654 .
655 .It Sy MKCROSSGDB
656 .YorN
657 Create a cross-gdb as a host tool.
658 .DFLTn
659 .
660 .It Sy MKCTF
661 .YorN
662 Indicates whether CTF tools are to be built and installed.
664 .Dq yes ,
666 CTF data of ELF binaries during build.
667 .NODEF NOCTF
668 .Pp
670 .Pa /usr/mdec .
671 .DFLT
672 .Dq yes
674 .Sy aarch64 ,
675 .Sy amd64 ,
677 .Sy i386 ;
678 .Dq no
679 on other platforms.
680 .
681 .It Sy MKCVS
682 .YorN
684 .Xr cvs 1
685 will be built and installed.
686 .DFLTy
687 .
688 .It Sy MKCXX
689 .YorN
690 Indicates whether C++ support is enabled.
691 .Pp
693 .Dq no ,
696 .Sy MKATF=no MKGCCCMDS=no MKGDB=no MKGROFF=no MKKYUA=no .
697 .DFLTy
698 .
699 .It Sy MKDEBUG
700 .YorN
702 all userland binaries.
704 .Sy debug
706 .Sy xdebug
708 .Sy DESTDIR Ns Pa /usr/libdata/debug .
709 .NODEF NODEBUG
710 .Pp
712 .Dq yes ,
714 .Sy MKSTRIPSYM=no .
715 .
716 .DFLTn
717 .
718 .It Sy MKDEBUGKERNEL
719 .YorN
722 .Em makeoptions DEBUG="-g"
723 is specified in kernel configuration files.
725 .Pa netbsd.gdb
726 in the kernel sets.
728 .Xr options 4
729 for details.
731 .Sy MKCROSSGDB ) .
732 .DFLTn
733 .
734 .It Sy MKDEBUGLIB
735 .YorN
737 .Sy ( lib*_g.a )
738 will be built and installed.
740 .Dq Li -g -DDEBUG .
741 .NODEF NODEBUGLIB
742 .DFLTn
743 .
744 .It Sy MKDEBUGTOOLS
745 .YorN
747 .Sy ( lib*_g.a )
748 will be included in the build toolchain.
749 .DFLTn
750 .
751 .It Sy MKDEPINCLUDES
752 .YorN
754 .Cm \&.include
756 .Pa .depend
758 .Pa *.d
759 files.
762 it is possibly slower than inlining.
763 .DFLTn
764 .
765 .It Sy MKDOC
766 .YorN
768 .Sy DESTDIR Ns Pa /usr/share/doc
769 will be installed.
770 .NODEF NODOC
771 .NOVAR MKSHARE=no
772 .DFLTy
773 .
774 .It Sy MKDTB
775 .YorN
776 Indicates whether the devicetree blobs will be built and installed.
777 .DFLT
778 .Dq yes
780 .Sy aarch64 ,
781 .Sy armv6 ,
782 .Sy armv7 ,
783 .Sy riscv32 ,
785 .Sy riscv64 ;
786 .Dq no
787 on other platforms.
788 .
789 .It Sy MKDTC
790 .YorN
791 Indicates whether the Device Tree Compiler (dtc) will be built and installed.
792 .DFLTy
793 .
794 .It Sy MKDTRACE
795 .YorN
797 .Xr dtrace 1
798 support are to be built and installed.
799 .DFLT
800 .Dq yes
802 .Sy aarch64 ,
803 .Sy amd64 ,
805 .Sy i386 ;
806 .Dq no
807 on other platforms.
808 .
809 .It Sy MKDYNAMICROOT
810 .YorN
813 .Pa /bin
815 .Pa /sbin
817 .Xr ld.elf_so 1
819 .Pa /lib .
821 .Dq no ,
823 .Pa /bin
825 .Pa /sbin
826 statically.
827 .DFLT
828 .Dq no
830 .Sy ia64 ;
831 .Dq yes
832 on other platforms.
833 .
834 .It Sy MKFIRMWARE
835 .YorN
837 .Pa /libdata/firmware
839 .Xr athn 4 ,
840 .Xr bcm43xx 4 ,
841 .Xr bwfm 4 ,
842 .Xr ipw 4 ,
843 .Xr iwi 4 ,
844 .Xr iwm 4 ,
845 .Xr iwn 4 ,
846 .Xr otus 4 ,
847 .Xr ral 4 ,
848 .Xr rtwn 4 ,
849 .Xr rum 4 ,
850 .Xr run 4 ,
851 .Xr urtwn 4 ,
852 .Xr wpi 4 ,
853 .Xr zyd 4 ,
854 and the Tegra 124 SoC.
855 .DFLT
856 .Dq yes
858 .Sy amd64 ,
859 .Sy cobalt ,
860 .Sy evbarm ,
861 .Sy evbmips ,
862 .Sy evbppc ,
863 .Sy hpcarm ,
864 .Sy hppa ,
865 .Sy i386 ,
866 .Sy mac68k ,
867 .Sy macppc ,
868 .Sy sandpoint ,
870 .Sy sparc64 ;
871 .Dq no
872 on other platforms.
873 .
874 .It Sy MKGCC
875 .YorN
877 .Xr gcc 1
879 .Pq Sy libg2c , libgcc , libobjc , libstdc++
880 will be built and installed.
881 .NOVAR TOOLCHAIN_MISSING!=no No or Sy EXTERNAL_TOOLCHAIN No is defined
882 .DFLTy
883 .
884 .It Sy MKGCCCMDS
885 .YorN
887 .Xr gcc 1
888 will be built and installed.
890 .Dq no ,
892 .Sy MKGCC
894 GCC libraries will be built and installed.
895 .NOVAR MKCXX=no
896 .DFLT
897 .Dq no
899 .Sy m68000 ;
900 .Dq yes
901 on other platforms.
902 .
903 .It Sy MKGDB
904 .YorN
906 .Xr gdb 1
907 will be built and installed.
908 .NOVAR MKCXX=no No or Sy TOOLCHAIN_MISSING!=no
909 .DFLT
910 .Dq no
912 .Sy ia64
914 .Sy or1k ;
915 .Dq yes
916 on other platforms.
917 .
918 .It Sy MKGROFF
919 .YorN
921 .Xr groff 1
924 documentation.
925 .NOVAR MKCXX=no
926 .DFLTy
927 .
928 .It Sy MKGROFFHTMLDOC
929 .YorN
931 .Xr groff 1
933 sometimes requires software not in the base installation.
934 Does not affect the generation of HTML man pages.
935 .DFLTn
936 .
937 .It Sy MKHESIOD
938 .YorN
940 (libraries and support programs) will be built and installed.
941 .DFLTy
942 .
943 .It Sy MKHOSTOBJ
944 .YorN
946 .Dq yes ,
950 .Dq make obj .
952 .Nx
953 for a single target architecture.)
955 .Dq no ,
958 architecture.
959 .DFLTn
960 .
961 .It Sy MKHTML
962 .YorN
963 Indicates whether the HTML manual pages are created and installed.
964 .NODEF NOHTML
965 .NOVAR MKMAN=no No or Sy MKSHARE=no
966 .DFLTy
967 .
968 .It Sy MKIEEEFP
969 .YorN
971 will be built and installed.
972 Has no effect on most platforms.
973 .DFLTy
974 .
975 .It Sy MKINET6
976 .YorN
978 (libraries and support programs) will be built and installed.
979 .Pp
980 .Em Note :
981 .Sy MKINET6
983 .Dq no
985 .Sy MKX11!=no .
986 .DFLTy
987 .
988 .It Sy MKINFO
989 .YorN
991 most of the compilation tools, will be built and installed.
992 .NODEF NOINFO
993 .NOVAR MKSHARE=no
994 .DFLTy
995 .
996 .It Sy MKIPFILTER
997 .YorN
999 .Xr ipf 4
1000 programs, headers, and other components will be built and installed.
1001 .DFLTy
1002 .
1003 .It Sy MKISCSI
1004 .YorN
1006 built and installed.
1007 .DFLT
1008 .Dq no
1010 .Sy m68000 ;
1011 .Dq yes
1012 on other platforms.
1013 .
1014 .It Sy MKKERBEROS
1015 .YorN
1017 (libraries and support programs) will be built and installed.
1019 .Xr pam 8
1020 configuration requires that Kerberos be present even if not used.
1023 .Xr pam.conf 5
1025 .Sy MKPAM .
1026 Otherwise all logins will fail.
1027 .DFLTy
1028 .
1029 .It Sy MKKMOD
1030 .YorN
1031 Indicates whether kernel modules will be built and installed.
1032 .DFLT
1033 .Dq no
1035 .Sy or1k ;
1036 .Dq yes
1037 on other platforms.
1038 .
1039 .It Sy MKKYUA
1040 .YorN
1042 .Nx )
1043 will be built and installed.
1044 .NOVAR MKCXX=no
1045 .Pp
1046 .Em Note :
1047 This does not control the installation of the tests themselves.
1050 .Sy MKATF
1051 variable.
1052 .DFLT
1053 .Dq no
1054 until the import of Kyua is done and validated.
1055 .
1056 .It Sy MKLDAP
1057 .YorN
1060 (libraries and support programs) will be built and installed.
1061 .DFLTy
1062 .
1063 .It Sy MKLIBCSANITIZER
1064 .YorN
1067 .Sy USE_LIBCSANITIZER .
1068 .NODEF NOLIBCSANITIZER
1069 .DFLTn
1070 .
1071 .It Sy MKLIBCXX
1072 .YorN
1075 .Xr clang++ 1 ) .
1076 .DFLT
1077 .Dq yes
1079 .Sy MKLLVM=yes ;
1081 .Dq no .
1082 .
1083 .It Sy MKLIBSTDCXX
1084 .YorN
1087 .Xr g++ 1 ) .
1088 .DFLTy
1089 .
1090 .It Sy MKLINKLIB
1091 .YorN
1093 will be built and installed.
1094 .Pp
1096 .Dq no ,
1098 .Bl -dash -compact
1099 .It
1101 .Sy *.a
1103 .It
1105 .Sy *_pic.a
1107 .It
1109 .Sy *.a
1111 .It
1113 .Sy .so
1115 .El
1116 .Pp
1117 I.e, only install the shared library (and the
1118 .Pa .so.major
1119 symlink on ELF).
1120 .NODEF NOLINKLIB
1121 .Pp
1123 .Dq no ,
1125 .Sy MKLINT=no MKPICINSTALL=no MKPROFILE=no .
1126 .DFLTy
1127 .
1128 .It Sy MKLINT
1129 .YorN
1131 .Xr lint 1
1133 .Nx
1136 .Sy DESTDIR Ns Pa /usr/libdata/lint .
1137 .NODEF NOLINT
1138 .NOVAR MKLINKLIB=no
1139 .DFLTn
1140 .
1141 .It Sy MKLLVM
1142 .YorN
1144 .Xr clang 1
1145 is installed as a host tool and target compiler.
1146 .Pp
1148 .Dq yes ,
1150 .Sy MKLIBCXX=yes .
1151 .Pp
1152 .Em Note :
1154 .Xr clang 1
1156 .Sy HAVE_LLVM .
1157 .DFLTn
1158 .
1159 .It Sy MKLLVMRT
1160 .YorN
1163 architecture, if supported.
1164 (Radeon R300 and newer, LLVMPIPE for most.)
1165 .DFLT
1167 .Sy MKX11=yes
1169 .Sy HAVE_MESA_VER>=19 ,
1170 .Dq yes
1172 .Sy aarch64 ,
1173 .Sy amd64 ,
1175 .Sy i386 ;
1177 .Dq no .
1178 .
1179 .It Sy MKLVM
1180 .YorN
1182 .Dq no ,
1183 build and install the logical volume manager.
1184 .DFLTy
1185 .
1186 .It Sy MKMAKEMANDB
1187 .YorN
1189 .Xr ( apropos 1 ,
1190 .Xr whatis 1 ,
1191 .Xr getNAME 8 ,
1192 .Xr makemandb 8 ,
1194 .Xr makewhatis 8 ) ,
1197 .Pa whatis.db .
1198 .DFLTy
1199 .
1200 .It Sy MKMAN
1201 .YorN
1202 Indicates whether manual pages will be installed.
1203 .NODEF NOMAN
1204 .NOVAR MKSHARE=no
1205 .Pp
1207 .Dq no ,
1209 .Sy MKCATPAGES=no MKHTML=no .
1210 .DFLTy
1211 .
1212 .It Sy MKMANDOC
1213 .YorN
1215 .Xr mandoc 1
1217 catman and HTML pages.
1218 .Pp
1220 .Dq no ,
1222 .Xr groff 1
1224 .Xr mandoc 1 .
1225 .NODEF NOMANDOC No or Sy NOMANDOC . Ns Ar target No (for a given Xr make 1 target Ar target )
1226 .Pp
1228 .Sy MKMAN=yes .
1229 .DFLTy
1230 .
1231 .It Sy MKMANZ
1232 .YorN
1234 .Xr gzip 1
1235 at installation time.
1236 .Pp
1238 .Sy MKMAN=yes .
1239 .DFLTn
1240 .
1241 .It Sy MKMDNS
1242 .YorN
1244 (libraries and support programs) will be built and installed.
1245 .DFLTy
1246 .
1247 .It Sy MKNLS
1248 .YorN
1250 built and installed.
1251 .NODEF NONLS
1252 .NOVAR MKSHARE=no
1253 .DFLTy
1254 .
1255 .It Sy MKNOUVEAUFIRMWARE
1256 .YorN
1258 .Pa /libdata/firmware/nouveau
1260 .Xr nouveau 4
1261 NVIDIA video driver.
1262 .DFLT
1263 .Dq yes
1265 .Sy aarch64 ,
1266 .Sy i386 ,
1268 .Sy x86_64 ,
1269 .Dq no
1270 on other platforms.
1271 .
1272 .It Sy MKNPF
1273 .YorN
1274 Indicates whether the NPF packet filter is to be built and installed.
1275 .DFLTy
1276 .
1277 .It Sy MKNSD
1278 .YorN
1279 Indicates whether the Name Server Daemon (NSD) is to be built and installed.
1280 .DFLTn
1281 .
1282 .It Sy MKOBJ
1283 .YorN
1285 .Dq make obj .
1287 .Dq no ,
1288 then all built files will be located inside the regular source tree.
1289 .NODEF NOOBJ
1290 .Pp
1292 .Dq no ,
1294 .Sy MKOBJDIRS=no .
1295 .Pp
1296 .Em Note :
1298 .Sy MKOBJ
1300 .Dq no
1302 .Xr cvs 1 .
1303 .DFLTy
1304 .
1305 .It Sy MKOBJDIRS
1306 .YorN
1309 .Dq make obj
1310 pass) at the start of a build.
1311 .NOVAR MKOBJ=no
1312 .Pp
1313 .Em Note :
1315 .Sy build.sh ,
1317 .Dq yes .
1319 .Dq no
1321 .Sy build.sh
1323 .Fl o
1324 option.
1325 .DFLTn
1326 .
1327 .It Sy MKPAM
1328 .YorN
1330 .Xr pam 8
1331 framework (libraries and support files) will be built and installed.
1332 The pre-PAM code is not supported and may be removed in the future.
1333 .DFLTy
1334 .
1335 .It Sy MKPCC
1336 .YorN
1338 .Xr pcc 1
1340 .Pq Sy libpcc , libpccsoftfloat
1341 will be built and installed.
1342 .DFLTn
1343 .
1344 .It Sy MKPF
1345 .YorN
1347 .Xr pf 4
1348 programs, headers, and LKM will be built and installed.
1349 .DFLTy
1350 .
1351 .It Sy MKPIC
1352 .YorN
1354 installed.
1356 .Dq no ,
1357 the entire built system will be statically linked.
1358 .NODEF NOPIC
1359 .Pp
1361 .Dq no ,
1363 .Sy MKPICLIB=no .
1364 .DFLT
1365 .Dq no
1367 .Sy m68000 ;
1368 .Dq yes
1369 on other platforms.
1370 .
1371 .It Sy MKPICINSTALL
1372 .YorN
1374 .Xr ar 1
1376 .Sy ( lib*_pic.a ) ,
1377 used to generate shared libraries, are installed.
1378 .NODEF NOPICINSTALL
1379 .NOVAR MKLINKLIB=no
1380 .DFLTn
1381 .
1382 .It Sy MKPICLIB
1383 .YorN
1385 .Xr ar 1
1387 .Sy ( lib*_pic.a ) ,
1388 used to generate shared libraries.
1389 .NOVAR MKPIC=no
1390 .DFLT
1391 .Dq no
1393 .Sy vax ;
1394 .Dq yes
1395 on other platforms.
1396 .
1397 .It Sy MKPIE
1398 .YorN
1400 will be built and installed.
1401 .NODEF NOPIE
1402 .NOVAR COVERITY_TOP_CONFIG No is defined
1403 .Pp
1405 .Pa /usr/mdec .
1406 .DFLT
1407 .Dq yes
1409 .Sy aarch64 ,
1410 .Sy arm ,
1411 .Sy i386 ,
1412 .Sy m68k ,
1413 .Sy mips ,
1414 .Sy sh3 ,
1415 .Sy sparc64 ,
1417 .Sy x86_64 ;
1418 .Dq no
1419 on other platforms.
1420 .
1421 .It Sy MKPIGZGZIP
1422 .YorN
1424 .Dq no ,
1426 .Xr pigz 1
1428 .Xr gzip 1 .
1429 .DFLTn
1430 .
1431 .It Sy MKPOSTFIX
1432 .YorN
1433 Indicates whether Postfix will be built and installed.
1434 .DFLTy
1435 .
1436 .It Sy MKPROFILE
1437 .YorN
1439 .Sy ( lib*_p.a )
1440 will be built and installed.
1441 .NODEF NOPROFILE
1442 .NOVAR MKLINKLIB=no
1443 .DFLT
1444 .Dq no
1446 .Sy or1k ,
1447 .Sy riscv32 ,
1449 .Sy riscv64
1451 .Dq yes
1452 on other platforms.
1453 .
1454 .It Sy MKRADEONFIRMWARE
1455 .YorN
1457 .Pa /libdata/firmware/radeon
1459 .Xr radeon 4
1460 AMD RADEON GPU video driver.
1461 .DFLT
1462 .Dq yes
1464 .Sy aarch64 ,
1465 .Sy i386 ,
1467 .Sy x86_64 ,
1468 .Dq no
1469 on other platforms.
1470 .
1471 .It Sy MKRELRO
1472 Indicates whether to enable support for Relocation Read-Only (RELRO).
1474 .Bl -tag -width partial
1475 .It partial
1476 Set the non-PLT GOT to read-only.
1477 .It full
1481 .Sy NOFULLRELRO
1483 .Dq no
1485 .Xr make 1
1486 .Cm \&.include
1487 directives).
1488 .It no
1489 Disable RELRO.
1490 .El
1491 .NODEF NORELRO
1492 .DFLT
1493 .Dq partial
1495 .Sy aarch64 ,
1496 .Sy i386 ,
1498 .Sy x86_64 ;
1499 .Dq no
1500 on other platforms.
1501 .
1502 .It Sy MKREPRO
1503 .YorN
1504 Indicates whether builds are to be reproducible.
1506 .Dq yes ,
1508 results.
1509 .Pp
1511 .Sy MKARZERO .
1512 .Pp
1513 .Em Note :
1515 .Dq yes
1517 .Sy build.sh
1519 .Fl P
1520 option.
1521 .DFLTn
1522 .
1523 .It Sy MKREPRO_TIMESTAMP
1524 Unix timestamp.
1526 .Sy MKREPRO
1528 to this value.
1529 .Pp
1530 .Em Note :
1533 .Xr cvslatest 1
1535 .Sy build.sh
1537 .Fl P
1538 option.
1539 .DFLTu
1540 .
1541 .It Sy MKRUMP
1542 .YorN
1544 .Xr rump 3
1545 headers, libraries, and programs are to be installed.
1546 .NOVAR COVERITY_TOP_CONFIG No is defined
1547 .Pp
1550 .Sy RUMPUSER_
1552 .Sy RUMP_ .
1553 .DFLTy
1554 .
1555 .It Sy MKSANITIZER
1556 .YorN
1559 .Sy USE_SANITIZER .
1560 .NODEF NOSANITIZER
1561 .DFLTn
1562 .
1563 .It Sy MKSHARE
1564 .YorN
1566 .Sy DESTDIR Ns Pa /usr/share
1567 will be built and installed.
1568 .NODEF NOSHARE
1569 .Pp
1571 .Dq no ,
1573 .Sy MKCATPAGES=no MKDOC=no MKINFO=no MKHTML=no MKMAN=no MKNLS=no .
1574 .DFLTy
1575 .
1576 .It Sy MKSKEY
1577 .YorN
1579 (libraries and support programs) will be built and installed.
1580 .DFLTy
1581 .
1582 .It Sy MKSLJIT
1583 .YorN
1586 private library and tests.
1587 .DFLT
1588 .Dq yes
1590 .Sy i386 ,
1591 .Sy sparc ,
1593 .Sy x86_64 ;
1594 .Dq no
1595 on other platforms.
1596 .
1597 .It Sy MKSOFTFLOAT
1598 .YorN
1601 support.
1602 .Pp
1604 .Dq yes
1606 .Sy arm
1608 .Sq hf ,
1609 .Sy coldfire ,
1610 .Sy emips ,
1611 .Sy or1k ,
1613 .Sy sh3 .
1614 .DFLT
1615 .Dq yes
1617 .Sy mips64 ;
1618 .Dq no
1619 on other platforms.
1620 .
1621 .It Sy MKSTATICLIB
1622 .YorN
1624 .Sy ( lib*_g.a )
1625 will be built and installed.
1626 .NODEF NOSTATICLIB
1627 .DFLTy
1628 .
1629 .It Sy MKSTATICPIE
1630 .YorN
1632 will be built and installed.
1633 These binaries use a special support in crt0.o for
1634 resolving relative relocations and require linker support.
1635 .DFLT
1636 .Dq yes
1638 .Sy i386
1640 .Sy x86_64 ;
1641 .Dq no
1642 on other platforms.
1643 .
1644 .It Sy MKSTRIPIDENT
1645 .YorN
1647 .Xr ident 1 ,
1648 should be stripped from program binaries and shared libraries.
1649 .DFLTn
1650 .
1651 .It Sy MKSTRIPSYM
1652 .YorN
1653 Indicates whether all local symbols should be stripped from shared libraries.
1655 .Dq yes ,
1658 .Fl x
1660 .Xr ld 1 .
1662 .Dq no ,
1665 .Fl X
1667 .Xr ld 1 .
1671 .Xr rumpkernel 7
1673 loading shared libraries.
1674 .NOVAR MKDEBUG=yes
1675 .DFLTy
1676 .
1677 .It Sy MKTEGRAFIRMWARE
1678 .YorN
1680 .Pa /libdata/firmware/nvidia
1682 NVIDIA Tegra XHCI driver.
1683 .DFLT
1684 .Dq yes
1686 .Sy evbarm ;
1687 .Dq no
1688 on other platforms.
1689 .
1690 .It Sy MKTPM
1691 .YorN
1693 infrastructure.
1694 .DFLTn
1695 .
1696 .It Sy MKUNBOUND
1697 .YorN
1699 .Xr unbound 8
1700 DNS resolver will be built and installed.
1701 .DFLTy
1702 .
1703 .It Sy MKUNPRIVED
1704 .YorN
1705 Indicates whether an unprivileged install will occur.
1709 .Pa METALOG
1711 .Sy DESTDIR .
1713 .Pa METALOG
1715 tar files to ensure that the appropriate file ownership is stored.
1717 .Sq "make install" .
1718 .DFLTn
1719 .
1720 .It Sy MKUPDATE
1721 .YorN
1723 .Sy DESTDIR
1725 phase if the destination files are up-to-date.
1726 .Pp
1728 .Sy NOCLEANDIR
1729 (i.e.,
1730 .Dq make cleandir
1731 is avoided).
1732 .Pp
1733 .Em Note :
1735 .Dq yes
1737 .Sy build.sh
1739 .Fl u
1740 option.
1741 .DFLTn
1742 .
1743 .It Sy MKX11
1744 .YorN
1746 .Sy X11SRCDIR ,
1747 and whether the X sets will be created.
1748 .Pp
1749 .Em Note :
1751 .Dq yes ,
1753 .Sy MKINET6=yes .
1754 .DFLTn
1755 .
1756 .It Sy MKX11FONTS
1757 .YorN
1759 .Dq no ,
1760 do not build and install the X fonts.
1761 The xfont set is still created but will be empty.
1762 .Pp
1764 .Sy MKX11=yes .
1765 .DFLTy
1766 .
1767 .It Sy MKX11MOTIF
1768 .YorN
1770 .Dq yes ,
1771 build the native Xorg libGLw with Motif stubs.
1773 .Sy X11MOTIFPATH .
1774 .DFLTn
1775 .
1776 .It Sy MKXORG_SERVER
1777 .YorN
1779 .Xr Xorg 7
1780 X server and drivers will be built and installed.
1781 .DFLT
1782 .Dq yes
1784 .Sy alpha ,
1785 .Sy amd64 ,
1786 .Sy amiga ,
1787 .Sy bebox ,
1788 .Sy cats ,
1789 .Sy dreamcast ,
1790 .Sy ews4800mips ,
1791 .Sy evbarm ,
1792 .Sy evbmips ,
1793 .Sy evbppc ,
1794 .Sy hp300 ,
1795 .Sy hpcarm ,
1796 .Sy hpcmips ,
1797 .Sy hpcsh ,
1798 .Sy hppa ,
1799 .Sy i386 ,
1800 .Sy ibmnws ,
1801 .Sy iyonix ,
1802 .Sy luna68k ,
1803 .Sy mac68k ,
1804 .Sy macppc ,
1805 .Sy netwinder ,
1806 .Sy newsmips ,
1807 .Sy pmax ,
1808 .Sy prep ,
1809 .Sy ofppc ,
1810 .Sy sgimips ,
1811 .Sy shark ,
1812 .Sy sparc ,
1813 .Sy sparc64 ,
1814 .Sy vax ,
1816 .Sy zaurus ;
1817 .Dq no
1818 on other platforms.
1819 .
1820 .It Sy MKYP
1821 .YorN
1823 (libraries and support programs) will be built and installed.
1824 .DFLTy
1825 .
1826 .It Sy MKZFS
1827 .YorN
1829 libraries used to manage the ZFS system are to be built and installed.
1830 .Pp
1831 .Em Note :
1832 ZFS requires 64-bit atomic operations.
1833 .DFLT
1834 .Dq yes
1836 .Sy aarch64 ,
1837 .Sy amd64 ,
1839 .Sy sparc64 ;
1840 .Dq no
1841 on other platforms.
1842 .
1843 .It Sy NETBSDSRCDIR
1845 .Nx
1846 sources.
1847 .DFLT
1849 .Nx
1851 .Pa build.sh
1853 .Pa tools/ )
1855 .Xr make 1
1858 .Sy BSDSRCDIR
1859 will be used.
1860 .
1861 .It Sy NETBSD_OFFICIAL_RELEASE
1862 .YorN
1864 .Nx
1866 .Lk ftp.NetBSD.org
1868 .Lk cdn.NetBSD.org
1869 locations.
1870 This variable modifies a few default paths in the installer
1871 and also creates different links in the install documentation.
1873 .Sq daily
1874 builds from real releases.
1875 .DFLTu
1876 .Pq I.e., Dq no .
1877 .
1878 .It Sy NETBSD_REVISIONID
1880 or similar.
1882 .Xr __RCSID 3
1884 .Xr __KERNEL_RCSID 3
1886 .Xr ident 1 .
1887 .DFLTu
1888 .It Sy NOCLEANDIR
1890 .Dq make cleandir
1891 phase of a full build.
1893 files in a source tree to be recompiled.
1894 This can speed up builds when updating only a few files in the tree.
1895 .Pp
1897 .Sy MKUPDATE .
1898 .DFLTu
1899 .
1900 .It Sy NODISTRIBDIRS
1902 .Dq make distrib-dirs
1903 phase of a full build.
1905 .Xr mtree 8
1907 .Sy DESTDIR ,
1910 .Xr mtree 8
1911 files have not changed.
1912 .DFLTu
1913 .
1914 .It Sy NOINCLUDES
1916 .Dq make includes
1917 phase of a full build.
1919 .Xr make 1
1921 system include files have changed.
1923 .Nx
1925 .Sy MKUPDATE=yes
1926 instead in that case.
1927 .DFLTu
1928 .
1929 .It Sy OBJMACHINE
1931 .Pa obj . Ns Sy MACHINE ,
1933 .Sy MACHINE
1935 .Sq "uname -m" ) .
1936 .DFLTu
1937 .
1938 .It Sy RELEASEDIR
1940 .Xr release 7
1942 .Dq make release .
1943 If specified, must be an absolute path.
1944 .Pp
1945 .Em Note :
1946 .Sy build.sh
1948 .Dq Pa releasedir
1950 .Sy .OBJDIR )
1952 .Sq expert
1954 .Fl E
1955 option.
1956 .DFLTu
1957 .
1958 .It Sy RUMPUSER_THREADS
1960 .Xr rumpuser 3
1961 hypercall implementation.
1963 .Bl -tag -width pthread
1964 .It fiber
1965 Use a fiber interface, with cooperatively scheduled contexts.
1966 .It none
1967 Do not support kernel threads.
1968 .It pthread
1970 .Xr pthread 3
1971 to implement threads.
1972 .El
1973 .DFLT
1974 .Dq pthread .
1975 .
1976 .It Sy RUMP_CURLWP
1978 .Va curlwp
1980 .Xr rumpkernel 7
1981 kernel.
1982 .Va curlwp
1985 access has a significant performance impact.
1986 Note that all options are not available on hosts/machine architectures.
1988 .Bl -tag -width hypercall
1989 .It hypercall
1990 Use a hypercall to fetch the value.
1991 .It register
1992 Use a dedicated register.
1994 .Fl ffixed- Ns Ar reg ) .
1995 .It __thread
1997 thread local storage (TLS).
1998 .El
1999 .DFLT
2000 .Dq hypercall .
2001 .
2002 .It Sy RUMP_DEBUG
2005 .Xr rumpkernel 7
2007 .Fl DDEBUG .
2008 .DFLTu
2009 .
2010 .It Sy RUMP_DIAGNOSTIC
2011 .YorN
2013 .Xr rumpkernel 7
2015 .Fl DDIAGNOSTIC .
2016 .DFLTy
2017 .
2018 .It Sy RUMP_KTRACE
2019 .YorN
2021 .Xr rumpkernel 7
2023 .Fl DKTRACE .
2024 .DFLTy
2025 .
2026 .It Sy RUMP_LOCKDEBUG
2029 .Xr rumpkernel 7
2031 .Fl DLOCKDEBUG .
2032 .DFLTu
2033 .
2034 .It Sy RUMP_LOCKS_UP
2035 .YorN
2037 .Xr rumpkernel 7
2039 uniprocess-optimized locking or not.
2040 .Pp
2042 .Dq yes ,
2044 .Ev RUMP_NCPU=1
2045 in the environment at runtime.
2046 .Pp
2048 .Dq no ,
2049 build with multiprocessor-capable locking.
2050 .DFLTn
2051 .
2052 .It Sy RUMP_NBCOMPAT
2054 .Nx
2056 .Dv COMPAT_ Ns Ar ver
2058 .Xr rumpkernel 7
2059 kernels.
2061 .Xr rumpkernel 7 kernels
2063 .Nx
2064 userspace, and an empty value may be supplied elsewhere.
2066 .Bl -tag -width default
2067 .It all
2068 All supported release versions.
2070 .Dq 50,60,70,80,90 .
2071 .It default
2072 Default value.
2074 .Dq all ,
2075 although this default may change in the future.
2076 .It none
2077 No compatibility options are enabled.
2078 .It 50
2079 .Nx
2080 5.x compatibility, via
2081 .Dv COMPAT_50
2082 kernel option.
2083 .It 60
2084 .Nx
2085 6.x compatibility, via
2086 .Dv COMPAT_60
2087 kernel option.
2088 .It 70
2089 .Nx
2090 7.x compatibility, via
2091 .Dv COMPAT_70
2092 kernel option.
2093 .It 80
2094 .Nx
2095 8.x compatibility, via
2096 .Dv COMPAT_80
2097 kernel option.
2098 .It 90
2099 .Nx
2100 9.x compatibility, via
2101 .Dv COMPAT_90
2102 kernel option.
2103 .El
2104 .DFLT
2105 .Dq all .
2106 .
2107 .It Sy RUMP_VIRTIF
2108 .YorN
2110 .Xr rumpkernel 7
2112 .Xr virt 4
2113 network interface.
2114 .Pp
2116 .Dq no ,
2118 .Xr virt 4
2120 necessary headers, such as musl libc based Linux.
2121 .DFLTy
2122 .
2123 .It Sy RUMP_VNODE_LOCKDEBUG
2126 .Xr rumpkernel 7
2128 .Fl DVNODE_LOCKDEBUG .
2129 .DFLTu
2130 .
2131 .It Sy TOOLCHAIN_MISSING
2132 .YorN
2134 .Dq no ,
2136 .Dq Sy MACHINE_ARCH
2137 being built does not have a working in-tree toolchain.
2138 .Pp
2140 .Dq no ,
2142 .Sy MKBINUTILS=no MKGCC=no MKGDB=no .
2143 .\" See MKGCCCMDS for example text if a platform defaults to yes.
2144 .DFLTn
2145 .
2146 .It Sy TOOLDIR
2147 Directory to hold the host tools, once built.
2148 If specified, must be an absolute path.
2150 .Nx
2151 source tree.
2153 .Sy TOOLDIR ;
2154 the target-architecture-dependent files have unique names.)
2157 .Xr uname 1
2159 .Sy .OBJDIR
2161 .Pa src .
2162 .DFLTu
2163 .
2164 .It Sy USETOOLS
2165 .YorN
2167 .Sy TOOLDIR
2168 should be used as part of a build in progress.
2170 .Dq yes
2171 if cross-compiling.
2173 .Bl -tag -width never
2174 .It yes
2176 .Sy TOOLDIR .
2177 .It no
2179 .Sy TOOLDIR ,
2181 version-specific for that tool.
2182 .It never
2184 .Sy TOOLDIR ,
2185 even when building native tool components.
2187 .Nx
2189 .Em not
2191 to build the tree successfully.
2193 .Nx
2194 source tree.
2195 .El
2196 .DFLT
2197 .Dq no
2199 .Aq bsd.*.mk
2201 .Nx
2203 .Sy TOOLCHAIN_MISSING=yes ;
2205 .Dq yes .
2206 .
2207 .It Sy USE_FORT
2208 .YorN
2210 .Dq FORTIFY_SOURCE
2211 .Xr security 7
2213 .Xr ssp 3
2214 for details.
2215 This imposes some performance penalty.
2216 .NODEF NOFORT
2217 .DFLTn
2218 .
2219 .It Sy USE_HESIOD
2220 .YorN
2222 enabled in the various applications that support it.
2223 .NOVAR MKHESIOD=no
2224 .DFLTy
2225 .
2226 .It Sy USE_INET6
2227 .YorN
2229 enabled in the various applications that support it.
2230 .NOVAR MKINET6=no
2231 .DFLTy
2232 .
2233 .It Sy USE_JEMALLOC
2234 .YorN
2236 .Em jemalloc
2238 .Pq which is designed for improved performance with threaded applications
2240 .Em phkmalloc
2242 .Pq that was the default until Nx 5.0 .
2243 .DFLTy
2244 .
2245 .It Sy USE_KERBEROS
2246 .YorN
2248 enabled in the various applications that support it.
2249 .NOVAR MKKERBEROS=no
2250 .DFLTy
2251 .
2252 .It Sy USE_LDAP
2253 .YorN
2255 enabled in the various applications that support it.
2256 .NOVAR MKLDAP=no
2257 .DFLTy
2258 .
2259 .It Sy USE_LIBCSANITIZER
2260 Selects the sanitizer in libc to compile userland programs and libraries.
2262 .Bl -tag -width undefined
2263 .It undefined
2265 undefined behaviour sanitizer.
2266 The code is shared with the kernel mode variation (kUBSan).
2268 .Sy MKSANITIZER .
2271 .Li -fsanitize=no-vptr
2272 as that sanitizer is not supported.
2274 .Ev LIBC_UBSAN
2275 environment variable, that is designed to be safe for hardening.
2276 .El
2277 .Pp
2279 .Sy USE_LIBCSANITIZER
2281 .Li -fsanitize= .
2283 .Sy LIBCSANITIZERFLAGS .
2284 .Pp
2286 .Sy MKLIBCSANITIZER=no .
2287 .DFLT
2288 .Dq undefined .
2289 .
2290 .It Sy USE_PAM
2291 .YorN
2293 .Xr pam 8
2294 support is enabled in the various applications that support it.
2295 .NOVAR MKPAM=no
2296 .DFLTy
2297 .
2298 .It Sy USE_PIGZGZIP
2299 .YorN
2301 .Xr pigz 1
2303 .Xr gzip 1
2304 for multi-threaded gzip compression of the distribution tar sets.
2305 .DFLTn
2306 .
2307 .It Sy USE_SANITIZER
2308 Selects the sanitizer to compile userland programs and libraries.
2310 .Bl -tag -width safe-stack
2311 .It address
2312 A memory error detector.
2313 .It cfi
2314 A control flow detector.
2315 .It dataflow
2316 A general data flow analysis.
2317 .It leak
2318 A memory leak detector.
2319 .It memory
2320 An uninitialized memory read detector.
2321 .It safe-stack
2322 Protect against stack-based corruption.
2323 .It scudo
2324 The Scudo Hardened Allocator.
2325 .It thread
2326 A data race detector.
2327 .It undefined
2328 An undefined behavior detector.
2329 .El
2330 .Pp
2332 .Sy USE_SANITIZER
2334 .Li -fsanitize= .
2336 .Sy SANITIZERFLAGS .
2337 .Pp
2339 depends on the compiler version and target CPU architecture.
2340 .Pp
2342 .Sy MKSANITIZER=no .
2343 .DFLT
2344 .Dq address .
2345 .
2346 .It Sy USE_SKEY
2347 .YorN
2349 enabled in the various applications that support it.
2350 .NOVAR MKSKEY=no
2351 .Pp
2352 .Em Note :
2354 .Sy USE_PAM!=no .
2355 .DFLTn
2356 .
2357 .It Sy USE_SSP
2358 .YorN
2361 is enabled.
2363 (approximately 5%).
2364 .Pp
2366 .Pa /usr/mdec .
2367 .NODEF NOSSP
2368 .NOVAR COVERITY_TOP_CONFIG No is defined
2369 .DFLT
2370 .Dq no
2372 .Sy alpha ,
2373 .Sy hppa ,
2374 .Sy ia64 ,
2376 .Sy mips ;
2377 .Dq yes
2379 .Sy USE_FORT=yes ;
2381 .Dq no .
2382 .
2383 .It Sy USE_XZ_SETS
2384 .YorN
2387 .Xr xz 1
2389 .Xr gzip 1
2391 .Xr pigz 1 .
2392 .NOVAR USE_PIGZGZIP=yes
2393 .DFLT
2394 .Dq yes
2396 .Sy aarch64 ,
2397 .Sy amd64 ,
2399 .Sy sparc64 ,
2400 .Dq no
2401 on other platforms.
2402 .
2403 .It Sy USE_YP
2404 .YorN
2406 enabled in the various applications that support it.
2407 .NOVAR MKYP=no
2408 .DFLTy
2409 .
2410 .It Sy X11MOTIFPATH
2412 .Sy MKX11MOTIF=yes .
2413 .DFLT
2414 .Dq Pa /usr/pkg .
2415 .
2416 .It Sy X11SRCDIR
2417 Directory containing the modular Xorg source.
2418 If specified, must be an absolute path.
2420 .Sy X11SRCDIR Ns Pa /external/mit .
2421 .DFLT
2422 .Sy NETBSDSRCDIR Ns Pa /../xsrc ,
2424 .Dq Pa /usr/xsrc .
2425 .
2426 .El
2427 .
2428 .Sh PKGSRC SYSTEM VARIABLES
2429 .
2431 .Lk https://www.netbsd.org/docs/pkgsrc/
2433 .Pa pkgsrc/doc/pkgsrc.txt
2435 .Pa ${PKGSRCDIR}/mk/defaults/mk.conf
2436 for package-specific examples.
2437 .
2438 .Sh OBSOLETE VARIABLES
2439 .
2440 These variables are obsolete.
2441 .
2442 .Bl -tag -width 14n
2443 .
2444 .\" These entries are sorted alphabetically.
2445 .
2446 .It Sy EXTSRCSRCDIR
2447 Obsolete.
2448 .
2449 .It Sy MKBFD
2451 .Sy MKBINUTILS .
2452 .
2453 .It Sy MKCRYPTO
2454 Obsolete.
2455 .
2456 .It Sy MKEXTSRC
2457 Obsolete.
2458 .
2459 .It Sy MKKDEBUG
2461 .Sy MKDEBUGKERNEL .
2462 .
2463 .It Sy MKKERBEROS4
2464 Obsolete.
2465 .
2466 .It Sy MKLLD
2467 Obsolete.
2468 .
2469 .It Sy MKLLDB
2470 Obsolete.
2471 .
2472 .It Sy MKMCLINKER
2473 Obsolete.
2474 .
2475 .It Sy MKPERFUSE
2476 Obsolete.
2477 .
2478 .It Sy MKTOOLSDEBUG
2480 .Sy MKDEBUGTOOLS .
2481 .
2482 .It Sy NBUILDJOBS
2484 .Nm build.sh
2486 .Xr make 1
2488 .Fl j
2489 instead.
2490 .
2491 .It Sy SHAREDSTRINGS
2492 Obsolete.
2493 .
2494 .It Sy USE_COMBINE
2495 Obsolete.
2496 .
2497 .It Sy USE_NEW_TOOLCHAIN
2498 The new toolchain is now the default.
2500 .Sy TOOLCHAIN_MISSING=yes .
2501 .
2502 .El
2503 .
2504 .Sh FILES
2505 .Bl -tag -width /etc/mk.conf
2506 .
2507 .It Pa /etc/mk.conf
2509 .Nm
2511 .Pa /etc .
2512 .
2513 .It Pa ${PKGSRCDIR}/mk/defaults/mk.conf
2514 Examples for settings regarding the pkgsrc collection.
2515 .El
2516 .
2517 .Sh SEE ALSO
2518 .Xr apropos 1 ,
2519 .Xr ar 1 ,
2520 .Xr as 1 ,
2521 .Xr clang 1 ,
2522 .Xr clang++ 1 ,
2523 .Xr config 1 ,
2524 .Xr cpio 1 ,
2525 .Xr cvs 1 ,
2526 .Xr cvslatest 1 ,
2527 .Xr dtrace 1 ,
2528 .Xr g++ 1 ,
2529 .Xr gcc 1 ,
2530 .Xr gdb 1 ,
2531 .Xr groff 1 ,
2532 .Xr gzip 1 ,
2533 .Xr ident 1 ,
2534 .Xr ld 1 ,
2535 .Xr ld.elf_so 1 ,
2536 .Xr lint 1 ,
2537 .Xr ls 1 ,
2538 .Xr make 1 ,
2539 .Xr mandoc 1 ,
2540 .Xr pax 1 ,
2541 .Xr pcc 1 ,
2542 .Xr pigz 1 ,
2543 .Xr sh 1 ,
2544 .Xr tar 1 ,
2545 .Xr uname 1 ,
2546 .Xr whatis 1 ,
2547 .Xr xz 1 ,
2548 .Xr rump 3 ,
2549 .Xr rumpuser 3 ,
2550 .Xr ssp 3 ,
2551 .Xr amdgpu 4 ,
2552 .Xr athn 4 ,
2553 .Xr bcm43xx 4 ,
2554 .Xr bwfm 4 ,
2555 .Xr ipf 4 ,
2556 .Xr ipw 4 ,
2557 .Xr iwi 4 ,
2558 .Xr iwm 4 ,
2559 .Xr iwn 4 ,
2560 .Xr nouveau 4 ,
2561 .Xr options 4 ,
2562 .Xr otus 4 ,
2563 .Xr pf 4 ,
2564 .Xr radeon 4 ,
2565 .Xr ral 4 ,
2566 .Xr rtwn 4 ,
2567 .Xr rum 4 ,
2568 .Xr run 4 ,
2569 .Xr urtwn 4 ,
2570 .Xr virt 4 ,
2571 .Xr wpi 4 ,
2572 .Xr zyd 4 ,
2573 .Xr pam.conf 5 ,
2574 .Xr release 7 ,
2575 .Xr rumpkernel 7 ,
2576 .Xr security 7 ,
2577 .Xr Xorg 7 ,
2578 .Xr dbsym 8 ,
2579 .Xr getNAME 8 ,
2580 .Xr installboot 8 ,
2581 .Xr makemandb 8 ,
2582 .Xr makewhatis 8 ,
2583 .Xr mdsetimage 8 ,
2584 .Xr mtree 8 ,
2585 .Xr pam 8 ,
2586 .Xr unbound 8 ,
2587 .Pa /usr/share/mk/bsd.README ,
2588 .Pa src/BUILDING ,
2589 .Pa pkgsrc/doc/pkgsrc.txt ,
2590 .Lk https://www.netbsd.org/docs/pkgsrc/
2591 .Sh HISTORY
2593 .Nm
2595 .Nx 1.2 .