Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 2.22 KB

readme.md

File metadata and controls

61 lines (43 loc) · 2.22 KB

NATS.c

This is the NATS C client library, packaged for Zig.

Status

This library only explicitly supports Linux, macOS, and Windows operating systems. Building for other platforms is currently untested, so your mileage may vary.

Zig Bindings

The following projects provide Zig language bindings to the NATS.c library:

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. 3.9.1
zig fetch --save git+https://github.com/allyourcodebase/nats.c.git#<refname>

You can then import nats_c in your build.zig with:

const nats_c_dep = b.dependency("nats_c", .{
    .target = target,
    .optimize = optimize,
    .@"enable-libsodium" = true, // Use libsodium for optimized implementations of some signing routines
    .@"enable-tls" = true, // enable SSL/TLS support
    .@"force-host-verify" = true, // force hostname verification for TLS connections
    .@"enable-streaming" = true, // build with support for NATS streaming extensions
});
your_exe.linkLibrary(nats_c_dep.artifact("nats_c"));

Dependencies

The NATS.c library has optional dependencies:

These dependencies are currently automatically retrieved and compiled as static libraries by the Zig build system.

Zig Version Support Matrix

Refname NATS.c Version Zig 0.12.x Zig 0.13.x Zig 0.14.0-dev
3.9.1 3.9.1
3.8.2+1 3.8.2