olm Dart Bindings



Using dart-olm

Beside dart-olm, the olm library itself needs to be available.

  • On Flutter for Android and iOS, depend on flutter_olm.
  • On (Flutter) Web, add olm.js and include it with a script tag. We provide an olm fork to support all methods and unlimited memory. Use either an upstream JS build or our fork's JS build.
  • For Windows, we provide a 32-bit DLL and a 64-bit DLL.
  • On Linux, some distributions provide libolm (apt install libolm3 for Debian Bullseye, pacman -S libolm for Archlinux). Otherwise, scripts/prepare_native.sh compiles libolm if it is not installed. To use it, set the environment as in scripts/test.sh.
  • On MacOS, install it with Homebrew (brew install libolm).

For dart-olm developers

Look at or use the scripts scripts/prepare.sh and scripts/test.sh. Use codegen/codegen.sh to update the olm functions in lib/src/ffi.dart and to update the JS bindings based on the native bindings.