Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:gentoo-spezifisch:make.conf

make.conf

1. Einleitung

FIXME

2. USE-Flags

FIXME

3. CFLAGS

Wirklich sichere und empfohlene (nach Gentoo-Wiki) CFLAGS sind:

CFLAGS="-O2 -march=native -pipe"


Um das graphite-Framework zu nutzen muss zusätzlich USE="graphite" für den GCC-Compiler gesetzt sein:

CFLAGS="-floop-interchange -floop-strip-mine -floop-block"

Auf meinem ~amd64 mit GCC-4.6 kompiliert und läuft das graphite-Framework stabil, ohne Wertung der Leistung.


Für lto muss USE="lto" gesetzt sein (siehe auch LDFLAGS):

CFLAGS="-flto"


Abschließend CFLAGS auch als CXXFLAGS setzen:

CXXFLAGS="${CFLAGS}"

4. LDFLAGS

Laut Gentoo-Wiki ist es nicht nötig bzw. vollständig sichere LDFLAGS zu setzen. Sinnvolle LDFLAGS sind bereits in den entsprechenden Profilen gesetzt. Ich setze ohne feststellbare Probleme / Nachteile:

LDFLAGS="${LDFLAGS} -Wl,-z,now -Wl,--hash-style=gnu -Wl,--enable-new-dtags"

LTO ist mit GCC-4.5 experimentell und zumindest im 3Q-2010 nicht zu gebrauchen, "-fwhole-program" macht vielen Leuten im Forum zusätzlich Probleme. Bei der Nutzung von LTO muss unbestätigten Quellen nach mit sehr großen Binärdateien gerechnet werden, die oft sämtliche Vorteile (über-)kompensieren. Wahrscheinlich ist LTO daher nur selektiv für einzelne Programme sinnvoll.

LDFLAGS="${LDFLAGS} -flto -fwhole-program"

FIXME für lto benötigte CFLAGS?

5. Anhang

Meine make.conf

make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
###################################################################
## CFLAGS ########################################################
###################################################################
# really safe:
# CFLAGS="-O2 -march=native -pipe"
# -ftree-vectorize -ftree-loop-linear

CFLAGS="-O2 -march=native -pipe -floop-interchange -floop-strip-mine -floop-block"

CXXFLAGS="${CFLAGS}"

###################################################################
## LDFLAGS ########################################################
###################################################################
LDFLAGS="${LDFLAGS} -Wl,-z,now -Wl,--hash-style=gnu -Wl,--enable-new-dtags"
###################################################################
CHOST="x86_64-pc-linux-gnu"

# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="64bit X a52 ace acpi additions alsa bash-completion blksha1 cleartype \
     consolekit corefonts css dbus device-mapper drm dvd exif fastbuild \
     fastcgi fat ffmpeg fuse gallium gd gdu gnome gphoto2 graphite gstreamer \
     gtk gtk3 id3tag introspection jpeg jpeg2k lame laptop libnotify \
     matroska mdns-bundled mmx mp3 mp4 mpeg mpeg2 nautilus networkmanager \
     nntp nsplugin ntfs opengl optimization optimized-qmake pdf pidgin png \
     policykit pulseaudio python3 quicktime rar real scsi slideshow smp sse \
     sse2 sse3 strong-optimization svg symlink system-cxx-headers \
     system-sqlite theora threads truetype twolame type3 udev usb v4l v4l2 \
     vcd video vorbis wicd wma wmf x264 xv xvid -3dnow -3dnowext -abiword \
     -accessibility -aim -avahi -bluetooth -bonobo -debug -doc -eds \
     -gecko-mediaplayer -guile -ieee1394 -ipod -ipv6 -joystick -kde -lcms \
     -lirc -mercurial -msn -oss -pm-utils -python2 -qt-bundled -qt3support \
     -qt4 -reiser4 -reiserfs -samba -tcl -totem -webdav -webdav-neon \
     -webdav-serf -webkit -xfs -xinerama -xscreensaver"

###################################################################
#MAKEOPTS="-j1"
MAKEOPTS="-j3"
EMERGE_DEFAULT_OPTS="--keep-going --jobs=4"

#GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo "
GENTOO_MIRRORS="ftp://de-mirror.org/distro/gentoo "
#GENTOO_MIRRORS="http://distfiles.gentoo.org "

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

PORTAGE_NICENESS=19

#FEATURES="parallel-fetch fail-clean"
FEATURES="sandbox parallel-fetch fail-clean buildpkg"
DISTDIR="/Daten/.distfiles"
#PORTAGE_TMPDIR="/Daten/.tmp"
PKGDIR="/Daten/.packages"

## Meine eigenen ebuilds
PORTDIR_OVERLAY="/Daten/.ebuilds/"
## Layman, muss hinter PORTDIR_OVERLAY stehen!
source /var/lib/layman/make.conf

INPUT_DEVICES="evdev synaptics"

# fglrx
VIDEO_CARDS="radeon r600 r800 evergreen"
ALSA_CARDS="hda-intel"

LINGUAS="de"

ACCEPT_KEYWORDS="~amd64"

ACCEPT_LICENSE="PUEL dlj-1.1 googleearth AdobeFlash-10.1 google-talkplugin skype-eula"

I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS=1

CLOCK="local"
linux/gentoo-spezifisch/make.conf.txt · Zuletzt geändert: 09.07.2013 21:33 (Externe Bearbeitung)