@@ -31,6 +31,8 @@ pub enum Target {
31
31
HASWELL ,
32
32
SKYLAKEX ,
33
33
ATOM ,
34
+ COOPERLAKE ,
35
+ SAPPHIRERAPIDS ,
34
36
35
37
// X86/X86_64 AMD
36
38
ATHLON ,
@@ -58,6 +60,7 @@ pub enum Target {
58
60
POWER7 ,
59
61
POWER8 ,
60
62
POWER9 ,
63
+ POWER10 ,
61
64
PPCG4 ,
62
65
PPC970 ,
63
66
PPC970MP ,
@@ -71,6 +74,7 @@ pub enum Target {
71
74
MIPS24K ,
72
75
73
76
// MIPS64
77
+ MIPS64_GENERIC ,
74
78
SICORTEX ,
75
79
LOONGSON3A ,
76
80
LOONGSON3B ,
@@ -98,17 +102,46 @@ pub enum Target {
98
102
CORTEXA57 ,
99
103
CORTEXA72 ,
100
104
CORTEXA73 ,
105
+ CORTEXA510 ,
106
+ CORTEXA710 ,
107
+ CORTEXX1 ,
108
+ CORTEXX2 ,
101
109
NEOVERSEN1 ,
110
+ NEOVERSEV1 ,
111
+ NEOVERSEN2 ,
112
+ CORTEXA55 ,
102
113
EMAG8180 ,
103
114
FALKOR ,
104
115
THUNDERX ,
105
116
THUNDERX2T99 ,
106
117
TSV110 ,
118
+ THUNDERX3T110 ,
119
+ VORTEX ,
120
+ A64FX ,
121
+ ARMV8SVE ,
122
+ FT2000 ,
107
123
108
124
// System Z
109
125
ZARCH_GENERIC ,
110
126
Z13 ,
111
127
Z14 ,
128
+
129
+ // RISC-V 64:
130
+ RISCV64_GENERIC ,
131
+ C910V ,
132
+
133
+ // LOONGARCH64:
134
+ LOONGSONGENERIC ,
135
+ LOONGSON3R5 ,
136
+ LOONGSON2K1000 ,
137
+
138
+ // Elbrus E2000:
139
+ E2K ,
140
+
141
+ // Alpha
142
+ EV4 ,
143
+ EV5 ,
144
+ EV6 ,
112
145
}
113
146
114
147
impl FromStr for Target {
@@ -132,6 +165,8 @@ impl FromStr for Target {
132
165
"haswell" => Self :: HASWELL ,
133
166
"skylakex" => Self :: SKYLAKEX ,
134
167
"atom" => Self :: ATOM ,
168
+ "cooperlake" => Self :: COOPERLAKE ,
169
+ "sapphirerapids" => Self :: SAPPHIRERAPIDS ,
135
170
136
171
// X86/X86_64 AMD
137
172
"athlon" => Self :: ATHLON ,
@@ -159,6 +194,7 @@ impl FromStr for Target {
159
194
"power7" => Self :: POWER7 ,
160
195
"power8" => Self :: POWER8 ,
161
196
"power9" => Self :: POWER9 ,
197
+ "power10" => Self :: POWER10 ,
162
198
"ppcg4" => Self :: PPCG4 ,
163
199
"ppc970" => Self :: PPC970 ,
164
200
"ppc970mp" => Self :: PPC970MP ,
@@ -172,6 +208,7 @@ impl FromStr for Target {
172
208
"mips24k" => Self :: MIPS24K ,
173
209
174
210
// MIPS64
211
+ "mips64_generic" => Self :: MIPS64_GENERIC ,
175
212
"sicortex" => Self :: SICORTEX ,
176
213
"loongson3a" => Self :: LOONGSON3A ,
177
214
"loongson3b" => Self :: LOONGSON3B ,
@@ -199,18 +236,47 @@ impl FromStr for Target {
199
236
"cortexa57" => Self :: CORTEXA57 ,
200
237
"cortexa72" => Self :: CORTEXA72 ,
201
238
"cortexa73" => Self :: CORTEXA73 ,
239
+ "cortexa510" => Self :: CORTEXA510 ,
240
+ "cortexa710" => Self :: CORTEXA710 ,
241
+ "cortexx1" => Self :: CORTEXX1 ,
242
+ "cortexx2" => Self :: CORTEXX2 ,
202
243
"neoversen1" => Self :: NEOVERSEN1 ,
244
+ "neoversev1" => Self :: NEOVERSEV1 ,
245
+ "neoversen2" => Self :: NEOVERSEN2 ,
246
+ "cortexa55" => Self :: CORTEXA55 ,
203
247
"emag8180" => Self :: EMAG8180 ,
204
248
"falkor" => Self :: FALKOR ,
205
249
"thunderx" => Self :: THUNDERX ,
206
250
"thunderx2t99" => Self :: THUNDERX2T99 ,
207
251
"tsv110" => Self :: TSV110 ,
252
+ "thunderx3t110" => Self :: THUNDERX3T110 ,
253
+ "vortex" => Self :: VORTEX ,
254
+ "a64fx" => Self :: A64FX ,
255
+ "armv8sve" => Self :: ARMV8SVE ,
256
+ "ft2000" => Self :: FT2000 ,
208
257
209
258
// System Z
210
259
"zarch_generic" => Self :: ZARCH_GENERIC ,
211
260
"z13" => Self :: Z13 ,
212
261
"z14" => Self :: Z14 ,
213
262
263
+ // RISC-V 64:
264
+ "riscv64_generic" => Self :: RISCV64_GENERIC ,
265
+ "c910v" => Self :: C910V ,
266
+
267
+ // LOONGARCH64:
268
+ "loongsongeneric" => Self :: LOONGSONGENERIC ,
269
+ "loongson3r5" => Self :: LOONGSON3R5 ,
270
+ "loongson2k1000" => Self :: LOONGSON2K1000 ,
271
+
272
+ // Elbrus E2000:
273
+ "e2k" => Self :: E2K ,
274
+
275
+ // Alpha
276
+ "ev4" => Self :: EV4 ,
277
+ "ev5" => Self :: EV5 ,
278
+ "ev6" => Self :: EV6 ,
279
+
214
280
_ => {
215
281
return Err ( Error :: UnsupportedTarget {
216
282
target : s. to_string ( ) ,
@@ -293,6 +359,13 @@ impl Configure {
293
359
if let Some ( target) = self . target . as_ref ( ) {
294
360
args. push ( format ! ( "TARGET={:?}" , target) )
295
361
}
362
+
363
+ for name in [ "CC" , "FC" , "HOSTCC" ] {
364
+ if let Ok ( value) = std:: env:: var ( format ! ( "OPENBLAS_{}" , name) ) {
365
+ args. push ( format ! ( "{}={}" , name, value) ) ;
366
+ }
367
+ }
368
+
296
369
args
297
370
}
298
371
@@ -394,7 +467,7 @@ impl Configure {
394
467
. stdout ( out)
395
468
. stderr ( err)
396
469
. args ( & self . make_args ( ) )
397
- . args ( [ "libs" , "netlib" , "shared "] )
470
+ . args ( [ "all " ] )
398
471
. env_remove ( "TARGET" )
399
472
. check_call ( )
400
473
{
0 commit comments