Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dphilla/marcotte
Generate "layers" of system functionality. Initially part of Boxer, but extracted for independent use.
https://github.com/dphilla/marcotte
Last synced: about 1 month ago
JSON representation
Generate "layers" of system functionality. Initially part of Boxer, but extracted for independent use.
- Host: GitHub
- URL: https://github.com/dphilla/marcotte
- Owner: dphilla
- License: other
- Created: 2023-03-31T12:36:22.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-02T18:05:04.000Z (about 1 month ago)
- Last Synced: 2025-01-02T19:19:51.952Z (about 1 month ago)
- Language: C
- Homepage: https://boxer.dev
- Size: 227 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: SUPPORTED.md
Awesome Lists containing this project
- awesome-webassembly - dphilla/marcotte-wasm
README
# marcotte
Create Layers of host-agnostic system functionality for your WebAssembly (Wasm) application.
## Use
uses your standard c compiler, and marcotte-provided libc/interfaces to build an
underlying layer/series of layers of system functionality that your program specifies.Can use the --mod flag to modularize different system layers ( i.e. net, fs, sigs, etc. -- future)
- **This just provides the system function interfaces as WebAssembly exports for the
target program to use **Future:
non-c-standard lib langs - like golang, etc.## Development
for now, things that need attention are marked with `TODO` -- grep around for these (sorry).
Better bug and issues reporting to come as project grows.### CLI
`marcotte build `
### Lib
`marcotte::build(anyfile.c)`
### What's boxer's role?
Marcotte literally just lets programs run in (or against/on) Wasm without them needing to
modified, by building the various system layers -- but it says nothing about what
environment it will be run in, what the entrypoint is, how it should communicate
with the outside world, etc. Boxer does this, starting with container definition
compatibility, but then in the future with further configuration and box-building options
that take that compat and allow it to be extended for various new runtime environments,
peer-functionality (etc. ... more info to come on that later )for use with [Boxer](https://github.com/dphilla/wasmboxer), please see `docs/`
## Installation
clone and `cargo build --release` and drop the generated binary in your /usr/bin directory.
Please see the repo's [issues](https://github.com/dphilla/marcotte-wasm/issues) for more information on these.