To configure specific compiler switches per package in Gentoo use these instructions.
Modifying environmental variables per package
The package.env
file can be used to modify environmental variables
per package. See /etc/portage/env in the Gentoo Wiki for details.
Conflicting compiler switches
In make.conf
one typically specifies compiler switches that are
selected to optimize for one’s specific machine. But some packages
(e.g. www-client/chromium) have their own build system, which can
result in conflicting compiler switches.
Disabling compiler switches per package
This can be done via package.env
and helper files in the env
subdirectory. For example, if /etc/portage/make.conf
specifies the
following section:
CFLAGS="-O2 -march=native -pipe" CXXFLAGS="${CFLAGS}"
then in /etc/portage/package.env
the following section will select
specific flags for the www-client/chromium
package:
www-client/chromium cflags-no-optimization
and in the /etc/portage/env/cflags-no-optimization
file holds the
specific environmental variable:
# No optimization # CFLAGS="-march=native -pipe"
CXXFLAGS="${CFLAGS}"
This prevents that the -O2
compiler switch that is specified in
make.conf
is used for the www-client/chromium
package.