BSD-3-Clause licensed
Maintained by Cheng Shao
This version can be pinned in stack with:binaryen-0.0.6.0@sha256:8fe849289d04865536b3fa4b059caa9a4587b85bb6235cef5c5f2c3f00e7cb8c,108965
Depends on 2 packages(full list with versions):
Used by 1 package in nightly-2024-11-11(full list with versions):

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.

Changes

CHANGELOG for binaryen

0.0.1.1

  • Fix a runtime error when linking against version_92 or above due to a breaking change in upstream C API.

0.0.1.0

  • Initial release.