╭ changed ╮ │build.zig│ ╰─────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭────────────────────────────────────────────────────────────────────╮ │ 1 const std = @import("std"); │ │ 2 │ │ 3 pub fn build(b: *std.Build) void { │ │ 4 + const xit_dep = b.dependency("xit", .{}); │ │ 5 + │ │ 6 + // wasm │ │ 7 + const install_wasm_exe = blk: { │ │ 8 + const wasm_target = b.resolveTargetQuery(.{ │ │ 9 + .cpu_arch = .wasm32, │ │10 + .os_tag = .freestanding, │ │11 + }); │ │12 + │ │13 + const exe = b.addExecutable(.{ │ │14 + .name = "haxy", │ │15 + .root_module = b.createModule(.{ │ │16 + .root_source_file = b.path("src/main_wasm.zig"),│ │17 + .target = wasm_target, │ │18 + .optimize = .ReleaseSmall, │ │19 + }), │ │20 + }); │ │21 + exe.root_module.addImport("xit", xit_dep.module("xit"));│ │22 + │ │23 + exe.global_base = 6560; │ │24 + exe.entry = .disabled; │ │25 + exe.rdynamic = true; │ │26 + exe.import_memory = false; │ │27 + exe.export_memory = true; │ │28 + exe.stack_size = std.wasm.page_size; │ │29 + │ │30 + const initial_pages = 16; │ │31 + const max_pages = 256; │ │32 + exe.initial_memory = std.wasm.page_size * initial_pages;│ │33 + exe.max_memory = std.wasm.page_size * max_pages; │ │34 + │ │35 + const install_exe = b.addInstallArtifact(exe, .{}); │ │36 + b.getInstallStep().dependOn(&install_exe.step); │ │37 + │ │38 + const wasm_step = b.step("wasm", "Generate the wasm"); │ │39 + wasm_step.dependOn(&install_exe.step); │ │40 + │ │41 + break :blk install_exe; │ │42 + }; │ │43 + │ │44 const target = b.standardTargetOptions(.{}); │ │45 const optimize = b.standardOptimizeOption(.{}); │ │46 │ ╰────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────╮ │54 .optimize = optimize, │ │55 }), │ │56 }); │ │17 - exe.root_module.addImport("xit", b.dependency("xit", .{}).module("xit"));│ │57 + exe.root_module.addImport("xit", xit_dep.module("xit")); │ │58 + exe.step.dependOn(&install_wasm_exe.step); │ │59 │ │60 const install_exe = b.addInstallArtifact(exe, .{}); │ │61 b.getInstallStep().dependOn(&install_exe.step); │ ╰─────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────╮ │73 │ │74 break :blk install_exe; │ │75 }; │ │35 - │ │36 - // wasm │ │37 - { │ │38 - const wasm_target = b.resolveTargetQuery(.{ │ │39 - .cpu_arch = .wasm32, │ │40 - .os_tag = .freestanding, │ │41 - }); │ │42 - │ │43 - const exe = b.addExecutable(.{ │ │44 - .name = "haxy", │ │45 - .root_module = b.createModule(.{ │ │46 - .root_source_file = b.path("src/main_wasm.zig"), │ │47 - .target = wasm_target, │ │48 - .optimize = .ReleaseSmall, │ │49 - }), │ │50 - }); │ │51 - exe.root_module.addImport("xit", b.dependency("xit", .{}).module("xit"));│ │52 - │ │53 - exe.global_base = 6560; │ │54 - exe.entry = .disabled; │ │55 - exe.rdynamic = true; │ │56 - exe.import_memory = false; │ │57 - exe.export_memory = true; │ │58 - exe.stack_size = std.wasm.page_size; │ │59 - │ │60 - const initial_pages = 16; │ │61 - const max_pages = 256; │ │62 - exe.initial_memory = std.wasm.page_size * initial_pages; │ │63 - exe.max_memory = std.wasm.page_size * max_pages; │ │64 - │ │65 - b.installArtifact(exe); │ │66 - │ │67 - const wasm_step = b.step("wasm", "Generate the wasm"); │ │68 - wasm_step.dependOn(&exe.step); │ │69 - wasm_step.dependOn(b.getInstallStep()); │ │70 - } │ │76 │ │77 // module for using haxy as a library │ │78 // (the commands below consume haxy this way) │ ╰─────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────╮ │79 const haxy = b.addModule("haxy", .{ │ │80 .root_source_file = b.path("src/lib.zig"), │ │81 }); │ │77 - haxy.addImport("xit", b.dependency("xit", .{}).module("xit"));│ │82 + haxy.addImport("xit", xit_dep.module("xit")); │ │83 │ │84 // test │ │85 { │ ╰──────────────────────────────────────────────────────────────────────╯