summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorBug Magnet <marco.nikic@mullvad.net>2024-03-14 08:36:14 +0100
committerBug Magnet <marco.nikic@mullvad.net>2024-03-14 08:36:14 +0100
commit520840119ea0a2feb6b53fd8dac89a00ebb72c3d (patch)
tree8648380204dd18712c6c9f3189f4cc3301955309
parent187f52fe4b2b3d67ef168ab0664b6ea770c054b2 (diff)
parent4d7e5efc235512d07537ea7b17d77d8a7eb0451c (diff)
downloadmullvadvpn-520840119ea0a2feb6b53fd8dac89a00ebb72c3d.tar.xz
mullvadvpn-520840119ea0a2feb6b53fd8dac89a00ebb72c3d.zip
Merge branch 'improve-the-rust-library-build-script-to-pass-feature-flags-ios-551'
-rw-r--r--ios/build-rust-library.sh26
1 files changed, 18 insertions, 8 deletions
diff --git a/ios/build-rust-library.sh b/ios/build-rust-library.sh
index e5aed20691..5de58559b0 100644
--- a/ios/build-rust-library.sh
+++ b/ios/build-rust-library.sh
@@ -2,16 +2,26 @@
set -euvx
-if [ "$#" -ne 1 ]
+if [ "$#" -gt 2 ] || [ "$#" -eq 0 ]
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
+# If more than one feature flag needs to be enabled, pass in a single argument all the features flags separated by spaces
+# build-rust-library.sh mullvad-api "featureA featureB featureC"
+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 +53,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