Skip to content

Commit 3e2ac51

Browse files
lazify MPFR_jll
1 parent ceb2577 commit 3e2ac51

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

stdlib/MPFR_jll/src/MPFR_jll.jl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,41 @@
44
baremodule MPFR_jll
55
using Base, Libdl, GMP_jll
66

7-
const PATH_list = String[]
8-
const LIBPATH_list = String[]
9-
107
export libmpfr
118

129
# These get calculated in __init__()
1310
const PATH = Ref("")
11+
const PATH_list = String[]
1412
const LIBPATH = Ref("")
13+
const LIBPATH_list = String[]
1514
artifact_dir::String = ""
16-
libmpfr_handle::Ptr{Cvoid} = C_NULL
1715
libmpfr_path::String = ""
1816

17+
_libmpfr_dependencies = LazyLibrary[libgmp, libgmpxx]
18+
1919
if Sys.iswindows()
20-
const libmpfr = "libmpfr-6.dll"
20+
const _libmpfr_path = BundledLazyLibraryPath("libmpfr-6.dll")
2121
elseif Sys.isapple()
22-
const libmpfr = "@rpath/libmpfr.6.dylib"
22+
const _libmpfr_path = BundledLazyLibraryPath("libmpfr.6.dylib")
2323
else
24-
const libmpfr = "libmpfr.so.6"
24+
const _libmpfr_path = BundledLazyLibraryPath("libmpfr.so.6")
2525
end
2626

27+
const libmpfr = LazyLibrary(
28+
_libmpfr_path,
29+
dependencies=_libmpfr_dependencies,
30+
)
31+
32+
function eager_mode()
33+
dlopen(libmpfr)
34+
end
35+
is_available() = true
36+
2737
function __init__()
28-
global libmpfr_handle = dlopen(libmpfr)
29-
global libmpfr_path = dlpath(libmpfr_handle)
38+
global libmpfr_path = string(_libmpfr_path)
3039
global artifact_dir = dirname(Sys.BINDIR)
3140
LIBPATH[] = dirname(libmpfr_path)
3241
push!(LIBPATH_list, LIBPATH[])
3342
end
3443

35-
# JLLWrappers API compatibility shims. Note that not all of these will really make sense.
36-
# For instance, `find_artifact_dir()` won't actually be the artifact directory, because
37-
# there isn't one. It instead returns the overall Julia prefix.
38-
is_available() = true
39-
find_artifact_dir() = artifact_dir
40-
dev_jll() = error("stdlib JLLs cannot be dev'ed")
41-
best_wrapper = nothing
42-
get_libmpfr_path() = libmpfr_path
43-
4444
end # module MPFR_jll

0 commit comments

Comments
 (0)