-
Notifications
You must be signed in to change notification settings - Fork 64
Closed
Description
During bringup of Julia on a non BB-supported platform, i.e., compiling Julia with USE_BINARYBUILDER := 0, I ran into the fact that SparseArrays.jl's LibSuiteSparse.jl behaves pretty much like a JLL, in that it only supports a fixed set of platforms:
SparseArrays.jl/src/solvers/LibSuiteSparse.jl
Lines 33 to 39 in ac5c8ed
| elseif Sys.isbsd() && !Sys.isapple() | |
| include("lib/x86_64-unknown-freebsd.jl") | |
| elseif Sys.iswindows() && Sys.ARCH === :x86_64 | |
| include("lib/x86_64-w64-mingw32.jl") | |
| else | |
| error("Unknown platform: $(Base.BUILD_TRIPLET)") | |
| end |
This seems needlessly complicated, especially because the headers are in fact identical:
❯ md5sum *
7de9f4584578f167cc12bf5000883b8c aarch64-apple-darwin20.jl
7de9f4584578f167cc12bf5000883b8c aarch64-linux-gnu.jl
7de9f4584578f167cc12bf5000883b8c aarch64-linux-musl.jl
7de9f4584578f167cc12bf5000883b8c armv7l-linux-gnueabihf.jl
7de9f4584578f167cc12bf5000883b8c armv7l-linux-musleabihf.jl
7de9f4584578f167cc12bf5000883b8c i686-linux-gnu.jl
7de9f4584578f167cc12bf5000883b8c i686-linux-musl.jl
7de9f4584578f167cc12bf5000883b8c i686-w64-mingw32.jl
7de9f4584578f167cc12bf5000883b8c powerpc64le-linux-gnu.jl
7de9f4584578f167cc12bf5000883b8c x86_64-apple-darwin14.jl
7de9f4584578f167cc12bf5000883b8c x86_64-linux-gnu.jl
7de9f4584578f167cc12bf5000883b8c x86_64-linux-musl.jl
7de9f4584578f167cc12bf5000883b8c x86_64-unknown-freebsd.jl
7de9f4584578f167cc12bf5000883b8c x86_64-w64-mingw32.jl
As we still support building Julia without BB support (and we probably always will), can we get rid of this complexity and move to a single libsuitesparse.jl header? Or am I missing anything?
Metadata
Metadata
Assignees
Labels
No labels