Skip to content

Commit 683c807

Browse files
committed
Enable building features in crates on iOS
1 parent 09d7368 commit 683c807

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

ios/build-rust-library.sh

+16-8
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,24 @@
22

33
set -euvx
44

5-
if [ "$#" -ne 1 ]
5+
if [ "$#" -gt 2 ]
66
then
77
echo "Usage (note: only call inside xcode!):"
8-
echo "build-rust-library.sh <FFI_TARGET>"
8+
echo "build-rust-library.sh <FFI_TARGET> [FFI_FEATURES]"
99
exit 1
1010
fi
1111

1212
# what to pass to cargo build -p, e.g. your_lib_ffi
1313
FFI_TARGET=$1
1414

15+
# Enable cargo features by passing feature names to this script, i.e. build-rust-library.sh mullvad-api api-override
16+
FEATURE_FLAGS=
17+
if [[ "$#" -eq 2 ]] ; then
18+
FEATURE_FLAGS=$2
19+
echo ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
20+
fi
21+
22+
1523
RELFLAG=
1624
if [[ "$CONFIGURATION" == "Release" ]]; then
1725
RELFLAG=--release
@@ -43,18 +51,18 @@ for arch in $ARCHS; do
4351

4452
# Intel iOS simulator
4553
export CFLAGS_x86_64_apple_ios="-target x86_64-apple-ios"
46-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target x86_64-apple-ios
47-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target x86_64-apple-ios
54+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target x86_64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
55+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target x86_64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
4856
;;
4957

5058
arm64)
5159
if [ $IS_SIMULATOR -eq 0 ]; then
5260
# Hardware iOS targets
53-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios
54-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios
61+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
62+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
5563
else
56-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios-sim
57-
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios-sim
64+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib $RELFLAG --target aarch64-apple-ios-sim ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
65+
"$HOME"/.cargo/bin/cargo build -p "$FFI_TARGET" --lib --target aarch64-apple-ios-sim ${FEATURE_FLAGS:+--features "$FEATURE_FLAGS"}
5866
fi
5967
esac
6068
done

0 commit comments

Comments
 (0)