@grain/binaryen.ml 0.15.0 → 0.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- binaryen-archive/CHANGELOG.md +44 -0
- binaryen-archive/README.md +0 -30
- binaryen-archive/binaryen.opam +6 -6
- binaryen-archive/esy.lock/index.json +542 -290
- binaryen-archive/esy.lock/opam/base-bigarray.base/opam +6 -0
- binaryen-archive/esy.lock/opam/{cmdliner.1.1.0 → cmdliner.1.1.1}/opam +24 -18
- binaryen-archive/esy.lock/opam/{cppo.1.6.8 → cppo.1.6.9}/opam +21 -19
- binaryen-archive/esy.lock/opam/{dune-build-info.2.9.3 → dune-build-info.3.2.0}/opam +8 -5
- binaryen-archive/esy.lock/opam/{dune-configurator.2.9.3 → dune-configurator.3.2.0}/opam +9 -8
- binaryen-archive/esy.lock/opam/dune-rpc.3.2.0/opam +44 -0
- binaryen-archive/esy.lock/opam/{dune.2.9.3 → dune.3.2.0}/opam +6 -8
- binaryen-archive/esy.lock/opam/dyn.3.2.0/opam +41 -0
- binaryen-archive/esy.lock/opam/{easy-format.1.3.2 → easy-format.1.3.4}/opam +28 -18
- binaryen-archive/esy.lock/opam/fiber.3.2.0/opam +42 -0
- binaryen-archive/esy.lock/opam/{js_of_ocaml-compiler.3.11.0 → js_of_ocaml-compiler.4.0.0}/opam +13 -11
- binaryen-archive/esy.lock/opam/{menhir.20211128 → menhir.20220210}/opam +4 -4
- binaryen-archive/esy.lock/opam/{menhirLib.20211128 → menhirLib.20220210}/opam +3 -3
- binaryen-archive/esy.lock/opam/{menhirSdk.20211128 → menhirSdk.20220210}/opam +3 -3
- binaryen-archive/esy.lock/opam/{ocaml-lsp-server.1.10.3 → ocaml-lsp-server.1.11.6}/opam +15 -7
- binaryen-archive/esy.lock/opam/{ocamlformat-rpc-lib.0.19.0 → ocamlformat-rpc-lib.0.22.4}/opam +6 -7
- binaryen-archive/esy.lock/opam/octavius.1.2.2/opam +33 -0
- binaryen-archive/esy.lock/opam/omd.1.3.1/opam +39 -0
- binaryen-archive/esy.lock/opam/ordering.3.2.0/opam +39 -0
- binaryen-archive/esy.lock/opam/{ppx_yojson_conv_lib.v0.14.0 → ppx_yojson_conv_lib.v0.15.0}/opam +2 -2
- binaryen-archive/esy.lock/opam/{ppxlib.0.25.0 → ppxlib.0.26.0}/opam +5 -4
- binaryen-archive/esy.lock/opam/{re.1.10.3 → re.1.10.4}/opam +7 -7
- binaryen-archive/esy.lock/opam/{spawn.v0.15.0 → spawn.v0.15.1}/opam +4 -4
- binaryen-archive/esy.lock/opam/stdune.3.2.0/opam +44 -0
- binaryen-archive/esy.lock/opam/xdg.3.2.0/opam +40 -0
- binaryen-archive/esy.lock/overrides/opam__s__js__of__ocaml_compiler_opam__c__4.0.0_opam_override/package.json +3 -0
- binaryen-archive/package.json +5 -5
- binaryen-archive/src/binaryen_stubs_expressions.c +6 -1
- binaryen-archive/src/binaryen_stubs_expressions.js +2 -1
- binaryen-archive/src/binaryen_stubs_features.c +6 -0
- binaryen-archive/src/binaryen_stubs_features.js +6 -0
- binaryen-archive/src/binaryen_stubs_ops.c +2 -2
- binaryen-archive/src/binaryen_stubs_ops.js +1 -1
- binaryen-archive/src/expression.ml +1 -1
- binaryen-archive/src/expression.mli +1 -1
- binaryen-archive/src/module.ml +4 -0
- binaryen-archive/src/module.mli +1 -0
- binaryen-archive/src/passes.ml +6 -0
- binaryen-archive/src/passes.mli +6 -0
- binaryen-archive/test/config/ocamlopt_flags.ml +1 -8
- binaryen-archive/test/test.ml +19 -1
binaryen-archive/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
### [0.17.1](https://github.com/grain-lang/binaryen.ml/compare/v0.17.0...v0.17.1) (2022-06-11)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Remove upper bounds on dependencies ([#156](https://github.com/grain-lang/binaryen.ml/issues/156)) ([9ae4015](https://github.com/grain-lang/binaryen.ml/commit/9ae4015a4af6233e38d96a6f2ebabe55313fb8ea))
|
|
9
|
+
|
|
10
|
+
## [0.17.0](https://github.com/grain-lang/binaryen.ml/compare/v0.16.0...v0.17.0) (2022-05-11)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### ⚠ BREAKING CHANGES
|
|
14
|
+
|
|
15
|
+
* Update libbinaryen to 107 ([#152](https://github.com/grain-lang/binaryen.ml/issues/152))
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* Add merge_similar_functions pass ([#154](https://github.com/grain-lang/binaryen.ml/issues/154)) ([54b03fd](https://github.com/grain-lang/binaryen.ml/commit/54b03fd854311f49aa1821868a8265116be922c2))
|
|
20
|
+
* Add signature_pruning pass ([#155](https://github.com/grain-lang/binaryen.ml/issues/155)) ([206b6cf](https://github.com/grain-lang/binaryen.ml/commit/206b6cf0ade48a778f4e991cf5d2ab0daf559bf8))
|
|
21
|
+
* Add support for extended_const feature ([260c2a1](https://github.com/grain-lang/binaryen.ml/commit/260c2a131a08720eac0f21abf68689fd201eb753))
|
|
22
|
+
* Update libbinaryen to 107 ([#152](https://github.com/grain-lang/binaryen.ml/issues/152)) ([260c2a1](https://github.com/grain-lang/binaryen.ml/commit/260c2a131a08720eac0f21abf68689fd201eb753))
|
|
23
|
+
|
|
24
|
+
## [0.16.0](https://github.com/grain-lang/binaryen.ml/compare/v0.15.0...v0.16.0) (2022-05-11)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### ⚠ BREAKING CHANGES
|
|
28
|
+
|
|
29
|
+
* Restrict OCaml < 4.14 temporarily
|
|
30
|
+
* Update libbinaryen to 106 ([#151](https://github.com/grain-lang/binaryen.ml/issues/151))
|
|
31
|
+
* Expression.Return.get_value can be null ([#149](https://github.com/grain-lang/binaryen.ml/issues/149))
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* Update libbinaryen to 106 ([#151](https://github.com/grain-lang/binaryen.ml/issues/151)) ([453b9de](https://github.com/grain-lang/binaryen.ml/commit/453b9dea8f0bda026b70f67d7c99311f9f6601e3))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Bug Fixes
|
|
39
|
+
|
|
40
|
+
* Expression.Return.get_value can be null ([#149](https://github.com/grain-lang/binaryen.ml/issues/149)) ([559341d](https://github.com/grain-lang/binaryen.ml/commit/559341d13a7ba5abb8521f6d0d982d4f25b86ce0))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Miscellaneous Chores
|
|
44
|
+
|
|
45
|
+
* Restrict OCaml < 4.14 temporarily ([453b9de](https://github.com/grain-lang/binaryen.ml/commit/453b9dea8f0bda026b70f67d7c99311f9f6601e3))
|
|
46
|
+
|
|
3
47
|
## [0.15.0](https://github.com/grain-lang/binaryen.ml/compare/v0.14.1...v0.15.0) (2022-03-16)
|
|
4
48
|
|
|
5
49
|
|
binaryen-archive/README.md
CHANGED
|
@@ -42,12 +42,6 @@ This project aims to provide full feature parity with the [Binaryen C API](https
|
|
|
42
42
|
|
|
43
43
|
None of these are particularly challenging to create bindings for—they just haven't been written yet. If you need anything that's missing, feel free to open a PR.
|
|
44
44
|
|
|
45
|
-
## Python dependency
|
|
46
|
-
|
|
47
|
-
When using this package with `esy`, you'll need to ensure that a `python` executable exists in one of these locations: `/usr/local/bin/python`, `/usr/bin/python`, `/bin/python`, `/usr/sbin/python`, or `/sbin/python`. Esy will only look for python in those locations, and it is not provided for you in the sandbox.
|
|
48
|
-
|
|
49
|
-
**Note:** This implicit dependency will be removed in a future version.
|
|
50
|
-
|
|
51
45
|
## MacOS C++ Compiler
|
|
52
46
|
|
|
53
47
|
When including this library in your `dune` MacOS executables, you'll need to specify `-cc clang++` in your `(ocamlopt_flags)` stanza. This is required because Binaryen will throw errors for itself to catch and using `clang++` is the only way to handle them correctly. You can find more info on this [ocaml issue](https://github.com/ocaml/ocaml/issues/10423).
|
|
@@ -66,30 +60,6 @@ Your stanza could look something like this:
|
|
|
66
60
|
|
|
67
61
|
These flags likely won't work on other operating systems, so you'll probably need to use `dune-configurator` to vary the flags per platform. You can see an example of this in our [tests/](./tests/dune).
|
|
68
62
|
|
|
69
|
-
## MacOS DWARF & Compact unwind
|
|
70
|
-
|
|
71
|
-
When including this library in your `dune` MacOS executables, you might want to specify `-cclib -Wl,-keep_dwarf_unwind -cclib -Wl,-no_compact_unwind` in your `(ocamlopt_flags)` stanza. If you don't include them, you'll probably see warnings like:
|
|
72
|
-
|
|
73
|
-
```log
|
|
74
|
-
ld: warning: could not create compact unwind for _caml_start_program: dwarf uses DW_CFA_same_value
|
|
75
|
-
ld: warning: could not create compact unwind for _caml_raise_exn: stack subq instruction is too different from dwarf stack size
|
|
76
|
-
ld: warning: could not create compact unwind for _caml_raise_exception: stack subq instruction is too different from dwarf stack size
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
Your stanza could look something like this:
|
|
80
|
-
|
|
81
|
-
```diff
|
|
82
|
-
(executable
|
|
83
|
-
(name example)
|
|
84
|
-
(public_name example)
|
|
85
|
-
(package example)
|
|
86
|
-
+ (ocamlopt_flags -cclib -Wl,-keep_dwarf_unwind -cclib -Wl,-no_compact_unwind)
|
|
87
|
-
(modules example)
|
|
88
|
-
(libraries binaryen))
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
These flags likely won't work on other operating systems, so you'll probably need to use `dune-configurator` to vary the flags per platform. You can see an example of this in our [tests/](./tests/dune).
|
|
92
|
-
|
|
93
63
|
## Static Linking
|
|
94
64
|
|
|
95
65
|
If you are planning to create portable binaries for Windows, it will try to find Cygwin/MinGW locations in your `PATH`. To avoid this, you probably want to add this to your `(executable)` stanzas:
|
binaryen-archive/binaryen.opam
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
opam-version: "2.0"
|
|
2
|
-
version: "0.
|
|
2
|
+
version: "0.17.1"
|
|
3
3
|
synopsis: "OCaml bindings for Binaryen"
|
|
4
4
|
maintainer: "oscar@grain-lang.org"
|
|
5
5
|
author: "Oscar Spencer"
|
|
@@ -12,9 +12,9 @@ build: [
|
|
|
12
12
|
[ "dune" "build" "-p" name "-j" jobs ]
|
|
13
13
|
]
|
|
14
14
|
depends: [
|
|
15
|
-
"ocaml" {>= "4.12"}
|
|
16
|
-
"dune" {>= "2.9.1"
|
|
17
|
-
"dune-configurator" {>= "2.9.1"
|
|
18
|
-
"js_of_ocaml-compiler" {>= "3.10.0"
|
|
19
|
-
"libbinaryen" {>= "
|
|
15
|
+
"ocaml" {>= "4.12.0"}
|
|
16
|
+
"dune" {>= "2.9.1"}
|
|
17
|
+
"dune-configurator" {>= "2.9.1"}
|
|
18
|
+
"js_of_ocaml-compiler" {>= "3.10.0"}
|
|
19
|
+
"libbinaryen" {>= "107.0.0" < "108.0.0"}
|
|
20
20
|
]
|