|
| 1 | +# This file is a part of Julia. License is MIT: https://julialang.org/license |
| 2 | + |
| 3 | +## dummy stub for https://github.com/JuliaBinaryWrappers/Zstd_jll.j: |
| 4 | +# |
| 5 | +baremodule Zstd_jll |
| 6 | +using Base, Libdl |
| 7 | + |
| 8 | +export libzstd, zstd, zstdmt |
| 9 | + |
| 10 | +# These get calculated in __init__() |
| 11 | +libzstd_handle::Ptr{Cvoid} = C_NULL |
| 12 | + |
| 13 | +if Sys.iswindows() |
| 14 | + const libzstd = "libzstd-1.dll" |
| 15 | +elseif Sys.isapple() |
| 16 | + const libzstd = "@rpath/libzstd.1.dylib" |
| 17 | +else |
| 18 | + const libzstd = "libzstd.so.1" |
| 19 | +end |
| 20 | + |
| 21 | +if Sys.iswindows() |
| 22 | + const zstd_exe = "zstd.exe" |
| 23 | + const zstdmt_exe = "zstdmt.exe" |
| 24 | +else |
| 25 | + const zstd_exe = "zstd" |
| 26 | + const zstdmt_exe = "zstdmt" |
| 27 | +end |
| 28 | + |
| 29 | +if Sys.iswindows() |
| 30 | + const pathsep = ';' |
| 31 | +elseif Sys.isapple() |
| 32 | + const pathsep = ':' |
| 33 | +else |
| 34 | + const pathsep = ':' |
| 35 | +end |
| 36 | + |
| 37 | +if Sys.iswindows() |
| 38 | +function adjust_ENV(cmd::Cmd) |
| 39 | + dllPATH = Sys.BINDIR |
| 40 | + oldPATH = get(ENV, "PATH", "") |
| 41 | + newPATH = isempty(oldPATH) ? dllPATH : "$dllPATH$pathsep$oldPATH" |
| 42 | + return addenv(cmd, "PATH"=>newPATH) |
| 43 | +end |
| 44 | +else |
| 45 | +adjust_ENV(cmd::Cmd) = cmd |
| 46 | +end |
| 47 | + |
| 48 | +function adjust_ENV() |
| 49 | + addPATH = joinpath(Sys.BINDIR, Base.PRIVATE_LIBEXECDIR) |
| 50 | + oldPATH = get(ENV, "PATH", "") |
| 51 | + newPATH = isempty(oldPATH) ? addPATH : "$addPATH$pathsep$oldPATH" |
| 52 | + return ("PATH"=>newPATH,) |
| 53 | +end |
| 54 | + |
| 55 | +function zstd(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true) # deprecated, for compat only |
| 56 | + withenv((adjust_PATH ? adjust_ENV() : ())...) do |
| 57 | + f(zstd()) |
| 58 | + end |
| 59 | +end |
| 60 | +function zstdmt(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true) # deprecated, for compat only |
| 61 | + withenv((adjust_PATH ? adjust_ENV() : ())...) do |
| 62 | + f(zstdmt()) |
| 63 | + end |
| 64 | +end |
| 65 | +zstd() = adjust_ENV(`$(joinpath(Sys.BINDIR, Base.PRIVATE_LIBEXECDIR, zstd_exe))`) |
| 66 | +zstdmt() = adjust_ENV(`$(joinpath(Sys.BINDIR, Base.PRIVATE_LIBEXECDIR, zstdmt_exe))`) |
| 67 | + |
| 68 | +function __init__() |
| 69 | + global libzstd_handle = dlopen(libzstd) |
| 70 | + nothing |
| 71 | +end |
| 72 | + |
| 73 | +end # module Zstd_jll |
0 commit comments