All Projects → ziglang → fetch-them-macos-headers

ziglang / fetch-them-macos-headers

Licence: MIT License
A utility for fetching minimal macOS libc headers

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
objective c
16641 projects - #2 most used programming language
Zig
133 projects

Labels

fetch-them-macos-headers

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).

Howto

NOTE: it makes little sense running this utility on a non-macOS host.

  1. Build
zig build
  1. (Optional) Add additional libc headers to src/headers.c.

  2. Fetch headers into libc/include/<arch>-macos-gnu

./zig-out/bin/fetch_them_macos_headers fetch
  1. Generate deduplicated headers dirs in <destination> path
./zig-out/bin/fetch_them_macos_headers generate <destination>
  1. (Optional) Copy the contents of <destination> into Zig's lib/libc/include/, and analyze the changes with git status.

Usage

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].