aboutsummaryrefslogtreecommitdiff
path: root/lib/std/Build/Step/Compile.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2024-04-11 23:35:51 -0700
committerGitHub <noreply@github.com>2024-04-11 23:35:51 -0700
commit10ff81c26457ff02b7a7ed580aaf773297ad8025 (patch)
tree1b303c864ace3e76ac716ab7ed23ddbddc3521f9 /lib/std/Build/Step/Compile.zig
parent3bafc4400a40b497b3b3f8113f72c4b80969f13f (diff)
parent499a202a13c2a61f3cb2535c1bd63a9b6b30bfb7 (diff)
downloadzig-10ff81c26457ff02b7a7ed580aaf773297ad8025.tar.gz
zig-10ff81c26457ff02b7a7ed580aaf773297ad8025.zip
Merge pull request #19623 from ziglang/LazyPath
std.Build.LazyPath: upgrade API usages of source-relative path
Diffstat (limited to 'lib/std/Build/Step/Compile.zig')
-rw-r--r--lib/std/Build/Step/Compile.zig28
1 files changed, 2 insertions, 26 deletions
diff --git a/lib/std/Build/Step/Compile.zig b/lib/std/Build/Step/Compile.zig
index a63d9f6838..c36fd8c4ca 100644
--- a/lib/std/Build/Step/Compile.zig
+++ b/lib/std/Build/Step/Compile.zig
@@ -264,20 +264,8 @@ pub const HeaderInstallation = union(enum) {
dest_rel_path: []const u8,
pub fn dupe(self: File, b: *std.Build) File {
- // 'path' lazy paths are relative to the build root of some step, inferred from the step
- // in which they are used. This means that we can't dupe such paths, because they may
- // come from dependencies with their own build roots and duping the paths as is might
- // cause the build script to search for the file relative to the wrong root.
- // As a temporary workaround, we convert build root-relative paths to absolute paths.
- // If/when the build-root relative paths are updated to encode which build root they are
- // relative to, this workaround should be removed.
- const duped_source: LazyPath = switch (self.source) {
- .path => |root_rel| .{ .cwd_relative = b.pathFromRoot(root_rel) },
- else => self.source.dupe(b),
- };
-
return .{
- .source = duped_source,
+ .source = self.source.dupe(b),
.dest_rel_path = b.dupePath(self.dest_rel_path),
};
}
@@ -305,20 +293,8 @@ pub const HeaderInstallation = union(enum) {
};
pub fn dupe(self: Directory, b: *std.Build) Directory {
- // 'path' lazy paths are relative to the build root of some step, inferred from the step
- // in which they are used. This means that we can't dupe such paths, because they may
- // come from dependencies with their own build roots and duping the paths as is might
- // cause the build script to search for the file relative to the wrong root.
- // As a temporary workaround, we convert build root-relative paths to absolute paths.
- // If/when the build-root relative paths are updated to encode which build root they are
- // relative to, this workaround should be removed.
- const duped_source: LazyPath = switch (self.source) {
- .path => |root_rel| .{ .cwd_relative = b.pathFromRoot(root_rel) },
- else => self.source.dupe(b),
- };
-
return .{
- .source = duped_source,
+ .source = self.source.dupe(b),
.dest_rel_path = b.dupePath(self.dest_rel_path),
.options = self.options.dupe(b),
};