LukasKastern/boringssl
boringssl packaged with Zig
5622da92e1e7bacb5d0785ff5650a5a23b143b84.tar.gz31622af89d7e90af49d2e610d7dcdf36f8e23c7a799ade2cd8954a38aba3d730de1a69891aa68234masterThis 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.15.2
We build boringssl by utilizing the sources.json it provides.
This file is used to generate the build graph. Sadly I haven't found a way to access it directly from the dependency.
Meaning it has to be manually copied into sources.json in this repository.