Skip to content

Commit

Permalink
feat!: Static linking of Grain modules (#584)
Browse files Browse the repository at this point in the history
feat: Support for more WebAssembly runtimes, including Wasmtime and Wasmer
fix!: Correct type signature for `_start`
chore!: Introduce `_gmain` for old behavior of `_start`
chore!: Tail calls must be enabled explicitly via `--experimental-wasm-tail-call`
fix: Use proper return type for calls to external functions
feat: Normalized wasm exports for linked modules
  • Loading branch information
ospencer committed Apr 18, 2021
1 parent f4919bd commit 3d4ac6e
Show file tree
Hide file tree
Showing 35 changed files with 1,185 additions and 189 deletions.
12 changes: 12 additions & 0 deletions compiler/dune-project
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@
(cmdliner (>= 1.0.2))
(grain (>= 0))))

(package
(name grain_linking)
(synopsis "The Grain linker")
(depends
(reason (>= 3.6.0))
(ppx_sexp_conv (>= 0.14.0))
(sexplib (>= 0.14.0))
(binaryen (= 0.9.1))
(ocamlgraph (>= 2.0.0))
(grain_utils (>= 0))
(grain_codegen (>= 0))))

(package
(name grain_codegen)
(synopsis "Grain WebAssembly code generation")
Expand Down
2 changes: 2 additions & 0 deletions compiler/esy.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"@opam/fp": "0.0.1",
"@opam/fs": "0.0.2",
"@opam/grain_dypgen": "0.2",
"@opam/ocamlgraph": ">= 2.0.0",
"@opam/ppx_deriving_yojson": ">= 3.5.2",
"@opam/ppx_expect": ">= 0.14.0",
"@opam/ppx_sexp_conv": ">= 0.14.0",
Expand All @@ -44,6 +45,7 @@
"@opam/ounit": ">= 2.0.0"
},
"resolutions": {
"@grain/binaryen.ml": "grain-lang/binaryen.ml#8a21a8a6ce6abad71f36e5f13492a7c7a625cb00",
"@opam/ocamlfind": "1.8.1",
"@opam/fp": "facebookexperimental/reason-native:fp.opam#a33f1528a6dd86c67f365e226c81312733181c87",
"@opam/fs": "facebookexperimental/reason-native:fs.opam#a33f1528a6dd86c67f365e226c81312733181c87",
Expand Down
Loading

0 comments on commit 3d4ac6e

Please sign in to comment.