Skip to content

Commit

Permalink
Update to latest build.zig improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
zigster64 committed Mar 10, 2023
1 parent b3a974f commit 21da8a7
Showing 1 changed file with 32 additions and 15 deletions.
47 changes: 32 additions & 15 deletions build.zig
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
const std = @import("std");

var target: std.zig.CrossTarget = undefined;
var optimize: std.builtin.Mode = undefined;

fn addExample(b: *std.build.Builder, comptime name: []const u8, flags: ?[]const []const u8, sources: ?[]const []const u8, includes: ?[]const []const u8) void {
const mode = b.standardReleaseOptions();
const lib = b.addSharedLibrary(name, "src/" ++ name ++ "/" ++ name ++ ".zig", .unversioned);
lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding });
lib.rdynamic = true;
lib.setBuildMode(mode);
lib.strip = false;

//const mode = b.standardReleaseOptions();
const lib = b.addSharedLibrary(.{
.name = name,
.root_source_file = .{ .path = "src/" ++ name ++ "/" ++ name ++ ".zig" },
.target = target,
.optimize = optimize,
});
// const lib = b.addSharedLibrary(name, "src/" ++ name ++ "/" ++ name ++ ".zig", .unversioned);

// lib.setTarget(.{ .cpu_arch = .wasm32, .os_tag = .freestanding });
// lib.rdynamic = true;
// lib.setBuildMode(mode);
// lib.strip = false;
lib.install();
lib.addIncludePath("src/" ++ name);

Expand All @@ -23,6 +34,12 @@ fn addExample(b: *std.build.Builder, comptime name: []const u8, flags: ?[]const
}

pub fn build(b: *std.build.Builder) void {
target = b.standardTargetOptions(.{ .default_target = .{
.cpu_arch = .wasm32,
.os_tag = .freestanding,
} });
optimize = b.standardOptimizeOption(.{});

b.installFile("src/index.html", "index.html");
b.installFile("src/pcm-processor.js", "pcm-processor.js");
b.installFile("src/wasmpcm.js", "wasmpcm.js");
Expand All @@ -38,7 +55,7 @@ pub fn build(b: *std.build.Builder) void {

addExample(b, "bat", &.{"-Wall"}, &.{"src/mod/pocketmod.c"}, null);

addExample(b, "doom", &.{"-Wall", "-fno-sanitize=undefined"}, &.{
addExample(b, "doom", &.{ "-Wall", "-fno-sanitize=undefined" }, &.{
"src/doom/puredoom/DOOM.c", "src/doom/puredoom/PureDOOM.c", "src/doom/puredoom/am_map.c",
"src/doom/puredoom/d_items.c", "src/doom/puredoom/d_main.c", "src/doom/puredoom/d_net.c",
"src/doom/puredoom/doomdef.c", "src/doom/puredoom/doomstat.c", "src/doom/puredoom/dstrings.c",
Expand All @@ -62,14 +79,14 @@ pub fn build(b: *std.build.Builder) void {
"src/doom/puredoom/w_wad.c", "src/doom/puredoom/wi_stuff.c", "src/doom/puredoom/z_zone.c",
}, null);

addExample(b, "tinygl", &.{"-Wall", "-fno-sanitize=undefined"}, &.{
"src/tinygl/TinyGL/src/api.c", "src/tinygl/TinyGL/src/specbuf.c", "src/tinygl/TinyGL/src/zmath.c",
"src/tinygl/TinyGL/src/arrays.c", "src/tinygl/TinyGL/src/image_util.c", "src/tinygl/TinyGL/src/misc.c",
"src/tinygl/TinyGL/src/texture.c", "src/tinygl/TinyGL/src/ztriangle.c", "src/tinygl/TinyGL/src/clear.c",
"src/tinygl/TinyGL/src/init.c", "src/tinygl/TinyGL/src/msghandling.c", "src/tinygl/TinyGL/src/vertex.c",
"src/tinygl/TinyGL/src/clip.c", "src/tinygl/TinyGL/src/light.c", "src/tinygl/TinyGL/src/zbuffer.c",
"src/tinygl/TinyGL/src/error.c", "src/tinygl/TinyGL/src/list.c", "src/tinygl/TinyGL/src/zdither.c",
"src/tinygl/TinyGL/src/get.c", "src/tinygl/TinyGL/src/matrix.c", "src/tinygl/TinyGL/src/select.c",
addExample(b, "tinygl", &.{ "-Wall", "-fno-sanitize=undefined" }, &.{
"src/tinygl/TinyGL/src/api.c", "src/tinygl/TinyGL/src/specbuf.c", "src/tinygl/TinyGL/src/zmath.c",
"src/tinygl/TinyGL/src/arrays.c", "src/tinygl/TinyGL/src/image_util.c", "src/tinygl/TinyGL/src/misc.c",
"src/tinygl/TinyGL/src/texture.c", "src/tinygl/TinyGL/src/ztriangle.c", "src/tinygl/TinyGL/src/clear.c",
"src/tinygl/TinyGL/src/init.c", "src/tinygl/TinyGL/src/msghandling.c", "src/tinygl/TinyGL/src/vertex.c",
"src/tinygl/TinyGL/src/clip.c", "src/tinygl/TinyGL/src/light.c", "src/tinygl/TinyGL/src/zbuffer.c",
"src/tinygl/TinyGL/src/error.c", "src/tinygl/TinyGL/src/list.c", "src/tinygl/TinyGL/src/zdither.c",
"src/tinygl/TinyGL/src/get.c", "src/tinygl/TinyGL/src/matrix.c", "src/tinygl/TinyGL/src/select.c",
"src/tinygl/TinyGL/src/zline.c",
}, &.{
"src/tinygl/TinyGL/include", "src/tinygl/TinyGL/src",
Expand Down

0 comments on commit 21da8a7

Please sign in to comment.