| ... | @@ -272,15 +272,57 @@ pub const Builder = struct { | ... | @@ -272,15 +272,57 @@ pub const Builder = struct { |
| 272 | return LibExeObjStep.createSharedLibrary(self, name, root_src_param, kind); | 272 | return LibExeObjStep.createSharedLibrary(self, name, root_src_param, kind); |
| 273 | } | 273 | } |
| 274 | | 274 | |
| | 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 | |
| 275 | pub fn addStaticLibrary(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { | 290 | pub fn addStaticLibrary(self: *Builder, name: []const u8, root_src: ?[]const u8) *LibExeObjStep { |
| 276 | const root_src_param = if (root_src) |p| @as(FileSource, .{ .path = p }) else null; | 291 | const root_src_param = if (root_src) |p| @as(FileSource, .{ .path = p }) else null; |
| 277 | return LibExeObjStep.createStaticLibrary(self, name, root_src_param); | 292 | return LibExeObjStep.createStaticLibrary(self, name, root_src_param); |
| 278 | } | 293 | } |
| 279 | | 294 | |
| | 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 | |
| 280 | pub fn addTest(self: *Builder, root_src: []const u8) *LibExeObjStep { | 309 | pub fn addTest(self: *Builder, root_src: []const u8) *LibExeObjStep { |
| 281 | return LibExeObjStep.createTest(self, "test", .{ .path = root_src }); | 310 | return LibExeObjStep.createTest(self, "test", .{ .path = root_src }); |
| 282 | } | 311 | } |
| 283 | | 312 | |
| | 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 | |
| 284 | pub fn addAssemble(self: *Builder, name: []const u8, src: []const u8) *LibExeObjStep { | 326 | pub fn addAssemble(self: *Builder, name: []const u8, src: []const u8) *LibExeObjStep { |
| 285 | const obj_step = LibExeObjStep.createObject(self, name, null); | 327 | const obj_step = LibExeObjStep.createObject(self, name, null); |
| 286 | obj_step.addAssemblyFile(src); | 328 | obj_step.addAssemblyFile(src); |