Skip to content

Commit

Permalink
Improved READMEs
Browse files Browse the repository at this point in the history
  • Loading branch information
syrusakbary committed May 2, 2020
1 parent 24dbdd3 commit 327a1fe
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 32 deletions.
33 changes: 14 additions & 19 deletions ATTRIBUTIONS.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,24 @@
# Wasmer Attributions

Wasmer is a community effort and makes use of code from various other
projects. Listed below are notable sections of code that are licensed
projects ❤️.
Listed below are notable sections of code that are licensed
from other projects and the relevant license of those projects.

These are the projects that were used as inspiration and/or that we are using code from:

- [Nebulet](https://github.com/nebulet/nebulet): as the base for creating a great Rust WebAssembly runtime
- [WAVM](https://github.com/wavm/wavm): for their great integration and testing framework
- [wasmtime](https://github.com/CraneStation/wasmtime):
For their wast, environ, jit, runtime and debugging with
the `__jit_debug_register_code` function
in Rust, the structure of using Cranelift with the GDB JIT
interface including implementation details regarding the structure
of generating debug information for each function with Cranelift
(for example, the sorting of the extended basic blocks before
processing the instructions), and the API for transforming DWARF
see [wasm-debug's attribution file](https://github.com/wasmerio/wasm-debug/blob/master/ATTRIBUTIONS.md)
for more information.
These are the projects that were used as inspiration and/or that we are using code from.
Each of the subcrates we have have an `Aknowledgements` section with more details.

Projects:

- [Emscripten](https://github.com/kripken/emscripten): for emtests test sources to ensure compatibility - [LICENSE](#emscripten)
- [Nebulet](https://github.com/nebulet/nebulet): as the base for creating a great Rust WebAssembly runtime - [LICENSE](#nebulet)
- [stackoverflow](https://stackoverflow.com/a/45795699/1072990): to create an efficient HashMap with pair keys
- [Emscripten](https://github.com/kripken/emscripten): for emtests test sources to ensure compatibility
- [The WebAssembly spec](https://github.com/WebAssembly/spec/tree/master/test): for implementation details of WebAssembly and spectests
- [WAVM](https://github.com/wavm/wavm): for their great integration and testing framework - [LICENSE](#wavm)
- [wasmtime](https://github.com/CraneStation/wasmtime): for their API and internal documentation, as well as some internal implementations - [LICENSE](#wasmtime)
- [WebAssembly spec](https://github.com/WebAssembly/spec/tree/master/test): for the spectests implementation

Please let us know if you believe there is an error or omission in
this list and we will do our best to correct it.
🙏 Please let us know if you believe there is an error or omission in
this list and we will correct.

## Licenses

Expand Down
4 changes: 4 additions & 0 deletions lib/cache/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Wasmer Cache

The `wasmer-cache` crate allows easily caching WebAssembly
modules in your system.
6 changes: 6 additions & 0 deletions lib/compiler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@ This crate is the base for Compiler implementations.

It performs the translation from a Wasm module into a basic Module,
but leaves the Wasm function bytecode translation to the compiler implementor.

#### Aknowledgments

This project borrowed some of the code strucutre from the [cranelift-wasm](https://crates.io/crates/wasmtime-jit), however it's been adapted to not depend on any specific IR and be abstract of any compiler.

Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/master/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
6 changes: 5 additions & 1 deletion lib/jit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ After the compiler process the result, the JIT pushes it into
memory and links it's contents so it can be usable by the
`wasmer` api.

> Note: this project started as a subfork of [this crate](https://crates.io/crates/wasmtime-jit).
#### Aknowledgments

This project borrowed some of the code of the code memory and unwind tables from the [wasmtime-jit](https://crates.io/crates/wasmtime-jit), the code since then has evolved significantly.

Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/master/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
12 changes: 7 additions & 5 deletions lib/runtime/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
# Wasmer Runtime

This is the `wasmer-runtime` crate, which contains wasm runtime library
support, supporting the wasm ABI used by any [`wasmer-compiler`] implementation,
and [`wasmer-jit`].
support, supporting the wasm ABI used by any [`wasmer-engine`] implementation.

> Note: this project started as a subfork of [this crate](https://crates.io/crates/wasmtime-runtime).
[`wasmer-engine`]: https://crates.io/crates/wasmer-engine

[`wasmer-compiler`]: https://crates.io/crates/wasmer-compiler
[`wasmer-jit`]: https://crates.io/crates/wasmer-jit
#### Aknowledgments

This project borrowed some of the code for the VM structure and trapping from the [wasmtime-runtime](https://crates.io/crates/wasmtime-runtime).

Please check [Wasmer ATTRIBUTIONS](https://github.com/wasmerio/wasmer/blob/master/ATTRIBUTIONS.md) to further see licenses and other attributions of the project.
6 changes: 2 additions & 4 deletions lib/wasi-experimental-io-devices/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# WASI Framebuffer

An experimental extension of WASI for basic graphics.
The `wasmer-wasi-experimental-io-devices` crate is experimental extension of WASI for basic graphics.

This is not part of the WASI standard right now so use at your own risk -- it may break or be removed

TODO add usage instructions here
Note: I/O devices is not part of the WASI standard yet.
2 changes: 1 addition & 1 deletion lib/wasi/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Wasmer WASI

This is the `wasmer-wasi` crate. It provides the necessary
imports to use WASI easily for any Wasmer user.
imports to use WASI easily from Wasmer.
4 changes: 2 additions & 2 deletions lib/wasm-common/src/features.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/// Controls which experimental features will be enabled.
/// Features usually have a corresponding [WebAssembly proposal][WebAssembly-props].
/// Features usually have a corresponding [WebAssembly proposal].
///
/// [WebAssembly-props]: https://github.com/WebAssembly/proposals
/// [WebAssembly proposal]: https://github.com/WebAssembly/proposals
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Features {
/// Threads proposal should be enabled
Expand Down

0 comments on commit 327a1fe

Please sign in to comment.