Haskell bindings for binaryen

Binaryen is a compiler and toolchain infrastructure library for
WebAssembly, written in C++. This package defines bindings to the Binaryen C
API.
Versioning
Starting from 0.0.5.0, we bundle the C++ sources of binaryen with this
package, so the package can be built and used as long as the C++ toolchain is
present in the build environment. The system-binaryen Cabal flag defaults to
False, but it can be manually enabled to link against the system-wide
binaryen library and avoid building the bundled C++ library.
| Haskell bindings version |
Bundled Binaryen version |
| 0.0.6.* |
version_99 |
Older versions of this package links against the system-wide binaryen library,
so before building the package, please check the Binaryen version and make sure
it’s no less than the minimum version listed below.
| Haskell bindings version |
Minimum Binaryen version |
| 0.0.1.* |
version_91 |
| 0.0.2.* |
version_94 |
| 0.0.3.* |
version_96 |
| 0.0.4.* |
version_97 |
| 0.0.5.* |
version_98 |
How to build
A simple stack build or cabal build command should work.
For Windows cabal users: run the build in a msys2 mingw64 shell.
nix-based build is also supported:
$ nix-shell --pure --run "cabal v2-run binaryen:test"
$ nix-shell --pure --run "cabal v2-run binaryen:test --flags=system-binaryen --extra-include-dirs=\$binaryenIncludeDir --extra-lib-dirs=\$binaryenLibDir"
Use the asterius Cachix bucket for reusing binary cache
built on CI.