Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support building against macOS universal binaries #1166

Merged
merged 1 commit into from
Jun 16, 2023
Merged

Support building against macOS universal binaries #1166

merged 1 commit into from
Jun 16, 2023

Commits on Jun 14, 2023

  1. Support building against macOS universal binaries

    FIXES: #1087
    
    A "universal binary" is a fat binary which contains multiple builds for
    different architectures. When Postgres is packaged in this format it's
    necessary to slice out the build for the current architecture before
    trying to parse it. The program terminates early if the universal binary
    doesn't support the current architecture.
    
    The list of supported architectures in `slice_arch32` is limited by
    [`object`][object-arch], which supports fewer than [Rust][rust-arch].
    
    The universal binary test fixture was simply chosen because of it's
    small size relative to other binaries in Postgres.
    
    [^1]: gimli-rs/object#454 (comment)
    
    [rust-arch]: http://doc.rust-lang.org/1.68.2/std/env/consts/constant.ARCH.html
    [object-arch]: https://docs.rs/object/latest/object/read/macho/trait.FatArch.html#method.architecture
    clowder committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    36a6434 View commit details
    Browse the repository at this point in the history