summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2024-03-12 11:42:47 +0100
committerBug Magnet <marco.nikic@mullvad.net>2024-03-14 08:35:59 +0100
commit04dd86b2d0f91b3f2ccd4874c820720c72a33a96 (patch)
tree316bfbdb5cb2ca9cb7cf975d28b4b0c6784c0b80
parent187f52fe4b2b3d67ef168ab0664b6ea770c054b2 (diff)
downloadmullvadvpn-04dd86b2d0f91b3f2ccd4874c820720c72a33a96.tar.xz
mullvadvpn-04dd86b2d0f91b3f2ccd4874c820720c72a33a96.zip
Enable building features in crates on iOS
-rw-r--r--ios/build-rust-library.sh24
1 files changed, 16 insertions, 8 deletions
diff --git a/ios/build-rust-library.sh b/ios/build-rust-library.sh
index e5aed20691..b8b8ee05a8 100644
--- a/ios/build-rust-library.sh
+++ b/ios/build-rust-library.sh
@@ -2,16 +2,24 @@
set -euvx
-if [ "$#" -ne 1 ]
+if [ "$#" -gt 2 ]
then
echo "Usage (note: only call inside xcode!):"
- echo "build-rust-library.sh <FFI_TARGET>"
+ echo "build-rust-library.sh <FFI_TARGET> [FFI_FEATURES]"
exit 1
fi
# what to pass to cargo build -p, e.g. your_lib_ffi
FFI_TARGET=$1
+# Enable cargo features by passing feature names to this script, i.e. build-rust-library.sh mullvad-api api-override
+FEATURE_FLAGS=
+if [[ "$#" -eq 2 ]] ; then
+FEATURE_FLAGS=$2
+echo ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
+fi
+
+
RELFLAG=
if [[ "$CONFIGURATION" == "Release" ]]; then
RELFLAG=--release
@@ -43,18 +51,18 @@ for arch in $ARCHS; do
# Intel iOS simulator
export CFLAGS_x86_64_apple_ios="-target x86_64-apple-ios"
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target x86_64-apple-ios
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target x86_64-apple-ios
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target x86_64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target x86_64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
;;
arm64)
if [ $IS_SIMULATOR -eq 0 ]; then
# Hardware iOS targets
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
else
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios-sim
- "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios-sim
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios-sim ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
+ "$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios-sim ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
fi
esac
done