GitHub - JuliaBinaryWrappers/c_simple_jll.jl (original) (raw)

c_simple_jll.jl

This is an autogenerated package constructed using 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:

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:

using c_simple_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