Created
January 7, 2019 21:55
-
-
Save dpo/37e3d94e4e772da97dc2bb9b7aeb3435 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using BinaryProvider # requires BinaryProvider 0.3.0 or later | |
# Parse some basic command-line arguments | |
const verbose = "--verbose" in ARGS | |
const prefix = Prefix(get([a for a in ARGS if a != "--verbose"], 1, joinpath(@__DIR__, "usr"))) | |
products = [ | |
LibraryProduct(prefix, ["libopenblas", "libopenblas64_"], :libopenblas), | |
] | |
# Download binaries from hosted location | |
bin_prefix = "https://github.com/JuliaLinearAlgebra/OpenBLASBuilder/releases/download/v0.3.0-3" | |
# Listing of files generated by BinaryBuilder: | |
download_info = Dict( | |
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-gnu-gcc4.tar.gz", "901a95fda10165814821dd74bb7db83564ea8ab7c17bb56fba1ec98c689a5199"), | |
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-gnu-gcc7.tar.gz", "cac22d5c7c38ed2e91de6628fb512f83a9c33ac909cf0446c886190f886275e4"), | |
Linux(:aarch64, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-gnu-gcc8.tar.gz", "0bfb9d1dad5b9553021b0e6dd2f515bf8903c9ea6dd8de14e19b85b7197b2490"), | |
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-musl-gcc4.tar.gz", "370fe1bc0be1f7f93bd32db132ce6e8a1d3dd5a7ea1d06f1c420c337feb41ebd"), | |
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-musl-gcc7.tar.gz", "e42e11fe813a886819f163084825663bae0f0db497cc30f3d1a8e80c0a69d1fd"), | |
Linux(:aarch64, libc=:musl, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.aarch64-linux-musl-gcc8.tar.gz", "649084de8aaa197cc2870282056f96cbc47c5fef4445bd8f699f66d6751e4be0"), | |
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-gnueabihf-gcc4.tar.gz", "1ca1a422ba6e743f4b8637bff8f0a3a69055bb480fb24e5d7a9241fae7acfc88"), | |
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-gnueabihf-gcc7.tar.gz", "65c32a31fed49e69e220b643c3563104d28f4c2b2090b203e1136a9d482002fa"), | |
Linux(:armv7l, libc=:glibc, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-gnueabihf-gcc8.tar.gz", "4c7dd49d85ad4ffc894fa1f3d80ee67e8d529a0dd9bfbbef6393bafb577bc37b"), | |
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-musleabihf-gcc4.tar.gz", "2ea6e0fdecce81c198f96620b11181c3835073d3739d38f16c3f13ae78c2e21d"), | |
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-musleabihf-gcc7.tar.gz", "c6b331dbfb0e79a7c8636dabb77177b7f5380c8fe75ef2b86f004910dd1e88f7"), | |
Linux(:armv7l, libc=:musl, call_abi=:eabihf, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.arm-linux-musleabihf-gcc8.tar.gz", "b7f0844f735c532b1f2ceb056a82a91b2726a1b0b4cbb80c721c4fd5955e9a09"), | |
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-gnu-gcc4.tar.gz", "3c5ee3cf3f374c70cecfdb649146c96f3725a681d67ff243bf9261a2a7eadb63"), | |
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-gnu-gcc7.tar.gz", "176fba543b28e4077f003e365b9b16bc98f54c41185df3a4de6cd786380571f7"), | |
Linux(:i686, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-gnu-gcc8.tar.gz", "59028d3010fb63dd55b06eeb771ecb966a8a88d1b7ecc6be45206ecf7b40c387"), | |
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-musl-gcc4.tar.gz", "5cc89e90e4b04ffa38235e9d978c782c4a0af83e42130cd0e3a9314c8bea6a66"), | |
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-musl-gcc7.tar.gz", "59b36e31e471c505c73ed7244f0c1871fc604339f38f850774977d61b8014d35"), | |
Linux(:i686, libc=:musl, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-linux-musl-gcc8.tar.gz", "195bbf159c84357c194d06730abbe996eb8f4099a59e6d3bf9a6e692e48e5659"), | |
Windows(:i686, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-w64-mingw32-gcc4.tar.gz", "7dfc6842877f1ae4cda671d51ca622a37ce91d3bd69464b6d6e56806194ebb32"), | |
Windows(:i686, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-w64-mingw32-gcc7.tar.gz", "14131fda3724de70c9428572e119694df571c857a67cc16628d0f4741c509b58"), | |
Windows(:i686, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.i686-w64-mingw32-gcc8.tar.gz", "8a11b80e2f5e38f84b716415c59331f737b888301960bbb0b619a36d52dff854"), | |
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.powerpc64le-linux-gnu-gcc4.tar.gz", "da2757b180d4ea22e26deebc7e9bb803d87bbf6db2b111169a15f29b64f0b5a6"), | |
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.powerpc64le-linux-gnu-gcc7.tar.gz", "7dcccba1ab2295482ecae517bcb799f8f1e65f30a9193742d7dad6363a34b303"), | |
Linux(:powerpc64le, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.powerpc64le-linux-gnu-gcc8.tar.gz", "003c264f73147e318aa0d7b3000f0d4ff6127127d0f36a9cc4713af7301367b3"), | |
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-apple-darwin14-gcc4.tar.gz", "fec0736b5762466ce049742d0821d0a687a88d387fe3c179d5b161c35bcab32f"), | |
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-apple-darwin14-gcc7.tar.gz", "c74b622baeab174a846a66b6d4acd96ec9aa5f83036fc70b61491e0398555eff"), | |
MacOS(:x86_64, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-apple-darwin14-gcc8.tar.gz", "97829c6d2bcc6f708e002013e15f00018d7f91557e979990f6edeab7edd2ea92"), | |
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-gnu-gcc4.tar.gz", "1a52318242fe4873456fb49bfe966943038811642ca538a720bdf90c16e6af15"), | |
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-gnu-gcc7.tar.gz", "6d3e6a6a8abd73312ff492c1f2d6f59ae98949548840ae3d0cb30c03915ecd10"), | |
Linux(:x86_64, libc=:glibc, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-gnu-gcc8.tar.gz", "a78289726ac3bd9f9158ffd99c40e4ae08a2e526cf65949ed1dbcd7e4c2414ac"), | |
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-musl-gcc4.tar.gz", "6220be2ba5a3c0ab6040cb45454bb97dbf5b72ef3cab8af9450406c418a53eee"), | |
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-musl-gcc7.tar.gz", "2faa9964c9a301110850d4ccf173b520c7edc9f510a8a0531379798f52ae4cf7"), | |
Linux(:x86_64, libc=:musl, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-linux-musl-gcc8.tar.gz", "a28788495aa8f9719030152e81cac44d1f2865e3caf296c63e7cdd0d2e10b8a5"), | |
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-unknown-freebsd11.1-gcc4.tar.gz", "c14e7381330ff768bbe499de87eb7f99be1497f6482d985515c0559d9bf18711"), | |
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-unknown-freebsd11.1-gcc7.tar.gz", "869444c857088de98392438945b9fc466abcec65dd820af995d8e12b37cfc64a"), | |
FreeBSD(:x86_64, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-unknown-freebsd11.1-gcc8.tar.gz", "7615819525f1061c64b0c00f75632144311b6b185c01abb57ec50c7a234ddded"), | |
Windows(:x86_64, compiler_abi=CompilerABI(:gcc4)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc4.tar.gz", "fce586b6777c4a8c6e30c79c80b3d680caa46c55d51736bebaf8f7a02c5c0dfb"), | |
Windows(:x86_64, compiler_abi=CompilerABI(:gcc7)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc7.tar.gz", "20b0ad8be5254295827a3037e55ecd71092a4aab8ee42aabdfbe846b68e09f8d"), | |
Windows(:x86_64, compiler_abi=CompilerABI(:gcc8)) => ("$bin_prefix/OpenBLAS.v0.3.0.x86_64-w64-mingw32-gcc8.tar.gz", "a6111d5a4bdb7e4d6f4020ae90c52ab9ad560c034f0ade80d72f225d2457d43c"), | |
) | |
# Install unsatisfied or updated dependencies: | |
unsatisfied = any(!satisfied(p; verbose=verbose) for p in products) | |
dl_info = choose_download(download_info, platform_key_abi()) | |
if dl_info === nothing && unsatisfied | |
# If we don't have a compatible .tar.gz to download, complain. | |
# Alternatively, you could attempt to install from a separate provider, | |
# build from source or something even more ambitious here. | |
error("Your platform (\"$(Sys.MACHINE)\", parsed as \"$(triplet(platform_key_abi()))\") is not supported by this package!") | |
end | |
# If we have a download, and we are unsatisfied (or the version we're | |
# trying to install is not itself installed) then load it up! | |
if unsatisfied || !isinstalled(dl_info...; prefix=prefix) | |
# Download and install binaries | |
@info "downloading OpenBLAS" dl_info | |
install(dl_info...; prefix=prefix, force=true, verbose=verbose) | |
end | |
# Write out a deps.jl file that will contain mappings for our products | |
# write_deps_file(joinpath(@__DIR__, "deps.jl"), products, verbose=verbose) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment