1
1
use std:: env;
2
- use std:: ffi:: OsStr ;
3
2
4
3
pub fn build_zlib_ng ( target : & str , compat : bool ) {
5
4
let mut cmake = cmake:: Config :: new ( "src/zlib-ng" ) ;
@@ -18,23 +17,21 @@ pub fn build_zlib_ng(target: &str, compat: bool) {
18
17
if target. contains ( "riscv" ) {
19
18
// Check if we should pass on an explicit boolean value of the WITH_RVV build option.
20
19
// See: https://github.com/zlib-ng/zlib-ng?tab=readme-ov-file#advanced-build-options
21
- match env:: var_os ( "RISCV_WITH_RVV" )
22
- . map ( OsStr :: to_str)
23
- . map ( str:: trim)
24
- . map ( str:: to_uppercase)
25
- . map ( Into :: into)
26
- {
27
- Some ( "OFF" | "NO" | "FALSE" | "0" ) => {
28
- // Force RVV off. This turns off RVV entirely, as well as the runtime check for it.
29
- // This is not usually necessary, but can be useful for building binaries portable
30
- // to systems that do not support RVV but where auto-detection fails to identify
31
- // this (as in https://github.com/zlib-ng/zlib-ng/issues/1705).
32
- cmake. define ( "WITH_RVV" , "OFF" ) ;
33
- }
34
- Some ( "ON" | "YES" | "TRUE" | "1" ) => {
35
- // Try to use RVV, but still don't do so if a runtime check finds it unavailable.
36
- // This has the same effect as omitting WITH_RVV, unless it has already been set.
37
- cmake. define ( "WITH_RVV" , "ON" ) ;
20
+ if let Ok ( value) = env:: var ( "RISCV_WITH_RVV" ) {
21
+ match value. trim ( ) . to_uppercase ( ) . as_str ( ) {
22
+ "OFF" | "NO" | "FALSE" | "0" => {
23
+ // Force RVV off. This turns off RVV entirely, as well as the runtime check for it.
24
+ // This is not usually necessary, but can be useful for building binaries portable
25
+ // to systems that do not support RVV but where auto-detection fails to identify
26
+ // this (as in https://github.com/zlib-ng/zlib-ng/issues/1705).
27
+ cmake. define ( "WITH_RVV" , "OFF" ) ;
28
+ }
29
+ "ON" | "YES" | "TRUE" | "1" => {
30
+ // Try to use RVV, but still don't do so if a runtime check finds it unavailable.
31
+ // This has the same effect as omitting WITH_RVV, unless it has already been set.
32
+ cmake. define ( "WITH_RVV" , "ON" ) ;
33
+ }
34
+ _ => { }
38
35
}
39
36
}
40
37
}
0 commit comments