It would be nice if crystal supplied binaries for “tier 2” platforms. Even if it doesn’t run tests against them.
If not, then perhaps add a description of how to cross compile them? Does the version of LLVM have to match, for instance? How do you use it with the stdlib?
https://crystal-lang.org/reference/1.6/syntax_and_semantics/platform_support.html
Thanks!
2 Likes
Which ones are you particluarly interested in?
x86_64-linux-musl
and aarch64-darwin
are covered by the linux and macos release builds which are universal with regards to libc and architecture, respectively. I think those two might also be promoted to Tier 1 (we don’t have automated testing for aarch64-darwin
though).
There’s an open ticket for building distribution packages for arm/aarch: Integrate aarch64 into the building /release process · Issue #125 · crystal-lang/distribution-scripts · GitHub We have a host system available for that, it just needs to be integrated into the CI and release workflow.
Getting around with i386-linux
is a bit rough nowadays and not a priority.
Yeah, I suppose we could have a dedicated manual for building the compiler.
Library versions always have to match when cross-compiling (not necessarily the exact same version is required, but ABI compatibility).
1 Like