Skip to content

jedisct1/fetch-them-macos-headers

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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-none, x86_64-macos-none, any-macos-any }
                              into a given <destination> path

General Options:
-h, --help                    Print this help and exit

About

A utility for fetching minimal macOS libc headers

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 86.7%
  • C++ 11.2%
  • Objective-C 2.0%
  • Zig 0.1%