LTO/Graphite/OpenMP rules updated.
This commit is contained in:
parent
bd7042764d
commit
1d340243f0
|
@ -2,15 +2,6 @@ CFLAGS="-O2 -pipe -march=native"
|
||||||
CXXFLAGS="${CFLAGS}"
|
CXXFLAGS="${CFLAGS}"
|
||||||
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
|
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"
|
CHOST="x86_64-pc-linux-gnu"
|
||||||
CBUILD="x86_64-pc-linux-gnu"
|
CBUILD="x86_64-pc-linux-gnu"
|
||||||
MAKEOPTS="-j2"
|
MAKEOPTS="-j2"
|
||||||
|
@ -33,7 +24,7 @@ PORTAGE_ELOG_CLASSES="warn error log"
|
||||||
PORTAGE_ELOG_SYSTEM="save"
|
PORTAGE_ELOG_SYSTEM="save"
|
||||||
|
|
||||||
# cpu
|
# cpu
|
||||||
USE="${USE} custom-cflags"
|
USE="${USE} custom-cflags graphite"
|
||||||
|
|
||||||
# gpu
|
# gpu
|
||||||
USE="${USE} directfb dri dri2 fbcon fbcondecor fbosd opengl opencl vaapi"
|
USE="${USE} directfb dri dri2 fbcon fbcondecor fbosd opengl opencl vaapi"
|
||||||
|
|
|
@ -1,112 +1,127 @@
|
||||||
# no-lto
|
# no-lto
|
||||||
if [[ true = false
|
if [[ true != false
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/sandbox
|
&& ${CATEGORY}/${PN} != sys-apps/sandbox
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/sysvinit
|
&& ${CATEGORY}/${PN} != sys-apps/sysvinit
|
||||||
|| ${CATEGORY}/${PN} = dev-lang/perl
|
&& ${CATEGORY}/${PN} != dev-lang/perl
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/gawk
|
&& ${CATEGORY}/${PN} != sys-apps/gawk
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/coreutils
|
&& ${CATEGORY}/${PN} != sys-apps/coreutils
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/elfutils
|
&& ${CATEGORY}/${PN} != dev-libs/elfutils
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/shadow
|
&& ${CATEGORY}/${PN} != sys-apps/shadow
|
||||||
|| ${CATEGORY}/${PN} = dev-lang/python
|
&& ${CATEGORY}/${PN} != dev-lang/python
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/glib
|
&& ${CATEGORY}/${PN} != dev-libs/glib
|
||||||
|| ${CATEGORY}/${PN} = sys-fs/e2fsprogs
|
&& ${CATEGORY}/${PN} != sys-fs/e2fsprogs
|
||||||
|| ${CATEGORY}/${PN} = net-misc/openssh
|
&& ${CATEGORY}/${PN} != net-misc/openssh
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/hdparm
|
&& ${CATEGORY}/${PN} != sys-apps/hdparm
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/hwinfo
|
&& ${CATEGORY}/${PN} != sys-apps/hwinfo
|
||||||
|| ${CATEGORY}/${PN} = media-libs/alsa-lib
|
&& ${CATEGORY}/${PN} != media-libs/alsa-lib
|
||||||
|| ${CATEGORY}/${PN} = dev-util/valgrind
|
&& ${CATEGORY}/${PN} != dev-util/valgrind
|
||||||
|| ${CATEGORY}/${PN} = sys-fs/mtools
|
&& ${CATEGORY}/${PN} != sys-fs/mtools
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/boost
|
&& ${CATEGORY}/${PN} != dev-libs/boost
|
||||||
|| ${CATEGORY}/${PN} = app-text/rarian
|
&& ${CATEGORY}/${PN} != app-text/rarian
|
||||||
|| ${CATEGORY}/${PN} = net-analyzer/nmap
|
&& ${CATEGORY}/${PN} != net-analyzer/nmap
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/pciutils
|
&& ${CATEGORY}/${PN} != sys-apps/pciutils
|
||||||
|| ${CATEGORY}/${PN} = sys-devel/distcc
|
&& ${CATEGORY}/${PN} != sys-devel/distcc
|
||||||
|| ${CATEGORY}/${PN} = media-libs/libcdr
|
&& ${CATEGORY}/${PN} != media-libs/libcdr
|
||||||
|| ${CATEGORY}/${PN} = media-libs/libvisio
|
&& ${CATEGORY}/${PN} != media-libs/libvisio
|
||||||
|| ${CATEGORY}/${PN} = sys-devel/llvm
|
&& ${CATEGORY}/${PN} != sys-devel/llvm
|
||||||
|| ${CATEGORY}/${PN} = app-admin/sudo
|
&& ${CATEGORY}/${PN} != app-admin/sudo
|
||||||
|| ${CATEGORY}/${PN} = x11-base/xorg-server
|
&& ${CATEGORY}/${PN} != x11-base/xorg-server
|
||||||
|| ${CATEGORY}/${PN} = sys-power/upower
|
&& ${CATEGORY}/${PN} != sys-power/upower
|
||||||
|| ${CATEGORY}/${PN} = dev-qt/qtdeclarative
|
&& ${CATEGORY}/${PN} != dev-qt/qtdeclarative
|
||||||
|| ${CATEGORY}/${PN} = media-libs/mesa
|
&& ${CATEGORY}/${PN} != media-libs/mesa
|
||||||
|| ${CATEGORY}/${PN}/${PV} = dev-lang/spidermonkey-1.8.5
|
&& ${CATEGORY}/${PN}/${PV} != dev-lang/spidermonkey-1.8.5
|
||||||
|| ${CATEGORY}/${PN} = games-action/minetest
|
&& ${CATEGORY}/${PN} != games-action/minetest
|
||||||
|| ${CATEGORY}/${PN} = app-emulation/wine
|
&& ${CATEGORY}/${PN} != app-emulation/wine
|
||||||
|| ${CATEGORY}/${PN} = app-emulation/virtualbox
|
&& ${CATEGORY}/${PN} != app-emulation/virtualbox
|
||||||
|| ${CATEGORY}/${PN} = media-video/ffmpeg
|
&& ${CATEGORY}/${PN} != media-video/ffmpeg
|
||||||
|| ${CATEGORY}/${PN} = x11-libs/wxGTK
|
&& ${CATEGORY}/${PN} != x11-libs/wxGTK
|
||||||
|| ${CATEGORY}/${PN} = www-client/firefox
|
&& ${CATEGORY}/${PN} != www-client/firefox
|
||||||
|| ${CATEGORY}/${PN} = mail-client/thunderbird
|
&& ${CATEGORY}/${PN} != mail-client/thunderbird
|
||||||
|| ${CATEGORY}/${PN} = dev-tex/luatex
|
&& ${CATEGORY}/${PN} != dev-tex/luatex
|
||||||
|| ${CATEGORY}/${PN} = dev-python/notify-python
|
&& ${CATEGORY}/${PN} != dev-python/notify-python
|
||||||
|| ${CATEGORY}/${PN} = media-plugins/audacious-plugins
|
&& ${CATEGORY}/${PN} != media-plugins/audacious-plugins
|
||||||
|| ${CATEGORY}/${PN} = media-video/avidemux
|
&& ${CATEGORY}/${PN} != media-video/avidemux
|
||||||
|| ${CATEGORY}/${PN} = media-video/mplayer2
|
&& ${CATEGORY}/${PN} != media-video/mplayer2
|
||||||
|| ${CATEGORY}/${PN} = media-libs/avidemux-plugins
|
&& ${CATEGORY}/${PN} != media-libs/avidemux-plugins
|
||||||
|| ${CATEGORY}/${PN} = net-p2p/eiskaltdcpp
|
&& ${CATEGORY}/${PN} != net-p2p/eiskaltdcpp
|
||||||
|| ${CATEGORY}/${PN} = dev-qt/qtwebkit
|
&& ${CATEGORY}/${PN} != dev-qt/qtwebkit
|
||||||
|| ${CATEGORY}/${PN} = net-libs/webkit-gtk
|
&& ${CATEGORY}/${PN} != net-libs/webkit-gtk
|
||||||
|| ${CATEGORY}/${PN} = media-libs/avidemux-core
|
&& ${CATEGORY}/${PN} != media-libs/avidemux-core
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/libaio # Required by Qemu
|
&& ${CATEGORY}/${PN} != dev-libs/libaio # Required by Qemu
|
||||||
|| ${CATEGORY}/${PN} = dev-games/simgear
|
&& ${CATEGORY}/${PN} != dev-games/simgear
|
||||||
|| ${CATEGORY}/${PN} = dev-qt/qtgui
|
&& ${CATEGORY}/${PN} != dev-qt/qtgui
|
||||||
]] ; then
|
]] ; then
|
||||||
CFLAGS="${CFLAGS} -fno-lto -fno-use-linker-plugin"
|
tmp="-flto=4"
|
||||||
CXXFLAGS="${CXXFLAGS} -fno-lto -fno-use-linker-plugin"
|
CFLAGS="${CFLAGS} ${tmp}"
|
||||||
LDFLAGS="${LDFLAGS} -fno-lto -fno-use-linker-plugin"
|
CXXFLAGS="${CXXFLAGS} ${tmp}"
|
||||||
|
LDFLAGS="${LDFLAGS} ${tmp}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# No parallelize-loops-all
|
# No parallelize-loops-all
|
||||||
if [[ true = false
|
if [[ true != false
|
||||||
|| ${CATEGORY}/${PN} = dev-lang/perl
|
&& ${CATEGORY}/${PN} != dev-lang/perl
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/gawk # Internal error when emerging hyphen
|
&& ${CATEGORY}/${PN} != sys-apps/gawk # Internal error when emerging hyphen
|
||||||
|| ${CATEGORY}/${PN} = app-shells/bash
|
&& ${CATEGORY}/${PN} != app-shells/bash
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/groff
|
&& ${CATEGORY}/${PN} != sys-apps/groff
|
||||||
|| ${CATEGORY}/${PN} = media-libs/libogg
|
&& ${CATEGORY}/${PN} != media-libs/libogg
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/openssl
|
&& ${CATEGORY}/${PN} != dev-libs/openssl
|
||||||
|| ${CATEGORY}/${PN} = sys-libs/ncurses
|
&& ${CATEGORY}/${PN} != sys-libs/ncurses
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/expat
|
&& ${CATEGORY}/${PN} != dev-libs/expat
|
||||||
|| ${CATEGORY}/${PN} = media-video/dirac
|
&& ${CATEGORY}/${PN} != media-video/dirac
|
||||||
|| ${CATEGORY}/${PN} = dev-games/openscenegraph
|
&& ${CATEGORY}/${PN} != dev-games/openscenegraph
|
||||||
|| ${CATEGORY}/${PN} = dev-vcs/subversion
|
&& ${CATEGORY}/${PN} != dev-vcs/subversion
|
||||||
|| ${CATEGORY}/${PN} = media-video/ffmpeg
|
&& ${CATEGORY}/${PN} != media-video/ffmpeg
|
||||||
|| ${CATEGORY}/${PN} = media-video/mjpegtools
|
&& ${CATEGORY}/${PN} != media-video/mjpegtools
|
||||||
|| ${CATEGORY}/${PN} = media-libs/gegl
|
&& ${CATEGORY}/${PN} != media-libs/gegl
|
||||||
|| ${CATEGORY}/${PN} = media-gfx/graphviz
|
&& ${CATEGORY}/${PN} != media-gfx/graphviz
|
||||||
|| ${CATEGORY}/${PN} = media-sound/audacious
|
&& ${CATEGORY}/${PN} != media-sound/audacious
|
||||||
|| ${CATEGORY}/${PN} = app-text/texlive-core
|
&& ${CATEGORY}/${PN} != app-text/texlive-core
|
||||||
|| ${CATEGORY}/${PN} = media-video/mplayer2
|
&& ${CATEGORY}/${PN} != media-video/mplayer2
|
||||||
|| ${CATEGORY}/${PN} = media-video/vlc
|
&& ${CATEGORY}/${PN} != media-video/vlc
|
||||||
|| ${CATEGORY}/${PN} = media-libs/avidemux-core
|
&& ${CATEGORY}/${PN} != media-libs/avidemux-core
|
||||||
|| ${CATEGORY}/${PN} = games-fps/nexuiz
|
&& ${CATEGORY}/${PN} != games-fps/nexuiz
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/dbus
|
&& ${CATEGORY}/${PN} != sys-apps/dbus
|
||||||
|| ${CATEGORY}/${PN} = dev-qt/qtgui
|
&& ${CATEGORY}/${PN} != dev-qt/qtgui
|
||||||
|| ${CATEGORY}/${PN} = media-gfx/inkscape
|
&& ${CATEGORY}/${PN} != media-gfx/inkscape
|
||||||
|| ${CATEGORY}/${PN} = dev-libs/glib # epiphany hangs (GObject)
|
&& ${CATEGORY}/${PN} != dev-libs/glib # epiphany hangs (GObject)
|
||||||
|| ${CATEGORY}/${PN} = www-client/firefox
|
&& ${CATEGORY}/${PN} != www-client/firefox
|
||||||
]] ; then
|
]] ; then
|
||||||
CFLAGS="${CFLAGS} -fno-loop-parallelize-all"
|
tmp="-floop-parallelize-all"
|
||||||
CXXFLAGS="${CXXFLAGS} -fno-loop-parallelize-all"
|
CFLAGS="${CFLAGS} ${tmp}"
|
||||||
LDFLAGS="${LDFLAGS} -fno-loop-parallelize-all"
|
CXXFLAGS="${CXXFLAGS} ${tmp}"
|
||||||
|
LDFLAGS="${LDFLAGS} ${tmp}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# No OpenMP
|
# No OpenMP
|
||||||
if [[ true = false
|
if [[ true != false
|
||||||
|| ${CATEGORY}/${PN} = sys-apps/busybox
|
&& ${CATEGORY}/${PN} != sys-apps/busybox
|
||||||
|| ${CATEGORY}/${PN} = media-libs/mesa
|
&& ${CATEGORY}/${PN} != media-libs/mesa
|
||||||
|| ${CATEGORY}/${PN} = app-emulation/wine
|
&& ${CATEGORY}/${PN} != app-emulation/wine
|
||||||
|| ${CATEGORY}/${PN} = dev-db/sqlite # Required to emerge avidemux-core
|
&& ${CATEGORY}/${PN} != dev-db/sqlite # Required to emerge avidemux-core
|
||||||
]] ; then
|
]] ; then
|
||||||
CFLAGS="${CFLAGS} -fno-openmp"
|
tmp="-fopenmp"
|
||||||
CXXFLAGS="${CFLAGS} -fno-openmp"
|
CFLAGS="${CFLAGS} ${tmp}"
|
||||||
LDFLAGS="${LDFLAGS} -fno-openmp"
|
CXXFLAGS="${CFLAGS} ${tmp}"
|
||||||
|
LDFLAGS="${LDFLAGS} ${tmp}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# no-graphite
|
# no-graphite
|
||||||
if [[ true = false
|
if [[ true != false
|
||||||
|| ${CATEGORY}/${PN} = undefined/undefined
|
&& ${CATEGORY}/${PN} != undefined/undefined
|
||||||
]] ; then
|
]] ; then
|
||||||
CFLAGS="${CFLAGS} -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"
|
||||||
CXXFLAGS="${CXXFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block"
|
CFLAGS="${CFLAGS} ${tmp}"
|
||||||
LDFLAGS="${LDFLAGS} -fno-loop-interchange -fno-tree-loop-distribution -fno-loop-strip-mine -fno-loop-block"
|
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
|
fi
|
||||||
|
|
Loading…
Reference in New Issue