Skip to content

Commit ff4a405

Browse files
committed
Build address sorting
1 parent d0ad091 commit ff4a405

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

build.zig

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ pub fn build(b: *Build) !void {
3939
});
4040
caresmod.addCMacro("_GNU_SOURCE", "1");
4141
caresmod.addCMacro("_HAS_EXCEPTIONS", "0");
42+
caresmod.addCMacro("NOMINMAX", "1");
4243
caresmod.addCMacro("HAVE_CONFIG_H", "1");
4344
caresmod.addIncludePath(upstream.path("third_party/cares"));
4445
caresmod.addIncludePath(cares.path("include"));
@@ -130,8 +131,21 @@ pub fn build(b: *Build) !void {
130131
.files = &file_lists.libz_src,
131132
.flags = &c_flags,
132133
});
134+
zmod.addCMacro("HAVE_UNISTD_H", "1");
133135
libs_step.dependOn(&b.addInstallArtifact(libz, .{}).step);
134136

137+
// Address Sorting
138+
const addrsort = b.createModule(.{ .target = target, .optimize = optimize });
139+
const libaddrsort = b.addLibrary(.{ .name = "addresssorting", .root_module = addrsort });
140+
addrsort.addCSourceFiles(.{
141+
.root = upstream.path("third_party/address_sorting"),
142+
.files = &file_lists.libgrpc_third_party_address_sorting,
143+
.flags = &c_flags,
144+
});
145+
addrsort.addIncludePath(upstream.path("third_party/address_sorting/include"));
146+
libaddrsort.installHeadersDirectory(upstream.path("third_party/address_sorting/include/address_sorting"), "address_sorting", .{});
147+
libs_step.dependOn(&b.addInstallArtifact(libaddrsort, .{}).step);
148+
135149
// Core library
136150
const grpc = b.createModule(.{
137151
.target = target,
@@ -149,7 +163,6 @@ pub fn build(b: *Build) !void {
149163
grpc.addIncludePath(upstream.path(""));
150164
grpc.addIncludePath(upstream.path("src/core/ext/upb-gen"));
151165
grpc.addIncludePath(upstream.path("src/core/ext/upbdefs-gen"));
152-
grpc.addIncludePath(upstream.path("third_party/address_sorting/include"));
153166
grpc.addIncludePath(upstream.path("third_party/xxhash"));
154167
grpc.addIncludePath(upstream.path("third_party/upb"));
155168
grpc.addIncludePath(re2.path(""));
@@ -158,6 +171,7 @@ pub fn build(b: *Build) !void {
158171
grpc.linkLibrary(libupb);
159172
grpc.linkLibrary(libssl);
160173
grpc.linkLibrary(libz);
174+
grpc.linkLibrary(libaddrsort);
161175
if (target.result.os.tag.isDarwin()) {
162176
grpc.linkFramework("CoreFoundation", .{});
163177
grpc.addCMacro("OSATOMIC_USE_INLINED", "1");

0 commit comments

Comments
 (0)