'Generic Commit'
Some checks failed
dropshell-build / build (push) Failing after 4m10s

This commit is contained in:
Your Name 2025-06-02 17:11:21 +12:00
parent 79b153819a
commit d14854a109

View File

@ -57,17 +57,19 @@ function set_current_arch() {
# ARCH_OS=linux-musl-cross # ARCH_OS=linux-musl-cross
# FULLARCH=aarch64-linux-musl-cross # FULLARCH=aarch64-linux-musl-cross
# ARCH_SHORT_PREFIX=aarch64-linux-musl # ARCH_SHORT_PREFIX=aarch64-linux-musl
# MUSL_PATH=/home/jde/.musl-cross/aarch64-linux-musl-cross # MUSL_PATH=/home/jde/.musl-cr oss/aarch64-linux-musl-cross
# arch should just be x86_64 or aarch64 # arch should just be x86_64 or aarch64
export ARCH="${FULLARCH%%-*}" export ARCH="${FULLARCH%%-*}"
export ARCH_OS="${FULLARCH#*-}" export ARCH_OS="${FULLARCH#*-}"
export ARCH_SHORT_PREFIX="${FULLARCH%-*}" export ARCH_SHORT_PREFIX="${FULLARCH%-*}"
export MUSL_PATH="${MUSL_ROOT_PATH}/${FULLARCH}" export ARCH_MUSL_PATH="${MUSL_ROOT_PATH}/${FULLARCH}"
export ARCH_SYSROOT="${ARCH_MUSL_PATH}/${ARCH_SHORT_PREFIX}/sysroot"
echo "ARCH: ${ARCH}" echo "ARCH: ${ARCH}"
echo "ARCH_OS: ${ARCH_OS}" echo "ARCH_OS: ${ARCH_OS}"
echo "ARCH_SHORT_PREFIX: ${ARCH_SHORT_PREFIX}" echo "ARCH_SHORT_PREFIX: ${ARCH_SHORT_PREFIX}"
echo "MUSL_PATH: ${MUSL_PATH}" echo "ARCH_MUSL_PATH: ${ARCH_MUSL_PATH}"
echo "ARCH_SYSROOT: ${ARCH_SYSROOT}"
} }
OLD_PWD="$PWD" OLD_PWD="$PWD"
@ -91,9 +93,9 @@ function build_arch() {
echo "Building for ${ARCH} in ${ARCH_BUILD_DIR}" echo "Building for ${ARCH} in ${ARCH_BUILD_DIR}"
if [ ! -f "${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" ]; then if [ ! -f "${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" ]; then
echo "Musl cross toolchain not found for ${ARCH}" echo "Musl cross toolchain not found for ${ARCH}"
echo "Missing file: ${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" echo "Missing file: ${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
exit 1 exit 1
fi fi
@ -102,19 +104,28 @@ function build_arch() {
CMAKE_BUILD_TYPE="Debug" CMAKE_BUILD_TYPE="Debug"
fi fi
export CC="${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-gcc" export CC="${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-gcc"
export CXX="${MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++" export CXX="${ARCH_MUSL_PATH}/bin/${ARCH_SHORT_PREFIX}-g++"
export SYSROOT="${MUSL_PATH}/${ARCH_OS}/sysroot" export SYSROOT="${ARCH_SYSROOT}"
export OPENSSL_ROOT_DIR="${SYSROOT}/usr" export OPENSSL_ROOT_DIR="${SYSROOT}/usr"
export CFLAGS="--sysroot=$SYSROOT" export CFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include"
export CXXFLAGS="--sysroot=$SYSROOT" export CXXFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include"
export LDFLAGS="--sysroot=$SYSROOT" export LDFLAGS="--sysroot=$SYSROOT"
export MAKEFLAGS="-j${JOBS}" export MAKEFLAGS="-j${JOBS}"
export CCACHE_DIR="${ARCH_BUILD_DIR}/ccache" export CCACHE_DIR="${ARCH_BUILD_DIR}/ccache"
export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold" export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold"
export CMAKE_MODULE_LINKER_FLAGS="-fuse-ld=mold" export CMAKE_MODULE_LINKER_FLAGS="-fuse-ld=mold"
export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold" export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold"
if [ -d "${ARCH_SYSROOT}/usr/lib64" ]; then
export OPENSSL_LIBDIR="${ARCH_SYSROOT}/usr/lib64"
elif [ -d "${ARCH_SYSROOT}/usr/lib" ]; then
export OPENSSL_LIBDIR="${ARCH_SYSROOT}/usr/lib"
else
echo "Neither lib nor lib64 found in ${ARCH_SYSROOT}/usr"
exit 1
fi
cmake -B "${ARCH_BUILD_DIR}" -G Ninja \ cmake -B "${ARCH_BUILD_DIR}" -G Ninja \
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \ -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \
@ -126,7 +137,11 @@ function build_arch() {
-DCMAKE_C_FLAGS="${CFLAGS}" \ -DCMAKE_C_FLAGS="${CFLAGS}" \
-DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
-DCMAKE_FIND_ROOT_PATH="${SYSROOT}" \ -DCMAKE_FIND_ROOT_PATH="${SYSROOT}" \
-DCMAKE_SYSROOT="${SYSROOT}" -DCMAKE_SYSROOT="${SYSROOT}" \
-DOPENSSL_ROOT_DIR="${ARCH_SYSROOT}/usr" \
-DOPENSSL_LIBRARIES="${OPENSSL_LIBDIR}" \
-DOPENSSL_INCLUDE_DIR="${ARCH_SYSROOT}/usr/include" \
-DOPENSSL_USE_STATIC_LIBS=ON
cd "${ARCH_BUILD_DIR}" || exit 1 cd "${ARCH_BUILD_DIR}" || exit 1
ninja -k0 -j"${JOBS}" ninja -k0 -j"${JOBS}"