diff --git a/build.rs b/build.rs index 297a0adf..0fb1e17b 100644 --- a/build.rs +++ b/build.rs @@ -69,8 +69,11 @@ fn main() { println!("cargo:rustc-cfg=thumb_1") } - // Only emit the ARM Linux atomic emulation on pre-ARMv6 architectures. - if llvm_target[0] == "armv4t" || llvm_target[0] == "armv5te" { + // Only emit the ARM Linux atomic emulation on pre-ARMv6 architectures. This + // includes the old androideabi. It is deprecated but it is available as a + // rustc target (arm-linux-androideabi). + if llvm_target[0] == "armv4t" || llvm_target[0] == "armv5te" || llvm_target[2] == "androideabi" + { println!("cargo:rustc-cfg=kernel_user_helpers") } } diff --git a/src/lib.rs b/src/lib.rs index facdf946..21796ca5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -49,7 +49,11 @@ pub mod mem; #[cfg(target_arch = "arm")] pub mod arm; -#[cfg(all(kernel_user_helpers, target_os = "linux", target_arch = "arm"))] +#[cfg(all( + kernel_user_helpers, + any(target_os = "linux", target_os = "android"), + target_arch = "arm" +))] pub mod arm_linux; #[cfg(any(target_arch = "riscv32"))]