@@ -14,39 +14,45 @@ link with, and Go developers should just be able to import this directly.
14
14
15
15
## Supported Platforms
16
16
17
- Requires Rust 1.51+, Requires Go 1.17+
18
-
19
- Since this package includes a rust prebuilt dll, you cannot just import the go code,
20
- but need to be on a system that works with an existing dll. Currently this is Linux
21
- (tested on Ubuntu, Debian, and CentOS7) and MacOS. We have a build system for Windows,
22
- but it is [ not supported] [ wasmer_support ] by the Wasmer Singlepass backend which we rely upon.
23
-
24
- [ wasmer_support ] : https://docs.wasmer.io/ecosystem/wasmer/wasmer-features
25
-
26
- ### Overview
27
-
28
- | | [ x86] | [ x86_64] | [ ARM32] | [ ARM64] |
29
- | ------------- | ------------------- | ------------------- | -------------------- | -------------------- |
30
- | Linux (glibc) | ❌ | ✅ | ❌ <sub >[ #53 ] </sub > | ❌ <sub >[ #53 ] </sub > |
31
- | Linux (muslc) | ❌ | ✅ | ❌ <sub >[ #53 ] </sub > | ❌ <sub >[ #53 ] </sub > |
32
- | macOS | ❌ | ✅ | ❌ <sub >[ #53 ] </sub > | ❌ <sub >[ #53 ] </sub > |
33
- | Windows | ❌ <sub >[ #28 ] </sub > | ❌ <sub >[ #28 ] </sub > | ❌ <sub >[ #28 ] </sub > | ❌ <sub >[ #28 ] </sub > |
34
-
35
- [ x86 ] : https://en.wikipedia.org/wiki/X86
36
- [ x86_64 ] : https://en.wikipedia.org/wiki/X86-64
37
- [ arm32 ] : https://en.wikipedia.org/wiki/AArch32
38
- [ arm64 ] : https://en.wikipedia.org/wiki/AArch64
39
- [ #28 ] : https://github.com/CosmWasm/wasmvm/issues/28
40
- [ #53 ] : https://github.com/CosmWasm/wasmvm/issues/53
41
-
42
- ✅ Supported and activly maintained.
43
-
44
- ❌ Blocked by external dependency.
45
-
46
- 🤷 Not supported because nobody cares so far. Feel free to look into it.
47
-
48
- This is all blocked on [ wasmer support for singlepass backend] ( https://docs.wasmer.io/ecosystem/wasmer/wasmer-features#compiler-support-by-chipset ) .
49
- We can only move on these wasmvm issues when the upstream has support.
17
+ Requires Rust 1.55+ and Go 1.17+.
18
+
19
+ The Rust implementation of the VM is compiled to a library called libwasmvm. This is
20
+ then linked to the Go code when the final binary is built. For that reason not all
21
+ systems supported by Go are supported by this project.
22
+
23
+ Linux (tested on Ubuntu, Debian, and CentOS7, Alpine) and macOS is supported.
24
+ We are working on Windows (#288 ).
25
+
26
+ [ #288 ] : https://github.com/CosmWasm/wasmvm/pull/288
27
+
28
+ ### Builds of libwasmvm
29
+
30
+ Our system currently supports the following builds. In general we can only support targets
31
+ that are [ supported by Wasmer's singlepass backend] ( https://docs.wasmer.io/ecosystem/wasmer/wasmer-features#compiler-support-by-chipset ) ,
32
+ which for example excludes all 32 bit systems.
33
+
34
+ <!-- AUTO GENERATED BY libwasmvm_builds.py START -->
35
+
36
+ | OS family | Arch | Linking | Supported | Wasmer 2.2+ | Note |
37
+ | --------------- | ------- | ------- | -------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
38
+ | Linux (glibc) | x86_64 | shared | ✅libwasmvm.so | ✅libwasmvm.so | |
39
+ | Linux (glibc) | x86_64 | static | 🚫 | 🚫 | Would link libwasmvm statically but glibc dynamically as static glibc linking is not recommended. Potentially interesting for Osmosis. |
40
+ | Linux (glibc) | aarch64 | shared | 🚫 | ✅libwasmvm.aarch64.so | |
41
+ | Linux (glibc) | aarch64 | static | 🚫 | 🚫 | |
42
+ | Linux (musl) | x86_64 | shared | 🚫 | 🚫 | Possible but not needed |
43
+ | Linux (musl) | x86_64 | static | ✅libwasmvm_muslc.a | ✅libwasmvm_muslc.a | |
44
+ | Linux (musl) | aarch64 | shared | 🚫 | 🚫 | Possible but not needed |
45
+ | Linux (musl) | aarch64 | static | 🚫 | ✅libwasmvm_muslc.aarch64.a | |
46
+ | macOS | x86_64 | shared | ✅libwasmvm.dylib | ✅libwasmvm.dylib | Fat/universal library with multiple archs (#294 ) |
47
+ | macOS | x86_64 | static | 🚫 | 🚫 | |
48
+ | macOS | aarch64 | shared | 🚫 | ✅libwasmvm.dylib | Fat/universal library with multiple archs (#294 ) |
49
+ | macOS | aarch64 | static | 🚫 | 🚫 | |
50
+ | Windows (mingw) | x86_64 | shared | 🏗wasmvm.dll | 🏗wasmvm.dll | See #288 |
51
+ | Windows (mingw) | x86_64 | static | 🚫 | 🚫 | |
52
+ | Windows (mingw) | aarch64 | shared | 🚫 | 🚫 | |
53
+ | Windows (mingw) | aarch64 | static | 🚫 | 🚫 | |
54
+
55
+ <!-- AUTO GENERATED BY libwasmvm_builds.py END -->
50
56
51
57
## Docs
52
58
0 commit comments