mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-09 20:41:04 -04:00
wip: support more architectures
This commit is contained in:
parent
08923fb848
commit
007d69f2c6
@ -26,6 +26,7 @@ RUN qemu_pkgs=""; \
|
|||||||
clang18 \
|
clang18 \
|
||||||
clang19 \
|
clang19 \
|
||||||
clang20 \
|
clang20 \
|
||||||
|
lld \
|
||||||
git \
|
git \
|
||||||
xz \
|
xz \
|
||||||
gzip \
|
gzip \
|
||||||
|
@ -2,11 +2,6 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
# if [ -n "$TARGETPLATFORM" ]; then
|
|
||||||
# export CC="xx-cc"
|
|
||||||
# export CXX="xx-c++"
|
|
||||||
# fi
|
|
||||||
|
|
||||||
cd "$HOME"
|
cd "$HOME"
|
||||||
mkdir pkgs
|
mkdir pkgs
|
||||||
cd pkgs
|
cd pkgs
|
||||||
@ -23,7 +18,6 @@ export PATH="/usr/lib/ccache/bin:$PATH"
|
|||||||
|
|
||||||
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
|
cmake .. -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local
|
||||||
ninja
|
ninja
|
||||||
ccache -s
|
|
||||||
ninja install
|
ninja install
|
||||||
|
|
||||||
cd "$HOME"
|
cd "$HOME"
|
||||||
|
@ -57,7 +57,7 @@ fi
|
|||||||
|
|
||||||
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"
|
||||||
export COMMON_LDFLAGS="-fuse-ld=mold -static-libgcc"
|
export COMMON_LDFLAGS="-static-libgcc"
|
||||||
|
|
||||||
FILE_TARBALL="file-${FILE_VERSION}.tar.gz"
|
FILE_TARBALL="file-${FILE_VERSION}.tar.gz"
|
||||||
BZIP2_TARBALL="bzip2-${BZIP2_VERSION}.tar.gz"
|
BZIP2_TARBALL="bzip2-${BZIP2_VERSION}.tar.gz"
|
||||||
@ -91,6 +91,15 @@ PARALLEL_HASHMAP_TARBALL="parallel-hashmap-${PARALLEL_HASHMAP_VERSION}.tar.gz"
|
|||||||
|
|
||||||
use_lib() {
|
use_lib() {
|
||||||
local lib="$1"
|
local lib="$1"
|
||||||
|
case "$CARCH" in
|
||||||
|
ppc64le|s390x|arm)
|
||||||
|
case "$lib" in
|
||||||
|
libunwind|libdwarf|cpptrace)
|
||||||
|
return 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
if [[ ",$PKGS," == *",$lib,"* ]]; then
|
if [[ ",$PKGS," == *",$lib,"* ]]; then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
@ -226,6 +235,7 @@ for target_arch in ${TARGET_ARCH_STR//,/ }; do
|
|||||||
BOOST_CONTEXT_ARCH="$CARCH"
|
BOOST_CONTEXT_ARCH="$CARCH"
|
||||||
case "$CARCH" in
|
case "$CARCH" in
|
||||||
aarch64*) BOOST_CONTEXT_ARCH="arm64" ;;
|
aarch64*) BOOST_CONTEXT_ARCH="arm64" ;;
|
||||||
|
ppc64*) BOOST_CONTEXT_ARCH="ppc64" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
export TARGET="${CARCH}-alpine-linux-musl"
|
export TARGET="${CARCH}-alpine-linux-musl"
|
||||||
@ -241,7 +251,7 @@ for target_arch in ${TARGET_ARCH_STR//,/ }; do
|
|||||||
|
|
||||||
endian="little"
|
endian="little"
|
||||||
case "$CARCH" in
|
case "$CARCH" in
|
||||||
powerpc|powerpc64|s390|s390x)
|
powerpc|powerpc64)
|
||||||
endian="big"
|
endian="big"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@ -266,11 +276,22 @@ EOF
|
|||||||
export WORKROOT="$HOME/pkgs"
|
export WORKROOT="$HOME/pkgs"
|
||||||
|
|
||||||
# COMPILERS="clang clang-lto clang-minsize-lto gcc"
|
# COMPILERS="clang clang-lto clang-minsize-lto gcc"
|
||||||
COMPILERS="clang clang-minsize-lto gcc"
|
case "$CARCH" in
|
||||||
if [[ "$CARCH" != "x86_64" && "$CARCH" != "aarch64" ]]; then
|
ppc64le|s390x)
|
||||||
# Let's keep it simple for more exotic architectures
|
COMPILERS="gcc"
|
||||||
COMPILERS="clang-minsize-lto"
|
;;
|
||||||
fi
|
arm)
|
||||||
|
COMPILERS="clang clang-minsize-lto"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [[ "$ARCH" == "riscv64" ]]; then
|
||||||
|
# This is so slow natively, stick to the basics for now
|
||||||
|
COMPILERS="clang"
|
||||||
|
else
|
||||||
|
COMPILERS="clang clang-minsize-lto gcc"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
INSTALL_ROOT="/opt/static-libs"
|
INSTALL_ROOT="/opt/static-libs"
|
||||||
|
|
||||||
@ -288,6 +309,17 @@ EOF
|
|||||||
export PERF_CXXFLAGS="$TARGET_FLAGS $COMMON_CXXFLAGS -isystem $INSTALL_DIR/include"
|
export PERF_CXXFLAGS="$TARGET_FLAGS $COMMON_CXXFLAGS -isystem $INSTALL_DIR/include"
|
||||||
export COMP_LDFLAGS="$TARGET_FLAGS $COMMON_LDFLAGS -L$INSTALL_DIR/lib"
|
export COMP_LDFLAGS="$TARGET_FLAGS $COMMON_LDFLAGS -L$INSTALL_DIR/lib"
|
||||||
|
|
||||||
|
case "$CARCH" in
|
||||||
|
arm)
|
||||||
|
export COMP_LDFLAGS="-fuse-ld=lld $COMP_LDFLAGS"
|
||||||
|
;;
|
||||||
|
ppc64le|s390x)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
export COMP_LDFLAGS="-fuse-ld=mold $COMP_LDFLAGS"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
case "$COMPILER" in
|
case "$COMPILER" in
|
||||||
clang*)
|
clang*)
|
||||||
export CC="$TARGET-clang"
|
export CC="$TARGET-clang"
|
||||||
@ -385,6 +417,7 @@ EOF
|
|||||||
cmake .. -DBOOST_ENABLE_MPI=OFF -DBOOST_ENABLE_PYTHON=OFF -DBUILD_SHARED_LIBS=OFF \
|
cmake .. -DBOOST_ENABLE_MPI=OFF -DBOOST_ENABLE_PYTHON=OFF -DBUILD_SHARED_LIBS=OFF \
|
||||||
-DBOOST_IOSTREAMS_ENABLE_ZLIB=OFF -DBOOST_IOSTREAMS_ENABLE_BZIP2=OFF \
|
-DBOOST_IOSTREAMS_ENABLE_ZLIB=OFF -DBOOST_IOSTREAMS_ENABLE_BZIP2=OFF \
|
||||||
-DBOOST_IOSTREAMS_ENABLE_LZMA=OFF -DBOOST_IOSTREAMS_ENABLE_ZSTD=OFF \
|
-DBOOST_IOSTREAMS_ENABLE_LZMA=OFF -DBOOST_IOSTREAMS_ENABLE_ZSTD=OFF \
|
||||||
|
-DBOOST_CHARCONV_QUADMATH_FOUND_EXITCODE=0 \
|
||||||
-DBOOST_EXCLUDE_LIBRARIES=stacktrace ${BOOST_CMAKE_ARGS} \
|
-DBOOST_EXCLUDE_LIBRARIES=stacktrace ${BOOST_CMAKE_ARGS} \
|
||||||
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" ${CMAKE_ARGS}
|
-DCMAKE_INSTALL_PREFIX="$INSTALL_DIR" ${CMAKE_ARGS}
|
||||||
ninja
|
ninja
|
||||||
|
@ -112,6 +112,9 @@ for target_arch in ${TARGET_ARCH_STR//,/ }; do
|
|||||||
GCC_CONFIGURE_ARGS="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
|
GCC_CONFIGURE_ARGS="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
|
||||||
TARGET="arm-linux-musleabihf"
|
TARGET="arm-linux-musleabihf"
|
||||||
;;
|
;;
|
||||||
|
s390x)
|
||||||
|
GCC_CONFIGURE_ARGS="--with-arch=z10"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
GCC_CONFIGURE_ARGS=""
|
GCC_CONFIGURE_ARGS=""
|
||||||
;;
|
;;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user