From e7e0927a831f91d989020382ba2d3d04caf01b5f Mon Sep 17 00:00:00 2001 From: Lorenzo Torres Date: Fri, 1 Aug 2025 21:38:27 +0200 Subject: [PATCH] Updated the source for `master` --- build.zig | 39 +++++++++++++++++++++++---------------- src/mods/Parser.zig | 4 ++-- src/mods/vm.zig | 2 +- src/renderer/Mesh.zig | 2 +- src/renderer/Window.zig | 2 +- src/renderer/c.zig | 2 +- src/renderer/vulkan.zig | 2 +- 7 files changed, 30 insertions(+), 23 deletions(-) diff --git a/build.zig b/build.zig index c398bd4..d88ef7f 100644 --- a/build.zig +++ b/build.zig @@ -6,12 +6,16 @@ pub fn build(b: *std.Build) void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); - const glfw = b.addStaticLibrary(.{ - .name = "glfw", + const glfw_module = b.createModule(.{ .target = target, .optimize = optimize, + .link_libc = true, }); - glfw.addCSourceFiles(.{ .files = &[_][]const u8{ + const glfw = b.addLibrary(.{ + .name = "glfw", + .root_module = glfw_module, + }); + glfw_module.addCSourceFiles(.{ .files = &[_][]const u8{ "ext/glfw/src/cocoa_init.m", "ext/glfw/src/cocoa_joystick.m", "ext/glfw/src/cocoa_monitor.m", @@ -53,29 +57,28 @@ pub fn build(b: *std.Build) void { "ext/glfw/src/x11_window.c", "ext/glfw/src/xkb_unicode.c", }, .flags = &[_][]const u8{ "-D_GLFW_X11", "-Wall", "-Wextra" } }); - glfw.linkLibC(); - const sideros = b.addModule("sideros", .{ + const sideros = b.createModule(.{ .root_source_file = b.path("src/sideros.zig"), .target = target, .optimize = optimize, }); - const mods = b.addModule("mods", .{ + const mods = b.createModule(.{ .root_source_file = b.path("src/mods/mods.zig"), .target = target, .optimize = optimize, }); mods.addImport("sideros", sideros); - const ecs = b.addModule("ecs", .{ + const ecs = b.createModule(.{ .root_source_file = b.path("src/ecs/ecs.zig"), .target = target, .optimize = optimize, }); ecs.addImport("sideros", sideros); - const renderer = b.addModule("renderer", .{ + const renderer = b.createModule(.{ .root_source_file = b.path("src/renderer/Renderer.zig"), .target = target, .optimize = optimize, @@ -88,10 +91,12 @@ pub fn build(b: *std.Build) void { compileAllShaders(b, renderer); const exe = b.addExecutable(.{ - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, .name = "sideros", + .root_module = b.createModule(.{ + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }), }); exe.root_module.addImport("mods", mods); exe.root_module.addImport("sideros", sideros); @@ -114,7 +119,7 @@ pub fn build(b: *std.Build) void { docs_step.dependOn(&install_docs.step); // NOTE: This is a hack to generate documentation - const mods_lib = b.addStaticLibrary(.{ + const mods_lib = b.addLibrary(.{ .root_module = mods, .name = "mods", }); @@ -126,7 +131,7 @@ pub fn build(b: *std.Build) void { }); docs_step.dependOn(&mods_docs.step); - const ecs_lib = b.addStaticLibrary(.{ + const ecs_lib = b.addLibrary(.{ .root_module = ecs, .name = "ecs", }); @@ -148,9 +153,11 @@ pub fn build(b: *std.Build) void { run_step.dependOn(&run_cmd.step); const exe_unit_tests = b.addTest(.{ - .root_source_file = b.path("src/main.zig"), - .target = target, - .optimize = optimize, + .root_module = b.createModule(.{ + .root_source_file = b.path("src/main.zig"), + .target = target, + .optimize = optimize, + }), }); const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests); diff --git a/src/mods/Parser.zig b/src/mods/Parser.zig index 05824e3..a37f8be 100644 --- a/src/mods/Parser.zig +++ b/src/mods/Parser.zig @@ -490,8 +490,8 @@ fn parseCode(self: *Parser) !Func { } const ir = try IR.parse(self); - const stdout = std.io.getStdOut().writer(); - try ir.print(stdout); + // const stdout = std.fs.File.stdout().writer(); + // try ir.print(stdout); const func = Func{ .locals = try self.allocator.alloc(vm.Valtype, local_count), diff --git a/src/mods/vm.zig b/src/mods/vm.zig index 03e370c..c990fb4 100644 --- a/src/mods/vm.zig +++ b/src/mods/vm.zig @@ -120,7 +120,7 @@ pub const Runtime = struct { // Like this .@"unreachable" => { std.log.err("Reached unreachable statement at IR counter {any}\n", .{frame.program_counter}); - frame.code.print(std.io.getStdOut().writer()) catch {}; + //frame.code.print(std.io.getStdOut().writer()) catch {}; }, .nop => {}, .br => { diff --git a/src/renderer/Mesh.zig b/src/renderer/Mesh.zig index b0f76ce..d356967 100644 --- a/src/renderer/Mesh.zig +++ b/src/renderer/Mesh.zig @@ -1,4 +1,4 @@ -const c = @import("c.zig"); +const c = @import("c.zig").c; const std = @import("std"); const vk = @import("vulkan.zig"); const gltf = @import("gltf.zig"); diff --git a/src/renderer/Window.zig b/src/renderer/Window.zig index 528ac44..0bc8986 100644 --- a/src/renderer/Window.zig +++ b/src/renderer/Window.zig @@ -1,4 +1,4 @@ -const c = @import("c.zig"); +const c = @import("c.zig").c; const ecs = @import("ecs"); const std = @import("std"); diff --git a/src/renderer/c.zig b/src/renderer/c.zig index d91f49f..d012e4e 100644 --- a/src/renderer/c.zig +++ b/src/renderer/c.zig @@ -1,4 +1,4 @@ -pub usingnamespace @cImport({ +pub const c = @cImport({ @cDefine("GLFW_INCLUDE_NONE", {}); @cInclude("vulkan/vulkan.h"); @cInclude("GLFW/glfw3.h"); diff --git a/src/renderer/vulkan.zig b/src/renderer/vulkan.zig index 6a7b73b..9a5d149 100644 --- a/src/renderer/vulkan.zig +++ b/src/renderer/vulkan.zig @@ -1,5 +1,5 @@ const std = @import("std"); -const c = @import("c.zig"); +const c = @import("c.zig").c; const Window = @import("Window.zig"); const Mesh = @import("Mesh.zig"); const sideros = @import("sideros");