commit 78d2f2b819b4dc90bb112197d376d37e50540493 (tree)
parent 290efc074797e893678154efac61f94a38f6bfc1
Author: rgreenblatt <greenblattryan@gmail.com>
Date: Thu, 28 Jan 2021 23:58:27 -0500
FromWriteFileStep for all LibExeObjStep types
Diffstat:
1 file changed, 42 insertions(+), 0 deletions(-)
diff --git a/lib/std/build.zig b/lib/std/build.zig
@@ -272,15 +272,57 @@ pub const Builder = struct {
return LibExeObjStep.createSharedLibrary(self, name, root_src_param, kind);
}
+ pub fn addSharedLibraryFromWriteFileStep(
+ self: *Builder,
+ name: []const u8,
+ wfs: *WriteFileStep,
+ basename: []const u8,
+ kind: LibExeObjStep.SharedLibKind,
+ ) *LibExeObjStep {
+ return LibExeObjStep.createSharedLibrary(self, name, @as(FileSource, .{
+ .write_file = .{
+ .step = wfs,
+ .basename = basename,
+ },
+ }), kind);
+ }
+
pub fn addStaticLibrary(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep {
const root_src_param = if (root_src) |p| @as(FileSource, .{ .path = p }) else null;
return LibExeObjStep.createStaticLibrary(self, name, root_src_param);
}
+ pub fn addStaticLibraryFromWriteFileStep(
+ self: *Builder,
+ name: []const u8,
+ wfs: *WriteFileStep,
+ basename: []const u8,
+ ) *LibExeObjStep {
+ return LibExeObjStep.createStaticLibrary(self, name, @as(FileSource, .{
+ .write_file = .{
+ .step = wfs,
+ .basename = basename,
+ },
+ }));
+ }
+
pub fn addTest(self: *Builder, root_src: []const u8) *LibExeObjStep {
return LibExeObjStep.createTest(self, "test", .{ .path = root_src });
}
+ pub fn addTestFromWriteFileStep(
+ self: *Builder,
+ wfs: *WriteFileStep,
+ basename: []const u8,
+ ) *LibExeObjStep {
+ return LibExeObjStep.createTest(self, "test", @as(FileSource, .{
+ .write_file = .{
+ .step = wfs,
+ .basename = basename,
+ },
+ }));
+ }
+
pub fn addAssemble(self: *Builder, name: []const u8, src: []const u8) *LibExeObjStep {
const obj_step = LibExeObjStep.createObject(self, name, null);
obj_step.addAssemblyFile(src);