readme: add additional information
Some checks are pending
CI / build (macos-latest, 0.13.0) (push) Waiting to run
CI / build (true, ubuntu-latest, master) (push) Waiting to run
CI / build (ubuntu-latest, 0.12.1) (push) Waiting to run
CI / build (ubuntu-latest, 0.13.0) (push) Waiting to run
CI / build (windows-latest, 0.13.0) (push) Waiting to run

This commit is contained in:
torque 2024-09-15 12:43:52 -07:00
parent ea53b8380f
commit fbd8c18115
Signed by: torque
SSH Key Fingerprint: SHA256:nCrXefBNo6EbjNSQhv0nXmEg/VuNq3sMF5b8zETw3Tk
2 changed files with 26 additions and 6 deletions

View File

@ -13,6 +13,6 @@
"build.zig.zon", "build.zig.zon",
"LICENSE", "LICENSE",
"LICENSE-LIBRESSL", "LICENSE-LIBRESSL",
"README.md", "readme.md",
}, },
} }

View File

@ -2,22 +2,42 @@
This is [LibreSSL Portable](https://github.com/libressl/portable), packaged for [Zig](https://ziglang.org/). This is [LibreSSL Portable](https://github.com/libressl/portable), packaged for [Zig](https://ziglang.org/).
## Installation ## Status
This project currently builds the three main LibreSSL libraries as static libraries:
- `libcrypto`: core cryptographic routines
- `libssl`: OpenSSL 1.1 compatibility layer
- `libtls`: LibreSSL's new cryptography API
Operating systems and hardware architectures are supported on a best-effort basis. Building for Linux, macOS, and Windows (mingw64) is directly tested by CI.
The command line programs `nc`, `ocspcheck`, and `openssl` are **not** currently built by this build system.
## Usage
First, update your `build.zig.zon`: First, update your `build.zig.zon`:
``` ```sh
# Initialize a `zig build` project if you haven't already # Initialize a `zig build` project if you haven't already
zig init zig init
zig fetch --save <PLACEHOLDER> # replace <refname> with the version you want to use, e.g. 3.9.2
zig fetch --save git+https://github.com/allyourcodebase/libressl#<refname>
``` ```
You can then import `libressl` in your `build.zig` with: You can then use `libressl` in your `build.zig` as follows:
```zig ```zig
const libressl_dependency = b.dependency("libressl", .{ const libressl_dependency = b.dependency("libressl", .{
.target = target, .target = target,
.optimize = optimize, .optimize = optimize,
.@"enable-asm" = true, // enable assembly routines on supported platforms
}); });
your_exe.linkLibrary(libressl_dependency.artifact("tls")); your_exe.linkLibrary(libressl_dependency.artifact("tls")); // or "ssl", or "crypto"
``` ```
## Version Support Matrix
| Refname | LibreSSL Version | Zig `0.12.x` | Zig `0.13.x` | Zig `0.14.0-dev` |
|----------|------------------|--------------|--------------|------------------|
| `3.9.2` | `3.9.2` | ✅ | ✅ | ✅ |