Add nsswitch support.
[dragonfly.git] / share / man / man5 / make.conf.5
CommitLineData
984263bc
MD
1.\" Copyright (c) 2000
2.\" Mike W. Meyer
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.30 2003/05/18 17:05:55 brueffer Exp $
6dd73847 26.\" $DragonFly: src/share/man/man5/make.conf.5,v 1.38 2008/11/03 00:25:45 pavalos Exp $
984263bc 27.\"
b4ac31f4 28.Dd December 1, 2008
984263bc
MD
29.Dt MAKE.CONF 5
30.Os
31.Sh NAME
32.Nm make.conf
33.Nd system build information
34.Sh DESCRIPTION
35The file
36.Nm
37contains settings that control the compilation of the
9bb2a92d 38.Dx
cecff5c1 39sources.
984263bc
MD
40The file
41.Nm
42is generally created by the system administrator when the values need
43to be changed from their defaults.
44.Pp
45The purpose of
46.Nm
47is not to run commands or perform compilation actions
48directly.
cecff5c1 49Instead, it is included by the various makefiles in
0cd7b3a7 50.Pa /usr/src
cecff5c1
MD
51which conditionalize their internal actions according to the settings
52found there.
984263bc
MD
53.Pp
54The
55.Pa /etc/make.conf
56file is included from the appropriate
57.Pa Makefile
58which specifies the default settings for all the available options.
59Options need only be specified in
60.Pa /etc/make.conf
61when the system administrator wishes to override these defaults.
62.Pp
cecff5c1
MD
63The build procedures occur in three areas: world, kernel, and
64documentation.
984263bc
MD
65Variables set in
66.Nm
cecff5c1 67may be applicable during builds in one, two, or all of these areas.
984263bc
MD
68They may be specified for a particular build via the
69.Fl D
70option of
71.Xr make 1 .
72.Pp
73The following lists provide a name and short description for each
74variable you can use during the indicated builds.
cecff5c1 75The values of variables flagged as
984263bc 76.Vt bool
cecff5c1 77are ignored; the variable being set at all (even to
984263bc
MD
78.Dq Li FALSE
79or
80.Dq Li NO )
cecff5c1 81causes it to be treated as if it were set.
984263bc
MD
82.Pp
83The following list provides a name and short description for variables
84that are used for all builds, or are used by the
85.Pa makefiles
86for things other than builds.
87.Bl -tag -width Ar
984263bc
MD
88.It Va CPUTYPE
89.Pq Vt str
cecff5c1
MD
90Controls which processor should be targeted for generated code.
91This controls processor-specific optimizations in certain code
92(currently only OpenSSL) as well as modifying the value of
984263bc
MD
93.Va CFLAGS
94and
95.Va COPTFLAGS
96to contain the appropriate optimization directive to
97.Xr gcc 1 .
98The automatic setting of
99.Va CFLAGS
100and
101.Va COPTFLAGS
102may be overridden using the
103.Va NO_CPU_CFLAGS
104and
105.Va NO_CPU_COPTFLAGS
106variables, respectively. Refer to
0cd7b3a7 107.Pa /usr/share/examples/etc/defaults/make.conf
984263bc
MD
108for a list of recognized
109.Va CPUTYPE
110options.
cecff5c1
MD
111.It Va CCVER
112.Pq Vt str
05664f8a
PA
113Controls which GCC version to use by default.
114It should be set as
115.Li CCVER?=
116so as not to interfere with overrides from userland.
117We currently recommend that an override NOT be set in
cecff5c1 118.Pa /etc/make.conf .
7879b9ff
SW
119Currently accepted values are
120.Dq gcc34
05664f8a 121(old version)
7879b9ff
SW
122and
123.Dq gcc41
05664f8a 124(default).
cecff5c1
MD
125.It Va CFLAGS
126.Pq Vt str
127Controls the compiler setting when compiling C code.
128Optimization levels above
129.Fl O
130.Pq Fl O2 , No ...
131are not supported.
132.Va BDECFLAGS
133is provided as a set of
134.Xr gcc 1
135settings suggested by
136.An "Bruce Evans" Aq bde@FreeBSD.org
137for developing and testing changes.
138They can be used, if set, by:
cecff5c1
MD
139.Bd -literal -offset indent
140CFLAGS+=${BDECFLAGS}
141.Ed
984263bc
MD
142.It Va NO_CPU_CFLAGS
143.Pq Vt str
144Setting this variable will prevent CPU specific compiler flags
145from being automatically added to
146.Va CFLAGS
147during compile time.
984263bc
MD
148.It Va CXXFLAGS
149.Pq Vt str
150Controls the compiler settings when compiling C++ code.
151.Va CXXFLAGS
152is initially set to the value of
153.Va CFLAGS .
cecff5c1 154If you want to add to the
984263bc
MD
155.Va CXXFLAGS
156value, use
157.Dq Li +=
158instead of
159.Dq Li = .
160.It Va INSTALL
161.Pq Vt str
162the default install command.
cecff5c1 163To have components compared before doing the install, use
984263bc
MD
164.Bd -literal -offset indent
165INSTALL="install -C"
166.Ed
167.It Va LOCAL_DIRS
168.Pq Vt str
cecff5c1 169List any directories that should be entered when running make
984263bc
MD
170.Pa /usr/src
171in this variable.
172.It Va MAKE_SHELL
173.Pq Vt str
174Controls the shell used internally by
175.Xr make 1
176to process the command scripts in makefiles.
177.Xr sh 1 ,
178.Xr ksh 1 ,
179and
180.Xr csh 1
181all currently supported.
182.Bd -literal -offset indent
183MAKE_SHELL?=sh
184.Ed
cecff5c1
MD
185.It Va MODULES_OVERRIDE
186.Pq Vt str
187Set to a list of modules to build instead of all of them.
984263bc
MD
188.It Va MTREE_FOLLOWS_SYMLINKS
189.Pq Vt str
190Set this to
191.Dq Fl L
192to cause
193.Xr mtree 8
194to follow symlinks.
cecff5c1
MD
195.It Va STRIP
196.Pq Vt str
197Set this to the flag to pass the
198.Xr strip 1
199command.
200If set to a blank value, components will be installed with debugging
201symbols.
2114949a 202.It Va WITH_GCPIO
fe848e23
PA
203.Pq Vt bool
204Set this to use
2114949a 205.Xr gcpio 1
fe848e23
PA
206as the standard
207.Xr cpio 1 .
2114949a
PA
208The default is to use
209.Xr bsdcpio 1 .
ed5d5720
PA
210.It Va WANT_HESIOD
211.Pq Vt bool
212Set this to build
213.Xr hesiod 3
214support into libc.
215.It Va NO_NS_CACHING
216.Pq Vt bool
217Set this to disable name caching in the nsswitch subsystem.
218The generic caching daemon,
219.Xr nscd 8 ,
220will not be built either if this option is set.
984263bc
MD
221.El
222.Pp
223The following list provides a name and short description for variables
224that are only used doing a kernel build:
225.Bl -tag -width Ar
226.It Va BOOT_COMCONSOLE_PORT
227.Pq Vt str
228The port address to use for the console if the boot blocks have
229been configured to use a serial console instead of the keyboard/video card.
230.It Va BOOT_COMCONSOLE_SPEED
231.Pq Vt int
232The baud rate to use for the console if the boot blocks have
233been configured to use a serial console instead of the keyboard/video card.
984263bc
MD
234.It Va COPTFLAGS
235.Pq Vt str
236Controls the compiler settings when building the
237kernel.
238Optimization levels above
7879b9ff
SW
239.Fl O
240.Pq Fl O2 , No ...
984263bc
MD
241are not guaranteed to work.
242.It Va KERNCONF
243.Pq Vt str
244Controls which kernel configurations will be
245built by
246.Dq Li "${MAKE} buildkernel"
247and installed by
248.Dq Li "${MAKE} installkernel" .
249For example,
250.Bd -literal -offset indent
251KERNCONF=MINE DEBUG GENERIC OTHERMACHINE
252.Ed
253.Pp
254will build the kernels specified by the config files
255.Pa MINE , DEBUG , GENERIC ,
256and
257.Pa OTHERMACHINE ,
258and install the kernel specified by the config file
259.Pa MINE .
260It defaults to
261.Pa GENERIC .
262.It Va LOADER_TFTP_SUPPORT
263.Pq Vt bool
264While not a buildkernel-affected option, there is no better place for this.
265By default the
266.Xr pxeboot 8
267loader retrieves the kernel via NFS.
268Defining this and recompiling
269.Pa /usr/src/sys/boot
270will cause it to retrieve the kernel via TFTP.
271This allows pxeboot to load a custom BOOTP diskless kernel yet
272still mount the server's
273.Pa /
274rather than load the server's kernel.
cecff5c1 275.It Va NO_CPU_COPTFLAGS
984263bc 276.Pq Vt str
cecff5c1
MD
277Setting this variable will prevent CPU specific compiler flags
278from being automatically added to
279.Va COPTFLAGS
280during compile time.
281.It Va NO_KERNELCLEAN
282.Pq Vt bool
283Set this to skip the clean target when using
284.Dq Li "${MAKE} buildkernel" .
984263bc
MD
285.It Va NO_KERNELCONFIG
286.Pq Vt bool
287Set this to skip running
288.Xr config 8
289during
290.Dq Li "${MAKE} buildkernel" .
291.It Va NO_KERNELDEPEND
292.Pq Vt bool
293Set this to skip running
294.Dq Li "${MAKE} depend"
295during
296.Dq Li "${MAKE} buildkernel" .
9200f41c
SS
297.It Va NO_KERNEL_OLD_STRIP
298.Pq Vt bool
299Set this to skip stripping debugging symbols from old kernel and modules
300(kernel.old, modules.old) during
301.Dq Li "${MAKE} installkernel" .
984263bc
MD
302.It Va NO_MODULES
303.Pq Vt bool
304Set to not build modules with the kernel.
305.El
306.Pp
307The following list provides a name and short description for variables
308that are used during the world build:
309.Bl -tag -width Ar
984263bc
MD
310.It Va ENABLE_SUID_K5SU
311.Pq Vt bool
cecff5c1
MD
312Set this if you wish to use the k5su utility.
313Otherwise, it will be installed without the set-user-ID bit set.
314This is only relevant if
315.Va WANT_KERBEROS
316is defined.
984263bc
MD
317.It Va ENABLE_SUID_SSH
318.Pq Vt bool
319Set this to install
320.Xr ssh 1
321with the setuid bit turned on.
322.It Va MODULES_WITH_WORLD
323.Pq Vt bool
324Set to build modules with the system instead of the kernel.
984263bc
MD
325.It Va NO_BIND
326.Pq Vt bool
327Set to not build BIND.
cecff5c1
MD
328.It Va NO_CRYPT
329.Pq Vt bool
330Set to not build crypto code.
331.It Va NO_CVS
332.Pq Vt bool
333Set to not build CVS.
cecff5c1
MD
334.It Va NO_GAMES
335.Pq Vt bool
336Set to not build games.
6414e8a0
PA
337.It Va NO_GCC34
338.Pq Vt bool
339Set to not build the older version of GCC (3.4).
984263bc
MD
340.It Va NO_GDB
341.Pq Vt bool
342Set to not build
343.Xr gdb 1
344.It Va NO_I4B
345.Pq Vt bool
346Set to not build isdn4bsd package.
347.It Va NO_IPFILTER
348.Pq Vt bool
349Set to not build IP Filter package.
cecff5c1
MD
350.It Va NO_LIBC_R
351.Pq Vt bool
352Set to not build
353.Nm libc_r
354(reentrant version of
355.Nm libc ) .
984263bc
MD
356.It Va NO_LPR
357.Pq Vt bool
358Set to not build
359.Xr lpr 1
360and related programs.
361.It Va NO_MAILWRAPPER
362.Pq Vt bool
363Set to not build the
364.Xr mailwrapper 8
365MTA selector.
984263bc
MD
366.It Va NO_MAKEDEV
367.Pq Vt bool
368Set to avoid running
369.Dq Li "MAKEDEV all"
370on
371.Pa /dev
372during install.
373.It Va NO_OBJC
374.Pq Vt bool
375Set to not build Objective C support.
376.It Va NO_OPENSSH
377.Pq Vt bool
378Set to not build OpenSSH.
379.It Va NO_OPENSSL
380.Pq Vt bool
381Set to not build OpenSSL (implies
382.Va NO_OPENSSH ) .
383.It Va NO_SENDMAIL
384.Pq Vt bool
385Set to not build
386.Xr sendmail 8
387and related programs.
cecff5c1
MD
388.It Va NO_SHARE
389.Pq Vt bool
390Set to not enter the share subdirectory.
984263bc
MD
391.It Va NO_X
392.Pq Vt bool
393Set to not compile in X\-Windows support (e.g.\&
394.Xr doscmd 1 ) .
395.It Va NOCLEAN
396.Pq Vt bool
397Set this to disable cleaning during
398.Dq Li "make buildworld" .
399This should not be set unless you know what you are doing.
400.It Va NOCLEANDIR
401.Pq Vt bool
402Set this to run
403.Dq Li "${MAKE} clean"
404instead of
405.Dq Li "${MAKE} cleandir" .
cecff5c1 406.It Va NOFSCHG
984263bc 407.Pq Vt bool
566002a4 408Set to not install certain components with flag schg.
cecff5c1 409This is useful in a jailed environment.
984263bc
MD
410.It Va NOINFO
411.Pq Vt bool
412Set to not make or install
413.Xr info 5
414files.
cecff5c1 415.It Va NOINFOCOMPRESS
984263bc 416.Pq Vt bool
cecff5c1
MD
417Set to not compress the info pages.
418.It Va NOMAN
984263bc 419.Pq Vt bool
cecff5c1
MD
420Set to not build manual pages
421.It Va NOMANCOMPRESS
984263bc 422.Pq Vt bool
cecff5c1 423Set to not compress the manual pages.
984263bc
MD
424.It Va NOPROFILE
425.Pq Vt bool
426Set to avoid compiling profiled libraries.
984263bc
MD
427.It Va PPP_NOSUID
428.Pq Vt bool
429Set to disable the installation of
430.Xr ppp 8
cecff5c1 431with the set-user-ID bit on.
984263bc
MD
432.It Va SENDMAIL_MC
433.Pq Vt str
3181538d
GNS
434The default
435.Xr m4 1
436configuration file to use at install time.
984263bc
MD
437The value should include the full path to the
438.Pa .mc
439file, e.g.,
440.Pa /etc/mail/myconfig.mc .
441Use with caution as a make install will overwrite any existing
442.Pa /etc/mail/sendmail.cf .
443Note that
444.Va SENDMAIL_CF
445is now deprecated.
984263bc
MD
446.It Va SENDMAIL_SUBMIT_MC
447.Pq Vt str
3181538d
GNS
448The default
449.Xr m4 1
450configuration file for mail submission
984263bc
MD
451to use at install time.
452The value should include the full path to the
453.Pa .mc
454file, e.g.,
455.Pa /etc/mail/mysubmit.mc .
456Use with caution as a make install will overwrite any existing
457.Pa /etc/mail/submit.cf .
984263bc
MD
458.It Va SENDMAIL_ADDITIONAL_MC
459.Pq Vt str
460Additional
461.Pa .mc
462files which should be built into
463.Pa .cf
464files at build time.
465The value should include the full path to the
466.Pa .mc
467file(s), e.g.,
468.Pa /etc/mail/foo.mc
469.Pa /etc/mail/bar.mc .
3181538d
GNS
470.It Va SENDMAIL_CF_DIR
471.Pq Vt str
472Override the default location for the
473.Xr m4 1
474configuration files used to build a
475.Pa .cf
476file from a
477.Pa .mc
478file.
984263bc
MD
479.It Va SENDMAIL_M4_FLAGS
480.Pq Vt str
3181538d
GNS
481Flags passed to
482.Xr m4 1
483when building a
984263bc
MD
484.Pa .cf
485file from a
486.Pa .mc
487file.
488.It Va SENDMAIL_CFLAGS
489.Pq Vt str
490Flags to pass to the compile command when building
491.Xr sendmail 8 .
492The
493.Va SENDMAIL_*
494flags can be used to provide SASL support with setting such as:
495.Bd -literal -offset indent
496SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
497SENDMAIL_LDFLAGS=-L/usr/local/lib
498SENDMAIL_LDADD=-lsasl
499.Ed
500.It Va SENDMAIL_LDFLAGS
501.Pq Vt str
502Flags to pass to the
503.Xr ld 1
504command when building
505.Xr sendmail 8 .
506.It Va SENDMAIL_LDADD
507.Pq Vt str
508Flags to add to the end of the
509.Xr ld 1
510command when building
511.Xr sendmail 8 .
512.It Va SENDMAIL_DPADD
513.Pq Vt str
514Extra dependencies to add when building
515.Xr sendmail 8 .
516.It Va SENDMAIL_SET_USER_ID
517.Pq Vt bool
518If set, install
519.Xr sendmail 8
520as a set-user-ID root binary instead of a set-group-ID binary
521and do not install
522.Pa /etc/mail/submit.{cf,mc} .
523Use of this flag is not recommended and the alternative advice in
524.Pa /etc/mail/README
3181538d 525should be followed instead if at all possible.
984263bc
MD
526.It Va SENDMAIL_MAP_PERMS
527.Pq Vt str
528Mode to use when generating alias and map database files using
529.Pa /etc/mail/Makefile .
530The default value is 0640.
587bc464
SW
531.It Va THREAD_LIB
532.Pq Vt str
533Set to either
534.Li c_r
535or
536.Li thread_xu
537to configure the system's default threading library.
538The default is
539.Li thread_xu .
984263bc
MD
540.It Va TOP_TABLE_SIZE
541.Pq Vt int
542.Xr top 1
543uses a hash table for the user names. The size of this hash can be tuned
544to match the number of local users. The table size should be a prime number
545approximately twice as large as the number of lines in
546.Pa /etc/passwd .
547The default number is 20011.
3e84a8c5 548.It Va WANT_IDEA
cecff5c1
MD
549.Pq Vt bool
550Set to build the IDEA encryption code.
551This code is patented in the USA and many European countries.
552It is
553.Em "YOUR RESPONSIBILITY"
554to determine if you can legally use IDEA.
7ebbae99
SW
555.It Va WANT_INSTALLER
556.Pq Vt bool
557Set to build the installer.
3e84a8c5 558.It Va WANT_KERBEROS
cecff5c1
MD
559.Pq Vt bool
560Set this to build Kerberos5 (KTH Heimdal).
561.Em WARNING !
562This is still experimental code.
984263bc
MD
563.El
564.Pp
565The following list provides a name and short description for variables
566that are used when building documentation.
567.Bl -tag -width Ar
984263bc
MD
568.It Va DOC_LANG
569.Pq Vt str
570The list of languages and encodings to build and install.
571.It Va PRINTERDEVICE
572.Pq Vt str
573The default format for system documentation, depends on your
574printer.
575This can be set to
576.Dq Li ascii
577for simple printers or
578.Dq Li ps
579for postscript or graphics printers with a ghostscript
580filter.
42a03791
SW
581.It Va GROFF_PAPER_SIZE
582.Pq Vt str
583The default paper size for
584.Xr groff 1
585(either
586.Dq letter
587or
588.Dq A4 ) .
984263bc 589.El
984263bc
MD
590.Sh FILES
591.Bl -tag -width /etc/defaults/make.conf -compact
592.It Pa /etc/defaults/make.conf
593.It Pa /etc/make.conf
984263bc
MD
594.It Pa /usr/src/Makefile
595.It Pa /usr/src/Makefile.inc1
984263bc
MD
596.El
597.Sh SEE ALSO
598.Xr gcc 1 ,
599.Xr install 1 ,
600.Xr make 1 ,
984263bc
MD
601.Xr lpd 8 ,
602.Xr sendmail 8
603.Sh HISTORY
604The
605.Nm
606file appeared sometime before
607.Fx 4.0 .
608.Sh AUTHORS
cecff5c1 609This manual page was written by
984263bc
MD
610.An Mike W. Meyer Aq mwm@mired.org .
611.Sh BUGS
612This manual page may occasionally be out of date with respect to
613the options currently available for use in
614.Nm .
615Please check the
616.Pa /etc/defaults/make.conf
617file for the latest options which are available.