make.conf revision 73043
1290000Sglebius# $FreeBSD: head/share/examples/etc/make.conf 73043 2001-02-25 21:42:12Z kris $
2132451Sroberto#
3132451Sroberto# NOTE:  Please would any committer updating this file also update the
4290000Sglebius# make.conf(5) manual page, if necessary, which is located in
5290000Sglebius# src/share/man/man5/make.conf.5.
6132451Sroberto#
7132451Sroberto# This file, if present, will be read by make (see /usr/share/mk/sys.mk).
8132451Sroberto# It allows you to override macro definitions to make without changing
9132451Sroberto# your source tree, or anything the source tree installs.
10132451Sroberto#
11132451Sroberto# This file must be in valid Makefile syntax.
12132451Sroberto#
13132451Sroberto# You have to find the things you can put here in the Makefiles and 
14132451Sroberto# documentation of the source tree.
15132451Sroberto#
16132451Sroberto#
17182007Sroberto# The CPUTYPE variable controls which processor should be targetted for
18182007Sroberto# generated code.  This controls processor-specific optimizations in
19182007Sroberto# certain code (currently only OpenSSL) as well as modifying the value
20132451Sroberto# of CFLAGS to contain the appropriate optimization directive to gcc.
21290000Sglebius# The automatic setting of CFLAGS may be overridden using the
22290000Sglebius# NO_CPU_CFLAGS variable below.
23290000Sglebius# Currently the following CPU types are recognised:
24132451Sroberto#   Intel x86 architecture: k7 k6 k5 i686 i586 i486 i386
25290000Sglebius#   Alpha/AXP architecture: ev6 pca56 ev56 ev5 ev45 ev4
26290000Sglebius#   Intel ia64 architecture: itanium
27290000Sglebius#
28290000Sglebius#CPUTYPE=i686
29290000Sglebius#NO_CPU_CFLAGS=	true	# Don't add -march=<cpu> to CFLAGS automatically
30290000Sglebius#
31290000Sglebius# CFLAGS controls the compiler settings used when compiling C code.
32290000Sglebius# Note that optimization settings above -O (-O2, ...) are not recommended
33290000Sglebius# or supported for compiling the world or the kernel - please revert any
34290000Sglebius# nonstandard optimization settings to "-O" before submitting bug reports
35290000Sglebius# to the developers.
36290000Sglebius# Note also that at this time the -O2 setting is known to produce BROKEN
37290000Sglebius# CODE on the Alpha platform.
38290000Sglebius#
39290000Sglebius#CFLAGS= -O -pipe
40290000Sglebius#
41290000Sglebius# CXXFLAGS controls the compiler settings used when compiling C++ code.
42290000Sglebius# Note that CXXFLAGS is initially set to the value of CFLAGS.  If you wish
43290000Sglebius# to add to CXXFLAGS value, "+=" must be used rather than "=".  Using "="
44290000Sglebius# alone will remove the often needed contents of CFLAGS from CXXFLAGS.
45290000Sglebius#
46290000Sglebius#CXXFLAGS+= -fmemoize-lookups -fsave-memoized
47290000Sglebius#
48290000Sglebius# BDECFLAGS are a set of gcc warning settings that Bruce Evans has suggested
49290000Sglebius# for use in developing FreeBSD and testing changes.  They can be used by
50290000Sglebius# putting "CFLAGS+=${BDECFLAGS}" in /etc/make.conf.
51290000Sglebius#
52290000SglebiusBDECFLAGS=	-W -Wall -ansi -pedantic -Wbad-function-cast -Wcast-align \
53290000Sglebius		-Wcast-qual -Wchar-subscripts -Wconversion -Winline \
54290000Sglebius		-Wmissing-prototypes -Wnested-externs -Wpointer-arith \
55290000Sglebius		-Wredundant-decls -Wshadow -Wstrict-prototypes -Wwrite-strings
56290000Sglebius#
57290000Sglebius# To compile just the kernel with special optimizations, you should use
58290000Sglebius# this instead of CFLAGS (which is not applicable to kernel builds anyway).
59290000Sglebius# There is very little to gain by using higher optimization levels, and doing
60290000Sglebius# so can cause problems.
61290000Sglebius#
62290000Sglebius#COPTFLAGS= -O -pipe
63290000Sglebius#
64290000Sglebius# Compare before install
65290000Sglebius#INSTALL=install -C
66290000Sglebius#
67290000Sglebius# Mtree will follow symlinks
68290000Sglebius#MTREE_FOLLOWS_SYMLINKS= -L
69290000Sglebius#
70290000Sglebius# To enable installing suidperl with the setuid bit turned on
71290000Sglebius#ENABLE_SUIDPERL=	true
72290000Sglebius#
73290000Sglebius# To build perl with thread support
74290000Sglebius#PERL_THREADED=	true
75290000Sglebius#
76290000Sglebius# To build ppp with normal permissions
77290000Sglebius#PPP_NOSUID=	true
78290000Sglebius#
79290000Sglebius# To enable installing ssh(1) with the setuid bit turned on
80132451Sroberto#ENABLE_SUID_SSH=	true
81200576Sroberto#
82132451Sroberto# To avoid building various parts of the base system:
83200576Sroberto#NO_CVS=	true	# do not build CVS
84132451Sroberto#NO_BIND=	true	# do not build BIND
85132451Sroberto#NO_FORTRAN=	true	# do not build g77 and related libraries
86132451Sroberto#NO_LPR=	true	# do not build lpr and related programs
87132451Sroberto#NO_MAILWRAPPER=true	# do not build the mailwrapper(8) MTA selector
88132451Sroberto#NO_MODULES=	true	# do not build modules with the kernel
89132451Sroberto#NO_OBJC=	true	# do not build Objective C support
90132451Sroberto#NO_OPENSSH=	true	# do not build OpenSSH
91132451Sroberto#NO_OPENSSL=	true	# do not build OpenSSL (implies NO_OPENSSH)
92132451Sroberto#NO_SENDMAIL=	true	# do not build sendmail and related programs
93132451Sroberto#NO_SHAREDOCS=	true	# do not build the 4.4BSD legacy docs
94132451Sroberto#NO_TCSH=	true	# do not build and install /bin/csh (which is tcsh)
95132451Sroberto#NO_X=		true	# do not compile in XWindows support (e.g. doscmd)
96132451Sroberto#NOCRYPT=	true	# do not build any crypto code
97132451Sroberto#NOGAMES=	true	# do not build games (games/ subdir)
98290000Sglebius#NOINFO=	true	# do not make or install info files
99290000Sglebius#NOLIBC_R=	true	# do not build libc_r (re-entrant version of libc)
100290000Sglebius#NOPERL=	true	# do not build perl. Disables OpenSSL optimizations
101290000Sglebius#NOPROFILE=	true	# Avoid compiling profiled libraries
102290000Sglebius#NOSECURE=	true	# do not build crypto code in secure/ subdir
103182007Sroberto#NOSHARE=	true	# do not go into the share subdir
104182007Sroberto#NOUUCP=	true	# do not build uucp related programs
105182007Sroberto#
106290000Sglebius# To build the OpenSSL manpages, uncomment the following.  These are not
107290000Sglebius# built by default because they clobber a number of system manpages with
108290000Sglebius# manpages describing parts of the OpenSSL toolkit, including passwd(1),
109290000Sglebius# err(3), md5(3), and others.
110290000Sglebius#
111290000Sglebius#WANT_OPENSSL_MANPAGES=	true
112290000Sglebius#
113290000Sglebius# To build sys/modules when building the world (our old way of doing things)
114290000Sglebius#MODULES_WITH_WORLD=true	# do not build modules when building kernel
115290000Sglebius#
116290000Sglebius#
117290000Sglebius# Controls for building various OPTIONAL parts of the crypto system.
118290000Sglebius# Patents are involved - you must not use these unless you either have
119290000Sglebius# a license or would be within patent 'fair use' provisions.
120290000Sglebius# Generally 'educational use' is OK, but personal (even non-commercial)
121290000Sglebius# use is not.
122290000Sglebius# *** It is YOUR RESPONSIBILITY to determine if you can use these! ***
123290000Sglebius#
124290000Sglebius# Patented in the USA and many european countries - thought to be OK to
125290000Sglebius# use for any non-commercial use.  This is optional.
126290000Sglebius#MAKE_IDEA=	YES	# IDEA (128 bit symmetric encryption)
127290000Sglebius#
128290000Sglebius# To avoid running MAKEDEV all on /dev during install:
129301301Sdelphij#NO_MAKEDEV=	true
130301301Sdelphij#
131301301Sdelphij# If you do not want unformatted manual pages to be compressed
132182007Sroberto# when they are installed:
133182007Sroberto#
134290000Sglebius#NOMANCOMPRESS=	true
135290000Sglebius#
136182007Sroberto#
137200576Sroberto# If you want the "compat" shared libraries installed as part of your normal
138182007Sroberto# builds, uncomment these:
139182007Sroberto#
140182007Sroberto#COMPAT1X=	yes
141200576Sroberto#COMPAT20=	yes
142290000Sglebius#COMPAT21=	yes
143290000Sglebius#COMPAT22=	yes
144290000Sglebius#COMPAT3X=	yes
145290000Sglebius#
146290000Sglebius#
147290000Sglebius# If you do not want additional documentation (some of which are
148290000Sglebius# a few hundred KB's) for ports to be installed:
149290000Sglebius#
150182007Sroberto#NOPORTDOCS=	true
151290000Sglebius#
152290000Sglebius#
153290000Sglebius# Default format for system documentation, depends on your printer.
154290000Sglebius# Set this to "ascii" for simple printers or screen
155290000Sglebius#
156290000Sglebius#PRINTERDEVICE=	ps
157290000Sglebius#
158290000Sglebius#
159290000Sglebius# How long to wait for a console keypress before booting the default kernel.
160182007Sroberto# This value is approximately in milliseconds. Keypresses are accepted by the
161182007Sroberto# BIOS before booting from disk, making it possible to give custom boot
162182007Sroberto# parameters even when this is set to 0.
163290000Sglebius#
164290000Sglebius#BOOTWAIT=0
165290000Sglebius#BOOTWAIT=30000
166290000Sglebius#
167290000Sglebius# By default, the system will always use the keyboard/video card as system
168290000Sglebius# console.  However, the boot blocks may be dynamically configured to use a
169290000Sglebius# serial port in addition to or instead of the keyboard/video console.
170290000Sglebius#
171290000Sglebius# By default we use COM1 as our serial console port *if* we're going to use
172290000Sglebius# a serial port as our console at all.  Alter as necessary.
173290000Sglebius#
174290000Sglebius#   COM1: = 0x3F8, COM2: = 0x2F8, COM3: = 0x3E8, COM4: = 0x2E8
175290000Sglebius#
176290000Sglebius#BOOT_COMCONSOLE_PORT=	0x3F8
177290000Sglebius#
178290000Sglebius# The default serial console speed is 9600.  Set the speed to a larger value
179290000Sglebius# for better interactive response.
180290000Sglebius#
181290000Sglebius#BOOT_COMCONSOLE_SPEED=	115200
182290000Sglebius#
183200576Sroberto# By default the 'pxeboot' loader retrieves the kernel via NFS.  Defining
184290000Sglebius# this and recompiling /usr/src/sys/boot will cause it to retrieve the kernel
185182007Sroberto# via TFTP.  This allows pxeboot to load a custom BOOTP diskless kernel yet
186200576Sroberto# still mount the server's '/' (i.e. rather then load the server's kernel).
187182007Sroberto#
188182007Sroberto#LOADER_TFTP_SUPPORT= YES
189290000Sglebius#
190290000Sglebius# By default, this points to /usr/X11R6 for XFree86 releases 3.0 or earlier.
191290000Sglebius# If you have a XFree86 from before 3.0 that has the X distribution in
192290000Sglebius# /usr/X386, you want to uncomment this.
193290000Sglebius#
194290000Sglebius#X11BASE=	/usr/X386
195290000Sglebius#
196290000Sglebius#
197182007Sroberto# If you have Motif on your system, uncomment this.
198290000Sglebius#
199290000Sglebius#HAVE_MOTIF=	yes
200290000Sglebius#MOTIF_STATIC=  yes
201290000Sglebius#
202290000Sglebius# If the default location of the Motif library (specified below) is NOT
203290000Sglebius# appropriate for you, uncomment this and change it to the correct value.
204290000Sglebius# If your motif is in ${X11BASE}/lib, you don't need to touch this line.
205290000Sglebius#
206290000Sglebius#MOTIFLIB=	-L${X11BASE}/lib -lXm
207290000Sglebius#
208290000Sglebius#
209290000Sglebius# If you're resident in the USA, this will help various ports to determine
210290000Sglebius# whether or not they should attempt to comply with the various U.S.
211290000Sglebius# export regulations on certain types of software which do not apply to
212290000Sglebius# anyone else in the world.
213290000Sglebius#
214290000Sglebius#USA_RESIDENT=		YES
215290000Sglebius#
216290000Sglebius#
217290000Sglebius# Override "don't install a port that's already installed" behavior.
218290000Sglebius# One might wish to do this for ports debugging or to unconditionally
219290000Sglebius# reinstall a set of suspect/broken ports.
220200576Sroberto#
221200576Sroberto#FORCE_PKG_REGISTER=    YES
222200576Sroberto#
223200576Sroberto#
224200576Sroberto# If you're behind a firewall and need FTP or HTTP proxy services for
225200576Sroberto# ports collection fetching to work, the following examples give the
226200576Sroberto# necessary syntax.  See the fetch(3) man page for details.
227200576Sroberto#
228200576Sroberto#FTP_PROXY=      10.0.0.1:21
229200576Sroberto#HTTP_PROXY=     10.0.0.1:80
230200576Sroberto#
231200576Sroberto#
232200576Sroberto# Port master sites.
233200576Sroberto#
234200576Sroberto# If you want your port fetches to go somewhere else than the default
235200576Sroberto# (specified below) in case the distfile/patchfile was not found,
236200576Sroberto# uncomment this and change it to a location nearest you.  (Don't
237200576Sroberto# remove the "/${DIST_SUBDIR}/" part.)
238200576Sroberto#
239200576Sroberto#MASTER_SITE_BACKUP?=	\
240200576Sroberto#	ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
241290000Sglebius#
242290000Sglebius# If you want your port fetches to check the above site first (before
243290000Sglebius# the MASTER_SITES specified in the port Makefiles), uncomment the
244290000Sglebius# line below.  You can also change the right side to point to wherever 
245290000Sglebius# you want.
246290000Sglebius#
247182007Sroberto#MASTER_SITE_OVERRIDE?=	${MASTER_SITE_BACKUP}
248290000Sglebius#
249182007Sroberto# Some ports use a special variable to point to a collection of
250290000Sglebius# mirrors of well-known software archives.  If you have a mirror close
251290000Sglebius# to you, uncomment any of the following lines and change it to that
252290000Sglebius# address.  (Don't remove the "/%SUBDIR%/" part.)
253200576Sroberto#
254200576Sroberto# Note: the right hand sides of the following lines are only for your
255290000Sglebius# information.  For a full list of default sites, take a look at
256290000Sglebius# bsd.sites.mk.
257290000Sglebius#
258290000Sglebius#MASTER_SITE_XCONTRIB=	ftp://ftp.x.org/contrib/%SUBDIR%/
259290000Sglebius#MASTER_SITE_XFREE=	ftp://ftp.freesoftware.com/pub/XFree86/%SUBDIR%/source/
260290000Sglebius#MASTER_SITE_GNU=	ftp://ftp.gnu.org/gnu/%SUBDIR%/
261290000Sglebius#MASTER_SITE_PERL_CPAN=	ftp://ftp.digital.com/pub/plan/perl/CPAN/modules/by-module/%SUBDIR%/
262290000Sglebius#MASTER_SITE_TEX_CTAN=	ftp://ftp.tex.ac.uk/tex-archive/%SUBDIR%/
263290000Sglebius#MASTER_SITE_SUNSITE=	ftp://metalab.unc.edu/pub/Linux/%SUBDIR%/
264290000Sglebius#MASTER_SITE_RINGSERVER=	ftp://ring.ocn.ad.jp/pub/%SUBDIR%/
265290000Sglebius#MASTER_SITE_KDE=	ftp://ftp.kde.org/pub/kde/%SUBDIR%/
266290000Sglebius#MASTER_SITE_COMP_SOURCES=	ftp://gatekeeper.dec.com/pub/usenet/comp.sources.%SUBDIR%/
267290000Sglebius#MASTER_SITE_GNOME=	ftp://ftp.gnome.org/pub/GNOME/sources/%SUBDIR%/
268290000Sglebius#MASTER_SITE_AFTERSTEP=	ftp://ftp.afterstep.org/%SUBDIR%/
269290000Sglebius#MASTER_SITE_WINDOWMAKER=	ftp://ftp.windowmaker.org/pub/%SUBDIR%/
270290000Sglebius#MASTER_SITE_MOZILLA=	ftp://ftp.yggdrasil.com/mirrors/site/ftp.mozilla.org/pub/%SUBDIR%/
271290000Sglebius#MASTER_SITE_XEMACS=	ftp://ftp.sunsite.utk.edu/pub/xemacs/%SUBDIR%/
272290000Sglebius#MASTER_SITE_TCLTK=	ftp://ftp.uu.net/languages/tcl/%SUBDIR%/
273290000Sglebius#MASTER_SITE_RUBY=	ftp://ftp.fu-berlin.de/unix/languages/ruby/%SUBDIR%/
274290000Sglebius#
275290000Sglebius# Also it is highly recommended that you configure MASTER_SORT_REGEX
276290000Sglebius# to choose better mirror sites for you.  List awk(1)-style regular
277290000Sglebius# expressions separated by space so MASTER_SITES will be sorted in
278290000Sglebius# that order.  The following example is for Japanese users; change
279182007Sroberto# "jp" part to your ccTLD ("de", "ru", "uk", etc.) or the domain names
280182007Sroberto# of your nearest/upstream networks to meet your needs.
281290000Sglebius#
282290000Sglebius#MASTER_SORT_REGEX?=	^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\.
283290000Sglebius#
284290000Sglebius# Kerberos IV
285290000Sglebius# If you want KerberosIV (KTH eBones), define this:
286290000Sglebius#
287290000Sglebius#MAKE_KERBEROS4=	yes
288290000Sglebius#
289290000Sglebius#
290290000Sglebius# Kerberos 5
291290000Sglebius# If you want KerberosIV (KTH Heimdal), define this:
292290000Sglebius# ** WARNING **
293290000Sglebius# ** WARNING ** This is very experimental at this stage. If you
294290000Sglebius# ** WARNING ** need stable Kerberos5, rather use the port(s).
295290000Sglebius# ** WARNING **
296290000Sglebius#
297290000Sglebius#MAKE_KERBEROS5=	yes
298290000Sglebius#
299290000Sglebius#
300290000Sglebius# Kerberos5
301182007Sroberto# If you want to install MIT Kerberos5 port somewhere other than /usr/local,
302182007Sroberto# define this (this is also used to tell ssh1 that kerberos is needed):
303182007Sroberto#
304182007Sroberto#KRB5_HOME=		/usr/local
305290000Sglebius#
306290000Sglebius#
307290000Sglebius# CVSup update flags.  Edit SUPFILE settings to reflect whichever distribution
308290000Sglebius# file(s) you use on your site (see /usr/share/examples/cvsup/README for more
309290000Sglebius# information on CVSup and these files).  To use, do "make update" in /usr/src.
310290000Sglebius#
311200576Sroberto#SUP_UPDATE=     yes
312200576Sroberto#
313200576Sroberto#SUP=            /usr/local/bin/cvsup
314200576Sroberto#SUPFLAGS=       -g -L 2
315200576Sroberto#SUPHOST=        cvsup.uk.FreeBSD.org
316200576Sroberto#SUPFILE=        /usr/share/examples/cvsup/standard-supfile
317200576Sroberto#SUPFILE1=       /usr/share/examples/cvsup/secure-supfile
318200576Sroberto#PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
319200576Sroberto#DOCSUPFILE=     /usr/share/examples/cvsup/doc-supfile
320200576Sroberto#
321200576Sroberto# top(1) uses a hash table for the user names.  The size of this hash
322200576Sroberto# can be tuned to match the number of local users.  The table size should
323200576Sroberto# be a prime number approximately twice as large as the number of lines in
324200576Sroberto# /etc/passwd.  The default number is 20011.
325200576Sroberto#
326200576Sroberto#TOP_TABLE_SIZE= 101
327200576Sroberto#
328200576Sroberto# Documentation
329200576Sroberto#
330200576Sroberto# The list of languages and encodings to build and install
331200576Sroberto#
332200576Sroberto#DOC_LANG=	en_US.ISO_8859-1 ru_RU.KOI8-R
333200576Sroberto#
334200576Sroberto#
335200576Sroberto# sendmail
336182007Sroberto#
337182007Sroberto# The following sets the default m4 configuration file to use at
338290000Sglebius# install time.  Use with caution as a make install will overwrite
339182007Sroberto# any existing /etc/mail/sendmail.cf.  Note that SENDMAIL_CF is now
340290000Sglebius# deprecated.  The value should be a fully qualified path name.
341290000Sglebius#
342182007Sroberto#SENDMAIL_MC=/etc/sendmail/freebsd.mc
343132451Sroberto#
344290000Sglebius# If you need to build additional .cf files during a make buildworld,
345132451Sroberto# include the full paths to the .mc files in SENDMAIL_ADDITIONAL_MC.
346290000Sglebius#
347182007Sroberto#SENDMAIL_ADDITIONAL_MC=/etc/mail/foo.mc /etc/mail/bar.mc
348132451Sroberto#
349132451Sroberto# Setting the following variables modifes the build environment for
350132451Sroberto# sendmail and its related utilities. For example, SASL support can be
351132451Sroberto# added with settings such as:
352290000Sglebius#
353290000Sglebius#	SENDMAIL_CFLAGS=-I/usr/local/include -DSASL
354290000Sglebius#	SENDMAIL_LDFLAGS=-L/usr/local/lib
355290000Sglebius#	SENDMAIL_LDADD=-lsasl
356290000Sglebius#
357290000Sglebius# Note: If you are using Cyrus SASL with other applications which require
358132451Sroberto#	access to the sasldb file, you should add '-D_FFR_UNSAFE_SASL' to
359132451Sroberto#	SENDMAIL_CFLAGS.  Also, add the following to your sendmail.mc file:
360132451Sroberto#
361290000Sglebius#	define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLFile')
362290000Sglebius#
363132451Sroberto#SENDMAIL_CFLAGS=
364132451Sroberto#SENDMAIL_LDFLAGS=
365290000Sglebius#SENDMAIL_LDADD=
366290000Sglebius#SENDMAIL_DPADD=
367290000Sglebius