-# WASI Sysroot
+# WASI Libc
This is a work in progress. It's usable for many purposes, though the APIs
aren't stable yet.
It's several things.
-First, it's a usable libc. It builds a "sysroot" which can be pointed to by
-compilers, such as Clang 8.0, using the wasm32-unknown-wasi target triple.
-It's a work in progress, but it is already sufficient to run basic programs.
+First, it's a usable libc. It builds a "libc" which can be used by
+compilers, such as Clang 8.0, using the wasm32-wasi target. It's a work in
+progress, but it is already sufficient to run basic programs.
Second, it's a "reference" implementation, which means the interfaces defined
here can be used by other tools and libraries, even if they don't use all the
## Usage
The easiest way to get started with this is to use one of the
-[prepackaged releases](https://github.com/CraneStation/wasmtime-wasi/blob/wasi/docs/WASI-intro.md#how-can-i-write-programs-that-use-wasi).
+[prepackaged releases](https://github.com/CraneStation/wasmtime/blob/master/docs/WASI-intro.md#how-can-i-write-programs-that-use-wasi).
## Building from source
To build a WASI sysroot from source, obtain a WebAssembly-supporting C compiler
-(currently this is only clang, though we'd like to support other compilers as well),
+(currently this is only clang 8+, though we'd like to support other compilers as well),
and then run:
-```
-make WASM_CC=/path/to/wasm/supporting/c/compiler
+```sh
+make WASM_CC=/path/to/clang/with/wasm/support \
+ WASM_AR=/path/to/llvm-ar \
+ WASM_NM=/path/to/llvm-nm
```
This makes a directory called "sysroot", by default. See the top of the Makefile
To use the sysroot, use the `--sysroot=` option:
-```
+```sh
/path/to/wasm/supporting/c/compiler --sysroot=/path/to/the/newly/built/sysroot ...
```