diff --git a/pqcrypto-classicmceliece/build.rs b/pqcrypto-classicmceliece/build.rs index 8167ef3..ee04a9a 100644 --- a/pqcrypto-classicmceliece/build.rs +++ b/pqcrypto-classicmceliece/build.rs @@ -135,6 +135,7 @@ fn main() { build_avx2!("mceliece8192128f"); } + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if target_arch == "x86_64" && avx2_enabled && !is_windows { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); diff --git a/pqcrypto-falcon/build.rs b/pqcrypto-falcon/build.rs index ae80fe2..0074a90 100644 --- a/pqcrypto-falcon/build.rs +++ b/pqcrypto-falcon/build.rs @@ -158,10 +158,12 @@ fn main() { build_aarch64!("falcon-padded-1024"); } + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if target_arch == "x86_64" && avx2_enabled { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); } + println!("cargo::rustc-check-cfg=cfg(enable_aarch64_neon)"); if target_arch == "aarch64" && neon_enabled { // Print enableing flag for AARCH64 implementation println!("cargo:rustc-cfg=enable_aarch64_neon"); diff --git a/pqcrypto-mldsa/build.rs b/pqcrypto-mldsa/build.rs index c8ecbe6..790447d 100644 --- a/pqcrypto-mldsa/build.rs +++ b/pqcrypto-mldsa/build.rs @@ -151,10 +151,12 @@ fn main() { build_aarch64!("ml-dsa-87"); } + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if target_arch == "x86_64" && avx2_enabled && !is_windows { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); } + println!("cargo::rustc-check-cfg=cfg(enable_aarch64_neon)"); if target_arch == "aarch64" && neon_enabled { // Print enableing flag for AARCH64 implementation println!("cargo:rustc-cfg=enable_aarch64_neon"); diff --git a/pqcrypto-mlkem/build.rs b/pqcrypto-mlkem/build.rs index 042d426..969aa59 100644 --- a/pqcrypto-mlkem/build.rs +++ b/pqcrypto-mlkem/build.rs @@ -149,10 +149,12 @@ fn main() { build_aarch64!("ml-kem-1024"); } + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if target_arch == "x86_64" && avx2_enabled && !is_windows && !is_macos { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); } + println!("cargo::rustc-check-cfg=cfg(enable_aarch64_neon)"); if target_arch == "aarch64" && neon_enabled { // Print enableing flag for AARCH64 implementation println!("cargo:rustc-cfg=enable_aarch64_neon"); diff --git a/pqcrypto-sphincsplus/build.rs b/pqcrypto-sphincsplus/build.rs index 1753061..013e61d 100644 --- a/pqcrypto-sphincsplus/build.rs +++ b/pqcrypto-sphincsplus/build.rs @@ -145,6 +145,7 @@ fn main() { build_avx2!("sphincs-sha2-256s-simple"); } + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if target_arch == "x86_64" && avx2_enabled { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); diff --git a/pqcrypto-template/scheme/build.rs.j2 b/pqcrypto-template/scheme/build.rs.j2 index 4e84d18..81dca28 100644 --- a/pqcrypto-template/scheme/build.rs.j2 +++ b/pqcrypto-template/scheme/build.rs.j2 @@ -111,18 +111,21 @@ fn main() { {% endfor %} {% if globals.x86_avx2 %} + println!("cargo::rustc-check-cfg=cfg(enable_x86_avx2)"); if {{ x86_avx2_guard }} { // Print enableing flag for AVX2 implementation println!("cargo:rustc-cfg=enable_x86_avx2"); } {% endif %} {% if globals.x86_aes %} + println!("cargo::rustc-check-cfg=cfg(enable_x86_aes)"); if {{ x86_aes_guard }} { // Print enableing flag for AES implementation println!("cargo:rustc-cfg=enable_x86_aes"); } {% endif %} {% if globals.aarch64_neon %} + println!("cargo::rustc-check-cfg=cfg(enable_aarch64_neon)"); if {{ aarch64_neon_guard }} { // Print enableing flag for AARCH64 implementation println!("cargo:rustc-cfg=enable_aarch64_neon");