mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 17:56:12 -04:00
build: do a real non-size-optimized LTO build
This commit is contained in:
parent
37849ee37c
commit
b99cb472f1
@ -139,6 +139,7 @@ case "-$BUILD_TYPE-" in
|
||||
export CXXFLAGS="${CFLAGS}"
|
||||
export LDFLAGS="-Wl,--gc-sections"
|
||||
fi
|
||||
export COMPILER="${COMPILER}-minsize"
|
||||
;;
|
||||
*-reldbg-*)
|
||||
CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
|
@ -37,11 +37,9 @@ if [[ "$PKGS" == ":ubuntu" ]]; then
|
||||
COMPILERS="clang gcc"
|
||||
elif [[ "$PKGS" == ":alpine" ]]; then
|
||||
PKGS="benchmark,brotli,cpptrace,double-conversion,flac,fmt,fuse,glog,libarchive,lz4,openssl,xxhash,zstd"
|
||||
export CLANG_OPTIMIZE="-Os"
|
||||
export GCC_OPTIMIZE="-O2" # gcc -Os is painfully slow
|
||||
export COMMON_CFLAGS="-ffunction-sections -fdata-sections -fmerge-all-constants"
|
||||
export COMMON_CXXFLAGS="$COMMON_CFLAGS"
|
||||
COMPILERS="clang gcc clang-lto gcc-lto"
|
||||
COMPILERS="clang clang-lto clang-minsize-lto gcc"
|
||||
elif [[ "$PKGS" == ":none" ]]; then
|
||||
echo "No libraries to build"
|
||||
exit 0
|
||||
@ -123,18 +121,10 @@ for COMPILER in $COMPILERS; do
|
||||
clang*)
|
||||
export CC="$CLANG"
|
||||
export CXX="${CLANG/clang/clang++}"
|
||||
if [[ -n "$CLANG_OPTIMIZE" ]]; then
|
||||
export CFLAGS="$CFLAGS $CLANG_OPTIMIZE"
|
||||
export CXXFLAGS="$CXXFLAGS $CLANG_OPTIMIZE"
|
||||
fi
|
||||
;;
|
||||
gcc*)
|
||||
export CC="$GCC"
|
||||
export CXX="${GCC/gcc/g++}"
|
||||
if [[ -n "$GCC_OPTIMIZE" ]]; then
|
||||
export CFLAGS="$CFLAGS $GCC_OPTIMIZE"
|
||||
export CXXFLAGS="$CXXFLAGS $GCC_OPTIMIZE"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Unknown compiler: $COMPILER"
|
||||
@ -142,6 +132,13 @@ for COMPILER in $COMPILERS; do
|
||||
;;
|
||||
esac
|
||||
|
||||
case "-$COMPILER-" in
|
||||
*-minsize-*)
|
||||
export CFLAGS="$CFLAGS -Os"
|
||||
export CXXFLAGS="$CXXFLAGS -Os"
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$COMPILER" in
|
||||
*-lto)
|
||||
export CFLAGS="$CFLAGS -flto"
|
||||
|
12
.github/workflows/build.yml
vendored
12
.github/workflows/build.yml
vendored
@ -332,12 +332,12 @@ jobs:
|
||||
- arch: arm64v8
|
||||
dist: alpine
|
||||
build_type: clang-release-ninja-static
|
||||
- arch: amd64
|
||||
dist: alpine
|
||||
build_type: clang-relsize-ninja-static
|
||||
- arch: arm64v8
|
||||
dist: alpine
|
||||
build_type: clang-relsize-ninja-static
|
||||
# - arch: amd64
|
||||
# dist: alpine
|
||||
# build_type: clang-relsize-ninja-static
|
||||
# - arch: arm64v8
|
||||
# dist: alpine
|
||||
# build_type: clang-relsize-ninja-static
|
||||
# - arch: amd64
|
||||
# dist: alpine
|
||||
# build_type: gcc-release-lto-ninja-static
|
||||
|
Loading…
x
Reference in New Issue
Block a user