wires

summary refs log tree commit diff
diff options
context:
space:
mode:
authorwires <wires@noreply.wires.systems>2025-10-05 20:33:50 -0400
committerwires <wires@noreply.wires.systems>2025-10-05 20:33:50 -0400
commitbca2ad46164acd33b2b49c628acc271edce3f2e4 (patch)
treeee2809959523c1195a1e81ad8da5283c3f3e2edd
parentupdate README (diff)
downloadzosimos-bca2ad46164acd33b2b49c628acc271edce3f2e4.tar.gz
get building on 0.15.1
-rw-r--r--README.md2
-rw-r--r--build.zig19
-rw-r--r--src/main.zig2
3 files changed, 13 insertions, 10 deletions
diff --git a/README.md b/README.md
index 5361f5f..0bce372 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ experimenting with embedded Zig programming
 
 ## Building
 
-This project has been tested with Zig version `0.14.1`
+This project has been tested with Zig version `0.15.1`
 
 ```console
 $ zig build
diff --git a/build.zig b/build.zig
index 2c55128..fd55a4b 100644
--- a/build.zig
+++ b/build.zig
@@ -8,24 +8,27 @@ pub fn build(b: *std.Build) void {
 
     const optimize = b.standardOptimizeOption(.{});
 
-    const kernel = b.addExecutable(.{
-        .name = "kernel.elf",
+    const kernel_mod = b.addModule("kernel", .{
         .root_source_file = b.path("src/main.zig"),
         .target = target,
         .optimize = optimize,
     });
+
+    const kernel = b.addExecutable(.{
+        .name = "kernel.elf",
+        .root_module = kernel_mod,
+    });
     kernel.setLinkerScript(b.path("src/Link.ld"));
-    kernel.addIncludePath(b.path("include"));
     kernel.addAssemblyFile(b.path("src/startup.s"));
 
     b.installArtifact(kernel);
 
-    const kernel_bin = b.addObjCopy(kernel.getEmittedBin(), .{
-        .format = .bin,
-        .basename = "kernel.img",
-    });
+    const kernel_copy = b.addSystemCommand(&.{ "llvm-objcopy", "-O", "binary" });
+    kernel_copy.addArtifactArg(kernel);
+    const kernel_bin = kernel_copy.addOutputFileArg("kernel.img");
+
     const install_kernel = b.addInstallFile(
-        kernel_bin.getOutput(),
+        kernel_bin,
         "boot/kernel8.img",
     );
     b.getInstallStep().dependOn(&install_kernel.step);
diff --git a/src/main.zig b/src/main.zig
index 602f270..64185aa 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -1,3 +1,3 @@
-export fn main() callconv(.C) void {
+export fn main() void {
     while (true) {}
 }