1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
@@ -9,8 +9,6 @@
//! A number of environment variables are available to globally configure how
//! this crate will invoke `pkg-config`:
//!
-//! * `PKG_CONFIG_ALLOW_CROSS` - if this variable is not set, then `pkg-config`
-//! will automatically be disabled for all cross compiles.
//! * `FOO_NO_PKG_CONFIG` - if set, this will disable running `pkg-config` when
//! probing for the library named `foo`.
//!
@@ -81,7 +79,7 @@
// Only use pkg-config in host == target situations by default (allowing an
// override).
- (host == target || env::var_os("PKG_CONFIG_ALLOW_CROSS").is_some())
+ (host == target || true)
}
#[derive(Clone, Default)]
@@ -113,9 +111,8 @@
/// Contains the name of the responsible environment variable.
EnvNoPkgConfig(String),
- /// Cross compilation detected.
- ///
- /// Override with `PKG_CONFIG_ALLOW_CROSS=1`.
+ /// Cross compilation detected. Kept for compatibility;
+ /// the Debian package never emits this.
CrossCompilation,
/// Failed to run `pkg-config`.
@@ -137,13 +134,9 @@
fn description(&self) -> &str {
match *self {
Error::EnvNoPkgConfig(_) => "pkg-config requested to be aborted",
- Error::CrossCompilation => {
- "pkg-config doesn't handle cross compilation. \
- Use PKG_CONFIG_ALLOW_CROSS=1 to override"
- }
Error::Command { .. } => "failed to run pkg-config",
Error::Failure { .. } => "pkg-config did not exit sucessfully",
- Error::__Nonexhaustive => panic!(),
+ Error::CrossCompilation | Error::__Nonexhaustive => panic!(),
}
}
@@ -214,10 +207,6 @@
Error::EnvNoPkgConfig(ref name) => {
write!(f, "Aborted because {} is set", name)
}
- Error::CrossCompilation => {
- write!(f, "Cross compilation detected. \
- Use PKG_CONFIG_ALLOW_CROSS=1 to override")
- }
Error::Command { ref command, ref cause } => {
write!(f, "Failed to run `{}`: {}", command, cause)
}
@@ -233,7 +222,7 @@
}
Ok(())
}
- Error::__Nonexhaustive => panic!(),
+ Error::CrossCompilation | Error::__Nonexhaustive => panic!(),
}
}
}
@@ -388,7 +377,11 @@
}
fn command(&self, name: &str, args: &[&str]) -> Command {
- let exe = self.env_var("PKG_CONFIG").unwrap_or_else(|_| String::from("pkg-config"));
+ let exe = self.env_var("PKG_CONFIG").unwrap_or_else(|_| {
+ self.env_var("DEB_HOST_GNU_TYPE")
+ .map(|t| t.to_string() + "-pkg-config")
+ .unwrap_or_else(|_| String::from("pkg-config"))
+ });
let mut cmd = Command::new(exe);
if self.is_static(name) {
cmd.arg("--static");
@@ -29,7 +29,6 @@
pkg_config::probe_library(name)
}
-#[test]
fn cross_disabled() {
let _g = LOCK.lock();
reset();
@@ -41,7 +40,6 @@
}
}
-#[test]
fn cross_enabled() {
let _g = LOCK.lock();
reset();
|