diff options
| author | antlilja <liljaanton2001@gmail.com> | 2020-12-01 16:47:47 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-12-10 18:06:19 -0500 |
| commit | 26399b5249cbc8774e50856fed6d2336e396cb69 (patch) | |
| tree | 4cca369b95eed856058c34ce4963c91955251aa0 /src | |
| parent | a3de27ef3bbc5212b2129ed75bab3503da09b9cf (diff) | |
| download | zig-26399b5249cbc8774e50856fed6d2336e396cb69.tar.gz zig-26399b5249cbc8774e50856fed6d2336e396cb69.zip | |
Added global-cache argument to build system + removed extra args.
* Field global_cache_root was added to Builder struct along with
mandatory argument for build_runner.zig. Logic for using the custom
global cache was also added.
* The arguments --cache-dir and --global-cache-dir are no longer passed
directly through to build_runner.zig and are instead only passed through the
mandatory cache_root and global_cache_root arguments.
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.zig | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main.zig b/src/main.zig index af342e523f..396bbe02c0 100644 --- a/src/main.zig +++ b/src/main.zig @@ -2260,6 +2260,9 @@ pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !v const argv_index_cache_dir = child_argv.items.len; _ = try child_argv.addOne(); + const argv_index_global_cache_dir = child_argv.items.len; + _ = try child_argv.addOne(); + { var i: usize = 0; while (i < args.len) : (i += 1) { @@ -2280,13 +2283,11 @@ pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !v if (i + 1 >= args.len) fatal("expected argument after '{}'", .{arg}); i += 1; override_local_cache_dir = args[i]; - try child_argv.appendSlice(&[_][]const u8{ arg, args[i] }); continue; } else if (mem.eql(u8, arg, "--global-cache-dir")) { if (i + 1 >= args.len) fatal("expected argument after '{}'", .{arg}); i += 1; override_global_cache_dir = args[i]; - try child_argv.appendSlice(&[_][]const u8{ arg, args[i] }); continue; } } @@ -2371,6 +2372,8 @@ pub fn cmdBuild(gpa: *Allocator, arena: *Allocator, args: []const []const u8) !v }; defer global_cache_directory.handle.close(); + child_argv.items[argv_index_global_cache_dir] = global_cache_directory.path orelse cwd_path; + var local_cache_directory: Compilation.Directory = l: { if (override_local_cache_dir) |local_cache_dir_path| { break :l .{ |
