aboutsummaryrefslogtreecommitdiff
path: root/lib/std/build/WriteFileStep.zig
diff options
context:
space:
mode:
authorFelix (xq) Queißner <git@mq32.de>2021-02-26 11:28:23 +0100
committerVeikka Tuominen <git@vexu.eu>2021-06-11 10:39:50 +0300
commit27bd0971bb725fd3166bcee9364d3af868a24b5d (patch)
tree0d863026c3a4f46764f56b572b2a242a41286f1c /lib/std/build/WriteFileStep.zig
parent07acb1ccc97329cdcc0df37234325af9b00420a3 (diff)
downloadzig-27bd0971bb725fd3166bcee9364d3af868a24b5d.tar.gz
zig-27bd0971bb725fd3166bcee9364d3af868a24b5d.zip
Changes to .path instead of .getPathFn. Changes LibExeObjStep to also provide FileSource.
Diffstat (limited to 'lib/std/build/WriteFileStep.zig')
-rw-r--r--lib/std/build/WriteFileStep.zig20
1 files changed, 5 insertions, 15 deletions
diff --git a/lib/std/build/WriteFileStep.zig b/lib/std/build/WriteFileStep.zig
index b26113385d..5978fd05ae 100644
--- a/lib/std/build/WriteFileStep.zig
+++ b/lib/std/build/WriteFileStep.zig
@@ -37,10 +37,7 @@ pub fn add(self: *WriteFileStep, basename: []const u8, bytes: []const u8) void {
const node = self.builder.allocator.create(std.TailQueue(File).Node) catch unreachable;
node.* = .{
.data = .{
- .source = build.GeneratedFile{
- .step = &self.step,
- .getPathFn = getFilePath,
- },
+ .source = build.GeneratedFile{ .step = &self.step },
.basename = self.builder.dupePath(basename),
.bytes = self.builder.dupe(bytes),
},
@@ -59,17 +56,6 @@ pub fn getFileSource(step: *WriteFileStep, basename: []const u8) ?build.FileSour
return null;
}
-/// Returns the
-fn getFilePath(source: *const build.GeneratedFile) []const u8 {
- const file = @fieldParentPtr(File, "source", source);
- const step = @fieldParentPtr(WriteFileStep, "step", source.step);
-
- return fs.path.join(
- step.builder.allocator,
- &[_][]const u8{ step.output_dir, file.basename },
- ) catch unreachable;
-}
-
fn make(step: *Step) !void {
const self = @fieldParentPtr(WriteFileStep, "step", step);
@@ -124,6 +110,10 @@ fn make(step: *Step) !void {
});
return err;
};
+ node.data.source.path = fs.path.join(
+ self.builder.allocator,
+ &[_][]const u8{ self.output_dir, node.data.basename },
+ ) catch unreachable;
}
}
}