A particular goal is to make Mac M1 better supported. E.g. #29 sets the scijava.platform.bits to 64, but the architecture name is really arm64. See the #29 comment thread for important details here.
An example project in the SciJava umbrella that would benefit from these improvements is FLIMLib; see flimlib/flimlib#60.
@mkitti wrote:
It would be nice if we could align some of the definitions with those of other communities. For example, here are the platforms where Zulu openjdk 11 is available on conda-forge.
I'm not sure if I really under their architectures that well myself, but perhaps someone at https://gitter.im/conda-forge/conda-forge.github.io might be able to provide more information.
Over in Julia, we use a cross-compilation framework to support these platforms. The framework is not exclusive to Julia, so this could be useful if you want to support a wide variety of platforms with a single build recipe.
julia> using BinaryBuilder
julia> supported_platforms()
16-element Vector{Platform}:
Linux i686 {libc=glibc}
Linux x86_64 {libc=glibc}
Linux aarch64 {libc=glibc}
Linux armv6l {call_abi=eabihf, libc=glibc}
Linux armv7l {call_abi=eabihf, libc=glibc}
Linux powerpc64le {libc=glibc}
Linux i686 {libc=musl}
Linux x86_64 {libc=musl}
Linux aarch64 {libc=musl}
Linux armv6l {call_abi=eabihf, libc=musl}
Linux armv7l {call_abi=eabihf, libc=musl}
macOS x86_64
macOS aarch64
FreeBSD x86_64
Windows i686
Windows x86_64
julia> triplet.(supported_platforms())
16-element Vector{String}:
"i686-linux-gnu"
"x86_64-linux-gnu"
"aarch64-linux-gnu"
"armv6l-linux-gnueabihf"
"armv7l-linux-gnueabihf"
"powerpc64le-linux-gnu"
"i686-linux-musl"
"x86_64-linux-musl"
"aarch64-linux-musl"
"armv6l-linux-musleabihf"
"armv7l-linux-musleabihf"
"x86_64-apple-darwin"
"aarch64-apple-darwin"
"x86_64-unknown-freebsd"
"i686-w64-mingw32"
"x86_64-w64-mingw32"
https://binarybuilder.org/
https://github.com/JuliaPackaging/Yggdrasil (recipe repository)
On Windows, I'm starting to anticipate the need to do distinct UCRT builds in a few years.
A particular goal is to make Mac M1 better supported. E.g. #29 sets the
scijava.platform.bitsto 64, but the architecture name is really arm64. See the #29 comment thread for important details here.An example project in the SciJava umbrella that would benefit from these improvements is FLIMLib; see flimlib/flimlib#60.
@mkitti wrote: