mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-08 11:59:48 -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
|
||||
*-gcc-*)
|
||||
export CC=gcc-13 CXX=g++-13
|
||||
export COMPILER=gcc
|
||||
;;
|
||||
*-oldgcc-*)
|
||||
export CC=gcc-12 CXX=g++-12
|
||||
;;
|
||||
*-clang-*)
|
||||
export CC=clang-17 CXX=clang++-17
|
||||
export COMPILER=clang
|
||||
;;
|
||||
*-oldclang-*)
|
||||
export CC=clang-16 CXX=clang++-16
|
||||
@ -85,7 +87,7 @@ fi
|
||||
|
||||
if [[ "-$BUILD_TYPE-" == *-static-* ]]; then
|
||||
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
|
||||
CMAKE_ARGS="${CMAKE_ARGS} -DWITH_BENCHMARKS=1"
|
||||
fi
|
||||
@ -115,7 +117,8 @@ if [[ "-$BUILD_TYPE-" == *-coverage-* ]]; then
|
||||
fi
|
||||
|
||||
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
|
||||
|
||||
if [[ "$BUILD_ARCH" == "amd64" ]]; then
|
||||
|
@ -10,11 +10,9 @@ FILE_VERSION=5.45
|
||||
FILE_SHA512=12611a59ff766c22a55db4b4a9f80f95a0a2e916a1d8593612c6ead32c247102a8fdc23693c6bf81bda9b604d951a62c0051e91580b1b79e190a3504c0efc20a
|
||||
LIBARCHIVE_VERSION=3.7.2
|
||||
FLAC_VERSION=1.4.3
|
||||
LIBUNWIND_VERSION=1.7.2
|
||||
# BENCHMARK_VERSION=1.8.2
|
||||
|
||||
export CC=clang-17
|
||||
export CXX=clang++-17
|
||||
|
||||
RETRY=0
|
||||
while true; do
|
||||
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/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
|
||||
|
||||
tar xf libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
||||
cd libarchive-${LIBARCHIVE_VERSION}
|
||||
./configure --prefix=/opt/static-libs --without-iconv --without-xml2 --without-expat
|
||||
make -j$(nproc)
|
||||
make install
|
||||
for COMPILER in clang gcc; do
|
||||
if [[ "$COMPILER" == "clang" ]]; then
|
||||
export CC=clang-17
|
||||
export CXX=clang++-17
|
||||
elif [[ "$COMPILER" == "gcc" ]]; then
|
||||
export CC=gcc-13
|
||||
export CXX=g++-13
|
||||
else
|
||||
echo "Unknown compiler: $COMPILER"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd "$HOME/pkgs"
|
||||
tar xf file-${FILE_VERSION}.tar.gz
|
||||
cd file-${FILE_VERSION}
|
||||
./configure --prefix=/opt/static-libs --enable-static=yes --enable-shared=no
|
||||
make -j$(nproc)
|
||||
make install
|
||||
cd "$HOME/pkgs"
|
||||
mkdir $COMPILER
|
||||
cd $COMPILER
|
||||
|
||||
cd "$HOME/pkgs"
|
||||
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
|
||||
INSTALL_DIR=/opt/static-libs/$COMPILER
|
||||
|
||||
# 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=/opt/static-libs
|
||||
# make -j$(nproc)
|
||||
# make install
|
||||
tar xf ../libarchive-${LIBARCHIVE_VERSION}.tar.xz
|
||||
cd libarchive-${LIBARCHIVE_VERSION}
|
||||
./configure --prefix="$INSTALL_DIR" --without-iconv --without-xml2 --without-expat
|
||||
make -j$(nproc)
|
||||
make install
|
||||
|
||||
cd "$HOME/pkgs/$COMPILER"
|
||||
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"
|
||||
rm -rf pkgs
|
||||
|
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@ -105,6 +105,7 @@ jobs:
|
||||
- gcc-release-ninja
|
||||
- oldgcc-debug-make
|
||||
- clang-release-ninja
|
||||
- gcc-release-ninja-static
|
||||
- clang-release-ninja-static
|
||||
- clang-reldbg-ninja-static
|
||||
- clang-debug-ninja-static
|
||||
|
@ -975,7 +975,7 @@ if(STATIC_BUILD_DO_NOT_USE)
|
||||
import_static_lib(static_libflac "libFLAC++.a")
|
||||
|
||||
set_target_properties(static_libunwind PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
PkgConfig::LIBLZMA)
|
||||
"${LIBLZMA_LIBRARIES};static_libz")
|
||||
set_target_properties(static_libglog PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
static_libgflags)
|
||||
set_target_properties(static_librt PROPERTIES INTERFACE_LINK_LIBRARIES
|
||||
@ -1091,6 +1091,11 @@ endif()
|
||||
|
||||
if(PRJ_VERSION_FULL)
|
||||
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)
|
||||
set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-O${DWARFS_OPTIMIZE}")
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user