mirror of
https://github.com/ziglang/zig.git
synced 2024-11-15 00:26:57 +00:00
change addCSourceFiles
to use LazyPath
instead Dependency
(#19017)
Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
This commit is contained in:
parent
70fbafacf2
commit
3eacd1b2e5
@ -79,9 +79,9 @@ pub const SystemLib = struct {
|
||||
};
|
||||
|
||||
pub const CSourceFiles = struct {
|
||||
dependency: ?*std.Build.Dependency,
|
||||
/// If `dependency` is not null relative to it,
|
||||
/// else relative to the build root.
|
||||
root: LazyPath,
|
||||
/// `files` is relative to `root`, which is
|
||||
/// the build root by default
|
||||
files: []const []const u8,
|
||||
flags: []const []const u8,
|
||||
};
|
||||
@ -453,9 +453,9 @@ pub fn linkFramework(m: *Module, name: []const u8, options: LinkFrameworkOptions
|
||||
}
|
||||
|
||||
pub const AddCSourceFilesOptions = struct {
|
||||
/// When provided, `files` are relative to `dependency` rather than the
|
||||
/// When provided, `files` are relative to `root` rather than the
|
||||
/// package that owns the `Compile` step.
|
||||
dependency: ?*std.Build.Dependency = null,
|
||||
root: LazyPath = .{ .path = "" },
|
||||
files: []const []const u8,
|
||||
flags: []const []const u8 = &.{},
|
||||
};
|
||||
@ -466,7 +466,7 @@ pub fn addCSourceFiles(m: *Module, options: AddCSourceFilesOptions) void {
|
||||
const allocator = b.allocator;
|
||||
const c_source_files = allocator.create(CSourceFiles) catch @panic("OOM");
|
||||
c_source_files.* = .{
|
||||
.dependency = options.dependency,
|
||||
.root = options.root,
|
||||
.files = b.dupeStrings(options.files),
|
||||
.flags = b.dupeStrings(options.flags),
|
||||
};
|
||||
|
@ -1197,15 +1197,11 @@ fn make(step: *Step, prog_node: *std.Progress.Node) !void {
|
||||
prev_has_cflags = true;
|
||||
}
|
||||
|
||||
if (c_source_files.dependency) |dep| {
|
||||
for (c_source_files.files) |file| {
|
||||
try zig_args.append(dep.builder.pathFromRoot(file));
|
||||
}
|
||||
} else {
|
||||
for (c_source_files.files) |file| {
|
||||
try zig_args.append(b.pathFromRoot(file));
|
||||
}
|
||||
const root_path = c_source_files.root.getPath2(module.owner, step);
|
||||
for (c_source_files.files) |file| {
|
||||
try zig_args.append(b.pathJoin(&.{ root_path, file }));
|
||||
}
|
||||
|
||||
total_linker_objects += c_source_files.files.len;
|
||||
},
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user