-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
/
OpenBLAS_jll.jl
51 lines (42 loc) · 1.51 KB
/
OpenBLAS_jll.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# This file is a part of Julia. License is MIT: https://julialang.org/license
## dummy stub for https://github.com/JuliaBinaryWrappers/OpenBLAS_jll.jl
baremodule OpenBLAS_jll
using Base, Libdl, CompilerSupportLibraries_jll, Base.BinaryPlatforms
Base.Experimental.@compiler_options compile=min optimize=0 infer=false
const PATH_list = String[]
const LIBPATH_list = String[]
export libopenblas
# These get calculated in __init__()
const PATH = Ref("")
const LIBPATH = Ref("")
artifact_dir = ""
libopenblas_handle = C_NULL
libopenblas_path = ""
if Base.USE_BLAS64
const libsuffix = "64_"
else
const libsuffix = ""
end
if Sys.iswindows()
const libopenblas = "libopenblas$(libsuffix).dll"
elseif Sys.isapple()
const libopenblas = "@rpath/libopenblas$(libsuffix).dylib"
else
const libopenblas = "libopenblas$(libsuffix).so"
end
function __init__()
global libopenblas_handle = dlopen(libopenblas)
global libopenblas_path = dlpath(libopenblas_handle)
global artifact_dir = dirname(Sys.BINDIR)
LIBPATH[] = dirname(libopenblas_path)
push!(LIBPATH_list, LIBPATH[])
end
# JLLWrappers API compatibility shims. Note that not all of these will really make sense.
# For instance, `find_artifact_dir()` won't actually be the artifact directory, because
# there isn't one. It instead returns the overall Julia prefix.
is_available() = true
find_artifact_dir() = artifact_dir
dev_jll() = error("stdlib JLLs cannot be dev'ed")
best_wrapper = nothing
get_libopenblas_path() = libopenblas_path
end # module OpenBLAS_jll