From 41c0c2f42d8beb8d1e893a4bfb21d0cfae8b9b07 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Wed, 2 Jan 2019 15:00:08 -0500 Subject: [PATCH 01/11] don't use abstract_iteration for types with special cases in _apply (#30483) (cherry picked from commit 3e6f60758fd9b974972a78bbe899bb754e97a533) --- base/compiler/abstractinterpretation.jl | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/base/compiler/abstractinterpretation.jl b/base/compiler/abstractinterpretation.jl index b1fab2f0f4e69..b01ad3a271fca 100644 --- a/base/compiler/abstractinterpretation.jl +++ b/base/compiler/abstractinterpretation.jl @@ -405,12 +405,27 @@ function precise_container_type(@nospecialize(typ), vtypes::VarTable, sv::Infere end end return result - elseif isa(tti0, DataType) && tti0 <: Tuple - if isvatuple(tti0) && length(tti0.parameters) == 1 - return Any[Vararg{unwrapva(tti0.parameters[1])}] + elseif tti0 <: Tuple + if isa(tti0, DataType) + if isvatuple(tti0) && length(tti0.parameters) == 1 + return Any[Vararg{unwrapva(tti0.parameters[1])}] + else + return Any[ p for p in tti0.parameters ] + end + elseif !isa(tti, DataType) + return Any[Vararg{Any}] else - return Any[ p for p in tti0.parameters ] + len = length(tti.parameters) + last = tti.parameters[len] + va = isvarargtype(last) + elts = Any[ fieldtype(tti0, i) for i = 1:len ] + if va + elts[len] = Vararg{elts[len]} + end + return elts end + elseif tti0 === SimpleVector || tti0 === Any + return Any[Vararg{Any}] elseif tti0 <: Array return Any[Vararg{eltype(tti0)}] else From 879f7c23ac53d168f7bf13f62f2542f65b783b5c Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Wed, 2 Jan 2019 22:45:58 -0500 Subject: [PATCH 02/11] use type inference world in `return_type` (#30470) (cherry picked from commit a5a58828dffbd70b4c9bda3b35dbdd1e324cfe85) --- base/compiler/typeinfer.jl | 7 ++++++- src/gf.c | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/base/compiler/typeinfer.jl b/base/compiler/typeinfer.jl index ff9273de3cfd5..cdf56df177d09 100644 --- a/base/compiler/typeinfer.jl +++ b/base/compiler/typeinfer.jl @@ -633,7 +633,12 @@ end function return_type(@nospecialize(f), @nospecialize(t)) - params = Params(ccall(:jl_get_tls_world_age, UInt, ())) + world = ccall(:jl_get_tls_world_age, UInt, ()) + return ccall(:jl_call_in_typeinf_world, Any, (Ptr{Ptr{Cvoid}}, Cint), Any[_return_type, f, t, world], 4) +end + +function _return_type(@nospecialize(f), @nospecialize(t), world) + params = Params(world) rt = Union{} if isa(f, Builtin) rt = builtin_tfunction(f, Any[t.parameters...], nothing, params) diff --git a/src/gf.c b/src/gf.c index 4c8ae077192c1..78e9bfa40e758 100644 --- a/src/gf.c +++ b/src/gf.c @@ -300,6 +300,16 @@ jl_code_info_t *jl_type_infer(jl_method_instance_t **pli JL_ROOTS_TEMPORARILY, s return src; } +JL_DLLEXPORT jl_value_t *jl_call_in_typeinf_world(jl_value_t **args, int nargs) +{ + jl_ptls_t ptls = jl_get_ptls_states(); + size_t last_age = ptls->world_age; + ptls->world_age = jl_typeinf_world; + jl_value_t *ret = jl_apply(args, nargs); + ptls->world_age = last_age; + return ret; +} + int jl_is_rettype_inferred(jl_method_instance_t *li) JL_NOTSAFEPOINT { if (!li->inferred) From d8e69b84273dfa7765c2f64f38a43dd3d6437149 Mon Sep 17 00:00:00 2001 From: Alex Arslan Date: Fri, 4 Jan 2019 22:45:30 -0800 Subject: [PATCH 03/11] Use XCode 8.3 for macOS on Travis (#30599) This corresponds to macOS 10.12 Sierra. XCode 8 covers El Capitan and Sierra, so if Travis is giving us XCode 8.x for x < 3, we're on El Cap. Homebrew supports only three versions of macOS at a time, which means that El Cap (10.11) is no longer support. This is likely why our Mac builds are trying to build GCC from source; a bottle might not be available. (cherry picked from commit 862fe08de4283346b51e8dcddb3df52a5315ac6a) --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 078a9249e2f7a..d04eade2fa27c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,7 +40,7 @@ matrix: - gfortran-5 - os: osx env: ARCH="x86_64" - osx_image: xcode8 + osx_image: xcode8.3 cache: ccache branches: only: From 91fe9c3059e1c1a46a4e50c985af76c7c4f005e5 Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Fri, 4 Jan 2019 19:35:28 -0500 Subject: [PATCH 04/11] Fix use counts for mutable struct SROA PR #28478 moved the computation of the use counts before the finish call. to fix #28444. However, the early parts of the finish call fixes up phi node arguments, which fail to get counted if we look at use counts before that fixup is performed. This causes #30594 where the only non-trivial use is on the backedge of the phi and would thus incorrectly fail to get accounted for. Fix that by taking the use count after phi fixup but before dce. (cherry picked from commit f8f20453c4ca7a6aeb23a189a420dbff130679ce) --- base/compiler/ssair/passes.jl | 10 +++++++--- test/compiler/irpasses.jl | 26 ++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/base/compiler/ssair/passes.jl b/base/compiler/ssair/passes.jl index d291e85a661b8..68b7424f8a676 100644 --- a/base/compiler/ssair/passes.jl +++ b/base/compiler/ssair/passes.jl @@ -688,10 +688,14 @@ function getfield_elim_pass!(ir::IRCode, domtree::DomTree) compact[idx] = val === nothing ? nothing : val.x end - # Copy the use count, `finish` may modify it and for our predicate - # below we need it consistent with the state of the IR here. + + non_dce_finish!(compact) + # Copy the use count, `simple_dce!` may modify it and for our predicate + # below we need it consistent with the state of the IR here (after tracking + # phi node arguments, but before dce). used_ssas = copy(compact.used_ssas) - ir = finish(compact) + simple_dce!(compact) + ir = complete(compact) # Now go through any mutable structs and see which ones we can eliminate for (idx, (intermediaries, defuse)) in defuses intermediaries = collect(intermediaries) diff --git a/test/compiler/irpasses.jl b/test/compiler/irpasses.jl index 77f75958fd837..d7b1ec172936c 100644 --- a/test/compiler/irpasses.jl +++ b/test/compiler/irpasses.jl @@ -37,3 +37,29 @@ let m = Meta.@lower 1 + 1 Core.Compiler.verify_ir(ir) @test isa(ir.stmts[3], Core.PhiNode) && length(ir.stmts[3].edges) == 1 end + +# Tests for SROA + +mutable struct Foo30594; x::Float64; end +Base.copy(x::Foo30594) = Foo30594(x.x) +function add!(p::Foo30594, off::Foo30594) + p.x += off.x + return p +end +Base.:(+)(a::Foo30594, b::Foo30594) = add!(copy(a), b) + +let results = Float64[] + @noinline use30594(x) = push!(results, x.x); nothing + function foo30594(cnt::Int, dx::Int) + step = Foo30594(dx) + curr = step + Foo30594(1) + for i in 1:cnt + use30594(curr) + curr = curr + step + end + nothing + end + + foo30594(4, -1) + @test results == [0.0, -1.0, -2.0, -3.0] +end From bf0e21237083ebf3fcf8cf1b14b92c49024b6575 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Tue, 8 Jan 2019 15:22:10 -0500 Subject: [PATCH 05/11] some latency hacks (#30566) These changes cut some method dependency edges that tend to lead to invalidations when loading packages. (cherry picked from commit 13fc4c39a37742b8f804c5268426c49c7b31b7f5) --- base/array.jl | 9 +++++---- base/checked.jl | 4 ++-- base/show.jl | 4 ++-- base/strings/io.jl | 1 + stdlib/Distributed/src/managers.jl | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/base/array.jl b/base/array.jl index f13c6ee08358e..6f39e525bc6d6 100644 --- a/base/array.jl +++ b/base/array.jl @@ -267,7 +267,7 @@ offset `do`. Return `dest`. """ function copyto!(dest::Array{T}, doffs::Integer, src::Array{T}, soffs::Integer, n::Integer) where T n == 0 && return dest - n > 0 || _throw_argerror(n) + n > 0 || _throw_argerror() if soffs < 1 || doffs < 1 || soffs+n-1 > length(src) || doffs+n-1 > length(dest) throw(BoundsError()) end @@ -276,10 +276,11 @@ function copyto!(dest::Array{T}, doffs::Integer, src::Array{T}, soffs::Integer, end # Outlining this because otherwise a catastrophic inference slowdown -# occurs, see discussion in #27874 -function _throw_argerror(n) +# occurs, see discussion in #27874. +# It is also mitigated by using a constant string. +function _throw_argerror() @_noinline_meta - throw(ArgumentError(string("tried to copy n=", n, " elements, but n should be nonnegative"))) + throw(ArgumentError("Number of elements to copy must be nonnegative.")) end copyto!(dest::Array{T}, src::Array{T}) where {T} = copyto!(dest, 1, src, 1, length(src)) diff --git a/base/checked.jl b/base/checked.jl index 9b11e13caf796..c6a77cacadbae 100644 --- a/base/checked.jl +++ b/base/checked.jl @@ -87,7 +87,7 @@ function checked_neg(x::T) where T<:Integer checked_sub(T(0), x) end throw_overflowerr_negation(x) = (@_noinline_meta; - throw(OverflowError("checked arithmetic: cannot compute -x for x = $x::$(typeof(x))"))) + throw(OverflowError(Base.invokelatest(string, "checked arithmetic: cannot compute -x for x = ", x, "::", typeof(x))))) if BrokenSignedInt != Union{} function checked_neg(x::BrokenSignedInt) r = -x @@ -151,7 +151,7 @@ end throw_overflowerr_binaryop(op, x, y) = (@_noinline_meta; - throw(OverflowError("$x $op $y overflowed for type $(typeof(x))"))) + throw(OverflowError(Base.invokelatest(string, x, " ", op, "y", " overflowed for type ", typeof(x))))) """ Base.checked_add(x, y) diff --git a/base/show.jl b/base/show.jl index 164031b7a5884..2104858483f76 100644 --- a/base/show.jl +++ b/base/show.jl @@ -455,14 +455,14 @@ function show_type_name(io::IO, tn::Core.TypeName) globname = isdefined(tn, :mt) ? tn.mt.name : nothing globfunc = false if globname !== nothing - globname_str = string(globname) + globname_str = string(globname::Symbol) if ('#' ∉ globname_str && '@' ∉ globname_str && isdefined(tn, :module) && isbindingresolved(tn.module, globname) && isdefined(tn.module, globname) && isconcretetype(tn.wrapper) && isa(getfield(tn.module, globname), tn.wrapper)) globfunc = true end end - sym = globfunc ? globname : tn.name + sym = (globfunc ? globname : tn.name)::Symbol if get(io, :compact, false) if globfunc return print(io, "typeof(", sym, ")") diff --git a/base/strings/io.jl b/base/strings/io.jl index 71767cefb52af..7453845211148 100644 --- a/base/strings/io.jl +++ b/base/strings/io.jl @@ -105,6 +105,7 @@ end tostr_sizehint(x) = 8 tostr_sizehint(x::AbstractString) = lastindex(x) +tostr_sizehint(x::Union{String,SubString{String}}) = sizeof(x) tostr_sizehint(x::Float64) = 20 tostr_sizehint(x::Float32) = 12 diff --git a/stdlib/Distributed/src/managers.jl b/stdlib/Distributed/src/managers.jl index 3bc838750ab71..c782279788a13 100644 --- a/stdlib/Distributed/src/managers.jl +++ b/stdlib/Distributed/src/managers.jl @@ -373,7 +373,7 @@ manage struct DefaultClusterManager <: ClusterManager end -const tunnel_hosts_map = Dict{AbstractString, Semaphore}() +const tunnel_hosts_map = Dict{String, Semaphore}() """ connect(manager::ClusterManager, pid::Int, config::WorkerConfig) -> (instrm::IO, outstrm::IO) From 2f8fb89f065dd6b1dd4d268fc15b667ebf7dd0cb Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Mon, 7 Jan 2019 13:30:25 -0500 Subject: [PATCH 06/11] Fix SROA confusing new and old nodes SROA was accidentally treating a pending node as old and thus getting the wrong type when querying the predecessor. As a result it thought one of the paths was unreachable causing undefined data to be introduced on that path (generally the `1.0` that happened to already be in register). Fix #29983 (cherry picked from commit da0179c4d60c0fa3e5d64c08972773c82d57e4e6) --- base/compiler/ssair/passes.jl | 12 +++++++++--- test/compiler/irpasses.jl | 26 ++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/base/compiler/ssair/passes.jl b/base/compiler/ssair/passes.jl index 68b7424f8a676..22bc84979ae87 100644 --- a/base/compiler/ssair/passes.jl +++ b/base/compiler/ssair/passes.jl @@ -191,7 +191,7 @@ function walk_to_defs(compact::IncrementalCompact, @nospecialize(defssa), @nospe collect(Iterators.filter(1:length(def.edges)) do n isassigned(def.values, n) || return false val = def.values[n] - if isa(defssa, OldSSAValue) && isa(val, SSAValue) + if is_old(compact, defssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end edge_typ = widenconst(compact_exprtype(compact, val)) @@ -201,7 +201,7 @@ function walk_to_defs(compact::IncrementalCompact, @nospecialize(defssa), @nospe for n in possible_predecessors pred = def.edges[n] val = def.values[n] - if isa(defssa, OldSSAValue) && isa(val, SSAValue) + if is_old(compact, defssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end if isa(val, AnySSAValue) @@ -425,6 +425,12 @@ struct LiftedPhi need_argupdate::Bool end +function is_old(compact, @nospecialize(old_node_ssa)) + isa(old_node_ssa, OldSSAValue) && + !is_pending(compact, old_node_ssa) && + !already_inserted(compact, old_node_ssa) +end + function perform_lifting!(compact::IncrementalCompact, visited_phinodes::Vector{Any}, @nospecialize(cache_key), lifting_cache::IdDict{Pair{AnySSAValue, Any}, AnySSAValue}, @@ -455,7 +461,7 @@ function perform_lifting!(compact::IncrementalCompact, isassigned(old_node.values, i) || continue val = old_node.values[i] orig_val = val - if isa(old_node_ssa, OldSSAValue) && !is_pending(compact, old_node_ssa) && !already_inserted(compact, old_node_ssa) && isa(val, SSAValue) + if is_old(compact, old_node_ssa) && isa(val, SSAValue) val = OldSSAValue(val.id) end if isa(val, Union{NewSSAValue, SSAValue, OldSSAValue}) diff --git a/test/compiler/irpasses.jl b/test/compiler/irpasses.jl index d7b1ec172936c..12b299b7b1d91 100644 --- a/test/compiler/irpasses.jl +++ b/test/compiler/irpasses.jl @@ -63,3 +63,29 @@ let results = Float64[] foo30594(4, -1) @test results == [0.0, -1.0, -2.0, -3.0] end + +# Issue #29983 +# This one is a bit hard to trigger, but the key is to create a case +# where SROA needs to introduce an intermediate type-unstable phi node +struct Foo29983{T} + x::Tuple{T} +end +struct Bar29983{S} + x::S +end +Base.:+(a::T, b::Bar29983{S}) where {T, S} = Bar29983(a + b.x) +Base.:+(a::Bar29983{S}, b::T) where {T, S} = b + a +Base.:+(a::Bar29983{S}, b::Bar29983{T}) where {T, S} = Bar29983(a.x + b.x) +Base.:+(a::Foo29983, b::Foo29983) = Foo29983((a.x[1] + b.x[1],)) + +function f(x::Vector{T}) where {T} + x1 = Foo29983((x[1],)) + la1 = Foo29983((x[1],)) + f1 = Foo29983((0,)) + for _ in 1:2 + f1 += la1 + end + return f1 +end + +@test f([Bar29983(1.0)]).x[1].x == 2.0 From cec7e7bc616b7c2816cf26982f3b8a6cc57a596a Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Fri, 4 Jan 2019 22:08:17 -0500 Subject: [PATCH 07/11] Defensively fix patterns similar to #29983 I don't have concrete tests for these, but it looks like they all need the `is_old` predicate for what they're doing, so switch those over also while we're at it. (cherry picked from commit 34f7a4a50458594e6d72793b4f371227e8e842e3) --- base/compiler/ssair/passes.jl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/base/compiler/ssair/passes.jl b/base/compiler/ssair/passes.jl index 22bc84979ae87..63bd542157659 100644 --- a/base/compiler/ssair/passes.jl +++ b/base/compiler/ssair/passes.jl @@ -130,7 +130,7 @@ function simple_walk(compact::IncrementalCompact, @nospecialize(defssa#=::AnySSA return defssa end if isa(def.val, SSAValue) - if isa(defssa, OldSSAValue) && !already_inserted(compact, defssa) + if is_old(compact, defssa) defssa = OldSSAValue(def.val.id) else defssa = def.val @@ -281,7 +281,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), end if is_tuple_call(compact, def) && isa(field, Int) && 1 <= field < length(def.args) lifted = def.args[1+field] - if isa(leaf, OldSSAValue) && isa(lifted, SSAValue) + if is_old(compact, leaf) && isa(lifted, SSAValue) lifted = OldSSAValue(lifted.id) end if isa(lifted, GlobalRef) || isa(lifted, Expr) @@ -320,7 +320,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), compact[leaf] = def end lifted = def.args[1+field] - if isa(leaf, OldSSAValue) && isa(lifted, SSAValue) + if is_old(compact, leaf) && isa(lifted, SSAValue) lifted = OldSSAValue(lifted.id) end if isa(lifted, GlobalRef) || isa(lifted, Expr) @@ -339,7 +339,7 @@ function lift_leaves(compact::IncrementalCompact, @nospecialize(stmt), # N.B.: This can be a bit dangerous because it can lead to # infinite loops if we accidentally insert a node just ahead # of where we are - if isa(leaf, OldSSAValue) && (isa(field, Int) || isa(field, Symbol)) + if is_old(compact, leaf) && (isa(field, Int) || isa(field, Symbol)) (isa(typ, DataType) && (!typ.abstract)) || return nothing @assert !typ.mutable # If there's the potential for an undefref error on access, we cannot insert a getfield From 17f29780d8d08dd8ae20a441d847e50965a94b0a Mon Sep 17 00:00:00 2001 From: Tim Besard Date: Wed, 9 Jan 2019 13:30:02 +0100 Subject: [PATCH 08/11] Force specialization of the SubArray boundserror method. Improves https://github.com/JuliaLang/julia/pull/29867 by avoiding an invoke. (cherry picked from commit f2d2d6f465da338062fee79bddf18a9cf56652fd) --- base/subarray.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/subarray.jl b/base/subarray.jl index 2d6f8a709a642..3c3bb89d271f2 100644 --- a/base/subarray.jl +++ b/base/subarray.jl @@ -42,7 +42,7 @@ check_parent_index_match(parent, ::NTuple{N, Bool}) where {N} = # are inlined @inline Base.throw_boundserror(A::SubArray, I) = __subarray_throw_boundserror(typeof(A), A.parent, A.indices, A.offset1, A.stride1, I) -@noinline __subarray_throw_boundserror(T, parent, indices, offset1, stride1, I) = +@noinline __subarray_throw_boundserror(::Type{T}, parent, indices, offset1, stride1, I) where {T} = throw(BoundsError(T(parent, indices, offset1, stride1), I)) # This computes the linear indexing compatibility for a given tuple of indices From 1a2134d87d135f23a17a3fe3a090951d8b7d4bd8 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Wed, 9 Jan 2019 23:54:19 +0100 Subject: [PATCH 09/11] remove unneded patching of Makefile (cherry picked from commit 2a2ba37bf29ff73fc32f6df1c1ab79d569d1d7e2) --- deps/blas.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/deps/blas.mk b/deps/blas.mk index c025d4ac26e39..0f1e3e132606f 100644 --- a/deps/blas.mk +++ b/deps/blas.mk @@ -93,7 +93,6 @@ endif OPENBLAS_BUILD_OPTS += MAKE_NB_JOBS=0 $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/source-extracted - perl -i -ple 's/^\s*(EXTRALIB\s*\+=\s*-lSystemStubs)\s*$$/# $$1/g' $(dir $<)/Makefile.system echo 1 > $@ $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-compiled: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured From a5f63ff816598bb0fc0d4923f2146d65047f4b2e Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Fri, 28 Dec 2018 23:40:15 -0800 Subject: [PATCH 10/11] Add BB downloading for OpenBLAS (#30497) * Auto-detect binarybuilder triplet * Add OpenBLAS BinaryBuilder installation scaffolding Also make it easier to add more BB-cached versions of dependencies in the future * Enable `fixup-libgfortran.sh` to directly ask `$FC` for paths * Tell Appveyor and Travis to use BinaryBuilder OpenBLAS Also allow the build system to auto-guess the triplet (cherry picked from commit 87c18d88aefed9154af18aea9cdabca76763409e) --- .travis.yml | 4 +- Make.inc | 3 +- contrib/fixup-libgfortran.sh | 26 +++++-- contrib/normalize_triplet.py | 125 ++++++++++++++++++++++++++++++ contrib/windows/appveyor_build.sh | 3 +- deps/Makefile | 1 + deps/blas.mk | 20 +++++ deps/llvm.mk | 33 +------- deps/openblas.version | 2 + deps/tools/bb-install.mk | 33 ++++++++ 10 files changed, 210 insertions(+), 40 deletions(-) create mode 100755 contrib/normalize_triplet.py create mode 100644 deps/tools/bb-install.mk diff --git a/.travis.yml b/.travis.yml index d04eade2fa27c..1f45c08d32008 100644 --- a/.travis.yml +++ b/.travis.yml @@ -76,8 +76,8 @@ before_install: brew tap staticfloat/julia > /dev/null; brew rm --force $(brew deps --HEAD julia); brew install -v ccache gcc gmp mpfr pcre2 staticfloat/julia/openblas-julia staticfloat/julia/suite-sparse-julia staticfloat/juliadeps/libgfortran; - BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 BINARYBUILDER_TRIPLET=x86_64-apple-darwin14 BINARYBUILDER_LLVM_ASSERTS=1"; - BUILDOPTS="$BUILDOPTS USE_BINARYBUILDER_LLVM=1 LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size"; + BUILDOPTS="-j3 USECLANG=1 USECCACHE=1 USE_BINARYBUILDER_LLVM=1 USE_BINARYBUILDER_OPENBLAS=1 BINARYBUILDER_LLVM_ASSERTS=1"; + BUILDOPTS="$BUILDOPTS LLVM_CONFIG=$TRAVIS_BUILD_DIR/usr/tools/llvm-config LLVM_SIZE=$TRAVIS_BUILD_DIR/usr/tools/llvm-size"; BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1"; BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas"; for lib in SUITESPARSE BLAS LAPACK GMP MPFR LIBUNWIND; do diff --git a/Make.inc b/Make.inc index 81ff923156ed8..e9cb2411981e5 100644 --- a/Make.inc +++ b/Make.inc @@ -232,11 +232,10 @@ INSTALL_F := $(JULIAHOME)/contrib/install.sh 644 INSTALL_M := $(JULIAHOME)/contrib/install.sh 755 # BinaryBuilder options -# TODO: Autodiscover triplet +USE_BINARYBUILDER_OPENBLAS := 0 USE_BINARYBUILDER_LLVM := 0 # Use the Assertions build BINARYBUILDER_LLVM_ASSERTS := 0 -BINARYBUILDER_TRIPLET := # LLVM Options LLVMROOT := $(build_prefix) diff --git a/contrib/fixup-libgfortran.sh b/contrib/fixup-libgfortran.sh index a994515d2356d..897c067de6a83 100755 --- a/contrib/fixup-libgfortran.sh +++ b/contrib/fixup-libgfortran.sh @@ -2,6 +2,7 @@ # This file is a part of Julia. License is MIT: https://julialang.org/license # Run as: fixup-libgfortran.sh [--verbose] <$private_libdir> +FC=${FC:-gfortran} # If we're invoked with "--verbose", create a `debug` function that prints stuff out if [ "$1" = "--verbose" ] || [ "$1" = "-v" ]; then @@ -22,7 +23,7 @@ if [ "$UNAME" = "Linux" ]; then elif [ "$UNAME" = "Darwin" ]; then SHLIB_EXT="dylib" else - echo "WARNING: Could not autodetect platform type ('uname -s' == $UNAME); assuming Linux" >&2 + echo "WARNING: Could not autodetect platform type ('uname -s' = $UNAME); assuming Linux" >&2 UNAME="Linux" SHLIB_EXT="so" fi @@ -41,6 +42,20 @@ find_shlib() fi } +find_shlib_dir() +{ + # Usually, on platforms like OSX we get full paths when linking. However, + # if we are inspecting, say, BinaryBuilder-built OpenBLAS libraries, we will + # only get something like `@rpath/libgfortran.5.dylib` when inspecting the + # libraries. We can, as a last resort, ask `$FC` directly what the full + # filepath for this library is, but only if we don't have a direct path to it: + if [ $(dirname "$1") = "@rpath" ]; then + dirname "$($FC -print-file-name="$(basename "$1")" 2>/dev/null)" + else + dirname "$1" 2>/dev/null + fi +} + # First, discover all the places where libgfortran/libgcc is, as well as their true SONAMES for lib in lapack blas openblas; do for private_libname in ${private_libdir}/lib$lib*.$SHLIB_EXT*; do @@ -51,10 +66,11 @@ for lib in lapack blas openblas; do LIBQUADMATH_PATH=$(find_shlib "$private_libname" libquadmath) # Take the directories, add them onto LIBGFORTRAN_DIRS, which we use to - # search for these libraries in the future. - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBGFORTRAN_PATH 2>/dev/null)" - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBGCC_PATH 2>/dev/null)" - LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(dirname $LIBQUADMATH_PATH 2>/dev/null)" + # search for these libraries in the future. If there is no directory, try + # asking `$FC` where such a file could be found. + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBGFORTRAN_PATH)" + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBGCC_PATH)" + LIBGFORTRAN_DIRS="$LIBGFORTRAN_DIRS $(find_shlib_dir $LIBQUADMATH_PATH)" # Save the SONAMES LIBGFORTRAN_SONAMES="$LIBGFORTRAN_SONAMES $(basename "$LIBGFORTRAN_PATH")" diff --git a/contrib/normalize_triplet.py b/contrib/normalize_triplet.py new file mode 100755 index 0000000000000..42e9a9f5d5c15 --- /dev/null +++ b/contrib/normalize_triplet.py @@ -0,0 +1,125 @@ +#!/usr/bin/env python + +import re, sys + +# This script designed to mimick `src/PlatformNames.jl` in `BinaryProvider.jl`, which has +# a method `platform_key_abi()` to parse uname-like output into something standarized. + +if len(sys.argv) < 2: + print("Usage: %s []") + sys.exit(1) + +arch_mapping = { + 'x86_64': '(x86_|amd)64', + 'i686': "i\\d86", + 'aarch64': "aarch64", + 'arm': "arm(v7l)?", + 'powerpc64le': "p(ower)?pc64le", +} +platform_mapping = { + 'darwin': "-apple-darwin[\\d\\.]*", + 'freebsd': "-(.*-)?freebsd[\\d\\.]*", + 'windows': "-w64-mingw32", + 'linux': "-(.*-)?linux", +} +libc_mapping = { + 'blank_libc': "", + 'gnu': "-gnu", + 'musl': "-musl", +} +call_abi_mapping = { + 'blank_call_abi': "", + 'eabihf': "eabihf", +} +gcc_version_mapping = { + 'blank_gcc': "", + 'gcc4': "-gcc4", + 'gcc7': "-gcc7", + 'gcc8': "-gcc8", +} +cxx_abi_mapping = { + 'blank_cxx_abi': "", + 'cxx03': "-cxx03", + 'cxx11': "-cxx11", +} + +# Helper function to collapse dictionary of mappings down into a regex of +# named capture groups joined by "|" operators +c = lambda mapping: "("+"|".join(["(?P<%s>%s)"%(k,v) for (k, v) in mapping.items()]) + ")" +mondo_regex = re.compile( + "^"+ + c(arch_mapping)+ + c(platform_mapping)+ + c(libc_mapping)+ + c(call_abi_mapping)+ + c(gcc_version_mapping)+ + c(cxx_abi_mapping)+ + "$" +) + +# Apply our mondo regex to our input: +m = mondo_regex.match(sys.argv[1]) +if m is None: + print("ERROR: Unmatchable platform string '%s'!"%(sys.argv[1])) + sys.exit(1) + +# Helper function to find the single named field within the giant regex +# that is not `nothing` for each mapping we give it. +def get_field(m, mapping): + g = m.groupdict() + for k in mapping: + if g[k] is not None: + return k + +arch = get_field(m, arch_mapping) +platform = get_field(m, platform_mapping) +libc = get_field(m, libc_mapping) +call_abi = get_field(m, call_abi_mapping) +gcc_version = get_field(m, gcc_version_mapping) +cxx_abi = get_field(m, cxx_abi_mapping) + +def r(x): + x = x.replace("blank_call_abi", "") + x = x.replace("blank_gcc", "") + x = x.replace("blank_cxx_abi", "") + x = x.replace("blank_libc", "") + return x + +def p(x): + # These contain characters that can't be easily represented as + # capture group names, unfortunately: + os_remapping = { + 'darwin': 'apple-darwin14', + 'windows': 'w64-mingw32', + 'freebsd': 'unknown-freebsd11.1', + } + x = r(x) + if x: + for k in os_remapping: + x = x.replace(k, os_remapping[k]) + return '-' + x + return x + +# If the user passes in a GCC version (like 8.2.0) use that to force a +# "-gcc8" tag at the end of the triplet, but only if it has otherwise +# not been specified +if gcc_version == "blank_gcc": + if len(sys.argv) == 3: + gcc_version = { + "4": "gcc4", + "5": "gcc4", + "6": "gcc4", + "7": "gcc7", + "8": "gcc8", + }[sys.argv[2][0]] + + +print(arch+p(platform)+p(libc)+r(call_abi)+p(gcc_version)+p(cxx_abi)) + +# Testing suite: +# triplets="i686-w64-mingw32 x86_64-pc-linux-musl arm-linux-musleabihf x86_64-linux-gnu arm-linux-gnueabihf x86_64-apple-darwin14 x86_64-unknown-freebsd11.1" +# for t in $triplets; do +# if [[ $(./normalize_triplet.py "$t") != "$t" ]]; then +# echo "ERROR: Failed test on $t" +# fi +# done diff --git a/contrib/windows/appveyor_build.sh b/contrib/windows/appveyor_build.sh index fa29774a4e63b..b18780e927842 100755 --- a/contrib/windows/appveyor_build.sh +++ b/contrib/windows/appveyor_build.sh @@ -45,7 +45,6 @@ if [ "$ARCH" = x86_64 ]; then echo 'USE_BLAS64 = 1' >> Make.user echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas64_' >> Make.user echo 'LIBBLASNAME = libopenblas64_' >> Make.user - echo 'BINARYBUILDER_TRIPLET = x86_64-w64-mingw32' >> Make.user else bits=32 archsuffix=86 @@ -53,7 +52,6 @@ else echo "override MARCH = pentium4" >> Make.user echo 'LIBBLAS = -L$(JULIAHOME)/usr/bin -lopenblas' >> Make.user echo 'LIBBLASNAME = libopenblas' >> Make.user - echo 'BINARYBUILDER_TRIPLET = i686-w64-mingw32' >> Make.user fi echo "override JULIA_CPU_TARGET=generic;native" >> Make.user @@ -198,6 +196,7 @@ if [ -n "$USEMSVC" ]; then else # Use BinaryBuilder echo 'USE_BINARYBUILDER_LLVM = 1' >> Make.user + echo 'USE_BINARYBUILDER_OPENBLAS = 1' >> Make.user echo 'BINARYBUILDER_LLVM_ASSERTS = 1' >> Make.user echo 'override DEP_LIBS += llvm openlibm' >> Make.user export CCACHE_DIR=/cygdrive/c/ccache diff --git a/deps/Makefile b/deps/Makefile index a759218f6ca03..ba0bb685181db 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -12,6 +12,7 @@ include $(SRCDIR)/Versions.make include $(JULIAHOME)/Make.inc include $(SRCDIR)/tools/common.mk include $(SRCDIR)/tools/git-external.mk +include $(SRCDIR)/tools/bb-install.mk # Special comments: # diff --git a/deps/blas.mk b/deps/blas.mk index 0f1e3e132606f..147a18b9bf9c8 100644 --- a/deps/blas.mk +++ b/deps/blas.mk @@ -92,6 +92,8 @@ endif # Do not overwrite the "-j" flag OPENBLAS_BUILD_OPTS += MAKE_NB_JOBS=0 +ifneq ($(USE_BINARYBUILDER_OPENBLAS), 1) + $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/build-configured: $(BUILDDIR)/$(OPENBLAS_SRC_DIR)/source-extracted echo 1 > $@ @@ -193,3 +195,21 @@ configure-lapack: extract-lapack compile-lapack: $(BUILDDIR)/lapack-$(LAPACK_VER)/build-compiled fastcheck-lapack: check-lapack check-lapack: $(BUILDDIR)/lapack-$(LAPACK_VER)/build-checked + +else # USE_BINARYBUILDER_OPENBLAS + + +OPENBLAS_BB_URL_BASE := https://github.com/JuliaPackaging/Yggdrasil/releases/download/OpenBLAS-v$(OPENBLAS_VER)-$(OPENBLAS_BB_REL) +OPENBLAS_BB_NAME := OpenBLAS.v$(OPENBLAS_VER)-$(OPENBLAS_BB_REL) + +$(eval $(call bb-install,openblas,OPENBLAS,true)) +get-lapack: get-openblas +extract-lapack: extract-openblas +configure-lapack: configure-openblas +compile-lapack: compile-openblas +fastcheck-lapack: fastcheck-openblas +check-lapack: check-openblas +clean-lapack: clean-openblas +distclean-lapack: distclean-openblas +install-lapack: install-openblas +endif diff --git a/deps/llvm.mk b/deps/llvm.mk index bfef4d51abdec..c516b577f6269 100644 --- a/deps/llvm.mk +++ b/deps/llvm.mk @@ -513,37 +513,12 @@ ifeq ($(USE_POLLY),1) endif endif else # USE_BINARYBUILDER_LLVM -LLVM_BB_URL_BASE := https://github.com/staticfloat/LLVMBuilder/releases/download +LLVM_BB_URL_BASE := https://github.com/staticfloat/LLVMBuilder/releases/download/v$(LLVM_VER)-$(LLVM_BB_REL) ifneq ($(BINARYBUILDER_LLVM_ASSERTS), 1) -LLVM_BB_NAME := LLVM +LLVM_BB_NAME := LLVM.v$(LLVM_VER) else -LLVM_BB_NAME := LLVM.asserts +LLVM_BB_NAME := LLVM.asserts.v$(LLVM_VER) endif -LLVM_BB_NAME := $(LLVM_BB_NAME).v$(LLVM_VER) -LLVM_BB_URL := $(LLVM_BB_URL_BASE)/v$(LLVM_VER)-$(LLVM_BB_REL)/$(LLVM_BB_NAME).$(BINARYBUILDER_TRIPLET).tar.gz - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL): - mkdir -p $@ - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz: | $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL) - $(JLDOWNLOAD) $@ $(LLVM_BB_URL) - -$(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/build-compiled: | $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz - echo 1 > $@ - -$(eval $(call staged-install,llvm,llvm-$$(LLVM_VER)-$$(LLVM_BB_REL),,,,)) - -#Override provision of stage tarball -$(build_staging)/llvm-$(LLVM_VER)-$(LLVM_BB_REL).tgz: $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz | $(build_staging) - cp $< $@ - -clean-llvm: -distclean-llvm: -get-llvm: $(BUILDDIR)/llvm-$(LLVM_VER)-$(LLVM_BB_REL)/LLVM.$(BINARYBUILDER_TRIPLET).tar.gz -extract-llvm: -configure-llvm: -compile-llvm: -fastcheck-llvm: -check-llvm: +$(eval $(call bb-install,llvm,LLVM,false)) endif # USE_BINARYBUILDER_LLVM diff --git a/deps/openblas.version b/deps/openblas.version index fd259abbf7dc4..889bae7c4c860 100644 --- a/deps/openblas.version +++ b/deps/openblas.version @@ -1,2 +1,4 @@ OPENBLAS_BRANCH=v0.3.3 OPENBLAS_SHA1=fd8d1868a126bb9f12bbc43b36ee30d1ba943fbb +OPENBLAS_VER=0.3.3 +OPENBLAS_BB_REL=0 diff --git a/deps/tools/bb-install.mk b/deps/tools/bb-install.mk new file mode 100644 index 0000000000000..4737a9d7693af --- /dev/null +++ b/deps/tools/bb-install.mk @@ -0,0 +1,33 @@ +define bb-install +# If the user has signified that this is a GCC-multiversioned tarball, then generate the proper tarball +ifeq ($(3),true) +$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE)) $(lastword $(shell $(FC) --version | head -1))) +else +$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE))) +endif +$(2)_BB_URL := $$($(2)_BB_URL_BASE)/$$($(2)_BB_NAME).$$($(2)_BB_TRIPLET).tar.gz + +$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME): + mkdir -p $$@ + +$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz: | $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME) + $$(JLDOWNLOAD) $$@ $$($(2)_BB_URL) + +$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/build-compiled: | $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz + echo 1 > $$@ + +$$(eval $$(call staged-install,$(1),$(1)-$$$$($(2)_BB_NAME),,,,)) + +#Override provision of stage tarball +$$(build_staging)/$(1)-$$($(2)_BB_NAME).tgz: $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz | $$(build_staging) + cp $$< $$@ + +clean-$(1): +distclean-$(1): +get-$(1): $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz +extract-$(1): +configure-$(1): +compile-$(1): +fastcheck-$(1): +check-$(1): +endef From 05a8951398d94708e3f4b6917da3dca5b2383eb2 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Thu, 3 Jan 2019 14:03:38 -0800 Subject: [PATCH 11/11] Fix `bb-install` naming conventions, add hashes (#30535) * Fix `bb-install` naming conventions, add hashes * Set `DEP_LIBS` to include `openblas` on Appveyor * When guessing BB libc, default to `glibc` on Linux * Fix bb-install bash parsing failure Quote to avoid bash freaking out from spurious `)` from compilers that have fancy version strings such as `(Red Hat 7.3.1-5)`, which gets `lastword`'ed down to `7.3.1-5)`. * Add `contrib/refresh_bb_tarballs.sh` to aid in batch-grabbing BB hashes (cherry picked from commit 8b189ec494479d9e2ffda0549f066ba2c6389182) --- contrib/normalize_triplet.py | 4 +++ contrib/refresh_bb_tarballs.sh | 31 +++++++++++++++++++ contrib/windows/appveyor_build.sh | 2 +- .../LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 | 1 + .../LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 | 1 + .../LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 | 1 + .../sha512 | 1 + .../LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + deps/tools/bb-install.mk | 29 +++++++++++------ 92 files changed, 143 insertions(+), 11 deletions(-) create mode 100755 contrib/refresh_bb_tarballs.sh create mode 100644 deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 create mode 100644 deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 create mode 100644 deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 diff --git a/contrib/normalize_triplet.py b/contrib/normalize_triplet.py index 42e9a9f5d5c15..8ac7e2553c291 100755 --- a/contrib/normalize_triplet.py +++ b/contrib/normalize_triplet.py @@ -78,6 +78,10 @@ def get_field(m, mapping): gcc_version = get_field(m, gcc_version_mapping) cxx_abi = get_field(m, cxx_abi_mapping) +# The default libc on Linux is glibc +if platform == "linux" and libc == "blank_libc": + libc = "gnu" + def r(x): x = x.replace("blank_call_abi", "") x = x.replace("blank_gcc", "") diff --git a/contrib/refresh_bb_tarballs.sh b/contrib/refresh_bb_tarballs.sh new file mode 100755 index 0000000000000..9aac101b68e7d --- /dev/null +++ b/contrib/refresh_bb_tarballs.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +# Get this list via: +# using BinaryBuilder +# print("TRIPLETS=\"$(join(triplet.(BinaryBuilder.supported_platforms()), " "))\"") +TRIPLETS="i686-linux-gnu x86_64-linux-gnu aarch64-linux-gnu arm-linux-gnueabihf powerpc64le-linux-gnu i686-linux-musl x86_64-linux-musl aarch64-linux-musl arm-linux-musleabihf x86_64-apple-darwin14 x86_64-unknown-freebsd11.1 i686-w64-mingw32 x86_64-w64-mingw32" + +# These are the projects currently using BinaryBuilder; both GCC-expanded and non-GCC-expanded: +BB_PROJECTS="llvm" +BB_GCC_EXPANDED_PROJECTS="openblas" + +# Get "contrib/" directory path +CONTRIB_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) + +set -x +# For each triplet and each project, download the BB tarball and save its hash: +for triplet in ${TRIPLETS}; do + for proj in ${BB_PROJECTS}; do + PROJ="$(echo ${proj} | tr [a-z] [A-Z])" + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet} distclean-${proj} + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet} compile-${proj} + done + + for proj in ${BB_GCC_EXPANDED_PROJECTS}; do + PROJ="$(echo ${proj} | tr [a-z] [A-Z])" + for gcc in gcc4 gcc7 gcc8; do + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet}-${gcc} distclean-${proj} + make -C "${CONTRIB_DIR}/../deps" USE_BINARYBUILDER_${PROJ}=1 ${PROJ}_BB_TRIPLET=${triplet}-${gcc} compile-${proj} + done + done +done diff --git a/contrib/windows/appveyor_build.sh b/contrib/windows/appveyor_build.sh index b18780e927842..082d98c17d9b8 100755 --- a/contrib/windows/appveyor_build.sh +++ b/contrib/windows/appveyor_build.sh @@ -198,7 +198,7 @@ else echo 'USE_BINARYBUILDER_LLVM = 1' >> Make.user echo 'USE_BINARYBUILDER_OPENBLAS = 1' >> Make.user echo 'BINARYBUILDER_LLVM_ASSERTS = 1' >> Make.user - echo 'override DEP_LIBS += llvm openlibm' >> Make.user + echo 'override DEP_LIBS += llvm openlibm openblas' >> Make.user export CCACHE_DIR=/cygdrive/c/ccache echo 'USECCACHE=1' >> Make.user make check-whitespace diff --git a/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..27d3b973b20a9 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +46152d2b14fd1a9b052e0dcf341fdc60 diff --git a/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..21a1fea1b3b80 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.aarch64-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +0d0f0a2331d5c4fe6b0b81ce1d03df73faa418308b6bb59a3a663d398bb33f95a03a882d2abe1f962c9dd58f063ab8f6d571a3e9df1951ede2b6594fdb1e34b9 diff --git a/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 new file mode 100644 index 0000000000000..9bafee5a23dce --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/md5 @@ -0,0 +1 @@ +4969025231930de85f04ba2fcb15589a diff --git a/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 new file mode 100644 index 0000000000000..a4d47733d6f9f --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.arm-linux-gnueabihf.tar.gz/sha512 @@ -0,0 +1 @@ +ee1df591b443e75a6359f1ee72635925a60f1fde2a21c62f818d7eaedff4e8aacfef16a18e417f29ee02f3a5e972dd59a25bcea8b4822efb688ce18a744e24a5 diff --git a/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..3702585999c90 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +8dbfc95c4b69b3a6dee154d73865fff8 diff --git a/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..43632266302d1 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +6cc8bb7d76c4d606f1b02d99d81d320c5498fa851bbaac284162ac9306c5e8b10db43f0411c0c0b6e778bbb88bd86ce33dbc4ff1bd74bc2610514a536af367b4 diff --git a/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 new file mode 100644 index 0000000000000..069cae96b15f5 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/md5 @@ -0,0 +1 @@ +20ef707d38a3ea744cc5748170c09dad diff --git a/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 new file mode 100644 index 0000000000000..cad16a805c30e --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.i686-w64-mingw32.tar.gz/sha512 @@ -0,0 +1 @@ +84343663f17b6aeea6114478c35741b509ff696e6d042d8666aa52adc9ed17f64d90823123be7eaef367dacf34daf4466c83e662d2b5aa9046e950d1b611f831 diff --git a/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..4b8a47a1d79ed --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +19afaeb0632a880777b88482f69ccdfc diff --git a/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..c1183ce6d3b31 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.powerpc64le-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +3ecd22371aa4bb24b854467c40fa72d25e2e9d2f9e9b684b2d541d6003a151a763998b1a1171636207850f3f4da4656a4c62a4d7bc065d055b86f6380874e430 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 new file mode 100644 index 0000000000000..657e760ebe3df --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/md5 @@ -0,0 +1 @@ +fba99debe20aa1a131f61c539cf66b73 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 new file mode 100644 index 0000000000000..484bc27299e2e --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-apple-darwin14.tar.gz/sha512 @@ -0,0 +1 @@ +efc19110cd4b36a77249b20fb31b5b35cea0c0932d9ae8bb279064d93ead5869b608a27146a5f08e0aedde913bfa3435758e0a60b6e79087e3fbc2f61c7801ba diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 new file mode 100644 index 0000000000000..8a99d684df419 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/md5 @@ -0,0 +1 @@ +287274fe536cb5b241d1fd84be23b874 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 new file mode 100644 index 0000000000000..851222926ac37 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-linux-gnu.tar.gz/sha512 @@ -0,0 +1 @@ +9d1419e594c88b9ac4c64745a79292e8a83d3e1b21b65a24bb8531e19b5044d178b975acefe67a71b468282ffebac6a906213a4f7345d9e111c92441fd9b674e diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 new file mode 100644 index 0000000000000..0230bce662d87 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/md5 @@ -0,0 +1 @@ +f1c51ca218daf247a4119dfa68105ec5 diff --git a/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 new file mode 100644 index 0000000000000..6194e1f96dd77 --- /dev/null +++ b/deps/checksums/LLVM.v6.0.1.x86_64-w64-mingw32.tar.gz/sha512 @@ -0,0 +1 @@ +355e10041f4827bcc3409312cc0d069c10d731b91c3afaf9905f72b321818102bfab7032340282a11e0ddb4b946fb8aff5c874b9f884a856e3743b394ad601b5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..792f513b4167d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +f088cf15546c4eedba5209b72a9f9ac5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..c267d5a7ede11 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +7e43fa526bc31793a2b2a5c289cd8676741c01f2c5403da5da010dc057d8327dba46bbd6bbde6543d110f4c29529f344ed60c6648e8f0860e29b97b02b1900ec diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..c5bd2ae1f68df --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +92628223024ec50dd3a4f9951a519627 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..fb2ec47413c2e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +83a3c1e457d1b3a5014171bfeb773cd6c9abbe0677f8825565c4b7dfe2c0006fa98432c9603fce65c0bfa303abfa1a5808215d83de0ce25cf82803c89ed090a7 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..1cce6f1bdc23e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +311db7786512fd6d10d894aacf34585c diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..96fbf57bb0d07 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +a960332431e19c7c81c8fbfd25807dd36b76467783e88d6786390ed380e44d573e83c412e5676099f399dabdd122225dc592f6550ea548df4d5bb855e669a197 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..d02384e04ba5f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +8a57c45906f45e3e23f45ad15342b86f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..4c67392f1a146 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +e5746eacd59ab9d758a96887e704c3069756e64c492e803b39667c9fe0fb3f31630b107a8d3ed78d2f577998dcf05ef1b22635269f0b1d07f1f7a885c0a40de0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..94b0a7869ca16 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +784b3804c06102a2a5e921045128141d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..32b29be1c51b3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +42d9a646b9bf334366c6e8f10f97095182cbfa20a1d81767d2c7840807c6b119ac680805a49422594964d1595d840189a0a4237b77aa996f421035f7fa0724df diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..f1609510e419c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +80847101ea313e3481c6b1eca511edba diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..ab61a60182ca4 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.aarch64-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +e213f0cccec17bcbc575a7892ebc3fef96fd7626af15dabe1e00d11dca1b7ecbdb703b76dded37567f01ad7c6c6bb1128d00deccea3f22b989e906331b90d048 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..807bf5843ec31 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +1725d3703e48a65202fd6a1b85939562 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..cb93ab0a43f0d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +f0e37ff06cfe5e2e068209ae5606818e2237befb16df44fd37992d6fa4ab09f011163f1ee9bc7f402f01636e102a9aa76ab87b452739767ea5418504bb42e712 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..e6aa6406a6588 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +d04050d4950af260d50b2776fd9644be diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..2644cb0868c61 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +8fe6db1d9f89728dff78d00a3baac433f1cb49cb4f2b4137200a5adc7e09ec1e6defdfacde0ff8b4f116bccc119d7a2446f393d72915d1fb6196bc5eebe6dd3b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..284204f72591b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +27f231b907ad9eea5209e7162b7ee9ed diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..89d75e0da6d72 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-gnueabihf-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +13651977b234fd69dd784d3b302d3cc86c01aa5c6feade2a89a2141c0ae8d3e69ae45d8c821efae20bc5fd287675b761923ebe9dd16a6e43ef82b3c39f78efc8 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..e482400f2299c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +c46ce6edbc149e7e50746d36f5dd39be diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..ba3337631b0e8 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +47e476d9f53678e7831e585bc2bb9da6b5ca52691e534a4ef9a6e4b1d47dab863ea4f40cbc0f280a275ebfe7158502ad8e87c318a099969da86268494ad5cdec diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..b01ce44a9c815 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +7436441c3396058e64aecaed35e0aaf7 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..48a5845697314 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +1855fdc531d9e22a8ea7312d766e1557d8534dee3db2d500815b6a07975a715ebbaa905a7a8e61dc4f187295ef6ac0f1cb88d761b6b219c98723164ce037a701 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..86e3a719f00ce --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +f288cefa5efdf8198baa34f2926efb5f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e0942d9a7fb46 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.arm-linux-musleabihf-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +b64d8175bda0ef8f21913612118e2c778378edfd40076d5f4894d63f78275b6308b57fc398c818098c230d2cb5370c681348db01f894a36981315ed4fe231a75 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..67d9c67582570 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +c39eccd8437526a85d882b9361bf992f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1da2e5c7fc18d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +5450c993b3a5d51263b4566f4216539ddfd68a9d320ac2d1acd667aab32cade6dc23d419eb6661fed1da735fe002a1c8174a1587c852291adcba79569ecfbd57 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..d95221396e26d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +586864e85249190e75aee1ff9efac507 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..5679d3ca77038 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +99efda0f03a13663515451a8bd16dd0db575c92cce469d6eaa8197f59a0f49b485eaafa9746dde9bc362208d1033e0981c4c113436cbf6992155a84579cc2258 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..4203ef9ece336 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +ed4247b9afeed44c4fe6a8936450db0d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..3cf3d3638f50a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +ee5427db88236f800721ae5f68996da346a79223a6fc5a4a77241a39462090e9d04617efbf7f9af533002b2394785c408d60cb6dfe8217da6d83f3386df583f6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..3ac9903586820 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +0d5962eff8b08fa0bde0927ffba16ea6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..97c5ff5c912c3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +02a8ebd0172acf789b9f91b9289424185bfbd23c8f7844c31df13eb598d99dcc654fe9f3a3b034b56bad0cae5f88318610a0981aa40ab1304121c2bf4c86f79b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..39b4cdc316f9e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +8ed451829c335e9149fb8bb8450186d9 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..811f7ff115a51 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +975f17af10e9d3404d22bd85e2420594d84c142a0223705293a7a4f1f0533ddde1d8cd61db5e6749e1b6f75080d02719bda13a8618e6b751aff257dc01d451f6 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..d8fc618464a41 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +2bd3407e74930750863ef732ed4c436e diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..b880d8f218b32 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +d4af029f0ae70604f69d757f8bd6c02ff597984bb130099a8755fe8660dad04b1a22dbeea4008b5ec9462b0508524b6091a380d509f195857de5c82c4b7b058d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..8a7892b50611e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +71fabfa2708eee2fc70d559059ea5292 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1aa5a4b454695 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +5814455eb15782f69b60493e5d4fcc6525c2ae942c8c4836a422401be0f9d89ef581bd6e45a2d85f148ec97a64197159ad7a9a49302b190b0bc0e4f6457b62c0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..2d6f900493ae0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +6837acfadac6150ca5da993fbfe49524 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..e48dc0b46fb37 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +26724b8b34e1f435118636d767648c64e91e2f7a25393e5b685564b05d6960e41417a491477952c477ee623cfa66387d41ebde9267539261b851b66add1ba6ba diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..a5c3773388afe --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +bfb0a11291016152f5a8e7c7cd53b729 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e91fe6d240b8d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.i686-w64-mingw32-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +64f4121b4d9e242f034630d446cb841f242e48165ca8e9026463c825d42b8cd2720045fcd46d630a402672ba0e06c6519cdec9d7b78d96ab7a0ee6f00fcaf4fd diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..456f9f875449c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +212dbd606a757a433ca9b025b81d0b01 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..6542731f434f9 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +1aa3d9309b1d1fbcf9fb4c8c0c8e178aed264efe3b60a81ab35328939ae63b141e8d87de9abafac6c488ae8438f3550cccb05200b78e6994fdc4d8be478aade3 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..4ee77ca0fd4f0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +d85de52c6b2d2163da276fec2fb853e2 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..1972a0e145120 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +35724cc9eead1a1b48c87b1f9924284382538904ba857778840258e98e45cc72898cac48736cd08007a20e9908a6f43ee26a3891e4de9e1d1988db3c4e140a70 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..0a1246c78259e --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +a064e25190a1b8e88e6ac5a23138b600 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..e5e889c7cf4c1 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.powerpc64le-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +9cf9658fa77c61b7a2f462ef5ce4097b288579aeb6e19e2fb3f4bc2e2d2697be16febda65b92a4061e7c007b9b5a317e6c318e5e7c7deaabd84a5a382f7f74b8 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..a1ed52a7b2ee0 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +b45a0b6dbd411ca00674113086066fb1 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..62b089d98d99a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +c3630ff607f78ec5007e72edec8c237ddd68b9b3bb5d15ce0695677d33107302aaca33e1fe7349762779a7ea327e6465a7edaeb114df44ff363074d8e69124fc diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..671eab75db79b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +0914a5f99799b10515533d966088739a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..3eef2762c12ed --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +160225f3afa22f1ce4698bea73597266a96a7483454283a5f17ab105731dadff7374b36e21b37eeff73afa9e725d224fb1e65262d2a737ff91a2e04825eddb5d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..3a00ca0216ed2 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +7a19c9986027c6740d9ccf878fdf685a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..3e0388b9e80c3 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-apple-darwin14-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +582b285d2bc3f5d6984a60646356efa2a17c198d598a47f5060638fdaaca814cff0035946b408707d7269bbb9d5f30ca0cf1cec72d98b1c1f5893d94b5bf0e69 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..95608d50b3a10 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +cf06a7c6dbe8e72f7faf0e8b8dc45b5b diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..729ca02670b8a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +ee6c8d7ab063151cc31384c8b5aac09930e43ad47eaf88ea6becc3fe63b45502979b2510df9c64866e2fe843b6c996b6e8f6c580557765262f48ddf05711ac77 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..a18e2bfcd872a --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +dd83850d3dccaf8a86c1dc2c92bd2722 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..5aa3cbcd98e5c --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +f09ec01d77dd362afce2d801b07bbad3fd7bf4968f3675f7da199f6e36641fa4a1f39e0efdd29811f38af41e084a06999e183a5e9d8dd6b19ccc574009bbd56a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..9c9dae5cf3eed --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +77dcaa22914d8a83bb430fa8da8f0e7d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..01490f443b11f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-gnu-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +b2b9141ca3ed0ffc7e6b65b6e066d7c18fd9d2db4cde0ffdf3ad4dfa6d6c6c2a0d58986e611d6628e36644f3fb50a844aac9a8b5aa2a70e29a26005b019a2592 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..dfd30fccb742d --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +21124a1f217460744ef6613d1227da03 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..1d74b2061dbb1 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +fddebd7bbd1e67e1ce3fb9887b2bfbdba53452ab445d25a718d6369a9d91957b45fbca24f246d2823bfcf51a1aa8f9bc3530f43cf66d7915e01da8810041342d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..d73728859785f --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +a5203a3d0101c0f8af922ca4d9e9f63d diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..2b3a6f1a7dbae --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +209107bb4d61494a90f7efecfaeb2074183e1f0ca4b28e6caf1bd87fd356ba7f82ba4ad34e9e34a27669ee55f9df38bb831bcc9c3ca3f4f45aacc1d1747cd2b5 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..8835978052e1b --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +25b669075a95cdaf89f15970125d1f61 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..0f4bdbdb92d75 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-linux-musl-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +62dcd6e02b4d175eb2cf4a66fbd0bdc53b42e5cf7d710b999cf82cefe96abffe017b7e02821ea9f8da610d64a671414b92b8ae66750c0d828573f0c30161b223 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 new file mode 100644 index 0000000000000..35fc9d28191e7 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/md5 @@ -0,0 +1 @@ +6f18d278fde2b975a87eb4bc4713535a diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 new file mode 100644 index 0000000000000..565dd9928a980 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc4.tar.gz/sha512 @@ -0,0 +1 @@ +6fed03c459cf4eb0237d838da1e0dfb2f57d6f13a345e74a4e7bdd0f11ef487646d00c1741a8965a2a05abdf61b4ed517a1bf955e5f8a93b590ed7824543d5da diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 new file mode 100644 index 0000000000000..c2c8e742da8da --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/md5 @@ -0,0 +1 @@ +4adce6ef2ba3b74ae180302d511144de diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 new file mode 100644 index 0000000000000..0608e8a46d6fc --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc7.tar.gz/sha512 @@ -0,0 +1 @@ +ca43770bbb021a0ffb2847bf45fbaa4d9b8fff78bc201094adf4dac1df4e5db52eee2646155c415fc9b5a0e419426f335b246c90c193c423cce86def172b034f diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 new file mode 100644 index 0000000000000..e228b6bb332db --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/md5 @@ -0,0 +1 @@ +e88ac7a195ddb48f71ecd13d91e62cf0 diff --git a/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 new file mode 100644 index 0000000000000..0ef69f1f9b025 --- /dev/null +++ b/deps/checksums/OpenBLAS.v0.3.3-0.x86_64-w64-mingw32-gcc8.tar.gz/sha512 @@ -0,0 +1 @@ +0a73eec901c3470c354468e0b961325eda1a1515dcbe9f25528856390eecf21f81fec37def9f9e1661ec84db1a4fa782a4607d16805661c743bd978050f82d6a diff --git a/deps/tools/bb-install.mk b/deps/tools/bb-install.mk index 4737a9d7693af..24e3e7232d4d8 100644 --- a/deps/tools/bb-install.mk +++ b/deps/tools/bb-install.mk @@ -1,33 +1,42 @@ define bb-install # If the user has signified that this is a GCC-multiversioned tarball, then generate the proper tarball ifeq ($(3),true) -$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE)) $(lastword $(shell $(FC) --version | head -1))) +$(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE)) "$(lastword $(shell $(FC) --version | head -1))") else $(2)_BB_TRIPLET := $(shell python $(call cygpath_w,$(JULIAHOME)/contrib/normalize_triplet.py) $(or $(XC_HOST),$(XC_HOST),$(BUILD_MACHINE))) endif $(2)_BB_URL := $$($(2)_BB_URL_BASE)/$$($(2)_BB_NAME).$$($(2)_BB_TRIPLET).tar.gz +$(2)_BB_BASENAME := $$(shell basename $$($(2)_BB_URL)) -$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME): +$$(BUILDDIR)/$$($(2)_BB_NAME): mkdir -p $$@ -$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz: | $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME) +$$(SRCCACHE)/$$($(2)_BB_BASENAME): | $$(SRCCACHE) $$(JLDOWNLOAD) $$@ $$($(2)_BB_URL) -$$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/build-compiled: | $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz +$$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled: $$(BUILDDIR)/$$($(2)_BB_NAME) | $$(SRCCACHE)/$$($(2)_BB_BASENAME) + $$(JLCHECKSUM) $$(SRCCACHE)/$$($(2)_BB_BASENAME) echo 1 > $$@ -$$(eval $$(call staged-install,$(1),$(1)-$$$$($(2)_BB_NAME),,,,)) +$$(eval $$(call staged-install,$(1),$$($(2)_BB_NAME),,,,)) #Override provision of stage tarball -$$(build_staging)/$(1)-$$($(2)_BB_NAME).tgz: $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz | $$(build_staging) +$$(build_staging)/$$($(2)_BB_NAME).tgz: $$(SRCCACHE)/$$($(2)_BB_BASENAME) | $$(build_staging) cp $$< $$@ -clean-$(1): -distclean-$(1): -get-$(1): $$(BUILDDIR)/$(1)-$$($(2)_BB_NAME)/$(2).$$($(2)_BB_TRIPLET).tar.gz +clean-bb-$(1): + rm -f $$(build_staging)/$$($(2)_BB_BASENAME) + rm -f $$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled + +clean-$(1): clean-bb-$(1) +distclean-$(1): clean-bb-$(1) +get-$(1): $$(SRCCACHE)/$$($(2)_BB_BASENAME) extract-$(1): configure-$(1): -compile-$(1): +compile-$(1): $$(BUILDDIR)/$$($(2)_BB_NAME)/build-compiled +install-$(1): compile-$(1) fastcheck-$(1): check-$(1): + +.PHONY: clean-bb-$(1) endef