| ... | @@ -2862,40 +2862,36 @@ pub const LibExeObjStep = struct { | ... | @@ -2862,40 +2862,36 @@ pub const LibExeObjStep = struct { |
| 2862 | }); | 2862 | }); |
| 2863 | } | 2863 | } |
| 2864 | | 2864 | |
| 2865 | if (self.kind == .@"test") { | 2865 | try zig_args.append("--enable-cache"); |
| 2866 | _ = try builder.execFromStep(zig_args.items, step); | | |
| 2867 | } else { | | |
| 2868 | try zig_args.append("--enable-cache"); | | |
| 2869 | | 2866 | |
| 2870 | const output_dir_nl = try builder.execFromStep(zig_args.items, &self.step); | 2867 | const output_dir_nl = try builder.execFromStep(zig_args.items, &self.step); |
| 2871 | const build_output_dir = mem.trimRight(u8, output_dir_nl, "\r\n"); | 2868 | const build_output_dir = mem.trimRight(u8, output_dir_nl, "\r\n"); |
| 2872 | | 2869 | |
| 2873 | if (self.output_dir) |output_dir| { | 2870 | if (self.output_dir) |output_dir| { |
| 2874 | var src_dir = try std.fs.cwd().openDir(build_output_dir, .{ .iterate = true }); | 2871 | var src_dir = try std.fs.cwd().openDir(build_output_dir, .{ .iterate = true }); |
| 2875 | defer src_dir.close(); | 2872 | defer src_dir.close(); |
| 2876 | | 2873 | |
| 2877 | // Create the output directory if it doesn't exist. | 2874 | // Create the output directory if it doesn't exist. |
| 2878 | try std.fs.cwd().makePath(output_dir); | 2875 | try std.fs.cwd().makePath(output_dir); |
| 2879 | | 2876 | |
| 2880 | var dest_dir = try std.fs.cwd().openDir(output_dir, .{}); | 2877 | var dest_dir = try std.fs.cwd().openDir(output_dir, .{}); |
| 2881 | defer dest_dir.close(); | 2878 | defer dest_dir.close(); |
| 2882 | | 2879 | |
| 2883 | var it = src_dir.iterate(); | 2880 | var it = src_dir.iterate(); |
| 2884 | while (try it.next()) |entry| { | 2881 | while (try it.next()) |entry| { |
| 2885 | // The compiler can put these files into the same directory, but we don't | 2882 | // The compiler can put these files into the same directory, but we don't |
| 2886 | // want to copy them over. | 2883 | // want to copy them over. |
| 2887 | if (mem.eql(u8, entry.name, "stage1.id") or | 2884 | if (mem.eql(u8, entry.name, "stage1.id") or |
| 2888 | mem.eql(u8, entry.name, "llvm-ar.id") or | 2885 | mem.eql(u8, entry.name, "llvm-ar.id") or |
| 2889 | mem.eql(u8, entry.name, "libs.txt") or | 2886 | mem.eql(u8, entry.name, "libs.txt") or |
| 2890 | mem.eql(u8, entry.name, "builtin.zig") or | 2887 | mem.eql(u8, entry.name, "builtin.zig") or |
| 2891 | mem.eql(u8, entry.name, "zld.id") or | 2888 | mem.eql(u8, entry.name, "zld.id") or |
| 2892 | mem.eql(u8, entry.name, "lld.id")) continue; | 2889 | mem.eql(u8, entry.name, "lld.id")) continue; |
| 2893 | | 2890 | |
| 2894 | _ = try src_dir.updateFile(entry.name, dest_dir, entry.name, .{}); | 2891 | _ = try src_dir.updateFile(entry.name, dest_dir, entry.name, .{}); |
| 2895 | } | | |
| 2896 | } else { | | |
| 2897 | self.output_dir = build_output_dir; | | |
| 2898 | } | 2892 | } |
| | 2893 | } else { |
| | 2894 | self.output_dir = build_output_dir; |
| 2899 | } | 2895 | } |
| 2900 | | 2896 | |
| 2901 | // This will ensure all output filenames will now have the output_dir available! | 2897 | // This will ensure all output filenames will now have the output_dir available! |