reworked LTO to have no-lto package, gcc defaults to gnu-ld, clang defaults to lld now

This commit is contained in:
Moritz Gmeiner 2023-08-28 17:52:19 +02:00
commit 75f64148b7
13 changed files with 50 additions and 27 deletions

15
env/clang vendored
View file

@ -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
View file

@ -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
View file

@ -1,6 +0,0 @@
CFLAGS="${CFLAGS} -flto"
CXXFLAGS="${CXXFLAGS} -flto"
LDFLAGS="${LDFLAGS} -flto"
USE="lto"

7
env/no-lto vendored Normal file
View 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"