make.conf.5: document FFLAGS and FCFLAGS
[portage.git] / man / make.conf.5
index 68b163d886d1b61023e92e1635ff0040a70fc472..04e7a5fa76e35e529c0fb933e07395105205c6bb 100644 (file)
@@ -1,24 +1,30 @@
-.TH "MAKE.CONF" "5" "Aug 2008" "Portage 2.2" "Portage"
+.TH "MAKE.CONF" "5" "Jan 2011" "Portage VERSION" "Portage"
 .SH "NAME"
 make.conf \- custom settings for Portage
 .SH "SYNOPSIS"
-.B /etc/make.conf
+\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
 .SH "DESCRIPTION"
 This file contains various variables that are used by Portage.
 Portage will check the currently\-defined environment variables
 first for any settings.  If no environment settings are found,
-Portage then checks /etc/make.conf.  If no setting is found
-in /etc/make.conf, Portage checks /etc/make.globals. If no
+Portage then checks the make.conf files. Both /etc/make.conf and
+/etc/portage/make.conf are checked (if present), and settings from
+/etc/portage/make.conf will override settings from /etc/make.conf.
+If no setting is found in the make.conf files, Portage checks
+make.globals. If no
 setting is found there, the profile's default setting is grabbed
 from /etc/make.profile/make.defaults. Please note that all user
-settings should be made in the environment or in /etc/make.conf,
-which is intended to be customized by the user.
+settings should be made in the environment or in the make.conf
+files, which are intended to be customized by the user.
 .br
 Exceptions are incremental variables such as USE, CONFIG_PROTECT*,
 and ACCEPT_KEYWORDS.  Incremental variables are propagated down from
 make.defaults to make.globals to make.conf to the environment
 settings.  Clearing these variables requires a clear\-all as in:
 export USE="\-*"
+.br
+In order to create per\-package environment settings, refer to
+\fBpackage.env\fR in \fBportage\fR(5).
 .SH "VARIABLES"
 .TP
 \fBACCEPT_CHOSTS\fR = \fI[space delimited list of CHOST values]\fR
@@ -60,7 +66,7 @@ ACCEPT_LICENSE="-* @FSF-APPROVED"
 \fBACCEPT_PROPERTIES\fR = \fI[space delimited list of properties]\fR
 This variable is used to mask packages based on PROPERTIES restrictions.
 In addition to property names, the \fI*\fR and \fI-*\fR wildcard tokens are
-also supported. This varable can be temporarily overridden using the
+also supported. This variable can be temporarily overridden using the
 \fB\-\-accept\-properties\fR option of \fBemerge\fR(1).
 See \fBebuild\fR(5) for more information about PROPERTIES. 
 .br
@@ -91,7 +97,9 @@ This controls the space use limitations for ccache.  The default is 2 gigabytes
 .TP
 .B CFLAGS CXXFLAGS
 Use these variables to set the desired optimization/CPU instruction settings
-for applications that you compile.  Nearly all ebuild files will take advantage
+for applications that you compile.  These two variables are passed to the C
+and C++ compilers, respectively. (CXX is used to refer to the C++ compiler
+within many buildsystems.) Nearly all ebuild files will take advantage
 of your custom settings, resulting in a Gentoo Linux that is fully customized
 to your specifications.  Please use sane settings as some packages will fail to
 compile/run if the optimizations are too extreme.
@@ -183,7 +191,7 @@ If it is set to any value pauses are ignored.
 Contains additional options that \fBeconf\fR will append to configure
 script arguments (see \fBebuild\fR(5)).
 .TP
-\fBFEATURES\fR = \fI"sandbox ccache"\fR
+\fBFEATURES\fR = \fI"sandbox"\fR
 Defines actions portage takes by default. This is an incremental variable.
 Most of these settings are for developer use, but some are available to
 non-developers as well. The \fBsandbox\fR feature is very important and
@@ -201,6 +209,10 @@ existing digest, the digest will be regenerated regardless of whether or
 not \fIassume\-digests\fR is enabled. The \fBebuild\fR(1) \fBdigest\fR command
 has a \fB\-\-force\fR option that can be used to force regeneration of digests.
 .TP
+.B binpkg\-logs
+Keep logs from successful binary package merges. This is relevant only when
+\fBPORT_LOGDIR\fR is set.
+.TP
 .B buildpkg
 Binary packages will be created for all packages that are merged. Also see
 \fBquickpkg\fR(1) and \fBemerge\fR(1) \fB\-\-buildpkg\fR and
@@ -209,18 +221,36 @@ Binary packages will be created for all packages that are merged. Also see
 .B buildsyspkg
 Build binary packages for just packages in the system set.
 .TP
+.B candy
+Enable a special progress indicator when \fBemerge\fR(1) is calculating
+dependencies.
+.TP
 .B ccache
 Enable portage support for the ccache package.  If the ccache dir is not 
 present in the user's environment, then portage will default to 
 ${PORTAGE_TMPDIR}/ccache.
+
+\fBWarning\fR: This feature is known to cause numerous compilation failures.
+Sometimes ccache will retain stale code objects or corrupted files, which can
+lead to packages that cannot be emerged. If this happens (if you receive errors
+like "File not recognized: File truncated"), try recompiling the application
+with ccache disabled before reporting a bug. Unless you are doing development
+work, do not enable ccache.
 .TP
 .B collision\-protect
 A QA\-feature to ensure that a package doesn't overwrite files it doesn't own.
 The \fICOLLISION_IGNORE\fR variable can be used to selectively disable this
 feature. Also see the related \fIprotect\-owned\fR feature.
 .TP
+.B compress\-build\-logs
+The causes all build logs to be compressed while they are being written.
+Log file names have an extension that is appropriate for the compression
+type. Currently, only \fBgzip\fR(1) compression is supported, so build
+logs will have a '.gz' extension when this feature is enabled.
+.TP
 .B digest
-Autogenerate digests for packages when running the \fBemerge\fR(1) command.  If
+Autogenerate digests for packages when running the
+\fBemerge\fR(1), \fBebuild\fR(1), or \fBrepoman\fR(1) commands. If
 the \fIassume\-digests\fR feature is also enabled then existing SRC_URI digests
 will be reused whenever they are available.
 .TP
@@ -270,6 +300,10 @@ prior to each build. Due to lack of proper cleanup, this feature can
 interfere with normal emerge operation and therefore it should not be left
 enabled for more than a short period of time.
 .TP
+.B fixlafiles
+Modifies .la files to not include other .la files and some other
+fixes (order of flags, duplicated entries, ...)
+.TP
 .B lmirror
 When \fImirror\fR is enabled in \fBFEATURES\fR, fetch files even
 when \fImirror\fR is also in the \fBebuild\fR(5) \fBRESTRICT\fR variable.
@@ -336,10 +370,12 @@ Parse \fBEAPI\fR from the head of the ebuild (first 30 lines). This feature
 is only intended for experimental purposes and should not be enabled under
 normal circumstances.
 .TP
-.B parse\-eapi\-glep\-55
-Parse \fBEAPI\fR from the file extension of the ebuild. This feature
-is only intended for experimental purposes and should not be enabled under
-normal circumstances.
+.B prelink\-checksums
+If \fBprelink\fR(8) is installed then use it to undo any prelinks on files
+before computing checksums for merge and unmerge. This feature is
+useful only if \fBprelink\fR(8) is installed and accurate checksums (despite
+prelinking) are needed for some reason such as for checking the integrity of
+installed files or because the \fIunmerge\-orphans\fR feature is disabled.
 .TP
 .B preserve\-libs
 Preserve libraries when the sonames change during upgrade or downgrade.
@@ -441,6 +477,12 @@ If a file is not claimed by another package in the same slot and it is not
 protected by \fICONFIG_PROTECT\fR, unmerge it even if the modification time or
 checksum differs from the file that was originally installed.
 .TP
+.B unknown\-features\-filter
+Filter out any unknown values that the FEATURES variable contains.
+.TP
+.B unknown\-features\-warn
+Warn if FEATURES contains one or more unknown values.
+.TP
 .B userfetch
 When portage is run as root, drop privileges to portage:portage during the
 fetching of package sources.
@@ -467,6 +509,16 @@ place\-holders \\${DISTDIR}, \\${FILE} and \\${URI}.  The command should be
 written to place the fetched file at \\${DISTDIR}/\\${FILE}.
 Also see \fBRESUMECOMMAND\fR.
 .TP
+.B FFLAGS FCFLAGS
+Use these variables to set the desired optimization/CPU instruction settings
+for applications that you compile with a FORTRAN compiler. FFLAGS is usually
+passed to the FORTRAN 77 compiler, and FCFLAGS to any FORTRAN compiler in
+more modern build systems.
+
+For more information, see the \fIInvoking GCC\fR section of the gcc manual:
+.br
+http://gcc.gnu.org/onlinedocs/
+.TP
 \fBGENTOO_MIRRORS\fR = \fI[URIs]\fR
 Insert your space\-seperated list of local mirrors here.  These
 locations are used to download files before the ones listed in
@@ -488,6 +540,18 @@ Also supported is a \fBPKG_INSTALL_MASK\fR variable that behaves exactly like
 \fBINSTALL_MASK\fR except that it is processed just before creation of a binary
 package.
 .TP
+.B LDFLAGS
+A list of flags to pass to the compiler when the linker will be called. See
+\fBld\fR(1) for linker flags, but don't forget that these flags will be passed
+directly to the compiler. Thus, you must use '-Wl' to escape the flags
+which only the linker understands (see \fBgcc\fR(1)).
+
+\fB***warning***\fR
+.br
+Setting this and other *FLAGS variables arbitrarily may cause compile or
+runtime failures. Bug reports submitted when nonstandard values are
+enabled for these flags may be closed as INVALID.
+.TP
 .B MAKEOPTS
 Use this variable if you want to use parallel make.  For example, if you
 have a dual\-processor system, set this variable to "\-j2" or "\-j3" for 
@@ -548,6 +612,16 @@ setting as the base URI.
 This variable contains options to be passed to the tar command for creation
 of binary packages.
 .TP
+\fBPORTAGE_BUNZIP2_COMMAND\fR = \fI[bunzip2 command string]\fR
+This variable should contain a command that is suitable for portage to call
+for bunzip2 extraction operations.
+.TP
+\fBPORTAGE_BZIP2_COMMAND\fR = \fI[bzip2 command string]\fR
+This variable should contain a command that is suitable for portage to call
+for bzip2 compression operations. \fBPORTAGE_BZIP2_COMMAND\fR will also be
+called for extraction operation, with -d appended, unless the
+\fBPORTAGE_BUNZIP2_COMMAND\fR variable is set.
+.TP
 \fBPORTAGE_COMPRESS\fR = \fI"bzip2"\fR
 This variable contains the command used to compress documentation during the
 install phase.
@@ -639,9 +713,10 @@ Defaults to "\-\-recursive \-\-links \-\-safe\-links \-\-perms \-\-times
 .TP
 \fBPORTAGE_RSYNC_RETRIES\fR = \fI[NUMBER]\fR
 The number of times rsync should retry on failed connections before
-giving up.
+giving up. If set to a negative number, then retry until all possible
+addresses are exhausted.
 .br
-Defaults to 3.
+Defaults to -1.
 .TP
 \fBPORTAGE_SYNC_STALE\fR = \fI[NUMBER]\fR
 Defines the number of days after the last `emerge \-\-sync` that a warning
@@ -786,10 +861,10 @@ Saleem Abdulrasool <compnerd@gentoo.org>
 .fi
 .SH "FILES"
 .TP
-.B /etc/make.conf
+\fB/etc/make.conf\fR and \fB/etc/portage/make.conf\fR
 Contains variables for the build\-process and overwrites those in make.defaults.
 .TP
-.B /etc/make.globals
+.B /usr/share/portage/config/make.globals
 Contains the default variables for the build\-process, you should edit \fI/etc/make.conf\fR instead.
 .TP
 .B /etc/portage/color.map