-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBUILD.bazel
150 lines (127 loc) · 2.98 KB
/
BUILD.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("//lib:lib.bzl", "package_lib")
load("//toolchains/cmake:cmake.bzl", "cmake_lib")
load("//toolchains/make:make.bzl", "make_lib")
load(":libraries.bzl", "LIB_SOURCE", "PREFIX", "suitesparse_lib")
load(":package.bzl", "GK_PATH", "METIS_PATH")
package(default_visibility = ["//:__subpackages__"])
package_lib()
suitesparse_lib(name = "amd")
suitesparse_lib(name = "btf")
suitesparse_lib(name = "camd")
suitesparse_lib(name = "ccolamd")
suitesparse_lib(
name = "cholmod",
deps = [
":amd",
":camd",
":ccolamd",
":colamd",
":gk",
":metis",
"//lib/gcc:gomp",
],
)
suitesparse_lib(name = "colamd")
make_lib(
name = "config",
args = ['-C "{}/SuiteSparse_config"'.format(PREFIX)],
lib_source = LIB_SOURCE,
out_static_libs = ["libsuitesparseconfig.a"],
postfix_script = "\n".join([
'install "{}/SuiteSparse_config"/*.h ${{INSTALLDIR}}/include'.format(PREFIX),
'install "{}/SuiteSparse_config"/*.a ${{INSTALLDIR}}/lib'.format(PREFIX),
]),
targets = ["static"],
)
suitesparse_lib(
name = "csparse",
directory = "CSparse",
)
suitesparse_lib(
name = "cxsparse",
directory = "CXSparse",
)
cmake_lib(
name = "gk",
lib_source = LIB_SOURCE,
out_static_libs = ["libGKlib.a"],
working_directory = GK_PATH,
)
cmake_lib(
name = "graphblas",
cache_entries = {
"BUILD_GRB_STATIC_LIBRARY": True,
},
lib_source = LIB_SOURCE,
working_directory = "GraphBLAS",
)
suitesparse_lib(
name = "klu",
deps = [
":amd",
":btf",
":colamd",
],
)
suitesparse_lib(name = "ldl")
cmake_lib(
name = "metis",
cache_entries = {
"GKLIB_PATH": "{}/{}".format(PREFIX, GK_PATH),
"SHARED": False,
},
lib_source = LIB_SOURCE,
working_directory = METIS_PATH,
)
cmake_lib(
name = "mongoose",
lib_source = LIB_SOURCE,
working_directory = "Mongoose",
deps = [":config"],
)
suitesparse_lib(
name = "rbio",
directory = "RBio",
)
SLIP_LU_CFLAGS = " ".join([
"-I${EXT_BUILD_DEPS}/gmp_lib/include",
"-I${EXT_BUILD_DEPS}/mpfr_lib/include",
])
make_lib(
name = "slip_lu",
args = [
'-C "{}/SLIP_LU"'.format(PREFIX),
'CFLAGS="{}"'.format(SLIP_LU_CFLAGS),
],
lib_source = LIB_SOURCE,
out_static_libs = ["libsliplu.a"],
postfix_script = "\n".join([
'install "{}/SLIP_LU/Include"/*.h ${{INSTALLDIR}}/include'.format(PREFIX),
'install "{}/SLIP_LU/Lib"/*.a ${{INSTALLDIR}}/lib'.format(PREFIX),
]),
targets = ["static"],
deps = [
":amd",
":colamd",
":config",
"//lib/gmp",
"//lib/mpfr",
],
)
suitesparse_lib(
name = "spqr",
header_ext = "{h,hpp}",
deps = [":cholmod"],
)
suitesparse_lib(
name = "umfpack",
deps = [
":amd",
":cholmod",
],
)
bzl_library(
name = "libraries",
srcs = ["libraries.bzl"],
)