@grain/binaryen.ml 0.10.0 → 0.12.0

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.
Files changed (160) hide show
  1. {binaryen-archive → binaryen-archive-v0.12.0}/.gitattributes +0 -0
  2. {binaryen-archive → binaryen-archive-v0.12.0}/.gitignore +0 -0
  3. {binaryen-archive → binaryen-archive-v0.12.0}/.gitmodules +0 -0
  4. {binaryen-archive → binaryen-archive-v0.12.0}/CHANGELOG.md +51 -0
  5. {binaryen-archive → binaryen-archive-v0.12.0}/LICENSE +0 -0
  6. {binaryen-archive → binaryen-archive-v0.12.0}/README.md +28 -4
  7. {binaryen-archive → binaryen-archive-v0.12.0}/binaryen.opam +8 -8
  8. {binaryen-archive → binaryen-archive-v0.12.0}/dune +0 -0
  9. {binaryen-archive → binaryen-archive-v0.12.0}/dune-project +0 -0
  10. {binaryen-archive → binaryen-archive-v0.12.0}/dune-workspace +0 -0
  11. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/.gitattributes +0 -0
  12. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/.gitignore +0 -0
  13. binaryen-archive-v0.12.0/esy.lock/index.json +1365 -0
  14. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/astring.0.8.5/opam +0 -0
  15. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/base-threads.base/opam +0 -0
  16. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/base-unix.base/opam +0 -0
  17. {binaryen-archive/esy.lock/opam/base.v0.14.1 → binaryen-archive-v0.12.0/esy.lock/opam/base.v0.14.2}/opam +4 -4
  18. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/biniou.1.2.1/opam +1 -1
  19. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/cmdliner.1.0.4/opam +0 -0
  20. {binaryen-archive/esy.lock/opam/cppo.1.6.7 → binaryen-archive-v0.12.0/esy.lock/opam/cppo.1.6.8}/opam +4 -6
  21. {binaryen-archive/esy.lock/opam/csexp.1.4.0 → binaryen-archive-v0.12.0/esy.lock/opam/csexp.1.5.1}/opam +11 -9
  22. {binaryen-archive/esy.lock/opam/dune-build-info.2.8.2 → binaryen-archive-v0.12.0/esy.lock/opam/dune-build-info.2.9.1}/opam +5 -5
  23. {binaryen-archive/esy.lock/opam/dune-configurator.2.8.2 → binaryen-archive-v0.12.0/esy.lock/opam/dune-configurator.2.9.1}/opam +5 -5
  24. {binaryen-archive/esy.lock/opam/dune.2.8.2 → binaryen-archive-v0.12.0/esy.lock/opam/dune.2.9.2}/opam +5 -4
  25. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/easy-format.1.3.2/opam +1 -1
  26. {binaryen-archive/esy.lock/opam/fix.20201120 → binaryen-archive-v0.12.0/esy.lock/opam/fix.20220121}/opam +7 -5
  27. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/fpath.0.7.3/opam +0 -0
  28. binaryen-archive-v0.12.0/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam +54 -0
  29. binaryen-archive-v0.12.0/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam +44 -0
  30. binaryen-archive-v0.12.0/esy.lock/opam/js_of_ocaml.3.11.0/opam +45 -0
  31. {binaryen-archive/esy.lock/opam/menhir.20201216 → binaryen-archive-v0.12.0/esy.lock/opam/menhir.20211128}/opam +8 -6
  32. {binaryen-archive/esy.lock/opam/menhirLib.20201216 → binaryen-archive-v0.12.0/esy.lock/opam/menhirLib.20211128}/opam +8 -6
  33. {binaryen-archive/esy.lock/opam/menhirSdk.20201216 → binaryen-archive-v0.12.0/esy.lock/opam/menhirSdk.20211128}/opam +8 -6
  34. binaryen-archive-v0.12.0/esy.lock/opam/ocaml-compiler-libs.v0.12.4/opam +39 -0
  35. {binaryen-archive/esy.lock/opam/ocaml-lsp-server.1.4.0 → binaryen-archive-v0.12.0/esy.lock/opam/ocaml-lsp-server.1.9.0}/opam +15 -12
  36. {binaryen-archive/esy.lock/opam/ocaml-migrate-parsetree.2.1.0 → binaryen-archive-v0.12.0/esy.lock/opam/ocaml-migrate-parsetree.2.3.0}/opam +13 -10
  37. binaryen-archive-v0.12.0/esy.lock/opam/ocaml-version.3.4.0/opam +49 -0
  38. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/ocamlbuild.0.14.0/opam +1 -1
  39. {binaryen-archive/esy.lock/opam/ocamlfind.1.8.1 → binaryen-archive-v0.12.0/esy.lock/opam/ocamlfind.1.9.2}/opam +19 -39
  40. binaryen-archive-v0.12.0/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam +40 -0
  41. binaryen-archive-v0.12.0/esy.lock/opam/ocamlformat.0.18.0/opam +56 -0
  42. {binaryen-archive/esy.lock/opam/odoc.1.5.2 → binaryen-archive-v0.12.0/esy.lock/opam/odoc.1.5.3}/opam +12 -12
  43. binaryen-archive-v0.12.0/esy.lock/opam/pp.1.1.2/opam +58 -0
  44. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/ppx_derivers.1.2.1/opam +1 -1
  45. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/ppx_yojson_conv_lib.v0.14.0/opam +2 -2
  46. {binaryen-archive/esy.lock/opam/ppxlib.0.21.0 → binaryen-archive-v0.12.0/esy.lock/opam/ppxlib.0.22.2}/opam +40 -32
  47. {binaryen-archive/esy.lock/opam/re.1.9.0 → binaryen-archive-v0.12.0/esy.lock/opam/re.1.10.3}/opam +8 -4
  48. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/result.1.5/opam +2 -2
  49. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/files/META.seq +0 -0
  50. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/files/seq.install +0 -0
  51. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/seq.base/opam +0 -0
  52. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/sexplib0.v0.14.0/opam +2 -2
  53. binaryen-archive-v0.12.0/esy.lock/opam/spawn.v0.15.0/opam +56 -0
  54. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/stdio.v0.14.0/opam +2 -2
  55. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/stdlib-shims.0.3.0/opam +0 -0
  56. {binaryen-archive/esy.lock/opam/topkg.1.0.3 → binaryen-archive-v0.12.0/esy.lock/opam/topkg.1.0.4}/opam +18 -22
  57. binaryen-archive-v0.12.0/esy.lock/opam/tyxml.4.5.0/opam +42 -0
  58. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/uchar.0.0.2/opam +0 -0
  59. binaryen-archive-v0.12.0/esy.lock/opam/uucp.14.0.0/opam +41 -0
  60. {binaryen-archive/esy.lock/opam/uuseg.13.0.0 → binaryen-archive-v0.12.0/esy.lock/opam/uuseg.14.0.0}/opam +22 -28
  61. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/uutf.1.0.2/opam +0 -0
  62. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/opam/yojson.1.7.0/opam +1 -1
  63. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/files/ocamlbuild-0.14.0.patch +0 -0
  64. {binaryen-archive → binaryen-archive-v0.12.0}/esy.lock/overrides/opam__s__ocamlbuild_opam__c__0.14.0_opam_override/package.json +0 -0
  65. binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override/files/findlib-1.8.1.patch → binaryen-archive-v0.12.0/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.2_opam_override/files/findlib-1.9.2.patch +0 -0
  66. {binaryen-archive/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.8.1_opam_override → binaryen-archive-v0.12.0/esy.lock/overrides/opam__s__ocamlfind_opam__c__1.9.2_opam_override}/package.json +1 -1
  67. binaryen-archive-v0.12.0/js/binaryen.es5.js +5 -0
  68. {binaryen-archive → binaryen-archive-v0.12.0}/js/dune +1 -6
  69. {binaryen-archive → binaryen-archive-v0.12.0}/js/element_segment.ml +0 -0
  70. {binaryen-archive → binaryen-archive-v0.12.0}/js/export.ml +1 -1
  71. {binaryen-archive → binaryen-archive-v0.12.0}/js/expression.ml +0 -0
  72. {binaryen-archive → binaryen-archive-v0.12.0}/js/function.ml +0 -0
  73. {binaryen-archive → binaryen-archive-v0.12.0}/js/global.ml +0 -0
  74. {binaryen-archive → binaryen-archive-v0.12.0}/js/import.ml +0 -0
  75. {binaryen-archive → binaryen-archive-v0.12.0}/js/literal.ml +0 -0
  76. {binaryen-archive → binaryen-archive-v0.12.0}/js/memory.ml +0 -0
  77. {binaryen-archive → binaryen-archive-v0.12.0}/js/module.ml +6 -1
  78. {binaryen-archive → binaryen-archive-v0.12.0}/js/op.ml +0 -0
  79. binaryen-archive-v0.12.0/js/postlude.js +2 -0
  80. binaryen-archive-v0.12.0/js/prelude.js +11 -0
  81. {binaryen-archive → binaryen-archive-v0.12.0}/js/settings.ml +0 -0
  82. {binaryen-archive → binaryen-archive-v0.12.0}/js/stubs.c +0 -0
  83. {binaryen-archive → binaryen-archive-v0.12.0}/js/table.ml +2 -2
  84. {binaryen-archive → binaryen-archive-v0.12.0}/js/type.ml +0 -0
  85. binaryen-archive-v0.12.0/package.json +37 -0
  86. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_exports.c +2 -2
  87. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_expressions.c +0 -0
  88. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_features.c +0 -0
  89. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_functions.c +0 -0
  90. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_globals.c +0 -0
  91. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_imports.c +0 -0
  92. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_literals.c +0 -0
  93. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_memory.c +0 -0
  94. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_modules.c +7 -0
  95. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_ops.c +0 -0
  96. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_settings.c +0 -0
  97. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_tables.c +4 -3
  98. {binaryen-archive → binaryen-archive-v0.12.0}/src/binaryen_stubs_types.c +0 -0
  99. binaryen-archive-v0.12.0/src/dune +13 -0
  100. {binaryen-archive → binaryen-archive-v0.12.0}/src/element_segment.ml +0 -0
  101. {binaryen-archive → binaryen-archive-v0.12.0}/src/export.ml +2 -2
  102. {binaryen-archive → binaryen-archive-v0.12.0}/src/expression.ml +0 -0
  103. {binaryen-archive → binaryen-archive-v0.12.0}/src/function.ml +0 -0
  104. {binaryen-archive → binaryen-archive-v0.12.0}/src/global.ml +0 -0
  105. {binaryen-archive → binaryen-archive-v0.12.0}/src/import.ml +0 -0
  106. {binaryen-archive → binaryen-archive-v0.12.0}/src/literal.ml +0 -0
  107. {binaryen-archive → binaryen-archive-v0.12.0}/src/memory.ml +0 -0
  108. {binaryen-archive → binaryen-archive-v0.12.0}/src/module.ml +5 -1
  109. {binaryen-archive → binaryen-archive-v0.12.0}/src/ocaml_helpers.c +0 -8
  110. {binaryen-archive → binaryen-archive-v0.12.0}/src/ocaml_helpers.h +0 -3
  111. {binaryen-archive → binaryen-archive-v0.12.0}/src/op.ml +0 -0
  112. {binaryen-archive → binaryen-archive-v0.12.0}/src/settings.ml +0 -0
  113. {binaryen-archive → binaryen-archive-v0.12.0}/src/table.ml +2 -2
  114. {binaryen-archive → binaryen-archive-v0.12.0}/src/type.ml +0 -0
  115. binaryen-archive-v0.12.0/test/config/dune +8 -0
  116. binaryen-archive-v0.12.0/test/config/ocamlopt_flags.ml +16 -0
  117. {binaryen-archive → binaryen-archive-v0.12.0}/test/dune +4 -0
  118. {binaryen-archive → binaryen-archive-v0.12.0}/test/test.expected +5 -5
  119. {binaryen-archive → binaryen-archive-v0.12.0}/test/test.ml +4 -1
  120. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/dune +0 -0
  121. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/element_segment.mli +0 -0
  122. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/export.mli +1 -1
  123. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/expression.mli +0 -0
  124. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/function.mli +0 -0
  125. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/global.mli +0 -0
  126. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/import.mli +0 -0
  127. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/literal.mli +0 -0
  128. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/memory.mli +0 -0
  129. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/module.mli +2 -0
  130. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/op.mli +0 -0
  131. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/settings.mli +0 -0
  132. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/table.mli +1 -1
  133. {binaryen-archive → binaryen-archive-v0.12.0}/virtual/type.mli +0 -0
  134. binaryen-archive/esy.lock/index.json +0 -1288
  135. binaryen-archive/esy.lock/opam/conf-m4.1/opam +0 -22
  136. binaryen-archive/esy.lock/opam/dot-merlin-reader.4.1/opam +0 -30
  137. binaryen-archive/esy.lock/opam/js_of_ocaml-compiler.3.9.1/opam +0 -40
  138. binaryen-archive/esy.lock/opam/js_of_ocaml-ppx.3.9.0/opam +0 -30
  139. binaryen-archive/esy.lock/opam/js_of_ocaml.3.9.0/opam +0 -31
  140. binaryen-archive/esy.lock/opam/ocaml-compiler-libs.v0.12.3/opam +0 -29
  141. binaryen-archive/esy.lock/opam/ocamlfind.1.8.1/files/ocaml-stub +0 -4
  142. binaryen-archive/esy.lock/opam/ocamlfind.1.8.1/files/ocamlfind.install +0 -6
  143. binaryen-archive/esy.lock/opam/ocamlformat.0.15.1/opam +0 -41
  144. binaryen-archive/esy.lock/opam/tyxml.4.4.0/opam +0 -47
  145. binaryen-archive/esy.lock/opam/uucp.13.0.0/opam +0 -44
  146. binaryen-archive/esy.lock/overrides/opam__s__conf_m4_opam__c__1_opam_override/package.json +0 -6
  147. binaryen-archive/js/postlude.js +0 -2
  148. binaryen-archive/package.json +0 -43
  149. binaryen-archive/src/config/dune +0 -8
  150. binaryen-archive/src/config/library_flags.ml +0 -16
  151. binaryen-archive/src/dune +0 -52
  152. binaryen-archive/vendor/binaryen-c.h +0 -2720
  153. binaryen-archive/vendor/js/index.es5.js +0 -5
  154. binaryen-archive/vendor/linux/libbinaryen.a +0 -0
  155. binaryen-archive/vendor/linux/libbinaryen.so +0 -0
  156. binaryen-archive/vendor/macosx/libbinaryen.a +0 -0
  157. binaryen-archive/vendor/macosx/libbinaryen.dylib +0 -0
  158. binaryen-archive/vendor/mingw64/libbinaryen.a +0 -0
  159. binaryen-archive/vendor/mingw64/libbinaryen.dll +0 -0
  160. binaryen-archive/vendor/wasm-delegations.h +0 -83
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.12.0](https://www.github.com/grain-lang/binaryen.ml/compare/v0.11.2...v0.12.0) (2022-01-26)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * Add table type to add_table signature
9
+ * Rename Event to Tag to match Binaryen
10
+
11
+ ### Features
12
+
13
+ * Add table type to add_table signature ([5c50272](https://www.github.com/grain-lang/binaryen.ml/commit/5c502720943a8bf6e649891051db00336eec9451))
14
+ * Add update_maps function that Binaryen added ([5c50272](https://www.github.com/grain-lang/binaryen.ml/commit/5c502720943a8bf6e649891051db00336eec9451))
15
+ * Rename Event to Tag to match Binaryen ([5c50272](https://www.github.com/grain-lang/binaryen.ml/commit/5c502720943a8bf6e649891051db00336eec9451))
16
+ * Upgrade to libbinaryen v102 ([#120](https://www.github.com/grain-lang/binaryen.ml/issues/120)) ([5c50272](https://www.github.com/grain-lang/binaryen.ml/commit/5c502720943a8bf6e649891051db00336eec9451))
17
+
18
+ ### [0.11.2](https://www.github.com/grain-lang/binaryen.ml/compare/v0.11.1...v0.11.2) (2022-01-24)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * Handle JS global in non-node environments ([#125](https://www.github.com/grain-lang/binaryen.ml/issues/125)) ([74e94fe](https://www.github.com/grain-lang/binaryen.ml/commit/74e94fe8ac7b2c2a66b8118b5eaa3a81e5f9296a))
24
+
25
+ ### [0.11.1](https://www.github.com/grain-lang/binaryen.ml/compare/v0.11.0...v0.11.1) (2022-01-16)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * Make features work in 32-bit mode ([#123](https://www.github.com/grain-lang/binaryen.ml/issues/123)) ([e435c8b](https://www.github.com/grain-lang/binaryen.ml/commit/e435c8bd9f6619c42b82e53e5d1caa929b5d4ebf))
31
+
32
+ ## [0.11.0](https://www.github.com/grain-lang/binaryen.ml/compare/v0.10.0...v0.11.0) (2022-01-13)
33
+
34
+
35
+ ### ⚠ BREAKING CHANGES
36
+
37
+ * Mention implicit python dependency in the docs
38
+ * Switch to libbinaryen dependency (#113)
39
+ * Remove MacOS-specific library flags (#111)
40
+ * Require OCaml 4.12 (#108)
41
+
42
+ ### Features
43
+
44
+ * Depend on libbinaryen ([59874ce](https://www.github.com/grain-lang/binaryen.ml/commit/59874ce785288d4a33ed5408ac4a0a33e16ff4c1))
45
+ * Remove MacOS-specific library flags ([#111](https://www.github.com/grain-lang/binaryen.ml/issues/111)) ([5a67f9f](https://www.github.com/grain-lang/binaryen.ml/commit/5a67f9f330332f8957976841819707d09124dc94))
46
+ * Require OCaml 4.12 ([#108](https://www.github.com/grain-lang/binaryen.ml/issues/108)) ([36eedea](https://www.github.com/grain-lang/binaryen.ml/commit/36eedea279fb19ee6131b72b21c24ba0a9d7f993))
47
+ * Switch to libbinaryen dependency ([#113](https://www.github.com/grain-lang/binaryen.ml/issues/113)) ([59874ce](https://www.github.com/grain-lang/binaryen.ml/commit/59874ce785288d4a33ed5408ac4a0a33e16ff4c1))
48
+
49
+
50
+ ### Miscellaneous Chores
51
+
52
+ * Mention implicit python dependency in the docs ([59874ce](https://www.github.com/grain-lang/binaryen.ml/commit/59874ce785288d4a33ed5408ac4a0a33e16ff4c1))
53
+
3
54
  ## [0.10.0](https://www.github.com/grain-lang/binaryen.ml/compare/v0.9.1...v0.10.0) (2021-05-09)
4
55
 
5
56
 
File without changes
@@ -18,9 +18,9 @@ let params = Type.create [| Type.int32; Type.int32 |]
18
18
  let results = Type.int32
19
19
 
20
20
  (* Get arguments 0 and 1, add them *)
21
- let x = Expression.local_get wasm_mod 0 Type.int32
22
- let y = Expression.local_get wasm_mod 1 Type.int32
23
- let add = Expression.binary wasm_mod Op.add_int32 x y
21
+ let x = Expression.Local_get.make wasm_mod 0 Type.int32
22
+ let y = Expression.Local_get.make wasm_mod 1 Type.int32
23
+ let add = Expression.Binary.make wasm_mod Op.add_int32 x y
24
24
 
25
25
  (* Create the add function *)
26
26
  (* Note: no additional local variables *)
@@ -35,13 +35,37 @@ let _ = Module.dispose wasm_mod
35
35
  This project aims to provide full feature parity with the [Binaryen C API](https://github.com/WebAssembly/binaryen/blob/master/src/binaryen-c.h). It's fairly complete, but a few things still need bindings:
36
36
 
37
37
  - SIMD instructions
38
- - Events
38
+ - Tags
39
39
  - Atomics
40
40
  - Query operations on expressions
41
41
  - Query operations on functions
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
+ ## MacOS C++ Compiler
52
+
53
+ 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).
54
+
55
+ Your stanza could look something like this:
56
+
57
+ ```diff
58
+ (executable
59
+ (name example)
60
+ (public_name example)
61
+ (package example)
62
+ + (ocamlopt_flags -cc clang++)
63
+ (modules example)
64
+ (libraries binaryen))
65
+ ```
66
+
67
+ 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
+
45
69
  ## Static Linking
46
70
 
47
71
  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:
@@ -1,5 +1,5 @@
1
1
  opam-version: "2.0"
2
- version: "0.10.0"
2
+ version: "0.12.0"
3
3
  synopsis: "OCaml bindings for Binaryen"
4
4
  maintainer: "oscar@grain-lang.org"
5
5
  author: "Oscar Spencer"
@@ -12,11 +12,11 @@ build: [
12
12
  [ "dune" "build" "-p" name "-j" jobs ]
13
13
  ]
14
14
  depends: [
15
- "ocaml" {>= "4.09"}
16
- "dune" {>= "2.7.1"}
17
- "dune-configurator" {>= "2.7.1"}
18
- "js_of_ocaml" {>= "3.6.0"}
19
- "js_of_ocaml-ppx" {>= "3.6.0"}
20
- "js_of_ocaml-compiler" {>= "3.6.0"}
15
+ "ocaml" {>= "4.12"}
16
+ "dune" {>= "2.9.1"}
17
+ "dune-configurator" {>= "2.9.1"}
18
+ "js_of_ocaml" {>= "3.10.0"}
19
+ "js_of_ocaml-ppx" {>= "3.10.0"}
20
+ "js_of_ocaml-compiler" {>= "3.10.0"}
21
+ "libbinaryen" {>= "102.0.4" < "103.0.0"}
21
22
  ]
22
- available: arch = "x86_64" & (os = "linux" | os = "macos" | os = "win32")
File without changes