Cross compiling for second tier

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

i386 :slight_smile:

2 Likes

Ouch, that’s a tough one