Browse Source

Working version of Clang.jl generator.

fe/wip
Fredrik Ekre 4 years ago
parent
commit
30c4992fd2
  1. 3
      Project.toml
  2. 2
      gen/Makefile
  3. 7
      gen/generator.jl
  4. 24
      gen/generator.toml
  5. 14118
      lib/LibHYPRE.jl
  6. 11
      src/HYPRE.jl

3
Project.toml

@ -3,3 +3,6 @@ uuid = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" @@ -3,3 +3,6 @@ uuid = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771"
version = "1.0.0"
[deps]
CEnum = "fa961155-64e5-5f13-b03f-caf6b980ea82"
HYPRE_jll = "0a602bbd-b08b-5d75-8d32-0de6eef44785"
MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195"

2
gen/Makefile

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
default:
julia --project generator.jl

7
gen/generator.jl

@ -22,10 +22,11 @@ push!(args, "-DHYPRE_ENABLE_CUSPARSE=OFF") @@ -22,10 +22,11 @@ push!(args, "-DHYPRE_ENABLE_CUSPARSE=OFF")
push!(args, "-DHYPRE_ENABLE_CURAND=OFF")
headers = joinpath.(hypre_include_dir, [
# "HYPRE.h",
# "HYPRE_utilities.h",
# "IJ_matrix.h",
"HYPRE.h",
"IJ_matrix.h",
"HYPRE_IJ_mv.h",
"HYPRE_parcsr_mv.h",
"HYPRE_parcsr_ls.h",
])
ctx = create_context(headers, args, options)

24
gen/generator.toml

@ -1,5 +1,27 @@ @@ -1,5 +1,27 @@
[general]
library_name = "libHYPRE"
output_file_path = "libHYPRE.jl"
output_file_path = "../lib/LibHYPRE.jl"
jll_pkg_name = "HYPRE_jll"
export_symbol_prefixes = []
output_ignorelist = [
# Overflows Int32
"MPI_FLOAT_INT",
"MPI_DOUBLE_INT",
"MPI_LONG_INT",
"MPI_SHORT_INT",
"MPI_LONG_DOUBLE_INT",
# Uses NULL
"MPI_T_ENUM_NULL",
"MPI_T_CVAR_HANDLE_NULL",
"MPI_T_PVAR_HANDLE_NULL",
"MPI_T_PVAR_SESSION_NULL",
# Bogus expression: const MPI_ARGV_NULL = (Cchar * (*))(0)
"MPI_ARGV_NULL",
# Undefined values DBL_MAX, DBL_MIN, DBL_EPSILON, DBL_MIN_EXP
"HYPRE_REAL_MAX",
"HYPRE_REAL_MIN",
"HYPRE_REAL_EPSILON",
"HYPRE_REAL_MIN_EXP",
# Bogus expression: const HYPRE_VERSION = ((("HYPRE_RELEASE_NAME Date Compiled: ")(__DATE__))(" "))(__TIME__)
"HYPRE_VERSION",
]

14118
lib/LibHYPRE.jl

File diff suppressed because it is too large Load Diff

11
src/HYPRE.jl

@ -1,3 +1,14 @@ @@ -1,3 +1,14 @@
module HYPRE
module LibHYPRE
include("../lib/LibHYPRE.jl")
# Export everything with HYPRE_ prefix
for name in names(@__MODULE__; all=true)
if startswith(string(name), "HYPRE_")
@eval export $name
end
end
end
end # module HYPRE

Loading…
Cancel
Save