From c5cb37a5c261cad9715e961b0fbbb03a9cb7a631 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 2 Jun 2025 08:17:59 +1200 Subject: [PATCH] 'Generic Commit' --- src/dropshell-build | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/dropshell-build b/src/dropshell-build index 7b64ee8..f86f9a4 100755 --- a/src/dropshell-build +++ b/src/dropshell-build @@ -54,6 +54,21 @@ function centerlittletitle() { printf '%*s\n' "$WIDTH" '' | tr ' ' '-' } +function set_current_arch() { + local FULLARCH="$1" + # e.g. aarch64-linux-musl-cross + # split on - + export ARCH_OS="${FULLARCH#*-}" + export ARCH_PREFIX="${ARCH}-${OS}" + export ARCH="${FULLARCH%-*}" + export MUSL_PATH="${HOME}/.musl-cross/${FULLARCH}" + + echo "ARCH: ${ARCH}" + echo "ARCH_OS: ${ARCH_OS}" + echo "ARCH_PREFIX: ${ARCH_PREFIX}" + echo "MUSL_PATH: ${MUSL_PATH}" +} + OLD_PWD="$PWD" trap 'cd "${OLD_PWD}"' EXIT @@ -62,8 +77,7 @@ trap 'cd "${OLD_PWD}"' EXIT # ---------------------------------------------------------------------------------------------------------- function build_arch() { - local ARCH="$1" - local CMAKE_DIR="$2" + local CMAKE_DIR="$1" local ARCH_BUILD_DIR="${CMAKE_DIR}/build/build.$ARCH" local OUTPUT_DIR="${CMAKE_DIR}/output" @@ -86,9 +100,10 @@ function build_arch() { CMAKE_BUILD_TYPE="Debug" fi - export CC="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/bin/${ARCH}-linux-musl-gcc" - export CXX="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/bin/${ARCH}-linux-musl-g++" - export SYSROOT="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/${ARCH}-linux-musl/sysroot" + export CC="${MUSL_PATH}/bin/${ARCH_PREFIX}-gcc" + export CXX="${MUSL_PATH}/bin/${ARCH_PREFIX}-g++" + export SYSROOT="${MUSL_PATH}/${ARCH_OS}/sysroot" + export OPENSSL_ROOT_DIR="${SYSROOT}/usr" export CFLAGS="--sysroot=$SYSROOT" export CXXFLAGS="--sysroot=$SYSROOT" @@ -143,10 +158,12 @@ function build() { # if have the -m option, then build for multiple architectures if [ $MULTIBUILD -eq 1 ]; then for arch in "${ARCHS[@]}"; do - build_arch "$arch" "$CMAKE_DIR" + set_current_arch "$arch" + build_arch "$CMAKE_DIR" done else - build_arch "$HOSTARCH" "$CMAKE_DIR" + set_current_arch "$HOSTARCH-linux-musl-native" + build_arch "$CMAKE_DIR" fi }