800f404a23
This is neat, because currently at the FFI boundary we're primarily concerned with verbalizing our errors. It doesn't matter what 'error' that's wrapped by Result is then, as long as it can be displayed. Once we're past the prototyping stage, it might be a good idea to formalize this. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
Development flow for Mentat FFI
Android SDK
Android Mentat SDK is one of two first-party consumers (the other one being iOS Mentat SDK).
Binaries produced by cargo build ...
are symlinked from within the SDK, and a number of target-specific libmentat_ffi.so
binaries are bundled together and distributed with the SDK.
There is a build script at <mentat_root>/scripts/android_build.sh
which knows how to cross-compile mentat_ffi
for various Android targets.
./<mentat_root>/scripts/android_build.sh
- compiles for all supported targets./<mentat_root>/scripts/android_build.sh x86
- compiles forx86
./<mentat_root>/scripts/android_build.sh x86 arm
- compiles forx86
,arm
General development flow while working on the Android SDK is:
- (pre) compile for all targets, if you've never done so
- make changes to
mentat_ffi
and/ormentat
- re-compile
mentat_ffi
binaries using./android_build.sh x86
. During development it's faster to compile just for the target which matches your emulator, e.g.x86
- make corresponding changes in the Android SDK, try them out from within the bundled sample project
- since binaries are symlinked, no manual copy step is necessary for the Android SDK to pick up the changes
iOS SDK
TODO, contribute via issue #732.