From 17d135b17859eb3d083b85cb97f226a4548d4612 Mon Sep 17 00:00:00 2001 From: Jiahao XU <30436523+NobodyXu@users.noreply.github.com> Date: Sun, 6 Oct 2024 21:15:19 +1100 Subject: [PATCH] Update Build methods to use getenv_boolean And update getenv_boolean, to treat "false" as false. --- src/lib.rs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 8003b367..feb70fd2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1857,7 +1857,7 @@ impl Build { let mut cmd = self.get_base_compiler()?; // Disable default flag generation via `no_default_flags` or environment variable - let no_defaults = self.no_default_flags || self.getenv("CRATE_CC_NO_DEFAULTS").is_some(); + let no_defaults = self.no_default_flags || self.getenv_boolean("CRATE_CC_NO_DEFAULTS"); if !no_defaults { self.add_default_flags(&mut cmd, &target, &opt_level)?; @@ -3668,15 +3668,12 @@ impl Build { } fn get_debug(&self) -> bool { - self.debug.unwrap_or_else(|| match self.getenv("DEBUG") { - Some(s) => &*s != "false", - None => false, - }) + self.debug.unwrap_or_else(|| self.getenv_boolean("DEBUG")) } fn get_shell_escaped_flags(&self) -> bool { self.shell_escaped_flags - .unwrap_or_else(|| self.getenv("CC_SHELL_ESCAPED_FLAGS").is_some()) + .unwrap_or_else(|| self.getenv_boolean("CC_SHELL_ESCAPED_FLAGS")) } fn get_dwarf_version(&self) -> Option { @@ -3755,7 +3752,7 @@ impl Build { /// get boolean flag that is either true or false fn getenv_boolean(&self, v: &str) -> bool { match self.getenv(v) { - Some(s) => s != "0", + Some(s) => s != "0" && s != "false", None => false, } }