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