authorgravatar for greenblattryan@gmail.comrgreenblatt <greenblattryan@gmail.com> 2021-01-28 23:58:27-05:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2021-01-30 17:50:41+02:00
log78d2f2b819b4dc90bb112197d376d37e50540493
treebbc60f684658fdd71849226def72e36f6846276b
parent290efc074797e893678154efac61f94a38f6bfc1

FromWriteFileStep for all LibExeObjStep types


1 files changed, 42 insertions(+), 0 deletions(-)

lib/std/build.zig+42
......@@ -272,15 +272,57 @@ pub const Builder = struct {
272272 return LibExeObjStep.createSharedLibrary(self, name, root_src_param, kind);
273273 }
274274
275 pub fn addSharedLibraryFromWriteFileStep(
276 self: *Builder,
277 name: []const u8,
278 wfs: *WriteFileStep,
279 basename: []const u8,
280 kind: LibExeObjStep.SharedLibKind,
281 ) *LibExeObjStep {
282 return LibExeObjStep.createSharedLibrary(self, name, @as(FileSource, .{
283 .write_file = .{
284 .step = wfs,
285 .basename = basename,
286 },
287 }), kind);
288 }
289
275290 pub fn addStaticLibrary(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep {
276291 const root_src_param = if (root_src) |p| @as(FileSource, .{ .path = p }) else null;
277292 return LibExeObjStep.createStaticLibrary(self, name, root_src_param);
278293 }
279294
295 pub fn addStaticLibraryFromWriteFileStep(
296 self: *Builder,
297 name: []const u8,
298 wfs: *WriteFileStep,
299 basename: []const u8,
300 ) *LibExeObjStep {
301 return LibExeObjStep.createStaticLibrary(self, name, @as(FileSource, .{
302 .write_file = .{
303 .step = wfs,
304 .basename = basename,
305 },
306 }));
307 }
308
280309 pub fn addTest(self: *Builder, root_src: []const u8) *LibExeObjStep {
281310 return LibExeObjStep.createTest(self, "test", .{ .path = root_src });
282311 }
283312
313 pub fn addTestFromWriteFileStep(
314 self: *Builder,
315 wfs: *WriteFileStep,
316 basename: []const u8,
317 ) *LibExeObjStep {
318 return LibExeObjStep.createTest(self, "test", @as(FileSource, .{
319 .write_file = .{
320 .step = wfs,
321 .basename = basename,
322 },
323 }));
324 }
325
284326 pub fn addAssemble(self: *Builder, name: []const u8, src: []const u8) *LibExeObjStep {
285327 const obj_step = LibExeObjStep.createObject(self, name, null);
286328 obj_step.addAssemblyFile(src);