wasix-libc
wasi-sdk
wasix-libc | wasi-sdk | |
---|---|---|
3 | 12 | |
116 | 1,284 | |
1.7% | 1.6% | |
7.2 | 8.3 | |
19 days ago | about 1 month ago | |
C | CMake | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wasix-libc
-
The Upper Limits of WebAssembly Performance
But how do you know where to import these functions? Idk bro, I just grepped the wasix-libc till I found something that looked right.
-
Stop Hiding the Sharp Knives: The WebAssembly Linux Interface
Very few things are impossible on tech land.
I'd like to invite you to https://wasmer.sh/, where you'll see bash compiled to Wasm and working fully on the browser, using fork under the hood.
Also, this example might be enlightening: https://github.com/wasix-org/wasix-libc/blob/main/examples/f... (feel free to chime into the examples folder, where you may see other previously-thought-impossible accomplishments, such as longjmp and setjmp working fully on the browser).
wasi-sdk
-
Wasmer 5.0
Alternatively you can use the wasi-sdk toolchain instead of Emscripten:
https://github.com/WebAssembly/wasi-sdk
-
Stop Hiding the Sharp Knives: The WebAssembly Linux Interface
I would really love being able to take any POSIX command line tool, compile that to WASI, and run it on (at least) Linux, Windows and macOS like a regular executable without having to install a separate WASI runtime.
I'm a 'WASI convert' since I was able to take an ancient 8-bit assembler written in the mid-90's (http://xi6.com/projects/asmx/), compile that as-is with the WASI SDK (https://github.com/WebAssembly/wasi-sdk), and then integrate it into a VSCode extension (https://marketplace.visualstudio.com/items?itemName=floooh.v...).
A similar problem is I have is a shader cross-compiler (https://github.com/floooh/sokol-tools) which needs to run Linux, macOS and Windows and takes too long to build locally, thus I currently need to distribute that as pre-built binaries. Compiling this to WASI works, but the filesystem access restrictions built into current wasm runtimes are a hassle to manage, and it would require a WASI runtime to be separately installed).
-
WASI: WebAssembly System Interface
There is the WASI SDK if you want to target WASI from C/C++:
https://github.com/WebAssembly/wasi-sdk
It may not have all the amenities of Emscripten, but it's way less bulky.
-
How to Debug WASI Pipelines with ITK-Wasm
The most direct way to debug WebAssembly is through the WebAssembly System Interface (WASI). In itk-wasm, we can build to WASI with the WASI SDK by specifying the itkwasm/wasi toolchain image. A backtrace can quickly be obtained with the itk-wasm CLI. Or, a fully fledged debugger session can be started with LLDB.
-
Hello Wasm World!
We use the add_executable command to build executables with itk-wasm. The Emscripten and WASI toolchains along with itk-wasm build and execution configurations are contained in itk-wasm dockcross Docker images invoked by the itk-wasm command line interface (CLI). Note that the same code can also be built and tested with native operating system toolchains. This is useful for development and debugging.
-
Wasmer takes WebAssembly libraries mainstream with WAI
A more lightweight tool than emscripten is the WASI SDK (https://github.com/WebAssembly/wasi-sdk/releases). However, it doesn't generate JS or HTML.
-
A First Look at Wasm and Docker
wget https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz
-
Turbocharge your application development using WebAssembly with SingleStoreDB
First, we’ll download the wasi-sdk. We’ll use wasi-sdk-16.0-linux.tar.gz, the latest version available when writing this article. We’ll move the file to the /opt directory and unpack it as follows:
-
whats all the fuzz about wasi-libc?
I'm intrigued. Pretty good write-up about it here. One would need an ebuild for wasi-libc and an ebuild for wasi-sdk.
-
Store SQLite in Cloudflare Durable Objects
The previously mentioned PR for wasm32-unknown-unknown compatibility solved this by including libc .c files from OpenBSD. My go to solution is different though. I prefer to build using the wasi-sdk (a WASI-enabled WebAssembly C/C++ toolchain).
What are some alternatives?
winterjs - Winter is coming... ❄️
wasi-libc - WASI libc implementation for WebAssembly
sokol-tools - Command line tools for use with sokol headers
binaryen - Optimizer and compiler/toolchain library for WebAssembly
linux - Linux kernel source tree
asyncify - Standalone Asyncify helper for Binaryen
wasm-sqlite - [Experimental] SQLite compiled to WASM with pluggable page storage.
nxdk - The cross-platform, open-source SDK to develop for original Xbox: *new* xdk
One - One (onelang) is an open-source system programming language that makes it easy to build reliable, efficient and performant software. (release as soon) 1️⃣ 🕐 🩱
freebsd-ports - FreeBSD ports tree (read-only mirror)
sqlite-vfs - Build SQLite virtual file systems (VFS) by implementing a simple Rust trait.
workers-wasi