mirror of
https://github.com/MorizzG/portage-conf.git
synced 2025-12-06 01:12:42 +00:00
reworked LTO to have no-lto package, gcc defaults to gnu-ld, clang defaults to lld now
This commit is contained in:
parent
27e4dc72be
commit
75f64148b7
13 changed files with 50 additions and 27 deletions
15
env/clang
vendored
15
env/clang
vendored
|
|
@ -1,4 +1,5 @@
|
|||
COMMON_FLAGS="-O2 -pipe -march=native"
|
||||
COMMON_FLAGS="-O2 -pipe -march=native -flto=full"
|
||||
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
FCFLAGS="${COMMON_FLAGS}"
|
||||
|
|
@ -8,9 +9,19 @@ CC="clang"
|
|||
CXX="clang++"
|
||||
|
||||
AR="llvm-ar"
|
||||
AS="clang -c"
|
||||
CPP="clang-cpp"
|
||||
NM="llvm-nm"
|
||||
STRIP="llvm-strip"
|
||||
RANLIB="llvm-ranlib"
|
||||
OBJCOPY="llvm-objcopy"
|
||||
STRINGS="llvm-strings"
|
||||
OBJDUMP="llvm-objdump"
|
||||
READELF="llvm-readelf"
|
||||
ADDR2LINE="llvm-addr2line"
|
||||
|
||||
LDFLAGS="-Wl,--as-needed -rtlib=compiler-rt -unwindlib=libunwind"
|
||||
LD="ld.lld"
|
||||
|
||||
LDFLAGS="-Wl,--as-needed -rtlib=compiler-rt -unwindlib=libunwind -fuse-ld=lld -flto"
|
||||
|
||||
USE="clang llvm-libunwind"
|
||||
|
|
|
|||
4
env/gcc
vendored
4
env/gcc
vendored
|
|
@ -1,4 +1,4 @@
|
|||
COMMON_FLAGS="-O2 -pipe -march=native"
|
||||
COMMON_FLAGS="-O2 -pipe -march=native -flto=auto"
|
||||
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
|
|
@ -11,7 +11,7 @@ CXX="g++"
|
|||
|
||||
LD="ld"
|
||||
|
||||
LDFLAGS="-Wl,--as-needed"
|
||||
LDFLAGS="-Wl,--as-needed -flto"
|
||||
|
||||
AR="ar"
|
||||
AS="as"
|
||||
|
|
|
|||
6
env/lto
vendored
6
env/lto
vendored
|
|
@ -1,6 +0,0 @@
|
|||
CFLAGS="${CFLAGS} -flto"
|
||||
CXXFLAGS="${CXXFLAGS} -flto"
|
||||
|
||||
LDFLAGS="${LDFLAGS} -flto"
|
||||
|
||||
USE="lto"
|
||||
7
env/no-lto
vendored
Normal file
7
env/no-lto
vendored
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
CFLAGS="${CFLAGS} -fno-lto"
|
||||
CXXFLAGS="${CXXFLAGS} -fno-lto"
|
||||
|
||||
FCFLAGS="${FCFLAGS} -fno-lto"
|
||||
FFLAGS="${FFLAGS} -fno-lto"
|
||||
|
||||
LDFLAGS="${LDFLAGS} -fno-lto"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
COMMON_FLAGS="-O2 -pipe -march=native -flto"
|
||||
COMMON_FLAGS="-O2 -pipe -march=native -flto=full"
|
||||
|
||||
CFLAGS="${COMMON_FLAGS}"
|
||||
CXXFLAGS="${COMMON_FLAGS}"
|
||||
|
|
@ -11,10 +11,6 @@ RUSTFLAGS="-C target-cpu=native -C opt-level=3 -C linker=clang -C link-arg=-fuse
|
|||
CC="clang"
|
||||
CXX="clang++"
|
||||
|
||||
LD="ld.mold"
|
||||
|
||||
LDFLAGS="${LDFLAGS} -fuse-ld=mold -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -flto"
|
||||
|
||||
AR="llvm-ar"
|
||||
AS="clang -c"
|
||||
CPP="clang-cpp"
|
||||
|
|
@ -27,11 +23,12 @@ OBJDUMP="llvm-objdump"
|
|||
READELF="llvm-readelf"
|
||||
ADDR2LINE="llvm-addr2line"
|
||||
|
||||
# don't strip comment section of binaries
|
||||
# assumes STRIP will be gnu-strip
|
||||
PORTAGE_STRIP_FLAGS="--strip-unneeded -N __gentoo_check_ldflags__ -R .GCC.command.line -R .note.gnu.gold-version"
|
||||
LD="ld.mold"
|
||||
|
||||
# EMERGE_DEFAULT_OPTS="--jobs 2"
|
||||
LDFLAGS="${LDFLAGS} -fuse-ld=mold -rtlib=compiler-rt -unwindlib=libunwind -Wl,--as-needed -flto"
|
||||
|
||||
# don't strip comment section of binaries
|
||||
PORTAGE_STRIP_FLAGS="--strip-unneeded -N __gentoo_check_ldflags__ -R .GCC.command.line -R .note.gnu.gold-version"
|
||||
|
||||
USE="clang dist-kernel llvm-libunwind lto pulseaudio X -systemd -wayland"
|
||||
|
||||
|
|
|
|||
|
|
@ -9,3 +9,7 @@ media-libs/mesa ccache
|
|||
|
||||
www-client/firefox ccache
|
||||
mail-client/thunderbird ccache
|
||||
|
||||
www-client/chromium
|
||||
|
||||
net-libs/nodejs
|
||||
|
|
|
|||
1
package.env/chromium
Normal file
1
package.env/chromium
Normal file
|
|
@ -0,0 +1 @@
|
|||
# www-client/chromium clang lld
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
dev-lang/ghc gcc mold
|
||||
app-admin/haskell-updater gcc lto mold
|
||||
dev-lang/ghc gcc mold no-lto
|
||||
app-admin/haskell-updater gcc mold
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
dev-libs/libtomcrypt clang mold
|
||||
dev-libs/libtomcrypt clang mold no-lto
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
dev-qt/qtcore clang mold
|
||||
dev-qt/qtcore clang mold no-lto
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
sys-kernel/* clang lld
|
||||
sys-kernel/* clang lld no-lto
|
||||
|
||||
sys-libs/efivar gcc mold
|
||||
sys-libs/glibc gcc lto mold
|
||||
sys-libs/efivar gcc mold no-lto
|
||||
sys-libs/glibc gcc lto mold no-lto
|
||||
|
|
|
|||
9
package.use/chromium
Normal file
9
package.use/chromium
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# required by www-client/chromium-116.0.5845.96::gentoo
|
||||
# required by www-client/chromium (argument)
|
||||
>=sys-libs/zlib-1.2.13-r1 minizip
|
||||
|
||||
# required by www-client/chromium-116.0.5845.96::gentoo
|
||||
# required by www-client/chromium (argument)
|
||||
>=net-libs/nodejs-20.5.1 inspector
|
||||
|
||||
www-client/chromium custom-cflags
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
sys-devel/clang-common default-compiler-rt llvm-libunwind
|
||||
sys-devel/clang-common default-compiler-rt default-lld llvm-libunwind
|
||||
sys-libs/llvm-libunwind static-libs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue