• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

JuliaLang / julia / #38084

29 May 2025 04:37AM UTC coverage: 25.773% (+0.07%) from 25.705%
#38084

push

local

web-flow
test: Automatically install Revise for `revise-` targets (#58559)

This fixes #50256, by automatically installing a private copy of
`Revise` into test/deps, similar to the mechanism for Documenter in
make.jl. As in #58529, I made sure that this worked with both in-tree
and out-of-tree builds.

12850 of 49858 relevant lines covered (25.77%)

714696.95 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

53.85
/stdlib/CompilerSupportLibraries_jll/src/CompilerSupportLibraries_jll.jl
1
# This file is a part of Julia. License is MIT: https://julialang.org/license
2

3
## dummy stub for https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl
4

5
baremodule CompilerSupportLibraries_jll
6
using Base, Libdl, Base.BinaryPlatforms
7

8
export libgfortran, libstdcxx, libgomp, libatomic, libgcc_s
9

10
# These get calculated in __init__()
11
const PATH = Ref("")
12
const PATH_list = String[]
13
const LIBPATH = Ref("")
14
const LIBPATH_list = String[]
15
artifact_dir::String = ""
16
libgcc_s_path::String = ""
17
libgfortran_path::String = ""
18
libstdcxx_path::String = ""
19
libgomp_path::String = ""
20

21
if Sys.iswindows()
22
    const _libatomic_path = BundledLazyLibraryPath("libatomic-1.dll")
23
    const _libquadmath_path = BundledLazyLibraryPath("libquadmath-0.dll")
24
    if arch(HostPlatform()) == "x86_64"
25
        const _libgcc_s_path = BundledLazyLibraryPath("libgcc_s_seh-1.dll")
26
    else
27
        const _libgcc_s_path = BundledLazyLibraryPath("libgcc_s_sjlj-1.dll")
28
    end
29
    const _libgfortran_path = BundledLazyLibraryPath(string("libgfortran-", libgfortran_version(HostPlatform()).major, ".dll"))
30
    const _libstdcxx_path = BundledLazyLibraryPath("libstdc++-6.dll")
31
    const _libgomp_path = BundledLazyLibraryPath("libgomp-1.dll")
32
    const _libssp_path = BundledLazyLibraryPath("libssp-0.dll")
33
elseif Sys.isapple()
34
    const _libatomic_path = BundledLazyLibraryPath("libatomic.1.dylib")
35
    const _libquadmath_path = BundledLazyLibraryPath("libquadmath.0.dylib")
36
    if arch(HostPlatform()) == "aarch64" || libgfortran_version(HostPlatform()) == v"5"
37
        const _libgcc_s_path = BundledLazyLibraryPath("libgcc_s.1.1.dylib")
38
    else
39
        const _libgcc_s_path = BundledLazyLibraryPath("libgcc_s.1.dylib")
40
    end
41
    const _libgfortran_path = BundledLazyLibraryPath(string("libgfortran.", libgfortran_version(HostPlatform()).major, ".dylib"))
42
    const _libstdcxx_path = BundledLazyLibraryPath("libstdc++.6.dylib")
43
    const _libgomp_path = BundledLazyLibraryPath("libgomp.1.dylib")
44
    const _libssp_path = BundledLazyLibraryPath("libssp.0.dylib")
45
else
46
    if Sys.isfreebsd()
47
        const _libatomic_path = BundledLazyLibraryPath("libatomic.so.3")
48
    else
49
        const _libatomic_path = BundledLazyLibraryPath("libatomic.so.1")
50
    end
51
    const _libgcc_s_path = BundledLazyLibraryPath("libgcc_s.so.1")
52
    const _libgfortran_path = BundledLazyLibraryPath(string("libgfortran.so.", libgfortran_version(HostPlatform()).major))
53
    const _libstdcxx_path = BundledLazyLibraryPath("libstdc++.so.6")
54
    const _libgomp_path = BundledLazyLibraryPath("libgomp.so.1")
55
    if libc(HostPlatform()) != "musl"
56
        const _libssp_path = BundledLazyLibraryPath("libssp.so.0")
57
    end
58
    if arch(HostPlatform()) ∈ ("x86_64", "i686")
59
        const _libquadmath_path = BundledLazyLibraryPath("libquadmath.so.0")
60
    end
61
end
62

63
if @isdefined(_libatomic_path)
64
    const libatomic = LazyLibrary(_libatomic_path)
65
end
66
const libgcc_s = LazyLibrary(_libgcc_s_path)
67

68
_libgfortran_deps = [libgcc_s]
69
if @isdefined _libquadmath_path
70
    const libquadmath = LazyLibrary(_libquadmath_path)
71
    push!(_libgfortran_deps, libquadmath)
72
end
73

74
const libgfortran = LazyLibrary(_libgfortran_path, dependencies=_libgfortran_deps)
75

76
_libstdcxx_dependencies = LazyLibrary[libgcc_s]
77
const libstdcxx = LazyLibrary(_libstdcxx_path, dependencies=_libstdcxx_dependencies)
78

79
const libgomp = LazyLibrary(_libgomp_path)
80

81
# Some installations (such as those from-source) may not have `libssp`
82
# So let's do a compile-time check to see if we've got it.
83
if @isdefined(_libssp_path) && isfile(string(_libssp_path))
84
    const libssp = LazyLibrary(_libssp_path)
85
end
86

87
# Conform to LazyJLLWrappers API
88
function eager_mode()
×
89
    if @isdefined(libatomic)
×
90
        dlopen(libatomic)
×
91
    end
92
    dlopen(libgcc_s)
×
93
    dlopen(libgomp)
×
94
    if @isdefined libquadmath
×
95
        dlopen(libquadmath)
×
96
    end
97
    if @isdefined libssp
×
98
        dlopen(libssp)
×
99
    end
100
    dlopen(libgfortran)
×
101
    dlopen(libstdcxx)
×
102
end
103
is_available() = true
×
104

105
function __init__()
2✔
106
    if @isdefined _libatomic_path
2✔
107
        global libatomic_path = string(_libatomic_path)
4✔
108
    end
109
    global libgcc_s_path = string(_libgcc_s_path)
4✔
110
    global libgomp_path = string(_libgomp_path)
4✔
111
    if @isdefined _libquadmath_path
2✔
112
        global libquadmath_path = string(_libquadmath_path)
4✔
113
    end
114
    if @isdefined _libssp_path
2✔
115
        global libssp_path = string(_libssp_path)
4✔
116
    end
117
    global libgfortran_path = string(_libgfortran_path)
4✔
118
    global libstdcxx_path = string(_libstdcxx_path)
4✔
119
    global artifact_dir = dirname(Sys.BINDIR)
2✔
120
    LIBPATH[] = dirname(libgcc_s_path)
2✔
121
    push!(LIBPATH_list, LIBPATH[])
2✔
122
end
123

124
if Base.generating_output()
125
    precompile(eager_mode, ())
126
    precompile(is_available, ())
127
end
128

129
end  # module CompilerSupportLibraries_jll
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc