This is a small utility that can be used to fetch and generate deduplicated macOS libc headers. The intention for
this utility is to use it to update the libc headers shipped with Zig, and used when cross-compiling to macOS
(see this article for an amazing description of the zig cc
C compiler frontend).
NOTE: it makes little sense running this utility on a non-macOS host.
- Build
zig build
-
(Optional) Add additional libc headers to
src/headers.c
. -
Fetch headers into
libc/include/<arch>-macos-gnu
./zig-cache/bin/fetch_them_macos_headers fetch
- Generate deduplicated headers dirs in
<destination>
path
./zig-cache/bin/fetch_them_macos_headers generate <destination>
- (Optional) Copy the contents of
<destination>
into Zig'slib/libc/include/
, and analyze the changes withgit status
.
Usage: fetch_them_macos_headers fetch [cflags]
fetch_them_macos_headers generate <destination>
Commands:
fetch [cflags] Fetch libc headers into libc/include/<arch>-macos-gnu dir
generate <destination> Generate deduplicated dirs { aarch64-macos-gnu, x86_64-macos-gnu, any-macos-any }
into a given <destination> path
General Options:
-h, --help Print this help and exit