mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 12:28:13 -04:00
build: try building a gcc-static binary
This commit is contained in:
parent
f98874e714
commit
e0bcadd02c
@ -32,12 +32,14 @@ esac
|
|||||||
case "-$BUILD_TYPE-" in
|
case "-$BUILD_TYPE-" in
|
||||||
*-gcc-*)
|
*-gcc-*)
|
||||||
export CC=gcc-13 CXX=g++-13
|
export CC=gcc-13 CXX=g++-13
|
||||||
|
export COMPILER=gcc
|
||||||
;;
|
;;
|
||||||
*-oldgcc-*)
|
*-oldgcc-*)
|
||||||
export CC=gcc-12 CXX=g++-12
|
export CC=gcc-12 CXX=g++-12
|
||||||
;;
|
;;
|
||||||
*-clang-*)
|
*-clang-*)
|
||||||
export CC=clang-17 CXX=clang++-17
|
export CC=clang-17 CXX=clang++-17
|
||||||
|
export COMPILER=clang
|
||||||
;;
|
;;
|
||||||
*-oldclang-*)
|
*-oldclang-*)
|
||||||
export CC=clang-16 CXX=clang++-16
|
export CC=clang-16 CXX=clang++-16
|
||||||
@ -85,7 +87,7 @@ fi
|
|||||||
|
|
||||||
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
||||||
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_DO_NOT_USE=1"
|
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_DO_NOT_USE=1"
|
||||||
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_EXTRA_PREFIX=/opt/static-libs"
|
CMAKE_ARGS="${CMAKE_ARGS} -DSTATIC_BUILD_EXTRA_PREFIX=/opt/static-libs/$COMPILER"
|
||||||
else
|
else
|
||||||
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_BENCHMARKS=1"
|
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_BENCHMARKS=1"
|
||||||
fi
|
fi
|
||||||
@ -115,7 +117,8 @@ if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
||||||
if [[ "-$BUILD_TYPE-" == *-release-* ]]; then
|
# in the clang-release-static case, we also try to build from the source tarball
|
||||||
|
if [[ "-$BUILD_TYPE-" == *-release-* ]] && [[ "-$BUILD_TYPE-" == *-clang-* ]]; then
|
||||||
$BUILD_TOOL package_source
|
$BUILD_TOOL package_source
|
||||||
|
|
||||||
if [[ "$BUILD_ARCH" == "amd64" ]]; then
|
if [[ "$BUILD_ARCH" == "amd64" ]]; then
|
||||||
|
@ -10,11 +10,9 @@ FILE_VERSION=5.45
|
|||||||
FILE_SHA512=12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a
|
FILE_SHA512=12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a
|
||||||
LIBARCHIVE_VERSION=3.7.2
|
LIBARCHIVE_VERSION=3.7.2
|
||||||
FLAC_VERSION=1.4.3
|
FLAC_VERSION=1.4.3
|
||||||
|
LIBUNWIND_VERSION=1.7.2
|
||||||
# BENCHMARK_VERSION=1.8.2
|
# BENCHMARK_VERSION=1.8.2
|
||||||
|
|
||||||
export CC=clang-17
|
|
||||||
export CXX=clang++-17
|
|
||||||
|
|
||||||
RETRY=0
|
RETRY=0
|
||||||
while true; do
|
while true; do
|
||||||
rm -f file-${FILE_VERSION}.tar.gz
|
rm -f file-${FILE_VERSION}.tar.gz
|
||||||
@ -31,36 +29,63 @@ done
|
|||||||
|
|
||||||
wget https://github.com/libarchive/libarchive/releases/download/v${LIBARCHIVE_VERSION}/libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
wget https://github.com/libarchive/libarchive/releases/download/v${LIBARCHIVE_VERSION}/libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
||||||
wget https://github.com/xiph/flac/releases/download/${FLAC_VERSION}/flac-${FLAC_VERSION}.tar.xz
|
wget https://github.com/xiph/flac/releases/download/${FLAC_VERSION}/flac-${FLAC_VERSION}.tar.xz
|
||||||
|
wget https://github.com/libunwind/libunwind/releases/download/v${LIBUNWIND_VERSION}/libunwind-${LIBUNWIND_VERSION}.tar.gz
|
||||||
# wget https://github.com/google/benchmark/archive/refs/tags/v${BENCHMARK_VERSION}.tar.gz
|
# wget https://github.com/google/benchmark/archive/refs/tags/v${BENCHMARK_VERSION}.tar.gz
|
||||||
|
|
||||||
tar xf libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
for COMPILER in clang gcc; do
|
||||||
cd libarchive-${LIBARCHIVE_VERSION}
|
if [[ "$COMPILER" == "clang" ]]; then
|
||||||
./configure --prefix=/opt/static-libs --without-iconv --without-xml2 --without-expat
|
export CC=clang-17
|
||||||
make -j$(nproc)
|
export CXX=clang++-17
|
||||||
make install
|
elif [[ "$COMPILER" == "gcc" ]]; then
|
||||||
|
export CC=gcc-13
|
||||||
|
export CXX=g++-13
|
||||||
|
else
|
||||||
|
echo "Unknown compiler: $COMPILER"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
cd "$HOME/pkgs"
|
cd "$HOME/pkgs"
|
||||||
tar xf file-${FILE_VERSION}.tar.gz
|
mkdir $COMPILER
|
||||||
cd file-${FILE_VERSION}
|
cd $COMPILER
|
||||||
./configure --prefix=/opt/static-libs --enable-static=yes --enable-shared=no
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
|
|
||||||
cd "$HOME/pkgs"
|
INSTALL_DIR=/opt/static-libs/$COMPILER
|
||||||
tar xf flac-${FLAC_VERSION}.tar.xz
|
|
||||||
cd flac-${FLAC_VERSION}
|
|
||||||
./configure --prefix=/opt/static-libs --enable-static=yes --enable-shared=no --disable-doxygen-docs --disable-ogg --disable-programs --disable-examples
|
|
||||||
make -j$(nproc)
|
|
||||||
make install
|
|
||||||
|
|
||||||
# cd "$HOME/pkgs"
|
tar xf ../libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
||||||
# tar xf v${BENCHMARK_VERSION}.tar.gz
|
cd libarchive-${LIBARCHIVE_VERSION}
|
||||||
# cd benchmark-${BENCHMARK_VERSION}
|
./configure --prefix="$INSTALL_DIR" --without-iconv --without-xml2 --without-expat
|
||||||
# mkdir build
|
make -j$(nproc)
|
||||||
# cd build
|
make install
|
||||||
# cmake .. -DBENCHMARK_DOWNLOAD_DEPENDENCIES=1 -DCMAKE_INSTALL_PREFIX=/opt/static-libs
|
|
||||||
# make -j$(nproc)
|
cd "$HOME/pkgs/$COMPILER"
|
||||||
# make install
|
tar xf ../file-${FILE_VERSION}.tar.gz
|
||||||
|
cd file-${FILE_VERSION}
|
||||||
|
./configure --prefix="$INSTALL_DIR" --enable-static=yes --enable-shared=no
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd "$HOME/pkgs/$COMPILER"
|
||||||
|
tar xf ../flac-${FLAC_VERSION}.tar.xz
|
||||||
|
cd flac-${FLAC_VERSION}
|
||||||
|
./configure --prefix="$INSTALL_DIR" --enable-static=yes --enable-shared=no --disable-doxygen-docs --disable-ogg --disable-programs --disable-examples
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
cd "$HOME/pkgs/$COMPILER"
|
||||||
|
tar xf ../libunwind-${LIBUNWIND_VERSION}.tar.gz
|
||||||
|
cd libunwind-${LIBUNWIND_VERSION}
|
||||||
|
./configure --prefix="$INSTALL_DIR"
|
||||||
|
make -j$(nproc)
|
||||||
|
make install
|
||||||
|
|
||||||
|
# cd "$HOME/pkgs"
|
||||||
|
# tar xf v${BENCHMARK_VERSION}.tar.gz
|
||||||
|
# cd benchmark-${BENCHMARK_VERSION}
|
||||||
|
# mkdir build
|
||||||
|
# cd build
|
||||||
|
# cmake .. -DBENCHMARK_DOWNLOAD_DEPENDENCIES=1 -DCMAKE_INSTALL_PREFIX="$INSTALL_DIR"
|
||||||
|
# make -j$(nproc)
|
||||||
|
# make install
|
||||||
|
done
|
||||||
|
|
||||||
cd "$HOME"
|
cd "$HOME"
|
||||||
rm -rf pkgs
|
rm -rf pkgs
|
||||||
|
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -105,6 +105,7 @@ jobs:
|
|||||||
- gcc-release-ninja
|
- gcc-release-ninja
|
||||||
- oldgcc-debug-make
|
- oldgcc-debug-make
|
||||||
- clang-release-ninja
|
- clang-release-ninja
|
||||||
|
- gcc-release-ninja-static
|
||||||
- clang-release-ninja-static
|
- clang-release-ninja-static
|
||||||
- clang-reldbg-ninja-static
|
- clang-reldbg-ninja-static
|
||||||
- clang-debug-ninja-static
|
- clang-debug-ninja-static
|
||||||
|
@ -975,7 +975,7 @@ if(STATIC_BUILD_DO_NOT_USE)
|
|||||||
import_static_lib(static_libflac "libFLAC++.a")
|
import_static_lib(static_libflac "libFLAC++.a")
|
||||||
|
|
||||||
set_target_properties(static_libunwind PROPERTIES INTERFACE_LINK_LIBRARIES
|
set_target_properties(static_libunwind PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||||
PkgConfig::LIBLZMA)
|
"${LIBLZMA_LIBRARIES};static_libz")
|
||||||
set_target_properties(static_libglog PROPERTIES INTERFACE_LINK_LIBRARIES
|
set_target_properties(static_libglog PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||||
static_libgflags)
|
static_libgflags)
|
||||||
set_target_properties(static_librt PROPERTIES INTERFACE_LINK_LIBRARIES
|
set_target_properties(static_librt PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||||
@ -1091,6 +1091,11 @@ endif()
|
|||||||
|
|
||||||
if(PRJ_VERSION_FULL)
|
if(PRJ_VERSION_FULL)
|
||||||
set(DWARFS_ARTIFACT_ID "${PRJ_VERSION_FULL}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
set(DWARFS_ARTIFACT_ID "${PRJ_VERSION_FULL}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-gcc")
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-clang")
|
||||||
|
endif()
|
||||||
if(DWARFS_OPTIMIZE)
|
if(DWARFS_OPTIMIZE)
|
||||||
set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-O${DWARFS_OPTIMIZE}")
|
set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-O${DWARFS_OPTIMIZE}")
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user