From 0a0bb7126e9207d3bb3d9af0f0b5ae646d532cf2 Mon Sep 17 00:00:00 2001 From: rsdy Date: Thu, 7 Oct 2021 12:23:36 +0100 Subject: Implement better target detection for NEON --- build.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'build.rs') diff --git a/build.rs b/build.rs index 4fd3bae..c5677f6 100644 --- a/build.rs +++ b/build.rs @@ -44,6 +44,14 @@ fn is_x86_32() -> bool { arch == "i386" || arch == "i586" || arch == "i686" } +fn is_arm() -> bool { + is_armv7() || is_aarch64() || target_components()[0] == "arm" +} + +fn is_aarch64() -> bool { + target_components()[0] == "aarch64" +} + fn is_armv7() -> bool { target_components()[0] == "armv7" } @@ -237,7 +245,8 @@ fn main() -> Result<(), Box> { } } - if is_neon() { + if (is_arm() && is_neon()) || (is_aarch64() && !is_pure()) { + println!("cargo:rustc-cfg=blake3_neon"); build_neon_c_intrinsics(); } -- cgit v1.2.3