Collects all the environment variables that Zig could possibly inspect, so
that we can do reflection on this and print them with zig env.
pub const EnvVar = enum
pub const EnvVar = enum {
ZIG_GLOBAL_CACHE_DIR,
ZIG_LOCAL_CACHE_DIR,
ZIG_LOCAL_PKG_DIR,
ZIG_LIB_DIR,
ZIG_LIBC,
ZIG_BUILD_ERROR_STYLE,
ZIG_BUILD_MULTILINE_ERRORS,
ZIG_VERBOSE_LINK,
ZIG_VERBOSE_CC,
ZIG_VERBOSE_CMD,
ZIG_DEBUG_CMD,
ZIG_DEBUG_MAKER,
ZIG_IS_DETECTING_LIBC_PATHS,
ZIG_IS_AVOIDING_CALLING_ITSELF,
// C toolchain integration
NIX_CFLAGS_COMPILE,
NIX_CFLAGS_LINK,
NIX_LDFLAGS,
C_INCLUDE_PATH,
CPLUS_INCLUDE_PATH,
LIBRARY_PATH,
CC,
PKG_CONFIG,
// Terminal integration
NO_COLOR,
CLICOLOR_FORCE,
// Debug info integration
XDG_CACHE_HOME,
LOCALAPPDATA,
HOME,
// Windows SDK integration
PROGRAMDATA,
// Homebrew integration
HOMEBREW_PREFIX,
pub fn isSet(ev: EnvVar, map: *const std.process.Environ.Map) bool {
return map.contains(@tagName(ev));
}
pub fn get(ev: EnvVar, map: *const std.process.Environ.Map) ?[]const u8 {
return map.get(@tagName(ev));
}
}