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