diff --git a/build.zig b/build.zig index 86dd349d..18630b49 100644 --- a/build.zig +++ b/build.zig @@ -362,6 +362,15 @@ pub fn build(b: *std.Build) !void { tv_options.addOption(bool, "offline", offline); tv_options.addOption([]const u8, "cache_dir", "test/vectors/cache"); + const translate_c = b.addTranslateC(.{ + .root_source_file = b.path("src/libsodium/include/sodium.h"), + .target = target, + .optimize = optimize, + .link_libc = true, + }); + translate_c.addIncludePath(b.path("src/libsodium/include")); + const c_mod = translate_c.createModule(); + const tv_mod = b.createModule(.{ .root_source_file = b.path("test/vectors/main.zig"), .target = target, @@ -371,6 +380,7 @@ pub fn build(b: *std.Build) !void { tv_mod.linkLibrary(static_lib); tv_mod.addIncludePath(b.path("src/libsodium/include")); tv_mod.addOptions("build_options", tv_options); + tv_mod.addImport("c", c_mod); const tv_exe = b.addExecutable(.{ .name = "test-vectors", diff --git a/test/vectors/main.zig b/test/vectors/main.zig index 9b14ae05..262f8e82 100644 --- a/test/vectors/main.zig +++ b/test/vectors/main.zig @@ -18,7 +18,7 @@ const kdf = @import("suites/kdf.zig"); const pwhash = @import("suites/pwhash.zig"); const xof = @import("suites/xof.zig"); const kem = @import("suites/kem.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/aead.zig b/test/vectors/suites/aead.zig index 45192727..f5ef2bbc 100644 --- a/test/vectors/suites/aead.zig +++ b/test/vectors/suites/aead.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/box.zig b/test/vectors/suites/box.zig index 5c65af4b..ed482116 100644 --- a/test/vectors/suites/box.zig +++ b/test/vectors/suites/box.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/eddsa.zig b/test/vectors/suites/eddsa.zig index 302175b9..8d19e9fb 100644 --- a/test/vectors/suites/eddsa.zig +++ b/test/vectors/suites/eddsa.zig @@ -1,7 +1,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/hash.zig b/test/vectors/suites/hash.zig index ab8017f7..c7d41de4 100644 --- a/test/vectors/suites/hash.zig +++ b/test/vectors/suites/hash.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/kdf.zig b/test/vectors/suites/kdf.zig index 8f2ae227..f9e51e83 100644 --- a/test/vectors/suites/kdf.zig +++ b/test/vectors/suites/kdf.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/kem.zig b/test/vectors/suites/kem.zig index 13a9df35..0f10d4ae 100644 --- a/test/vectors/suites/kem.zig +++ b/test/vectors/suites/kem.zig @@ -1,7 +1,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/mac.zig b/test/vectors/suites/mac.zig index eac61911..a7156135 100644 --- a/test/vectors/suites/mac.zig +++ b/test/vectors/suites/mac.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/pwhash.zig b/test/vectors/suites/pwhash.zig index 8a37c5f6..af5eb6be 100644 --- a/test/vectors/suites/pwhash.zig +++ b/test/vectors/suites/pwhash.zig @@ -1,7 +1,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/secretbox.zig b/test/vectors/suites/secretbox.zig index 6852cb81..5889540a 100644 --- a/test/vectors/suites/secretbox.zig +++ b/test/vectors/suites/secretbox.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/stream.zig b/test/vectors/suites/stream.zig index 77ff57cd..933e9001 100644 --- a/test/vectors/suites/stream.zig +++ b/test/vectors/suites/stream.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/xdh.zig b/test/vectors/suites/xdh.zig index c57c5d0f..e85fbff1 100644 --- a/test/vectors/suites/xdh.zig +++ b/test/vectors/suites/xdh.zig @@ -1,7 +1,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result; diff --git a/test/vectors/suites/xof.zig b/test/vectors/suites/xof.zig index a3b376eb..fb7338ff 100644 --- a/test/vectors/suites/xof.zig +++ b/test/vectors/suites/xof.zig @@ -2,7 +2,7 @@ const std = @import("std"); const Allocator = std.mem.Allocator; const parse = @import("../parse.zig"); const fetch = @import("../fetch.zig"); -const c = @cImport(@cInclude("sodium.h")); +const c = @import("c"); const Result = parse.Result;