Skip to content

Commit c9b1bb1

Browse files
committed
Added Zig build system
1 parent 8cd4cb6 commit c9b1bb1

File tree

6 files changed

+61
-8
lines changed

6 files changed

+61
-8
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
zig-cache
2+
zig-out

.gitmodules

Lines changed: 0 additions & 6 deletions
This file was deleted.

boringssl

Lines changed: 0 additions & 1 deletion
This file was deleted.

build.zig

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const std = @import("std");
2+
3+
pub fn build(b: *std.Build) !void {
4+
const target = b.standardTargetOptions(.{});
5+
const optimize = b.standardOptimizeOption(.{});
6+
7+
const openssl = b.dependency("openssl", .{});
8+
9+
const lib = b.addStaticLibrary(.{
10+
.name = "uSockets",
11+
.target = target,
12+
.optimize = optimize,
13+
.root_source_file = .{ .path = "src/bsd.c" },
14+
});
15+
16+
lib.defineCMacro("WITH_OPENSSL", null);
17+
18+
lib.addCSourceFiles(&.{
19+
"src/context.c",
20+
"src/loop.c",
21+
"src/quic.c",
22+
"src/socket.c",
23+
"src/udp.c",
24+
"src/crypto/openssl.c",
25+
"src/eventing/epoll_kqueue.c",
26+
"src/eventing/gcd.c",
27+
"src/eventing/libuv.c",
28+
"src/io_uring/io_context.c",
29+
"src/io_uring/io_loop.c",
30+
"src/io_uring/io_socket.c",
31+
}, &.{});
32+
33+
lib.addCSourceFiles(&.{
34+
"src/crypto/sni_tree.cpp",
35+
}, &.{
36+
"-std=c++17",
37+
});
38+
39+
lib.linkLibCpp();
40+
lib.linkLibC();
41+
42+
lib.addIncludePath(.{ .path = "capi" });
43+
lib.addIncludePath(.{ .path = "src" });
44+
45+
lib.linkLibrary(openssl.artifact("ssl"));
46+
lib.installHeader("src/libusockets.h", "libusockets.h");
47+
48+
b.installArtifact(lib);
49+
}

build.zig.zon

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.{
2+
.name = "uSockets",
3+
.version = "0.1.0",
4+
.dependencies = .{
5+
.openssl = .{
6+
.url = "https://github.com/glingy/openssl-zig/archive/refs/tags/3.2.0.tar.gz",
7+
.hash = "1220ca81080e68055343edac34deb514dad1d10e61df46ae71aff6a241b9224b72db",
8+
},
9+
},
10+
}

lsquic

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)