From 705eaddaa1a57101c7f76d3f4717bb86dbe416f9 Mon Sep 17 00:00:00 2001 From: Dhruv Gramopadhye Date: Sun, 21 Jul 2024 13:55:16 -0700 Subject: [PATCH] fix: no udev when building for android on linux Android does not have udev, but cross-compiling for Android on a Linux host with udev results in a udev link --- libusb1-sys/build.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/libusb1-sys/build.rs b/libusb1-sys/build.rs index bd1f43b..3d05d43 100644 --- a/libusb1-sys/build.rs +++ b/libusb1-sys/build.rs @@ -158,14 +158,16 @@ fn make_source() { Some("__attribute__((visibility(\"default\")))"), ); - if let Ok(lib) = pkg_config::probe_library("libudev") { - base_config.define("USE_UDEV", Some("1")); - base_config.define("HAVE_LIBUDEV", Some("1")); - base_config.file(libusb_source.join("libusb/os/linux_udev.c")); - for path in lib.include_paths { - base_config.include(path.to_str().unwrap()); - } - }; + if std::env::var("CARGO_CFG_TARGET_OS") != Ok("android".into()) { + if let Ok(lib) = pkg_config::probe_library("libudev") { + base_config.define("USE_UDEV", Some("1")); + base_config.define("HAVE_LIBUDEV", Some("1")); + base_config.file(libusb_source.join("libusb/os/linux_udev.c")); + for path in lib.include_paths { + base_config.include(path.to_str().unwrap()); + } + }; + } println!("Including posix!"); base_config.file(libusb_source.join("libusb/os/events_posix.c"));