Skip to content

Commit

Permalink
OpenBLAS_jll build 0.3.7+0
Browse files Browse the repository at this point in the history
  • Loading branch information
staticfloat committed Sep 19, 2019
0 parents commit c699b3b
Show file tree
Hide file tree
Showing 43 changed files with 2,403 additions and 0 deletions.
378 changes: 378 additions & 0 deletions Artifacts.toml

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name = "OpenBLAS_jll"
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
version = "0.3.7+0"

[deps]
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[compat]
julia = "1.3"
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# OpenBLAS_jll.jl

This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl).

## Usage

The code bindings within this package are autogenerated from the `Products` defined within the `build_tarballs.jl` file that generated this package. For example purposes, we will assume that the following products were defined:

```julia
products = [
FileProduct("src/data.txt", :data_txt),
LibraryProduct("libdataproc", :libdataproc),
ExecutableProduct("mungify", :mungify_exe)
]
```

With such products defined, this package will contain `data_txt`, `libdataproc` and `mungify_exe` symbols exported. For `FileProduct` variables, the exported value is a string pointing to the location of the file on-disk. For `LibraryProduct` variables, it is a string corresponding to the `SONAME` of the desired library (it will have already been `dlopen()`'ed, so typical `ccall()` usage applies), and for `ExecutableProduct` variables, the exported value is a function that can be called to set appropriate environment variables. Example:

```julia
using OpenBLAS_jll

# For file products, you can access its file location directly:
data_lines = open(data_txt, "r") do io
readlines(io)
end

# For library products, you can use the exported variable name in `ccall()` invocations directly
num_chars = ccall((libdataproc, :count_characters), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1]))

# For executable products, you can use the exported variable name as a function that you can call
mungify_exe() do mungify_exe_path
run(`$mungify_exe_path $num_chars`)
end
```
31 changes: 31 additions & 0 deletions src/OpenBLAS_jll.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
module OpenBLAS_jll
using Pkg, Pkg.BinaryPlatforms, Pkg.Artifacts, Libdl
import Base: UUID

# We put these inter-JLL-package API values here so that they are always defined, even if there
# is no underlying wrapper held within this JLL package.
const PATH_list = String[]
const LIBPATH_list = String[]

# Load Artifacts.toml file
artifacts_toml = joinpath(@__DIR__, "..", "Artifacts.toml")

# Extract all platforms
artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("4536629a-c528-5b80-bd46-f80d51c5b363"))
platforms = [Pkg.Artifacts.unpack_platform(e, "OpenBLAS", artifacts_toml) for e in artifacts["OpenBLAS"]]

# Filter platforms based on what wrappers we've generated on-disk
platforms = filter(p -> isfile(joinpath(@__DIR__, "wrappers", triplet(p) * ".jl")), platforms)

# From the available options, choose the best platform
best_platform = select_platform(Dict(p => triplet(p) for p in platforms))

# Silently fail if there's no binaries for this platform
if best_platform === nothing
@debug("Unable to load OpenBLAS; unsupported platform $(triplet(platform_key_abi()))")
else
# Load the appropriate wrapper
include(joinpath(@__DIR__, "wrappers", "$(best_platform).jl"))
end

end # module OpenBLAS_jll
50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-gnu-libgfortran3.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-gnu-libgfortran3
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-gnu-libgfortran4.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-gnu-libgfortran4
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-gnu-libgfortran5.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-gnu-libgfortran5
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-musl-libgfortran3.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-musl-libgfortran3
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-musl-libgfortran4.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-musl-libgfortran4
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

50 changes: 50 additions & 0 deletions src/wrappers/aarch64-linux-musl-libgfortran5.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Autogenerated wrapper script for OpenBLAS_jll for aarch64-linux-musl-libgfortran5
export libopenblas

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libopenblas`
const libopenblas_splitpath = ["lib", "libopenblas.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libopenblas_path = ""

# libopenblas-specific global declaration
# This will be filled out by __init__()
libopenblas_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libopenblas = "libopenblas.so.0"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
global libopenblas_path = abspath(joinpath(artifact"OpenBLAS", libopenblas_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libopenblas_handle = dlopen(libopenblas_path)
push!(LIBPATH_list, dirname(libopenblas_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

Loading

0 comments on commit c699b3b

Please sign in to comment.