Fix release builds: quote bash assoc-array keys, add NDK toolchain to PATH

This commit is contained in:
Matt Hess
2026-02-25 03:10:08 +00:00
parent 0d082f0893
commit 43840ac0d2
2 changed files with 16 additions and 15 deletions
+10 -9
View File
@@ -28,15 +28,15 @@ fi
# Map Rust target -> Android ABI -> NDK toolchain target # Map Rust target -> Android ABI -> NDK toolchain target
declare -A TARGET_ABI=( declare -A TARGET_ABI=(
[aarch64-linux-android]="arm64-v8a" ["aarch64-linux-android"]="arm64-v8a"
[armv7-linux-androideabi]="armeabi-v7a" ["armv7-linux-androideabi"]="armeabi-v7a"
[x86_64-linux-android]="x86_64" ["x86_64-linux-android"]="x86_64"
) )
declare -A TARGET_CC=( declare -A TARGET_CC=(
[aarch64-linux-android]="aarch64-linux-android21-clang" ["aarch64-linux-android"]="aarch64-linux-android21-clang"
[armv7-linux-androideabi]="armv7a-linux-androideabi21-clang" ["armv7-linux-androideabi"]="armv7a-linux-androideabi21-clang"
[x86_64-linux-android]="x86_64-linux-android21-clang" ["x86_64-linux-android"]="x86_64-linux-android21-clang"
) )
# Find the NDK toolchain bin directory # Find the NDK toolchain bin directory
@@ -61,8 +61,8 @@ echo " Crates: ${CRATES[*]}"
echo "" echo ""
for target in "${!TARGET_ABI[@]}"; do for target in "${!TARGET_ABI[@]}"; do
abi="${TARGET_ABI[$target]}" abi="${TARGET_ABI["$target"]}"
cc="${TARGET_CC[$target]}" cc="${TARGET_CC["$target"]}"
echo " ── $target ($abi) ──" echo " ── $target ($abi) ──"
# Set linker/compiler for this target via CARGO_TARGET env vars # Set linker/compiler for this target via CARGO_TARGET env vars
@@ -71,6 +71,7 @@ for target in "${!TARGET_ABI[@]}"; do
export "CARGO_TARGET_${target_upper}_LINKER=$TOOLCHAIN/$cc" export "CARGO_TARGET_${target_upper}_LINKER=$TOOLCHAIN/$cc"
export "CC_${target//-/_}=$TOOLCHAIN/$cc" export "CC_${target//-/_}=$TOOLCHAIN/$cc"
export "AR_${target//-/_}=$TOOLCHAIN/llvm-ar" export "AR_${target//-/_}=$TOOLCHAIN/llvm-ar"
export PATH="$TOOLCHAIN:$PATH"
for crate in "${CRATES[@]}"; do for crate in "${CRATES[@]}"; do
echo " Building $crate..." echo " Building $crate..."
@@ -96,7 +97,7 @@ done
echo "==> Done. Libraries:" echo "==> Done. Libraries:"
for target in "${!TARGET_ABI[@]}"; do for target in "${!TARGET_ABI[@]}"; do
abi="${TARGET_ABI[$target]}" abi="${TARGET_ABI["$target"]}"
echo " $abi:" echo " $abi:"
ls -lh "$OUT_DIR/$abi/"*.so ls -lh "$OUT_DIR/$abi/"*.so
done done
+6 -6
View File
@@ -23,13 +23,13 @@ TARGETS=(
# Libraries to build and package # Libraries to build and package
declare -A LIB_NAMES=( declare -A LIB_NAMES=(
[salvium-crypto]="libsalvium_crypto" ["salvium-crypto"]="libsalvium_crypto"
[salvium-ffi]="libsalvium_ffi" ["salvium-ffi"]="libsalvium_ffi"
) )
declare -A FRAMEWORK_NAMES=( declare -A FRAMEWORK_NAMES=(
[salvium-crypto]="SalviumCrypto" ["salvium-crypto"]="SalviumCrypto"
[salvium-ffi]="SalviumFfi" ["salvium-ffi"]="SalviumFfi"
) )
echo "==> Building Salvium libraries for iOS targets..." echo "==> Building Salvium libraries for iOS targets..."
@@ -48,8 +48,8 @@ echo "==> Creating xcframeworks..."
mkdir -p "$WORK_DIR" mkdir -p "$WORK_DIR"
for crate in "${!LIB_NAMES[@]}"; do for crate in "${!LIB_NAMES[@]}"; do
lib="${LIB_NAMES[$crate]}" lib="${LIB_NAMES["$crate"]}"
framework="${FRAMEWORK_NAMES[$crate]}" framework="${FRAMEWORK_NAMES["$crate"]}"
echo " -> $framework.xcframework" echo " -> $framework.xcframework"