Files
telegram-tui/scripts/generate-ios-ffi-bindings.sh
2026-05-20 14:04:45 +03:00

27 lines
890 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
OUT_DIR="${1:-$ROOT_DIR/build/ios-ffi}"
LIB_PATH="$ROOT_DIR/target/release/libtele_ios_ffi.a"
cd "$ROOT_DIR"
cargo build -p tele-ios-ffi --release
rm -rf "$OUT_DIR"
mkdir -p "$OUT_DIR/Swift" "$OUT_DIR/Headers" "$OUT_DIR/Modules"
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Swift" --swift-sources
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" --headers
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Headers" \
--modulemap \
--module-name tele_ios_ffiFFI \
--modulemap-filename module.modulemap
cargo run -p uniffi-bindgen-swift -- "$LIB_PATH" "$OUT_DIR/Modules" \
--xcframework \
--modulemap \
--module-name tele_ios_ffiFFI \
--modulemap-filename module.modulemap
printf 'Generated UniFFI Swift bindings in %s\n' "$OUT_DIR"