# improvements to zig's implementation of libc and WebAssembly · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/14cdb01f35b35972b06e95a3a438f9f7910b97f8)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 14cdb01f35b35972b06e95a3a438f9f7910b97f8

Requested commit: 14cdb01f35b35972b06e95a3a438f9f7910b97f8

Commit: 14cdb01f35b35972b06e95a3a438f9f7910b97f8

Tree: 652a48bb218b86c581ebe7c747167c47a0236541

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
improvements to zig's implementation of libc and WebAssembly

 * rename std/special/builtin.zig to std/special/c.zig
   not to be confused with @import("builtin") which is entirely
   different, this is zig's multi-target libc implementation.
 * WebAssembly: build-exe is for executables which have a main().
   build-lib is for building libraries of functions to use from,
   for example, a web browser environment.
   - for now pass --export-all for libraries when there are any
     C objects because we have no way to detect the list of exports
     when compiling C code.
   - stop passing --no-entry for executables. if you want --no-entry
     then use build-lib.
 * make the "musl" ABI the default ABI for wasm32-freestanding.
 * zig provides libc for wasm32-freestanding-musl.

```

## Parents

- [3aa43dc31c468b2f80bf065f850618a981c5fca2](https://git.cafe/gitcafe/zig/commit/3aa43dc31c468b2f80bf065f850618a981c5fca2?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/14cdb01f35b35972b06e95a3a438f9f7910b97f8?format=markdown)
