Always enable cc even if the feature is not enabled. Some Debian architectures need outline asm, and Debian does not ship pre-built outline asm. --- a/vendor/rustix/Cargo.toml +++ b/vendor/rustix/Cargo.toml @@ -115,9 +115,9 @@ [dev-dependencies.tempfile] version = "3.2.0" -[build-dependencies.cc] +[build-dependencies.cc_dep] version = "1.0.68" -optional = true +package = "cc" [features] all-apis = [ @@ -230,6 +230,7 @@ "Win32_NetworkManagement_IpHelper", "Win32_System_Threading", ] +cc = [] [target."cfg(windows)".dev-dependencies.ctor] version = "0.1.21" --- a/vendor/rustix/build.rs +++ b/vendor/rustix/build.rs @@ -1,5 +1,4 @@ -#[cfg(feature = "cc")] -use cc::Build; +use cc_dep::Build; use std::env::var; use std::io::Write; @@ -118,16 +117,16 @@ println!("cargo:rerun-if-changed={}", to); // If "cc" is not enabled, use a pre-built library. - #[cfg(not(feature = "cc"))] + /*#[cfg(not(feature = "cc"))] { let _ = asm_name; println!("cargo:rustc-link-search={}/{}", OUTLINE_PATH, profile); println!("cargo:rustc-link-lib=static={}", name); - } + }*/ // If "cc" is enabled, build the library from source, update the pre-built // version, and assert that the pre-built version is checked in. - #[cfg(feature = "cc")] + //#[cfg(feature = "cc")] { let out_dir = var("OUT_DIR").unwrap(); Build::new().file(&asm_name).compile(&name);