|
2 | 2 |
|
3 | 3 | set -euvx
|
4 | 4 |
|
5 |
| -if [ "$#" -ne 1 ] |
| 5 | +if [ "$#" -gt 2 ] |
6 | 6 | then
|
7 | 7 | 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]" |
9 | 9 | exit 1
|
10 | 10 | fi
|
11 | 11 |
|
12 | 12 | # what to pass to cargo build -p, e.g. your_lib_ffi
|
13 | 13 | FFI_TARGET=$1
|
14 | 14 |
|
| 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 | + |
15 | 23 | RELFLAG=
|
16 | 24 | if [[ "$CONFIGURATION" == "Release" ]]; then
|
17 | 25 | RELFLAG=--release
|
@@ -43,18 +51,18 @@ for arch in $ARCHS; do
|
43 | 51 |
|
44 | 52 | # Intel iOS simulator
|
45 | 53 | 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"} |
48 | 56 | ;;
|
49 | 57 |
|
50 | 58 | arm64)
|
51 | 59 | if [ $IS_SIMULATOR -eq 0 ]; then
|
52 | 60 | # 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"} |
55 | 63 | 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"} |
58 | 66 | fi
|
59 | 67 | esac
|
60 | 68 | done
|
0 commit comments