Build system for compiling Mosh as a static library for iOS.
This is a fork of blinksh/build-mosh, modernized for current iOS development:
- iOS 17.0+ deployment target
- arm64 device and arm64/x86_64 simulator support
- xcframework output format
- Self-contained Protobuf build
brew install automake autoconf libtoolgit submodule update --init --recursive
# Build protobuf first
./build-protobuf/build.sh
# Build mosh
./build.sh# From Wispy root:
./scripts/build-protobuf.sh
./scripts/build-mosh.shbuild-protobuf/Protobuf.xcframework- Protobuf for iOSmosh.xcframework- Mosh for iOS
When run from Wispy repo, frameworks are also installed to Wispy/Frameworks/.
The library exposes a single entry point for the iOS client:
int mosh_main(
FILE *f_in, FILE *f_out, struct winsize *window_size,
void (*state_callback)(const void *, const void *, size_t),
void *state_callback_context,
const char *ip, const char *port, const char *key, const char *predict_mode,
const char *encoded_state_buffer, size_t encoded_state_size,
const char *predict_overwrite
);mosh/- blinksh/mosh (mosh-1.4 branch) - Mosh with iOS modifications
- Original Mosh by Keith Winstein
- iOS port by Blink Shell