Skip to content

Set MACOSX_DEPLOYMENT_TARGET for macOS releases#246

Merged
tschneidereit merged 2 commits intobytecodealliance:masterfrom
alexcrichton:osx-releases
Aug 6, 2019
Merged

Set MACOSX_DEPLOYMENT_TARGET for macOS releases#246
tschneidereit merged 2 commits intobytecodealliance:masterfrom
alexcrichton:osx-releases

Conversation

@alexcrichton
Copy link
Member

This is an effort to ideally produce "more portable" binaries for the
releases we publish to GitHub. Currently the way macOS works is that
you're generally only guaranteed to work on the same platform you built
on and later (although it may sometimes work on older platforms). By
configuring this environment variable it should be possible to lower the
binary compatibility requirement, allowing running binaries on older OS
releases than the build machine is running.

I've chosen 10.9 here since it seems to be the lowest that "just works",
but there's no particular reason other than that for choosing this. Rust
itself chooses 10.8 (I think) for the compiler and 10.7 for the standard
library. This decision is largely driven by the C++ code from wabt-sys
which has more requirements about binary compatibility than Rust code
does.

Note that I don't actually have older macOS machines to test on as well,
but I can at least confirm that this does affect the build process!

This is an effort to ideally produce "more portable" binaries for the
releases we publish to GitHub. Currently the way macOS works is that
you're generally only guaranteed to work on the same platform you built
on and later (although it may sometimes work on older platforms). By
configuring this environment variable it should be possible to lower the
binary compatibility requirement, allowing running binaries on older OS
releases than the build machine is running.

I've chosen 10.9 here since it seems to be the lowest that "just works",
but there's no particular reason other than that for choosing this. Rust
itself chooses 10.8 (I think) for the compiler and 10.7 for the standard
library. This decision is largely driven by the C++ code from wabt-sys
which has more requirements about binary compatibility than Rust code
does.

Note that I don't actually have older macOS machines to test on as well,
but I can at least confirm that this does affect the build process!
@alexcrichton
Copy link
Member Author

I should point out that I want to verify the release actually registers this before merging, so gonna wait on CI to finish the OSX build at least.

Copy link
Member

@tschneidereit tschneidereit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, that makes a lot of sense!

@alexcrichton
Copy link
Member Author

Ok, verified and looks to be working!

@tschneidereit tschneidereit merged commit 3e2344c into bytecodealliance:master Aug 6, 2019
@alexcrichton alexcrichton deleted the osx-releases branch August 6, 2019 17:28
grishasobol pushed a commit to grishasobol/wasmtime that referenced this pull request Nov 29, 2021
…ance#246)

* Add MemoryInstance::direct_access and direct_access_mut

* Rustfmt
dhil added a commit to dhil/wasmtime that referenced this pull request Nov 7, 2024
avanhatt added a commit to wellesley-prog-sys/wasmtime that referenced this pull request Apr 9, 2025
`fabs`: easy one that doesn't require a primitive.

Updates bytecodealliance#224
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.

2 participants