diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-08-06 02:24:04 -0500 |
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-08-06 02:24:04 -0500 |
| commit | 6a7467264b506e5812b2d9a8cd55fa307f2b5a10 (patch) | |
| tree | 97c136f9f65a575d940f647b7c2130b3454fa88d /build.zig | |
| parent | f8542ab4c65d64e7713063460d750901e7b0362d (diff) | |
| download | calico-6a7467264b506e5812b2d9a8cd55fa307f2b5a10.tar.gz | |
ok so i messed up
Diffstat (limited to 'build.zig')
| -rw-r--r-- | build.zig | 23 |
1 files changed, 22 insertions, 1 deletions
@@ -1,6 +1,6 @@ const std = @import("std"); -pub fn build(b: *std.Build) void { +pub fn build(b: *std.Build) !void { const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); @@ -12,8 +12,27 @@ pub fn build(b: *std.Build) void { .optimize = optimize, }); + const lib = b.addStaticLibrary(.{ + .name = "llvm", + .root_source_file = b.path("lib/llvm-zig/src/llvm.zig"), + .target = target, + .optimize = optimize, + }); + lib.defineCMacro("_FILE_OFFSET_BITS", "64"); + lib.defineCMacro("__STDC_CONSTANT_MACROS", null); + lib.defineCMacro("__STDC_FORMAT_MACROS", null); + lib.defineCMacro("__STDC_LIMIT_MACROS", null); + lib.linkSystemLibrary("z"); + lib.linkLibC(); + lib.linkSystemLibrary("LLVM-17"); + b.installArtifact(exe); + b.installArtifact(lib); + + _ = try b.modules.put("llvm", &lib.root_module); + exe.root_module.addImport("llvm", b.modules.get("llvm").?); + const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); @@ -49,6 +68,8 @@ pub fn build(b: *std.Build) void { .optimize = optimize, }); + codegen_unit_tests.root_module.addImport("llvm", &lib.root_module); + const run_exe_unit_tests = b.addRunArtifact(exe_unit_tests); const run_token_unit_tests = b.addRunArtifact(token_unit_tests); const run_parse_unit_tests = b.addRunArtifact(parse_unit_tests); |
