Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit eda06e2

Browse files
committedMay 23, 2025··
fix freebsd deps
1 parent 7bf2956 commit eda06e2

File tree

11 files changed

+44
-92
lines changed

11 files changed

+44
-92
lines changed
 

‎stdlib/CompilerSupportLibraries_jll/src/CompilerSupportLibraries_jll.jl

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,28 +65,22 @@ if @isdefined(_libatomic_path)
6565
end
6666
const libgcc_s = LazyLibrary(_libgcc_s_path)
6767

68-
@static if Sys.isfreebsd()
69-
_libgfortran_deps = LazyLibrary[]
70-
else
71-
_libgfortran_deps = [libgcc_s]
72-
if @isdefined _libquadmath_path
73-
const libquadmath = LazyLibrary(_libquadmath_path)
74-
push!(_libgfortran_deps, libquadmath)
75-
end
68+
_libgfortran_deps = [libgcc_s]
69+
if @isdefined _libquadmath_path
70+
const libquadmath = LazyLibrary(_libquadmath_path)
71+
push!(_libgfortran_deps, libquadmath)
7672
end
7773

7874
const libgfortran = LazyLibrary(_libgfortran_path, dependencies=_libgfortran_deps)
7975

76+
_libstdcxx_dependencies = LazyLibrary[libgcc_s]
77+
const libstdcxx = LazyLibrary(_libstdcxx_path, dependencies=_libstdcxx_dependencies)
78+
8079
if Sys.isfreebsd()
8180
_libstdcxx_dependencies = LazyLibrary[]
82-
elseif Sys.isapple()
83-
_libstdcxx_dependencies = LazyLibrary[libgcc_s]
84-
elseif Sys.islinux()
85-
_libstdcxx_dependencies = LazyLibrary[libgcc_s]
8681
else
87-
_libstdcxx_dependencies = LazyLibrary[libgcc_s, libgfortran]
82+
_libstdcxx_dependencies = LazyLibrary[]
8883
end
89-
const libstdcxx = LazyLibrary(_libstdcxx_path, dependencies=_libstdcxx_dependencies)
9084

9185
const libgomp = LazyLibrary(_libgomp_path)
9286

‎stdlib/GMP_jll/src/GMP_jll.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ const libgmp = LazyLibrary(_libgmp_path)
3030

3131
if Sys.isapple()
3232
_libgmpxx_dependencies = LazyLibrary[libgmp]
33-
elseif Sys.isfreebsd()
34-
_libgmpxx_dependencies = LazyLibrary[]
3533
else
3634
_libgmpxx_dependencies = LazyLibrary[libgmp, libstdcxx, libgcc_s]
3735
end

‎stdlib/LibCURL_jll/src/LibCURL_jll.jl

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,9 @@ const LIBPATH_list = String[]
1919
artifact_dir::String = ""
2020
libcurl_path::String = ""
2121

22-
if Sys.isfreebsd()
23-
_libcurl_dependencies = LazyLibrary[]
24-
else
25-
_libcurl_dependencies = LazyLibrary[libz, libnghttp2, libssh2]
26-
if !(Sys.iswindows() || Sys.isapple())
27-
append!(_libcurl_dependencies, [libssl, libcrypto])
28-
end
22+
_libcurl_dependencies = LazyLibrary[libz, libnghttp2, libssh2]
23+
if !(Sys.iswindows() || Sys.isapple())
24+
append!(_libcurl_dependencies, [libssl, libcrypto])
2925
end
3026

3127
if Sys.iswindows()

‎stdlib/LibGit2_jll/src/LibGit2_jll.jl

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,7 @@ else
2727
const _libgit2_path = BundledLazyLibraryPath("libgit2.so.1.9")
2828
end
2929

30-
if Sys.isfreebsd()
31-
_libgit2_dependencies = LazyLibrary[]
32-
elseif Sys.islinux()
33-
_libgit2_dependencies = LazyLibrary[libssh2, libssl, libcrypto]
34-
else
35-
_libgit2_dependencies = LazyLibrary[libssh2]
36-
end
30+
_libgit2_dependencies = LazyLibrary[libssh2]
3731
const libgit2 = LazyLibrary(_libgit2_path, dependencies=_libgit2_dependencies)
3832

3933
function eager_mode()

‎stdlib/LibUnwind_jll/src/LibUnwind_jll.jl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ artifact_dir::String = ""
1818
libunwind_path::String = ""
1919

2020
const _libunwind_path = BundledLazyLibraryPath("libunwind.so.8")
21-
_libunwind_dependencies = if Sys.isfreebsd()
22-
LazyLibrary[]
21+
22+
if Sys.isfreebsd()
23+
_libunwind_dependencies = LazyLibrary[libz]
2324
else
24-
LazyLibrary[libgcc_s, libz]
25+
_libunwind_dependencies = LazyLibrary[libgcc_s, libz]
2526
end
2627
const libunwind = LazyLibrary(_libunwind_path, dependencies=_libunwind_dependencies)
2728

‎stdlib/MPFR_jll/src/MPFR_jll.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ else
2222
const _libmpfr_path = BundledLazyLibraryPath("libmpfr.so.6")
2323
end
2424

25-
if Sys.isfreebsd()
26-
_libmpfr_dependencies = LazyLibrary[]
27-
else
28-
_libmpfr_dependencies = LazyLibrary[libgmp]
29-
end
25+
_libmpfr_dependencies = LazyLibrary[libgmp]
3026

3127
const libmpfr = LazyLibrary(_libmpfr_path, dependencies=_libmpfr_dependencies)
3228

‎stdlib/OpenBLAS_jll/src/OpenBLAS_jll.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,14 @@ else
2929
const _libopenblas_path = BundledLazyLibraryPath(string("libopenblas", libsuffix, ".so"))
3030
end
3131

32+
_libopenblas_dependencies = LazyLibrary[libgfortran]
3233
if Sys.isapple()
33-
_libopenblas_dependencies = LazyLibrary[libgfortran]
3434
if isdefined(CompilerSupportLibraries_jll, :libquadmath)
3535
push!(_libopenblas_dependencies, CompilerSupportLibraries_jll.libquadmath)
3636
end
3737
if Sys.ARCH != :aarch64
3838
push!(_libopenblas_dependencies, CompilerSupportLibraries_jll.libgcc_s)
3939
end
40-
elseif Sys.isfreebsd()
41-
_libopenblas_dependencies = LazyLibrary[]
42-
else
43-
_libopenblas_dependencies = LazyLibrary[libgfortran]
4440
end
4541
const libopenblas = LazyLibrary(_libopenblas_path, dependencies=_libopenblas_dependencies)
4642

‎stdlib/OpenSSL_jll/src/OpenSSL_jll.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,7 @@ end
3434

3535
const libcrypto = LazyLibrary(_libcrypto_path)
3636

37-
if Sys.isfreebsd()
38-
_libssl_dependencies = LazyLibrary[]
39-
else
40-
_libssl_dependencies = LazyLibrary[libcrypto]
41-
end
37+
_libssl_dependencies = LazyLibrary[libcrypto]
4238
const libssl = LazyLibrary(_libssl_path, dependencies=_libssl_dependencies)
4339

4440
function eager_mode()

‎stdlib/SuiteSparse_jll/src/SuiteSparse_jll.jl

Lines changed: 10 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -71,59 +71,31 @@ const libsuitesparseconfig = LazyLibrary(_libsuitesparseconfig_path)
7171
const libldl = LazyLibrary(_libldl_path)
7272
const libbtf = LazyLibrary(_libbtf_path)
7373

74-
if Sys.isfreebsd()
75-
_libcolamd_dependencies = LazyLibrary[]
76-
else
77-
_libcolamd_dependencies = LazyLibrary[libsuitesparseconfig]
78-
end
74+
_libcolamd_dependencies = LazyLibrary[libsuitesparseconfig]
7975
const libcolamd = LazyLibrary(_libcolamd_path; dependencies=_libcolamd_dependencies)
8076

81-
if Sys.isfreebsd()
82-
_libamd_dependencies = LazyLibrary[]
83-
else
84-
_libamd_dependencies = LazyLibrary[libsuitesparseconfig]
85-
end
77+
_libamd_dependencies = LazyLibrary[libsuitesparseconfig]
8678
const libamd = LazyLibrary(_libamd_path; dependencies=_libamd_dependencies)
8779

88-
if Sys.isfreebsd()
89-
_libcamd_dependencies = LazyLibrary[]
90-
else
91-
_libcamd_dependencies = LazyLibrary[libsuitesparseconfig]
92-
end
80+
_libcamd_dependencies = LazyLibrary[libsuitesparseconfig]
9381
const libcamd = LazyLibrary(_libcamd_path; dependencies=_libcamd_dependencies)
9482

95-
if Sys.isfreebsd()
96-
_libccolamd_dependencies = LazyLibrary[]
97-
else
98-
_libccolamd_dependencies = LazyLibrary[libsuitesparseconfig]
99-
end
83+
_libccolamd_dependencies = LazyLibrary[libsuitesparseconfig]
10084
const libccolamd = LazyLibrary(_libccolamd_path; dependencies=_libccolamd_dependencies)
10185

102-
if Sys.isfreebsd()
103-
_librbio_dependencies = LazyLibrary[]
104-
else
105-
_librbio_dependencies = LazyLibrary[libsuitesparseconfig]
106-
end
86+
_librbio_dependencies = LazyLibrary[libsuitesparseconfig]
10787
const librbio = LazyLibrary(_librbio_path; dependencies=_librbio_dependencies)
10888

109-
if Sys.isfreebsd()
110-
_libcholmod_dependencies = LazyLibrary[]
111-
else
112-
_libcholmod_dependencies = LazyLibrary[
113-
libsuitesparseconfig, libamd, libcamd, libccolamd, libcolamd, libblastrampoline
89+
_libcholmod_dependencies = LazyLibrary[
90+
libsuitesparseconfig, libamd, libcamd, libccolamd, libcolamd, libblastrampoline
11491
]
115-
end
11692
const libcholmod = LazyLibrary(_libcholmod_path; dependencies=_libcholmod_dependencies)
11793

118-
if Sys.isfreebsd()
119-
_libklu_dependencies = LazyLibrary[]
120-
else
121-
_libklu_dependencies = LazyLibrary[libsuitesparseconfig, libamd, libcolamd, libbtf]
122-
end
94+
_libklu_dependencies = LazyLibrary[libsuitesparseconfig, libamd, libcolamd, libbtf]
12395
const libklu = LazyLibrary(_libklu_path; dependencies=_libklu_dependencies)
12496

12597
if Sys.isfreebsd()
126-
_libspqr_dependencies = LazyLibrary[]
98+
_libspqr_dependencies = LazyLibrary[libcholmod, libblastrampoline, libsuitesparseconfig, libcxx] # libcxxrt ?
12799
elseif Sys.isapple()
128100
_libspqr_dependencies = LazyLibrary[libsuitesparseconfig, libcholmod, libblastrampoline]
129101
else
@@ -133,11 +105,7 @@ else
133105
end
134106
const libspqr = LazyLibrary(_libspqr_path; dependencies=_libspqr_dependencies)
135107

136-
if Sys.isfreebsd()
137-
_libumfpack_dependencies = LazyLibrary[]
138-
else
139-
_libumfpack_dependencies = LazyLibrary[libsuitesparseconfig, libamd, libcholmod, libblastrampoline]
140-
end
108+
_libumfpack_dependencies = LazyLibrary[libsuitesparseconfig, libamd, libcholmod, libblastrampoline]
141109
const libumfpack = LazyLibrary(_libumfpack_path; dependencies=_libumfpack_dependencies)
142110

143111
function eager_mode()

‎stdlib/libLLVM_jll/src/libLLVM_jll.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ else
2424
end
2525

2626
if Sys.isfreebsd()
27-
_libLLVM_dependencies = LazyLibrary[libzstd]
27+
_libLLVM_dependencies = LazyLibrary[libz, libzstd, libcxx, libgcc_s] # libcxxrt ?
2828
elseif Sys.isapple()
2929
_libLLVM_dependencies = LazyLibrary[libz, libzstd]
3030
else

‎test/stdlib_dependencies.jl

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,19 @@ function is_system_lib_linux(lib)
7878
return lib system_libs
7979
end
8080

81+
function is_system_lib_freebsd(lib)
82+
system_libs = [
83+
"libc",
84+
"libm",
85+
"libthr", # primary threading library
86+
"libpthread", # alias kept for compatibility
87+
"librt",
88+
"libutil",
89+
"libexecinfo",
90+
]
91+
return lib system_libs
92+
end
93+
8194
function get_deps_readelf(lib_path::String)
8295
# Split into lines
8396
libs = split(readchomp(`readelf -d $(lib_path)`), "\n")
@@ -111,7 +124,7 @@ if Sys.islinux() || Sys.isfreebsd()
111124
end
112125
get_deps = get_deps_readelf
113126
strip_soversion = strip_soversion_linux
114-
is_system_lib = is_system_lib_linux
127+
is_system_lib = Sys.islinux() ? is_system_lib_linux : is_system_lib_freebsd
115128
elseif Sys.isapple()
116129
# On macOS, we need `otool` available
117130
if Sys.which("otool") === nothing

0 commit comments

Comments
 (0)
Please sign in to comment.