Skip to content

Add macOS support: build wheels and document source install#8

Open
DBraun wants to merge 1 commit into
google-deepmind:mainfrom
DBraun:macos-wheels
Open

Add macOS support: build wheels and document source install#8
DBraun wants to merge 1 commit into
google-deepmind:mainfrom
DBraun:macos-wheels

Conversation

@DBraun

@DBraun DBraun commented Jun 30, 2026

Copy link
Copy Markdown

This is an LLM-based attempt at adding macOS support, and it works! I would love to have macOS wheels on PyPI at some point, although this PR doesn't cover that.

The C++ extension is portable: its dependencies (abseil, pybind11, zstd, google-cloud-cpp and friends) are all fetched and built from source via CMake FetchContent, and the only system requirements are CURL (provided by the macOS SDK) and OpenSSL. Verified building and running on macOS arm64 against Homebrew's openssl@3.

cibuildwheel:

  • Extend the build selector to also match macosx_*.
  • Move repair-wheel-command (auditwheel) under [tool.cibuildwheel.linux]; auditwheel is Linux-only, so macOS falls back to the default delocate.
  • Add a [tool.cibuildwheel.macos] section that installs openssl@3 and points OPENSSL_ROOT_DIR at its Homebrew prefix.

README:

  • Split the install instructions into Linux and macOS subsections, covering the Homebrew OpenSSL setup and the OPENSSL_ROOT_DIR hint.

The C++ extension is portable: its dependencies (abseil, pybind11, zstd, google-cloud-cpp and friends) are all fetched and built from source via CMake FetchContent, and the only system requirements are CURL (provided by the macOS SDK) and OpenSSL. Verified building and running on macOS arm64 against Homebrew's openssl@3.

cibuildwheel:
- Extend the `build` selector to also match `macosx_*`.
- Move `repair-wheel-command` (auditwheel) under `[tool.cibuildwheel.linux]`; auditwheel is Linux-only, so macOS falls back to the default delocate.
- Add a `[tool.cibuildwheel.macos]` section that installs openssl@3 and points `OPENSSL_ROOT_DIR` at its Homebrew prefix.

README:
- Split the install instructions into Linux and macOS subsections, covering the Homebrew OpenSSL setup and the `OPENSSL_ROOT_DIR` hint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant