arnaucube
arnaucube/miden-cryptoPublic Self-hosted repository
miden-crypto/build.rs
build.rsRaw
 1fn main() {
 2    #[cfg(target_feature = "sve")]
 3    compile_arch_arm64_sve();
 4}
 5
 6#[cfg(target_feature = "sve")]
 7fn compile_arch_arm64_sve() {
 8    const RPO_SVE_PATH: &str = "arch/arm64-sve/rpo";
 9
10    println!("cargo:rerun-if-changed={RPO_SVE_PATH}/library.c");
11    println!("cargo:rerun-if-changed={RPO_SVE_PATH}/library.h");
12    println!("cargo:rerun-if-changed={RPO_SVE_PATH}/rpo_hash.h");
13
14    cc::Build::new()
15        .file(format!("{RPO_SVE_PATH}/library.c"))
16        .flag("-march=armv8-a+sve")
17        .flag("-O3")
18        .compile("rpo_sve");
19}