Unfortunately, this has irreconcilable incompatibilities with previous versions of zig, due to the build.zig.zon schema changes. Support for older versions has been dropped.
1.9 KiB
1.9 KiB
LibreSSL
This is LibreSSL Portable, packaged for Zig.
Status
This project currently builds the three main LibreSSL libraries as static libraries:
libcrypto
: core cryptographic routineslibssl
: OpenSSL 1.1 compatibility layerlibtls
: LibreSSL's new cryptography API
Operating systems and hardware architectures are supported on a best-effort basis, and patches to add additional OS/arch support are welcome. Building for Linux (x86_64
), macOS (aarch64
), and Windows (x86_64
via mingw64
) is directly tested by CI.
The command-line programs nc
, ocspcheck
, and openssl
are not built by default, and building them when targeting Windows is not supported. Building the command-line programs may be enabled by specifing the -Dbuild-apps
option to zig build
Usage
First, update your build.zig.zon
:
# Initialize a `zig build` project if you haven't already
zig init
# replace <refname> with the version you want to use, e.g. 4.0.0
zig fetch --save git+https://github.com/allyourcodebase/libressl#<refname>
You can then use libressl
in your build.zig
as follows:
const libressl_dependency = b.dependency("libressl", .{
.target = target,
.optimize = optimize,
.@"enable-asm" = true, // enable assembly routines on supported platforms
});
your_exe.linkLibrary(libressl_dependency.artifact("tls")); // or "ssl", or "crypto"
Zig Version Support Matrix
Refname | LibreSSL Version | Zig 0.12.x |
Zig 0.13.x |
Zig 0.14.x |
---|---|---|---|---|
3.9.2+1 |
3.9.2 |
✅ | ✅ | ❌ |
4.0.0+1 |
4.0.0 |
✅ | ✅ | ❌ |
4.0.0+2 |
4.0.0 |
❌ | ❌ | ✅ |