binaryen: Haskell bindings to binaryen

[ bsd3, compiler, library ] [ Propose Tags ]

Haskell bindings to binaryen. Provides complete bindings to the C API, which can be useful for building WebAssembly toolchains in Haskell.


[Skip to Readme]
Versions [RSS] [faq] 0.0.1.0, 0.0.1.1, 0.0.2.0, 0.0.3.0, 0.0.4.0, 0.0.5.0, 0.0.6.0
Change log CHANGELOG.md
Dependencies base (<5) [details]
License BSD-3-Clause
Copyright (c) 2018 Tweag I/O
Author
Maintainer Cheng Shao <cheng.shao@tweag.io>
Category Compiler
Home page https://github.com/tweag/haskell-binaryen#readme
Bug tracker https://github.com/tweag/haskell-binaryen/issues
Source repo head: git clone https://github.com/tweag/haskell-binaryen
Uploaded by terrorjack at 2021-01-11T14:24:48Z
Distributions NixOS:0.0.6.0, Stackage:0.0.6.0
Downloads 782 total (47 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index] [Quick Jump]

Manual Flags

NameDescriptionDefault
system-binaryen

Link against system-wide binaryen and don't build bundled binaryen

Disabled
Automatic Flags
NameDescriptionDefault

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for binaryen-0.0.6.0

[back to package description]

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.