helper function in build pkg (#13)

wch-ch32v003
Matt Knight 1 year ago committed by Matt Knight
parent 89b32ebd67
commit 5876517127

@ -1,6 +1,34 @@
const std = @import("std");
const Dependency = std.Build.Dependency;
const CompileStep = std.Build.CompileStep;
const FileSource = std.Build.FileSource;
pub fn build(b: *std.build.Builder) void {
const uf2 = @import("src/uf2.zig");
pub fn from_elf(dep: Dependency, exe: CompileStep, opts: uf2.Options) FileSource {
std.debug.assert(!opts.bundle_source); // TODO: bundle source in UF2 File
const b = dep.builder;
const elf2uf2 = dep.artifact("elf2uf2");
const run = b.addRunArtifact(elf2uf2);
// family id
if (opts.family_id) |family_id| {
inline for (@typeInfo(uf2.FamilyId).Enum.fields) |field| {
if (@field(uf2.FamilyId, field.name) == family_id) {
run.addArgs(&.{ "--family-id", field.name });
}
}
}
// elf file
run.addArg("--elf-path");
run.addArtifactArg(exe);
// output file
return run.addPrefixedOutputFileArg("--output-path", "test.uf2");
}
pub fn build(b: *std.Build) void {
const optimize = b.standardOptimizeOption(.{});
const target = b.standardTargetOptions(.{});

@ -167,7 +167,7 @@ pub const Archive = struct {
try self.blocks.appendSlice(blocks.items);
if (opts.bundle_source)
@panic("TODO");
@panic("TODO: bundle source in UF2 file");
}
pub fn write_to(self: *Self, writer: anytype) !void {

Loading…
Cancel
Save