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

Ensure procmacros can be manually aot-compiled #1770

Open
mkaput opened this issue Nov 25, 2024 · 0 comments
Open

Ensure procmacros can be manually aot-compiled #1770

mkaput opened this issue Nov 25, 2024 · 0 comments
Assignees

Comments

@mkaput
Copy link
Member

mkaput commented Nov 25, 2024

Summary

With a naive, no-effort approach, we will have a chicken-and-egg problem here that will make manual building impossible. All because the tarball preparation directory is temporary to the scarb package command execution. To overcome this we have to make sure that it is possible to allow users to include the target/scarb/cairo-plugin directory into the tarball. Cargo has include/exclude fields, which seem like the most plausible solution we can port.

What determines whether package contains prebuilt binaries?

Any Scarb package that contains a target/scarb/cairo-plugin directory in tarball is considered as one containing prebuilt binaries. This name was chosen because it nicely hides inside Scarb’s/Cargo’s standard build file directory, which is very likely to already be avoided in source repositories and thus shouldn’t conflict with package sources.
Within this directory, binaries for all platforms will follow the following naming pattern: ${PACKAGE_NAME}_v${PACKAGE_VERSION}_${TARGET}.${so|dylib|dll}

Platform support

Due to licensing and technical constraints (macOS SDK can only be run on macOS), packaging with AOT compilation will be legally possible only on the following platform:

  • aarch64-apple-darwin
@mkaput mkaput added this to the Proc Macro AOT Compilation milestone Nov 25, 2024
@github-project-automation github-project-automation bot moved this to Triage in Scarb Nov 25, 2024
@maciektr maciektr moved this from Triage to Todo in Scarb Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants