From 1d340243f0c621e96fa5cd00ded715694cdda382 Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Sat, 26 Oct 2013 15:49:32 +0400 Subject: [PATCH] LTO/Graphite/OpenMP rules updated. --- .../amd64/13.0/backbone/desktop/make.defaults | 11 +- .../13.0/backbone/desktop/profile.bashrc | 209 ++++++++++-------- 2 files changed, 113 insertions(+), 107 deletions(-) diff --git a/profiles/default/linux/amd64/13.0/backbone/desktop/make.defaults b/profiles/default/linux/amd64/13.0/backbone/desktop/make.defaults index e866409d..97466708 100644 --- a/profiles/default/linux/amd64/13.0/backbone/desktop/make.defaults +++ b/profiles/default/linux/amd64/13.0/backbone/desktop/make.defaults @@ -2,15 +2,6 @@ CFLAGS="-O2 -pipe -march=native" CXXFLAGS="${CFLAGS}" LDFLAGS="-Wl,-O1 -Wl,--as-needed" -#### LTO/Graphite/OpenMP #### -TMP_GRAPHITE="-floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block" -TMP_COMMON_CLDFLAGS="-flto=4 ${TMP_GRAPHITE} -ftree-vectorize -fopenmp -floop-parallelize-all" -CFLAGS="${CFLAGS} ${TMP_COMMON_CLDFLAGS}" -CXXFLAGS="${CFLAGS}" -LDFLAGS="${LDFLAGS} ${TMP_COMMON_CLDFLAGS}" -USE="${USE} graphite" -############################# - CHOST="x86_64-pc-linux-gnu" CBUILD="x86_64-pc-linux-gnu" MAKEOPTS="-j2" @@ -33,7 +24,7 @@ PORTAGE_ELOG_CLASSES="warn error log" PORTAGE_ELOG_SYSTEM="save" # cpu -USE="${USE} custom-cflags" +USE="${USE} custom-cflags graphite" # gpu USE="${USE} directfb dri dri2 fbcon fbcondecor fbosd opengl opencl vaapi" diff --git a/profiles/default/linux/amd64/13.0/backbone/desktop/profile.bashrc b/profiles/default/linux/amd64/13.0/backbone/desktop/profile.bashrc index 73656d80..aac3518e 100644 --- a/profiles/default/linux/amd64/13.0/backbone/desktop/profile.bashrc +++ b/profiles/default/linux/amd64/13.0/backbone/desktop/profile.bashrc @@ -1,112 +1,127 @@ # no-lto -if [[ true = false -|| ${CATEGORY}/${PN} = sys-apps/sandbox -|| ${CATEGORY}/${PN} = sys-apps/sysvinit -|| ${CATEGORY}/${PN} = dev-lang/perl -|| ${CATEGORY}/${PN} = sys-apps/gawk -|| ${CATEGORY}/${PN} = sys-apps/coreutils -|| ${CATEGORY}/${PN} = dev-libs/elfutils -|| ${CATEGORY}/${PN} = sys-apps/shadow -|| ${CATEGORY}/${PN} = dev-lang/python -|| ${CATEGORY}/${PN} = dev-libs/glib -|| ${CATEGORY}/${PN} = sys-fs/e2fsprogs -|| ${CATEGORY}/${PN} = net-misc/openssh -|| ${CATEGORY}/${PN} = sys-apps/hdparm -|| ${CATEGORY}/${PN} = sys-apps/hwinfo -|| ${CATEGORY}/${PN} = media-libs/alsa-lib -|| ${CATEGORY}/${PN} = dev-util/valgrind -|| ${CATEGORY}/${PN} = sys-fs/mtools -|| ${CATEGORY}/${PN} = dev-libs/boost -|| ${CATEGORY}/${PN} = app-text/rarian -|| ${CATEGORY}/${PN} = net-analyzer/nmap -|| ${CATEGORY}/${PN} = sys-apps/pciutils -|| ${CATEGORY}/${PN} = sys-devel/distcc -|| ${CATEGORY}/${PN} = media-libs/libcdr -|| ${CATEGORY}/${PN} = media-libs/libvisio -|| ${CATEGORY}/${PN} = sys-devel/llvm -|| ${CATEGORY}/${PN} = app-admin/sudo -|| ${CATEGORY}/${PN} = x11-base/xorg-server -|| ${CATEGORY}/${PN} = sys-power/upower -|| ${CATEGORY}/${PN} = dev-qt/qtdeclarative -|| ${CATEGORY}/${PN} = media-libs/mesa -|| ${CATEGORY}/${PN}/${PV} = dev-lang/spidermonkey-1.8.5 -|| ${CATEGORY}/${PN} = games-action/minetest -|| ${CATEGORY}/${PN} = app-emulation/wine -|| ${CATEGORY}/${PN} = app-emulation/virtualbox -|| ${CATEGORY}/${PN} = media-video/ffmpeg -|| ${CATEGORY}/${PN} = x11-libs/wxGTK -|| ${CATEGORY}/${PN} = www-client/firefox -|| ${CATEGORY}/${PN} = mail-client/thunderbird -|| ${CATEGORY}/${PN} = dev-tex/luatex -|| ${CATEGORY}/${PN} = dev-python/notify-python -|| ${CATEGORY}/${PN} = media-plugins/audacious-plugins -|| ${CATEGORY}/${PN} = media-video/avidemux -|| ${CATEGORY}/${PN} = media-video/mplayer2 -|| ${CATEGORY}/${PN} = media-libs/avidemux-plugins -|| ${CATEGORY}/${PN} = net-p2p/eiskaltdcpp -|| ${CATEGORY}/${PN} = dev-qt/qtwebkit -|| ${CATEGORY}/${PN} = net-libs/webkit-gtk -|| ${CATEGORY}/${PN} = media-libs/avidemux-core -|| ${CATEGORY}/${PN} = dev-libs/libaio # Required by Qemu -|| ${CATEGORY}/${PN} = dev-games/simgear -|| ${CATEGORY}/${PN} = dev-qt/qtgui +if [[ true != false +&& ${CATEGORY}/${PN} != sys-apps/sandbox +&& ${CATEGORY}/${PN} != sys-apps/sysvinit +&& ${CATEGORY}/${PN} != dev-lang/perl +&& ${CATEGORY}/${PN} != sys-apps/gawk +&& ${CATEGORY}/${PN} != sys-apps/coreutils +&& ${CATEGORY}/${PN} != dev-libs/elfutils +&& ${CATEGORY}/${PN} != sys-apps/shadow +&& ${CATEGORY}/${PN} != dev-lang/python +&& ${CATEGORY}/${PN} != dev-libs/glib +&& ${CATEGORY}/${PN} != sys-fs/e2fsprogs +&& ${CATEGORY}/${PN} != net-misc/openssh +&& ${CATEGORY}/${PN} != sys-apps/hdparm +&& ${CATEGORY}/${PN} != sys-apps/hwinfo +&& ${CATEGORY}/${PN} != media-libs/alsa-lib +&& ${CATEGORY}/${PN} != dev-util/valgrind +&& ${CATEGORY}/${PN} != sys-fs/mtools +&& ${CATEGORY}/${PN} != dev-libs/boost +&& ${CATEGORY}/${PN} != app-text/rarian +&& ${CATEGORY}/${PN} != net-analyzer/nmap +&& ${CATEGORY}/${PN} != sys-apps/pciutils +&& ${CATEGORY}/${PN} != sys-devel/distcc +&& ${CATEGORY}/${PN} != media-libs/libcdr +&& ${CATEGORY}/${PN} != media-libs/libvisio +&& ${CATEGORY}/${PN} != sys-devel/llvm +&& ${CATEGORY}/${PN} != app-admin/sudo +&& ${CATEGORY}/${PN} != x11-base/xorg-server +&& ${CATEGORY}/${PN} != sys-power/upower +&& ${CATEGORY}/${PN} != dev-qt/qtdeclarative +&& ${CATEGORY}/${PN} != media-libs/mesa +&& ${CATEGORY}/${PN}/${PV} != dev-lang/spidermonkey-1.8.5 +&& ${CATEGORY}/${PN} != games-action/minetest +&& ${CATEGORY}/${PN} != app-emulation/wine +&& ${CATEGORY}/${PN} != app-emulation/virtualbox +&& ${CATEGORY}/${PN} != media-video/ffmpeg +&& ${CATEGORY}/${PN} != x11-libs/wxGTK +&& ${CATEGORY}/${PN} != www-client/firefox +&& ${CATEGORY}/${PN} != mail-client/thunderbird +&& ${CATEGORY}/${PN} != dev-tex/luatex +&& ${CATEGORY}/${PN} != dev-python/notify-python +&& ${CATEGORY}/${PN} != media-plugins/audacious-plugins +&& ${CATEGORY}/${PN} != media-video/avidemux +&& ${CATEGORY}/${PN} != media-video/mplayer2 +&& ${CATEGORY}/${PN} != media-libs/avidemux-plugins +&& ${CATEGORY}/${PN} != net-p2p/eiskaltdcpp +&& ${CATEGORY}/${PN} != dev-qt/qtwebkit +&& ${CATEGORY}/${PN} != net-libs/webkit-gtk +&& ${CATEGORY}/${PN} != media-libs/avidemux-core +&& ${CATEGORY}/${PN} != dev-libs/libaio # Required by Qemu +&& ${CATEGORY}/${PN} != dev-games/simgear +&& ${CATEGORY}/${PN} != dev-qt/qtgui ]] ; then - CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin" - CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin" - LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin" + tmp="-flto=4" + CFLAGS="${CFLAGS} ${tmp}" + CXXFLAGS="${CXXFLAGS} ${tmp}" + LDFLAGS="${LDFLAGS} ${tmp}" fi # No parallelize-loops-all -if [[ true = false -|| ${CATEGORY}/${PN} = dev-lang/perl -|| ${CATEGORY}/${PN} = sys-apps/gawk # Internal error when emerging hyphen -|| ${CATEGORY}/${PN} = app-shells/bash -|| ${CATEGORY}/${PN} = sys-apps/groff -|| ${CATEGORY}/${PN} = media-libs/libogg -|| ${CATEGORY}/${PN} = dev-libs/openssl -|| ${CATEGORY}/${PN} = sys-libs/ncurses -|| ${CATEGORY}/${PN} = dev-libs/expat -|| ${CATEGORY}/${PN} = media-video/dirac -|| ${CATEGORY}/${PN} = dev-games/openscenegraph -|| ${CATEGORY}/${PN} = dev-vcs/subversion -|| ${CATEGORY}/${PN} = media-video/ffmpeg -|| ${CATEGORY}/${PN} = media-video/mjpegtools -|| ${CATEGORY}/${PN} = media-libs/gegl -|| ${CATEGORY}/${PN} = media-gfx/graphviz -|| ${CATEGORY}/${PN} = media-sound/audacious -|| ${CATEGORY}/${PN} = app-text/texlive-core -|| ${CATEGORY}/${PN} = media-video/mplayer2 -|| ${CATEGORY}/${PN} = media-video/vlc -|| ${CATEGORY}/${PN} = media-libs/avidemux-core -|| ${CATEGORY}/${PN} = games-fps/nexuiz -|| ${CATEGORY}/${PN} = sys-apps/dbus -|| ${CATEGORY}/${PN} = dev-qt/qtgui -|| ${CATEGORY}/${PN} = media-gfx/inkscape -|| ${CATEGORY}/${PN} = dev-libs/glib # epiphany hangs (GObject) -|| ${CATEGORY}/${PN} = www-client/firefox +if [[ true != false +&& ${CATEGORY}/${PN} != dev-lang/perl +&& ${CATEGORY}/${PN} != sys-apps/gawk # Internal error when emerging hyphen +&& ${CATEGORY}/${PN} != app-shells/bash +&& ${CATEGORY}/${PN} != sys-apps/groff +&& ${CATEGORY}/${PN} != media-libs/libogg +&& ${CATEGORY}/${PN} != dev-libs/openssl +&& ${CATEGORY}/${PN} != sys-libs/ncurses +&& ${CATEGORY}/${PN} != dev-libs/expat +&& ${CATEGORY}/${PN} != media-video/dirac +&& ${CATEGORY}/${PN} != dev-games/openscenegraph +&& ${CATEGORY}/${PN} != dev-vcs/subversion +&& ${CATEGORY}/${PN} != media-video/ffmpeg +&& ${CATEGORY}/${PN} != media-video/mjpegtools +&& ${CATEGORY}/${PN} != media-libs/gegl +&& ${CATEGORY}/${PN} != media-gfx/graphviz +&& ${CATEGORY}/${PN} != media-sound/audacious +&& ${CATEGORY}/${PN} != app-text/texlive-core +&& ${CATEGORY}/${PN} != media-video/mplayer2 +&& ${CATEGORY}/${PN} != media-video/vlc +&& ${CATEGORY}/${PN} != media-libs/avidemux-core +&& ${CATEGORY}/${PN} != games-fps/nexuiz +&& ${CATEGORY}/${PN} != sys-apps/dbus +&& ${CATEGORY}/${PN} != dev-qt/qtgui +&& ${CATEGORY}/${PN} != media-gfx/inkscape +&& ${CATEGORY}/${PN} != dev-libs/glib # epiphany hangs (GObject) +&& ${CATEGORY}/${PN} != www-client/firefox ]] ; then - CFLAGS="${CFLAGS} -fno-loop-parallelize-all" - CXXFLAGS="${CXXFLAGS} -fno-loop-parallelize-all" - LDFLAGS="${LDFLAGS} -fno-loop-parallelize-all" + tmp="-floop-parallelize-all" + CFLAGS="${CFLAGS} ${tmp}" + CXXFLAGS="${CXXFLAGS} ${tmp}" + LDFLAGS="${LDFLAGS} ${tmp}" fi # No OpenMP -if [[ true = false -|| ${CATEGORY}/${PN} = sys-apps/busybox -|| ${CATEGORY}/${PN} = media-libs/mesa -|| ${CATEGORY}/${PN} = app-emulation/wine -|| ${CATEGORY}/${PN} = dev-db/sqlite # Required to emerge avidemux-core +if [[ true != false +&& ${CATEGORY}/${PN} != sys-apps/busybox +&& ${CATEGORY}/${PN} != media-libs/mesa +&& ${CATEGORY}/${PN} != app-emulation/wine +&& ${CATEGORY}/${PN} != dev-db/sqlite # Required to emerge avidemux-core ]] ; then - CFLAGS="${CFLAGS} -fno-openmp" - CXXFLAGS="${CFLAGS} -fno-openmp" - LDFLAGS="${LDFLAGS} -fno-openmp" + tmp="-fopenmp" + CFLAGS="${CFLAGS} ${tmp}" + CXXFLAGS="${CFLAGS} ${tmp}" + LDFLAGS="${LDFLAGS} ${tmp}" fi # no-graphite -if [[ true = false -|| ${CATEGORY}/${PN} = undefined/undefined +if [[ true != false +&& ${CATEGORY}/${PN} != undefined/undefined ]] ; then - CFLAGS="${CFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block" - CXXFLAGS="${CXXFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block" - LDFLAGS="${LDFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block" + tmp="-floop-interchange -ftree-loop-distribution -floop-strip-mine -floop-block" + CFLAGS="${CFLAGS} ${tmp}" + CXXFLAGS="${CXXFLAGS} ${tmp}" + LDFLAGS="${LDFLAGS} ${tmp}" +fi + +# fno-tree-vectorize +if [[ true != false +&& ${CATEGORY}/${PN} != undefined/undefined +&& ${CATEGORY}/${PN} != www-client/firefox +]] ; then + tmp="-ftree-vectorize" + CFLAGS="${CFLAGS} ${tmp}" + CXXFLAGS="${CXXFLAGS} ${tmp}" + LDFLAGS="${LDFLAGS} ${tmp}" fi