| ... | ... | @@ -420,6 +420,15 @@ const Emit = union(enum) { |
| 420 | 420 | } |
| 421 | 421 | }; |
| 422 | 422 | |
| 423 | fn optionalStringEnvVar(arena: *Allocator, name: []const u8) !?[]const u8 { |
| 424 | if (std.process.getEnvVarOwned(arena, name)) |value| { |
| 425 | return value; |
| 426 | } else |err| switch (err) { |
| 427 | error.EnvironmentVariableNotFound => return null, |
| 428 | else => |e| return e, |
| 429 | } |
| 430 | } |
| 431 | |
| 423 | 432 | fn buildOutputType( |
| 424 | 433 | gpa: *Allocator, |
| 425 | 434 | arena: *Allocator, |
| ... | ... | @@ -499,17 +508,14 @@ fn buildOutputType( |
| 499 | 508 | var link_eh_frame_hdr = false; |
| 500 | 509 | var link_emit_relocs = false; |
| 501 | 510 | var each_lib_rpath: ?bool = null; |
| 502 | | var libc_paths_file: ?[]const u8 = std.process.getEnvVarOwned(arena, "ZIG_LIBC") catch |err| switch (err) { |
| 503 | | error.EnvironmentVariableNotFound => null, |
| 504 | | else => |e| return e, |
| 505 | | }; |
| 511 | var libc_paths_file: ?[]const u8 = try optionalStringEnvVar(arena, "ZIG_LIBC"); |
| 506 | 512 | var machine_code_model: std.builtin.CodeModel = .default; |
| 507 | 513 | var runtime_args_start: ?usize = null; |
| 508 | 514 | var test_filter: ?[]const u8 = null; |
| 509 | 515 | var test_name_prefix: ?[]const u8 = null; |
| 510 | | var override_local_cache_dir: ?[]const u8 = null; |
| 511 | | var override_global_cache_dir: ?[]const u8 = null; |
| 512 | | var override_lib_dir: ?[]const u8 = null; |
| 516 | var override_local_cache_dir: ?[]const u8 = try optionalStringEnvVar(arena, "ZIG_LOCAL_CACHE_DIR"); |
| 517 | var override_global_cache_dir: ?[]const u8 = try optionalStringEnvVar(arena, "ZIG_GLOBAL_CACHE_DIR"); |
| 518 | var override_lib_dir: ?[]const u8 = try optionalStringEnvVar(arena, "ZIG_LIB_DIR"); |
| 513 | 519 | var main_pkg_path: ?[]const u8 = null; |
| 514 | 520 | var clang_preprocessor_mode: Compilation.ClangPreprocessorMode = .no; |
| 515 | 521 | var subsystem: ?std.Target.SubSystem = null; |