Skip to content

Commit f707a2a

Browse files
committed
refactor+fix: trying to fix sqlite3mc cross compilation
1 parent fd69ab6 commit f707a2a

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

libsql-ffi/build.rs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -470,19 +470,28 @@ fn build_multiple_ciphers(target: &str, out_path: &Path) {
470470
.unwrap();
471471

472472
if let Some(ref cc) = cross_cc {
473-
if cc.contains("aarch64") && cc.contains("linux") {
474-
cmake_opts.push(&cmake_toolchain_opt);
475-
writeln!(toolchain_file, "set(CMAKE_SYSTEM_NAME \"Linux\")").unwrap();
476-
writeln!(toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \"arm64\")").unwrap();
477-
} else if cc.contains("x86_64") && cc.contains("darwin") {
478-
cmake_opts.push(&cmake_toolchain_opt);
479-
writeln!(toolchain_file, "set(CMAKE_SYSTEM_NAME \"Darwin\")").unwrap();
480-
writeln!(toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \"x86_64\")").unwrap();
481-
}
482-
}
483-
if let Some(cc) = cross_cc {
473+
let system_name = if cc.contains("linux") {
474+
"Linux"
475+
} else if cc.contains("darwin") {
476+
"Darwin"
477+
} else {
478+
panic!("Unsupported cross target {}", cc)
479+
};
480+
481+
let system_processor = if cc.contains("x86_64") {
482+
"x86_64"
483+
} else if cc.contains("aarch64") {
484+
"arm64"
485+
} else {
486+
panic!("Unsupported cross target {}", cc)
487+
};
488+
489+
cmake_opts.push(&cmake_toolchain_opt);
490+
writeln!(toolchain_file, "set(CMAKE_SYSTEM_NAME \"{}\")", system_name).unwrap();
491+
writeln!(toolchain_file, "set(CMAKE_SYSTEM_PROCESSOR \"{}\")", system_processor).unwrap();
484492
writeln!(toolchain_file, "set(CMAKE_C_COMPILER {})", cc).unwrap();
485493
}
494+
486495
if let Some(cxx) = cross_cxx {
487496
writeln!(toolchain_file, "set(CMAKE_CXX_COMPILER {})", cxx).unwrap();
488497
}

0 commit comments

Comments
 (0)