@@ -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