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.