mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-04 02:06:22 -04:00
build: tweak static libs config on alpine
- always use `-ffunction-sections -fdata-sections -fmerge-all-constants` - don't use `-Os` with gcc
This commit is contained in:
parent
86c0cfc528
commit
3366ef4585
@ -36,7 +36,9 @@ if [[ "$PKGS" == ":ubuntu" ]]; then
|
|||||||
COMPILERS="clang gcc"
|
COMPILERS="clang gcc"
|
||||||
elif [[ "$PKGS" == ":alpine" ]]; then
|
elif [[ "$PKGS" == ":alpine" ]]; then
|
||||||
PKGS="benchmark,brotli,bzip2,cpptrace,double-conversion,flac,fmt,fuse,glog,libarchive,lz4,openssl,xxhash,zstd"
|
PKGS="benchmark,brotli,bzip2,cpptrace,double-conversion,flac,fmt,fuse,glog,libarchive,lz4,openssl,xxhash,zstd"
|
||||||
export COMMON_CFLAGS="-Os -ffunction-sections -fdata-sections -fmerge-all-constants"
|
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"
|
export COMMON_CXXFLAGS="$COMMON_CFLAGS"
|
||||||
COMPILERS="clang gcc clang-lto gcc-lto"
|
COMPILERS="clang gcc clang-lto gcc-lto"
|
||||||
elif [[ "$PKGS" == ":none" ]]; then
|
elif [[ "$PKGS" == ":none" ]]; then
|
||||||
@ -112,14 +114,26 @@ fetch_lib zstd https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSIO
|
|||||||
fetch_lib fuse https://github.com/libfuse/libfuse/releases/download/fuse-${FUSE_VERSION}/${FUSE_TARBALL}
|
fetch_lib fuse https://github.com/libfuse/libfuse/releases/download/fuse-${FUSE_VERSION}/${FUSE_TARBALL}
|
||||||
|
|
||||||
for COMPILER in $COMPILERS; do
|
for COMPILER in $COMPILERS; do
|
||||||
|
export CFLAGS="$COMMON_CFLAGS"
|
||||||
|
export CXXFLAGS="$COMMON_CXXFLAGS"
|
||||||
|
export LDFLAGS="$COMMON_LDFLAGS"
|
||||||
|
|
||||||
case "$COMPILER" in
|
case "$COMPILER" in
|
||||||
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"
|
||||||
@ -129,22 +143,38 @@ for COMPILER in $COMPILERS; do
|
|||||||
|
|
||||||
case "$COMPILER" in
|
case "$COMPILER" in
|
||||||
*-lto)
|
*-lto)
|
||||||
export CFLAGS="$COMMON_CFLAGS -flto"
|
export CFLAGS="$CFLAGS -flto"
|
||||||
export CXXFLAGS="$COMMON_CXXFLAGS -flto"
|
export CXXFLAGS="$CXXFLAGS -flto"
|
||||||
export LDFLAGS="$COMMON_LDFLAGS -flto"
|
export LDFLAGS="$LDFLAGS -flto"
|
||||||
;;
|
;;
|
||||||
*-lto-thin)
|
*-lto-thin)
|
||||||
export CFLAGS="$COMMON_CFLAGS -flto=thin"
|
export CFLAGS="$CFLAGS -flto=thin"
|
||||||
export CXXFLAGS="$COMMON_CXXFLAGS -flto=thin"
|
export CXXFLAGS="$CXXFLAGS -flto=thin"
|
||||||
export LDFLAGS="$COMMON_LDFLAGS -flto=thin"
|
export LDFLAGS="$LDFLAGS -flto=thin"
|
||||||
;;
|
|
||||||
*)
|
|
||||||
unset CFLAGS
|
|
||||||
unset CXXFLAGS
|
|
||||||
unset LDFLAGS
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
if [[ $CFLAGS =~ ^[[:space:]]*$ ]]; then
|
||||||
|
echo "unsetting CFLAGS"
|
||||||
|
unset CFLAGS
|
||||||
|
else
|
||||||
|
echo "setting CFLAGS: $CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $CXXFLAGS =~ ^[[:space:]]*$ ]]; then
|
||||||
|
echo "unsetting CXXFLAGS"
|
||||||
|
unset CXXFLAGS
|
||||||
|
else
|
||||||
|
echo "setting CXXFLAGS: $CXXFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $LDFLAGS =~ ^[[:space:]]*$ ]]; then
|
||||||
|
echo "unsetting LDFLAGS"
|
||||||
|
unset LDFLAGS
|
||||||
|
else
|
||||||
|
echo "setting LDFLAGS: $LDFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
cd "$HOME/pkgs"
|
cd "$HOME/pkgs"
|
||||||
mkdir $COMPILER
|
mkdir $COMPILER
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user