This is BoringSSL, packaged for Zig.
First, update your build.zig.zon:
# Initialize a `zig build` project if you haven't already
zig init
zig fetch --save git+https://github.com/lukaskastern/boringssl.git
You can then import boringssl in your build.zig with:
const boringssl_dependency = b.dependency("boringssl", .{
.target = target,
.optimize = optimize,
});
your_exe.linkLibrary(boringssl_dependency.artifact("bcm"));
your_exe.linkLibrary(boringssl_dependency.artifact("ssl"));
your_exe.linkLibrary(boringssl_dependency.artifact("crypto"));And use the library like this:
const ssl = @cImport({
@cInclude("openssl/ssl.h");
});
const ctx = ssl.EVP_CIPHER_CTX_new();
...
...At the moment only x86_64-windows-gnu is functional. MSVC doesn't work!
GNU doesn't seem an official target by boringssl for windows which is why we need the patch.
The target zig version is 0.16.0