make.conf(5)
Carl A. Schmidt
carl at carlschmidt.net
Mon Sep 5 13:05:57 PDT 2005
On Mon, Sep 05, 2005 at 10:24:06AM -0700, Matthew Dillon wrote:
> :Attached is a couple of patches for make.conf and make.conf(5),
> :bringing them up to the current way of doing things.
> :--
> :Carl Schmidt
> :carl at xxxxxxxxxxxxxxx
>
> Neither applies cleanly to the latest HEAD. Could you update and
> regenerate ?
Okay, I think I've got this down now.
Please note, some of the options don't match up with exactly
what is going on right now. A couple reflect other changes
I've made that I want to send along as well (e.g., WANT_KERBEROS,
WANT_IDEA, NOCRYPT->NO_CRYPT, NOGAMES->NO_GAMES, etc.).
I can have the other patches ready in a day or so to actually
make those changes, if so desired.
--
Carl Schmidt
carl at xxxxxxxxxxxxxxx
Index: make.conf.5
===================================================================
RCS file: /home/dcvs/dfly/share/man/man5/make.conf.5,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 make.conf.5
--- make.conf.5 5 Sep 2005 19:15:21 -0000 1.1.1.1
+++ make.conf.5 5 Sep 2005 19:59:26 -0000
@@ -36,8 +36,7 @@
.Nm
contains settings that control the compilation of the
.Dx
-sources
-and ported applications.
+sources.
The file
.Nm
is generally created by the system administrator when the values need
@@ -47,13 +46,10 @@
.Nm
is not to run commands or perform compilation actions
directly.
-Instead, it is included by the
-various makefiles in
+Instead, it is included by the various makefiles in
.Pa /usr/src
-and
-.Pa /usr/ports
-which conditionalize their
-internal actions according to the settings found there.
+which conditionalize their internal actions according to the settings
+found there.
.Pp
The
.Pa /etc/make.conf
@@ -64,12 +60,11 @@
.Pa /etc/make.conf
when the system administrator wishes to override these defaults.
.Pp
-The build procedures occur in four broad areas: the world, the kernel,
-documentations and ports.
+The build procedures occur in three areas: world, kernel, and
+documentation.
Variables set in
.Nm
-may be applicable during builds in one, two, or all four of these
-areas.
+may be applicable during builds in one, two, or all of these areas.
They may be specified for a particular build via the
.Fl D
option of
@@ -77,46 +72,24 @@
.Pp
The following lists provide a name and short description for each
variable you can use during the indicated builds.
-The values of
-variables flagged as
+The values of variables flagged as
.Vt bool
-are ignored; the variable being
-set at all (even to
+are ignored; the variable being set at all (even to
.Dq Li FALSE
or
.Dq Li NO )
-causes it to
-be treated as if it were set.
+causes it to be treated as if it were set.
.Pp
The following list provides a name and short description for variables
that are used for all builds, or are used by the
.Pa makefiles
for things other than builds.
.Bl -tag -width Ar
-.It Va CFLAGS
-.Pq Vt str
-Controls the compiler setting when compiling C code.
-Optimization levels above
-.Fl O
-.Pq Fl O2 , No ...
-are not supported.
-.Va BDECFLAGS
-is provided as a set of
-.Xr gcc 1
-settings suggested by
-.An "Bruce Evans" Aq bde at xxxxxxxxxxx
-for developing and testing changes.
-They can be used, if set, by:
-.Pp
-.Bd -literal -offset indent
-CFLAGS+=${BDECFLAGS}
-.Ed
.It Va CPUTYPE
.Pq Vt str
-Controls which processor should be targeted for generated
-code. This controls processor-specific optimizations in
-certain code (currently only OpenSSL) as well as modifying
-the value of
+Controls which processor should be targeted for generated code.
+This controls processor-specific optimizations in certain code
+(currently only OpenSSL) as well as modifying the value of
.Va CFLAGS
and
.Va COPTFLAGS
@@ -135,32 +108,44 @@
for a list of recognized
.Va CPUTYPE
options.
+.It Va CCVER
+.Pq Vt str
+Controls which GCC version to use by default. It should be set as
+CCVER?= so as not to interfere with overrides from userland. We
+currently recommend that an override NOT be set in
+.Pa /etc/make.conf .
+Currently accepted values are cc34 and cc40 (experimental).
+.It Va CFLAGS
+.Pq Vt str
+Controls the compiler setting when compiling C code.
+Optimization levels above
+.Fl O
+.Pq Fl O2 , No ...
+are not supported.
+.Va BDECFLAGS
+is provided as a set of
+.Xr gcc 1
+settings suggested by
+.An "Bruce Evans" Aq bde at xxxxxxxxxxx
+for developing and testing changes.
+They can be used, if set, by:
+.Pp
+.Bd -literal -offset indent
+CFLAGS+=${BDECFLAGS}
+.Ed
.It Va NO_CPU_CFLAGS
.Pq Vt str
Setting this variable will prevent CPU specific compiler flags
from being automatically added to
.Va CFLAGS
during compile time.
-.It Va NO_CPU_COPTFLAGS
-.Pq Vt str
-Setting this variable will prevent CPU specific compiler flags
-from being automatically added to
-.Va COPTFLAGS
-during compile time.
-.It Va CVS_UPDATE
-.Pq Vt bool
-Set this to use
-.Xr cvs 1
-to update your ports with
-.Dq Li "make update" .
.It Va CXXFLAGS
.Pq Vt str
Controls the compiler settings when compiling C++ code.
.Va CXXFLAGS
is initially set to the value of
.Va CFLAGS .
-If you want to
-add to the
+If you want to add to the
.Va CXXFLAGS
value, use
.Dq Li +=
@@ -169,15 +154,13 @@
.It Va INSTALL
.Pq Vt str
the default install command.
-To have commands compared before doing
-the install, use
+To have components compared before doing the install, use
.Bd -literal -offset indent
INSTALL="install -C"
.Ed
.It Va LOCAL_DIRS
.Pq Vt str
-List any directories that should be entered when doing
-make's in
+List any directories that should be entered when running make
.Pa /usr/src
in this variable.
.It Va MAKE_SHELL
@@ -193,6 +176,9 @@
.Bd -literal -offset indent
MAKE_SHELL?=sh
.Ed
+.It Va MODULES_OVERRIDE
+.Pq Vt str
+Set to a list of modules to build instead of all of them.
.It Va MTREE_FOLLOWS_SYMLINKS
.Pq Vt str
Set this to
@@ -204,10 +190,13 @@
.Pq Vt bool
Set this to not update the doc tree during
.Dq Li "make update" .
-.It Va NO_PORTSUPDATE
-.Pq Vt bool
-Set this to not update the ports tree during
-.Dq Li "make update" .
+.It Va STRIP
+.Pq Vt str
+Set this to the flag to pass the
+.Xr strip 1
+command.
+If set to a blank value, components will be installed with debugging
+symbols.
.It Va SUP_UPDATE
.Pq Vt bool
Set this to use
@@ -256,14 +245,6 @@
.Dq Li "make update" .
This defaults to
.Pa /usr/share/examples/cvsup/secure\-supfile .
-.It Va PORTSSUPFILE
-.Pq Vt str
-The ports
-.Ar supfile
-to use when doing a
-.Dq Li "make update" .
-This defaults to
-.Pa /usr/share/examples/cvsup/ports\-supfile .
.It Va DOCSUPFILE
.Pq Vt str
The documentation
@@ -273,7 +254,9 @@
This defaults to
.Pa /usr/share/examples/cvsup/doc\-supfile .
.It Va WARNS_WERROR
-Causes -Werror to be added to
+Causes
+.Fl Werror
+to be added to
.Va CFLAGS
when WARNS is in effect.
.El
@@ -337,9 +320,16 @@
still mount the server's
.Pa /
rather than load the server's kernel.
-.It Va MODULES_OVERRIDE
+.It Va NO_CPU_COPTFLAGS
.Pq Vt str
-Set to a list of modules to build instead of all of them.
+Setting this variable will prevent CPU specific compiler flags
+from being automatically added to
+.Va COPTFLAGS
+during compile time.
+.It Va NO_KERNELCLEAN
+.Pq Vt bool
+Set this to skip the clean target when using
+.Dq Li "${MAKE} buildkernel" .
.It Va NO_KERNELCONFIG
.Pq Vt bool
Set this to skip running
@@ -360,90 +350,48 @@
The following list provides a name and short description for variables
that are used during the world build:
.Bl -tag -width Ar
-.It Va COMPAT1X
-.Pq Vt bool
-Set to install the
-.Fx
-1 compatibility libraries.
-.It Va COMPAT20
-.Pq Vt bool
-Set to install the
-.Fx 2.0
-compatibility libraries.
-.It Va COMPAT21
-.Pq Vt bool
-Set to install the
-.Fx 2.1
-compatibility libraries.
-.It Va COMPAT22
-.Pq Vt bool
-Set to install the
-.Fx 2.2
-compatibility libraries.
-.It Va COMPAT3X
-.Pq Vt bool
-Set to install the
-.Fx
-3
-compatibility libraries.
-.It Va COMPAT4X
-.Pq Vt bool
-Set to install the
-.Fx
-4
-compatibility libraries.
-.It Va ENABLE_SUIDPERL
-.Pq Vt bool
-Set to enable the installation of an suid
-.Xr perl 1
-binary.
-.It Va FETCH_CMD
-.Pq Vt str
-Command to use to fetch files.
-Normally
-.Xr fetch 1 .
-.It Va KRB5_HOME
-.Pq Vt str
-If you want to install the MIT Kerberos5 port somewhere other than
-.Pa /usr/local ,
-define this. This is also used to tell ssh1 that kerberos is needed.
-.It Va MAKE_IDEA
-.Pq Vt bool
-Set to build the IDEA encryption code.
-This code is patented in the USA and many European countries.
-It is
-.Em "YOUR RESPONSIBILITY"
-to determine if you can legally use IDEA.
-.It Va MAKE_KERBEROS5
-.Pq Vt bool
-Set this to build Kerberos5 (KTH Heimdal).
-.Em WARNING !
-This is still experimental code.
-If you need stable Kerberos5, use the
-port(s).
.It Va ENABLE_SUID_K5SU
.Pq Vt bool
-Set this if you wish to use the k5su utility. Otherwise, it will be
-installed without the set-user-ID bit set.
+Set this if you wish to use the k5su utility.
+Otherwise, it will be installed without the set-user-ID bit set.
+This is only relevant if
+.Va WANT_KERBEROS
+is defined.
.It Va ENABLE_SUID_SSH
.Pq Vt bool
Set this to install
.Xr ssh 1
with the setuid bit turned on.
+.It Va FETCH_ENV
+.Pq Vt str
+If you're behind a firewall and need FTP or HTTP proxy services for
+.Xr fetch 1 ,
+the following examples provide the necessary syntax.
+.Pp
+.Bd -literal -offset indent
+FETCH_ENV=FTP_PROXY=ftp://10.0.0.1:21
+FETCH_ENV=FTP_PROXY=http://10.0.0.1:80
+.Ed
.It Va MODULES_WITH_WORLD
.Pq Vt bool
Set to build modules with the system instead of the kernel.
-.It Va NO_CVS
-.Pq Vt bool
-Set to not build CVS.
.It Va NO_BIND
.Pq Vt bool
Set to not build BIND.
+.It Va NO_CRYPT
+.Pq Vt bool
+Set to not build crypto code.
+.It Va NO_CVS
+.Pq Vt bool
+Set to not build CVS.
.It Va NO_FORTRAN
.Pq Vt bool
Set to not build
.Xr g77 1
and related libraries.
+.It Va NO_GAMES
+.Pq Vt bool
+Set to not build games.
.It Va NO_GDB
.Pq Vt bool
Set to not build
@@ -454,6 +402,12 @@
.It Va NO_IPFILTER
.Pq Vt bool
Set to not build IP Filter package.
+.It Va NO_LIBC_R
+.Pq Vt bool
+Set to not build
+.Nm libc_r
+(reentrant version of
+.Nm libc ) .
.It Va NO_LPR
.Pq Vt bool
Set to not build
@@ -464,9 +418,6 @@
Set to not build the
.Xr mailwrapper 8
MTA selector.
-.It Va NOMAN
-.Pq Vt bool
-Set to not build manual pages
.It Va NO_MAKEDEV
.Pq Vt bool
Set to avoid running
@@ -489,6 +440,9 @@
Set to not build
.Xr sendmail 8
and related programs.
+.It Va NO_SHARE
+.Pq Vt bool
+Set to not enter the share subdirectory.
.It Va NO_SHAREDOCS
.Pq Vt bool
Set to not build the
@@ -509,49 +463,32 @@
.Dq Li "${MAKE} clean"
instead of
.Dq Li "${MAKE} cleandir" .
-.It Va NOCRYPT
+.It Va NOFSCHG
.Pq Vt bool
-Set to not build any crypto code.
-.It Va NOGAMES
-.Pq Vt bool
-Set to not build games.
+Set to not install certain components with flag fschg.
+This is useful in a jailed environment.
.It Va NOINFO
.Pq Vt bool
Set to not make or install
.Xr info 5
files.
-.It Va NOLIBC_R
+.It Va NOINFOCOMPRESS
.Pq Vt bool
-Set to not build
-.Nm libc_r
-(reentrant version of
-.Nm libc ) .
-.It Va NOMANCOMPRESS
+Set to not compress the info pages.
+.It Va NOMAN
.Pq Vt bool
-Set to install man pages uncompressed.
-.It Va NOPERL
+Set to not build manual pages
+.It Va NOMANCOMPRESS
.Pq Vt bool
-Set to avoid building
-.Xr perl 1 .
+Set to not compress the manual pages.
.It Va NOPROFILE
.Pq Vt bool
Set to avoid compiling profiled libraries.
-.It Va NOSHARE
-.Pq Vt bool
-Set to not build in the
-.Pa share
-subdir.
-.It Va PERL_THREADED
-.Pq Vt bool
-Set to enable the building and installation of
-.Xr perl 1
-with thread
-support.
.It Va PPP_NOSUID
.Pq Vt bool
Set to disable the installation of
.Xr ppp 8
-as an suid root program.
+with the set-user-ID bit on.
.It Va SENDMAIL_MC
.Pq Vt str
The default
@@ -659,18 +596,26 @@
approximately twice as large as the number of lines in
.Pa /etc/passwd .
The default number is 20011.
+.It Va WANT_GCC40
+.Pq Vt bool
+Set to build the experimental version of GCC (4.0).
+.It Va WANT_IDEA
+.Pq Vt bool
+Set to build the IDEA encryption code.
+This code is patented in the USA and many European countries.
+It is
+.Em "YOUR RESPONSIBILITY"
+to determine if you can legally use IDEA.
+.It Va WANT_KERBEROS
+.Pq Vt bool
+Set this to build Kerberos5 (KTH Heimdal).
+.Em WARNING !
+This is still experimental code.
.El
.Pp
The following list provides a name and short description for variables
that are used when building documentation.
.Bl -tag -width Ar
-.It Va DISTDIR
-.Pq Vt str
-Where distfiles are kept.
-Normally, this is
-.Pa distfiles
-in
-.Va PORTSDIR .
.It Va DOC_LANG
.Pq Vt str
The list of languages and encodings to build and install.
@@ -685,209 +630,6 @@
for postscript or graphics printers with a ghostscript
filter.
.El
-.Pp
-The following list provides a name and short description for variables
-that are used when building ports:
-.Bl -tag -width Ar
-.It Va FORCE_PKG_REGISTER
-.Pq Vt bool
-Set this to override any existing package registration.
-.It Va HAVE_MOTIF
-.Pq Vt bool
-Set this if you have Motif on your system.
-.It Va KRB5_HOME
-.Pq Vt str
-Set this if you want to install the MIT Kerberos5 port somewhere
-other than
-.Pa /usr/local .
-.It Va LOCALBASE
-.Pq Vt str
-Set this to the base directory that non\-X ports should be
-installed in.
-It provides the default for
-.Va PREFIX
-when building in
-.Pa /usr/ports .
-.It Va MASTER_SITE_AFTERSTEP
-.Pq Vt str
-Set this to change the master site for AfterStep ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_BACKUP
-.Pq Vt str
-Controls the site location that ports check for distfiles if the
-locations listed in their
-.Pa Makefile
-do not work.
-The last part of the path must be
-.Dq Li /${DIST_SUBDIR}/ .
-.It Va MASTER_SITE_COMP_SOURCES
-.Pq Vt str
-Controls the master site location for
-.Pa comp.sources
-ports.
-The
-last part of the path must be
-.Dq Li %SUBDIR%/
-.It Va MASTER_SITE_GNOME
-.Pq Vt str
-Controls the master site location for GNOME ports.
-The
-last part of the path must be
-.Dq Li /%SUBDIR%/
-.It Va MASTER_SITE_GNU
-.Pq Vt str
-Controls the master site location for GNU ports.
-The
-last part of the path must be
-.Dq Li /%SUBDIR%/
-.It Va MASTER_SITE_KDE
-.Pq Vt str
-Controls the master site location for KDE ports.
-The
-last part of the path must be
-.Dq Li /%SUBDIR%/
-.It Va MASTER_SITE_FREEBSD
-.Pq Vt bool
-If set, go to the master
-.Fx
-site for all files.
-.It Va MASTER_SITE_MOZILLA
-.Pq Vt str
-Controls the master site location for Mozilla ports.
-The
-last part of the path must be
-.Dq Li /%SUBDIR%/
-.It Va MASTER_SITE_OVERRIDE
-.Pq Vt str
-If set, this site is checked before the sites listed in the ports
-.Pa Makefile .
-You can have it check the backup site first by like so:
-.Bd -literal -offset indent
-MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
-.Ed
-.It Va MASTER_SITE_PERL_CPAN
-.Pq Vt str
-Controls the master site location for Perl ports.
-The
-last part of the path must be
-.Bd -literal -offset indent
-/%SUBDIR%/
-.Ed
-.It Va MASTER_SORT_REGEX
-.Pq Vt str
-Set this to control the sort order for mirror sets.
-To set it to
-prefer mirrors in the
-.Pa .jp
-domain, use:
-.Bd -literal -offset indent
-MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\.
-.Ed
-.Pp
-Users of other ccTLD domains should change the
-.Dq Li jp
-to the
-appropriate domain.
-.It Va MASTER_SITE_RINGSERVER
-.Pq Vt str
-Controls the master site location for Ringserver ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_RUBY
-.Pq Vt str
-Controls the master site location for Ruby ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_SUNSITE
-.Pq Vt str
-Controls the master site location for Sunsite ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_TCLTK
-.Pq Vt str
-Controls the master site location for Tcl and Tk ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_TEX_CTAN
-.Pq Vt str
-Controls the master site location for TeX ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_WINDOWMAKER
-.Pq Vt str
-Controls the master site location for WindowMaker ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_XCONTRIB
-.Pq Vt str
-Controls the master site location for contributed X ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_XEMACS
-.Pq Vt str
-Controls the master site location for Xemacs ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MASTER_SITE_XFREE
-.Pq Vt str
-Controls the master site location for XFree ports.
-The last
-part of the path must be
-.Dq Li /%SUBDIR%/ .
-.It Va MOTIFLIB
-.Pq Vt str
-Location of
-.Pa libXm.a
-and
-.Pa libXm.so .
-.It Va MOTIF_STATIC
-.Pq Vt bool
-Set this if you want ports that use Motif to be built so they
-can be run on systems without the Motif shared libraries.
-.It Va NOCLEANDEPENDS
-.Pq Vt bool
-Set this to prevent
-.Dq Li "make clean"
-from cleaning the ports that the one being cleaned depends on.
-.It Va NOPORTDOCS
-.Pq Vt bool
-Set this to disable installing additional documentation with ports.
-.It Va PACKAGES
-.Pq Vt str
-Used only for the package target; the directory for the package tree.
-.It Va PATCH_SITES
-.Pq Vt str
-Primary location(s) for the distribution of patch files.
-.It Va PORTSDIR
-.Pq Vt str
-The location of the ports tree.
-.It Va USA_RESIDENT
-.Pq Vt bool
-Set this if you are a resident of the USA so that ports that
-need to can attempt to comply with U.S. export regulations.
-.It Va WITHOUT_X11
-.Pq Vt bool
-Set this so that ports that can be built with or without X11
-support will build without X11 support by default.
-.It Va WRKDIRPREFIX
-.Pq Vt str
-Where to create temporary files used when building ports.
-.It Va X11BASE
-.Pq Vt str
-Should be set to where the X11 distribution has been
-installed if it is installed anywhere other than
-.Pa /usr/X11R6 .
-.El
.Sh FILES
.Bl -tag -width /etc/defaults/make.conf -compact
.It Pa /etc/defaults/make.conf
@@ -910,8 +652,7 @@
file appeared sometime before
.Fx 4.0 .
.Sh AUTHORS
-This
-manual page was written by
+This manual page was written by
.An Mike W. Meyer Aq mwm at xxxxxxxxx .
.Sh BUGS
This manual page may occasionally be out of date with respect to
More information about the Submit
mailing list