xref: /aosp_15_r20/external/grpc-grpc/Makefile (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# GRPC global makefile
2# This currently builds C and C++ code.
3# This file has been automatically generated from a template file.
4# Please look at the templates directory instead.
5# This file can be regenerated from the template by running
6# tools/buildgen/generate_projects.sh
7
8# Copyright 2015 gRPC authors.
9#
10# Licensed under the Apache License, Version 2.0 (the "License");
11# you may not use this file except in compliance with the License.
12# You may obtain a copy of the License at
13#
14#     http://www.apache.org/licenses/LICENSE-2.0
15#
16# Unless required by applicable law or agreed to in writing, software
17# distributed under the License is distributed on an "AS IS" BASIS,
18# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19# See the License for the specific language governing permissions and
20# limitations under the License.
21
22
23
24comma := ,
25
26
27# Basic platform detection
28HOST_SYSTEM = $(shell uname | cut -f 1 -d_)
29SYSTEM ?= $(HOST_SYSTEM)
30ifeq ($(SYSTEM),MSYS)
31SYSTEM = MINGW32
32endif
33ifeq ($(SYSTEM),MINGW64)
34SYSTEM = MINGW32
35endif
36
37MAKEFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
38ifndef BUILDDIR
39BUILDDIR_ABSOLUTE = $(patsubst %/,%,$(dir $(MAKEFILE_PATH)))
40else
41BUILDDIR_ABSOLUTE = $(abspath $(BUILDDIR))
42endif
43
44HAS_GCC = $(shell which gcc > /dev/null 2> /dev/null && echo true || echo false)
45HAS_CC = $(shell which cc > /dev/null 2> /dev/null && echo true || echo false)
46HAS_CLANG = $(shell which clang > /dev/null 2> /dev/null && echo true || echo false)
47
48ifeq ($(HAS_CC),true)
49DEFAULT_CC = cc
50DEFAULT_CXX = c++
51else
52ifeq ($(HAS_GCC),true)
53DEFAULT_CC = gcc
54DEFAULT_CXX = g++
55else
56ifeq ($(HAS_CLANG),true)
57DEFAULT_CC = clang
58DEFAULT_CXX = clang++
59else
60DEFAULT_CC = no_c_compiler
61DEFAULT_CXX = no_c++_compiler
62endif
63endif
64endif
65
66
67BINDIR = $(BUILDDIR_ABSOLUTE)/bins
68OBJDIR = $(BUILDDIR_ABSOLUTE)/objs
69LIBDIR = $(BUILDDIR_ABSOLUTE)/libs
70GENDIR = $(BUILDDIR_ABSOLUTE)/gens
71
72# Configurations (as defined under "configs" section in build_handwritten.yaml)
73
74VALID_CONFIG_asan = 1
75REQUIRE_CUSTOM_LIBRARIES_asan = 1
76CC_asan = clang
77CXX_asan = clang++
78LD_asan = clang++
79LDXX_asan = clang++
80CPPFLAGS_asan = -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
81LDFLAGS_asan = -fsanitize=address
82
83VALID_CONFIG_asan-noleaks = 1
84REQUIRE_CUSTOM_LIBRARIES_asan-noleaks = 1
85CC_asan-noleaks = clang
86CXX_asan-noleaks = clang++
87LD_asan-noleaks = clang++
88LDXX_asan-noleaks = clang++
89CPPFLAGS_asan-noleaks = -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
90LDFLAGS_asan-noleaks = fsanitize=address
91
92VALID_CONFIG_asan-trace-cmp = 1
93REQUIRE_CUSTOM_LIBRARIES_asan-trace-cmp = 1
94CC_asan-trace-cmp = clang
95CXX_asan-trace-cmp = clang++
96LD_asan-trace-cmp = clang++
97LDXX_asan-trace-cmp = clang++
98CPPFLAGS_asan-trace-cmp = -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize-coverage=trace-cmp -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
99LDFLAGS_asan-trace-cmp = -fsanitize=address
100
101VALID_CONFIG_c++-compat = 1
102CC_c++-compat = $(DEFAULT_CC)
103CXX_c++-compat = $(DEFAULT_CXX)
104LD_c++-compat = $(DEFAULT_CC)
105LDXX_c++-compat = $(DEFAULT_CXX)
106CFLAGS_c++-compat = -Wc++-compat
107CPPFLAGS_c++-compat = -O0
108DEFINES_c++-compat = _DEBUG DEBUG
109
110VALID_CONFIG_dbg = 1
111CC_dbg = $(DEFAULT_CC)
112CXX_dbg = $(DEFAULT_CXX)
113LD_dbg = $(DEFAULT_CC)
114LDXX_dbg = $(DEFAULT_CXX)
115CPPFLAGS_dbg = -O0
116DEFINES_dbg = _DEBUG DEBUG
117
118VALID_CONFIG_gcov = 1
119CC_gcov = gcc
120CXX_gcov = g++
121LD_gcov = gcc
122LDXX_gcov = g++
123CPPFLAGS_gcov = -O0 -fprofile-arcs -ftest-coverage -Wno-return-type
124LDFLAGS_gcov = -fprofile-arcs -ftest-coverage -rdynamic -lstdc++
125DEFINES_gcov = _DEBUG DEBUG GPR_GCOV
126
127VALID_CONFIG_helgrind = 1
128CC_helgrind = $(DEFAULT_CC)
129CXX_helgrind = $(DEFAULT_CXX)
130LD_helgrind = $(DEFAULT_CC)
131LDXX_helgrind = $(DEFAULT_CXX)
132CPPFLAGS_helgrind = -O0
133LDFLAGS_helgrind = -rdynamic
134DEFINES_helgrind = _DEBUG DEBUG
135
136VALID_CONFIG_lto = 1
137CC_lto = $(DEFAULT_CC)
138CXX_lto = $(DEFAULT_CXX)
139LD_lto = $(DEFAULT_CC)
140LDXX_lto = $(DEFAULT_CXX)
141CPPFLAGS_lto = -O2
142DEFINES_lto = NDEBUG
143
144VALID_CONFIG_memcheck = 1
145CC_memcheck = $(DEFAULT_CC)
146CXX_memcheck = $(DEFAULT_CXX)
147LD_memcheck = $(DEFAULT_CC)
148LDXX_memcheck = $(DEFAULT_CXX)
149CPPFLAGS_memcheck = -O0
150LDFLAGS_memcheck = -rdynamic
151DEFINES_memcheck = _DEBUG DEBUG
152
153VALID_CONFIG_msan = 1
154REQUIRE_CUSTOM_LIBRARIES_msan = 1
155CC_msan = clang
156CXX_msan = clang++
157LD_msan = clang++
158LDXX_msan = clang++
159CPPFLAGS_msan = -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=memory -fsanitize-memory-track-origins -fsanitize-memory-use-after-dtor -fno-omit-frame-pointer -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument -fPIE -pie -DGPR_NO_DIRECT_SYSCALLS
160LDFLAGS_msan = -stdlib=libc++ -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
161DEFINES_msan = NDEBUG
162
163VALID_CONFIG_noexcept = 1
164CC_noexcept = $(DEFAULT_CC)
165CXX_noexcept = $(DEFAULT_CXX)
166LD_noexcept = $(DEFAULT_CC)
167LDXX_noexcept = $(DEFAULT_CXX)
168CXXFLAGS_noexcept = -fno-exceptions
169CPPFLAGS_noexcept = -O2 -Wframe-larger-than=16384
170DEFINES_noexcept = NDEBUG
171
172VALID_CONFIG_opt = 1
173CC_opt = $(DEFAULT_CC)
174CXX_opt = $(DEFAULT_CXX)
175LD_opt = $(DEFAULT_CC)
176LDXX_opt = $(DEFAULT_CXX)
177CPPFLAGS_opt = -O2 -Wframe-larger-than=16384
178DEFINES_opt = NDEBUG
179
180VALID_CONFIG_tsan = 1
181REQUIRE_CUSTOM_LIBRARIES_tsan = 1
182CC_tsan = clang
183CXX_tsan = clang++
184LD_tsan = clang++
185LDXX_tsan = clang++
186CPPFLAGS_tsan = -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
187LDFLAGS_tsan = -fsanitize=thread
188DEFINES_tsan = GRPC_TSAN
189
190VALID_CONFIG_ubsan = 1
191REQUIRE_CUSTOM_LIBRARIES_ubsan = 1
192CC_ubsan = clang
193CXX_ubsan = clang++
194LD_ubsan = clang++
195LDXX_ubsan = clang++
196CPPFLAGS_ubsan = -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=undefined -fno-omit-frame-pointer -Wno-unused-command-line-argument -Wvarargs
197LDFLAGS_ubsan = -stdlib=libc++ -fsanitize=undefined,unsigned-integer-overflow
198DEFINES_ubsan = NDEBUG GRPC_UBSAN
199
200
201
202# General settings.
203# You may want to change these depending on your system.
204
205prefix ?= /usr/local
206
207DTRACE ?= dtrace
208CONFIG ?= opt
209# Doing X ?= Y is the same as:
210# ifeq ($(origin X), undefined)
211#  X = Y
212# endif
213# but some variables, such as CC, CXX, LD or AR, have defaults.
214# So instead of using ?= on them, we need to check their origin.
215# See:
216#  https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
217#  https://www.gnu.org/software/make/manual/html_node/Flavors.html#index-_003f_003d
218#  https://www.gnu.org/software/make/manual/html_node/Origin-Function.html
219ifeq ($(origin CC), default)
220CC = $(CC_$(CONFIG))
221endif
222ifeq ($(origin CXX), default)
223CXX = $(CXX_$(CONFIG))
224endif
225ifeq ($(origin LD), default)
226LD = $(LD_$(CONFIG))
227endif
228LDXX ?= $(LDXX_$(CONFIG))
229ARFLAGS ?= rcs
230ifeq ($(SYSTEM),Linux)
231ifeq ($(origin AR), default)
232AR = ar
233endif
234STRIP ?= strip --strip-unneeded
235else
236ifeq ($(SYSTEM),Darwin)
237ifeq ($(origin AR), default)
238AR = libtool
239ARFLAGS = -no_warning_for_no_symbols -o
240endif
241STRIP ?= strip -x
242else
243ifeq ($(SYSTEM),MINGW32)
244ifeq ($(origin AR), default)
245AR = ar
246endif
247STRIP ?= strip --strip-unneeded
248else
249ifeq ($(origin AR), default)
250AR = ar
251endif
252STRIP ?= strip
253endif
254endif
255endif
256INSTALL ?= install
257RM ?= rm -f
258PKG_CONFIG ?= pkg-config
259RANLIB ?= ranlib
260ifeq ($(SYSTEM),Darwin)
261APPLE_RANLIB = $(shell [[ "`$(RANLIB) -V 2>/dev/null`" == "Apple Inc."* ]]; echo $$?)
262ifeq ($(APPLE_RANLIB),0)
263RANLIBFLAGS = -no_warning_for_no_symbols
264endif
265endif
266
267ifndef VALID_CONFIG_$(CONFIG)
268$(error Invalid CONFIG value '$(CONFIG)')
269endif
270
271# The HOST compiler settings are used to compile the protoc plugins.
272# In most cases, you won't have to change anything, but if you are
273# cross-compiling, you can override these variables from GNU make's
274# command line: make CC=cross-gcc HOST_CC=gcc
275
276HOST_CC ?= $(CC)
277HOST_CXX ?= $(CXX)
278HOST_LD ?= $(LD)
279HOST_LDXX ?= $(LDXX)
280
281CFLAGS += -std=c11
282CXXFLAGS += -std=c++14
283ifeq ($(SYSTEM),Darwin)
284CXXFLAGS += -stdlib=libc++
285LDFLAGS += -framework CoreFoundation
286endif
287CFLAGS += -g
288CPPFLAGS += -g -Wall -Wextra -DOSATOMIC_USE_INLINED=1 -Ithird_party/abseil-cpp -Ithird_party/re2 -Ithird_party/upb -Isrc/core/ext/upb-gen -Isrc/core/ext/upbdefs-gen -Ithird_party/utf8_range -Ithird_party/xxhash -Ithird_party/cares/cares/include -Ithird_party/cares -Ithird_party/cares/cares -Ithird_party/address_sorting/include
289COREFLAGS += -fno-exceptions
290LDFLAGS += -g
291
292CPPFLAGS += $(CPPFLAGS_$(CONFIG))
293CFLAGS += $(CFLAGS_$(CONFIG))
294CXXFLAGS += $(CXXFLAGS_$(CONFIG))
295DEFINES += $(DEFINES_$(CONFIG)) INSTALL_PREFIX=\"$(prefix)\"
296LDFLAGS += $(LDFLAGS_$(CONFIG))
297
298ifneq ($(SYSTEM),MINGW32)
299PIC_CPPFLAGS = -fPIC
300CPPFLAGS += -fPIC
301LDFLAGS += -fPIC
302endif
303
304INCLUDES = . include $(GENDIR)
305LDFLAGS += -Llibs/$(CONFIG)
306
307ifeq ($(SYSTEM),Darwin)
308ifneq ($(wildcard /usr/local/ssl/include),)
309INCLUDES += /usr/local/ssl/include
310endif
311ifneq ($(wildcard /opt/local/include),)
312INCLUDES += /opt/local/include
313endif
314ifneq ($(wildcard /usr/local/include),)
315INCLUDES += /usr/local/include
316endif
317LIBS = m z
318ifneq ($(wildcard /usr/local/ssl/lib),)
319LDFLAGS += -L/usr/local/ssl/lib
320endif
321ifneq ($(wildcard /opt/local/lib),)
322LDFLAGS += -L/opt/local/lib
323endif
324ifneq ($(wildcard /usr/local/lib),)
325LDFLAGS += -L/usr/local/lib
326endif
327endif
328
329ifeq ($(SYSTEM),Linux)
330LIBS = dl rt m pthread
331LDFLAGS += -pthread
332endif
333
334ifeq ($(SYSTEM),MINGW32)
335LIBS = m pthread ws2_32 crypt32 iphlpapi dbghelp bcrypt
336LDFLAGS += -pthread
337endif
338
339#
340# The steps for cross-compiling are as follows:
341# First, clone and make install of grpc using the native compilers for the host.
342# Also, install protoc (e.g., from a package like apt-get)
343# Then clone a fresh grpc for the actual cross-compiled build
344# Set the environment variable GRPC_CROSS_COMPILE to true
345# Set CC, CXX, LD, LDXX, AR, and STRIP to the cross-compiling binaries
346# Also set PROTOBUF_CONFIG_OPTS to indicate cross-compilation to protobuf (e.g.,
347#  PROTOBUF_CONFIG_OPTS="--host=arm-linux --with-protoc=/usr/local/bin/protoc" )
348# Set HAS_PKG_CONFIG=false
349# Make sure that you enable building shared libraries and set your prefix to
350# something useful like /usr/local/cross
351# You will also need to set GRPC_CROSS_LDOPTS and GRPC_CROSS_AROPTS to hold
352# additional required arguments for LD and AR (examples below)
353# Then you can do a make from the cross-compiling fresh clone!
354#
355ifeq ($(GRPC_CROSS_COMPILE),true)
356LDFLAGS += $(GRPC_CROSS_LDOPTS) # e.g. -L/usr/local/lib -L/usr/local/cross/lib
357ARFLAGS += $(GRPC_CROSS_AROPTS) # e.g., rc --target=elf32-little
358USE_BUILT_PROTOC = false
359endif
360
361# V=1 can be used to print commands run by make
362ifeq ($(V),1)
363E = @:
364Q =
365else
366E = @echo
367Q = @
368endif
369
370CORE_VERSION = 40.0.0
371CPP_VERSION = 1.63.1
372
373CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
374CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
375
376LDFLAGS += $(ARCH_FLAGS)
377LDLIBS += $(addprefix -l, $(LIBS))
378LDLIBSXX += $(addprefix -l, $(LIBSXX))
379
380
381CFLAGS += $(EXTRA_CFLAGS)
382CXXFLAGS += $(EXTRA_CXXFLAGS)
383CPPFLAGS += $(EXTRA_CPPFLAGS)
384LDFLAGS += $(EXTRA_LDFLAGS)
385DEFINES += $(EXTRA_DEFINES)
386LDLIBS += $(EXTRA_LDLIBS)
387
388HOST_CPPFLAGS += $(CPPFLAGS)
389HOST_CFLAGS += $(CFLAGS)
390HOST_CXXFLAGS += $(CXXFLAGS)
391HOST_LDFLAGS += $(LDFLAGS)
392HOST_LDLIBS += $(LDLIBS)
393
394# These are automatically computed variables.
395# There shouldn't be any need to change anything from now on.
396
397-include cache.mk
398
399CACHE_MK =
400
401ifeq ($(SYSTEM),MINGW32)
402EXECUTABLE_SUFFIX = .exe
403SHARED_EXT_CORE = dll
404SHARED_EXT_CPP = dll
405
406SHARED_PREFIX =
407SHARED_VERSION_CORE = -40
408SHARED_VERSION_CPP = -1
409else ifeq ($(SYSTEM),Darwin)
410EXECUTABLE_SUFFIX =
411SHARED_EXT_CORE = dylib
412SHARED_EXT_CPP = dylib
413SHARED_PREFIX = lib
414SHARED_VERSION_CORE =
415SHARED_VERSION_CPP =
416else
417EXECUTABLE_SUFFIX =
418SHARED_EXT_CORE = so.$(CORE_VERSION)
419SHARED_EXT_CPP = so.$(CPP_VERSION)
420SHARED_PREFIX = lib
421SHARED_VERSION_CORE =
422SHARED_VERSION_CPP =
423endif
424
425ifeq ($(wildcard .git),)
426IS_GIT_FOLDER = false
427else
428IS_GIT_FOLDER = true
429endif
430
431# Setup zlib dependency
432
433ifeq ($(wildcard third_party/zlib/zlib.h),)
434HAS_EMBEDDED_ZLIB = false
435else
436HAS_EMBEDDED_ZLIB = true
437endif
438
439# for zlib, we support building both from submodule
440# and from system-installed zlib. In some builds,
441# embedding zlib is not desirable.
442# By default we use the system zlib (to match legacy behavior)
443EMBED_ZLIB ?= false
444
445ifeq ($(EMBED_ZLIB),true)
446ZLIB_DEP = $(LIBDIR)/$(CONFIG)/libz.a
447ZLIB_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libz.a
448ZLIB_MERGE_OBJS = $(LIBZ_OBJS)
449CPPFLAGS += -Ithird_party/zlib
450else
451LIBS += z
452endif
453
454# Setup boringssl dependency
455
456ifeq ($(wildcard third_party/boringssl-with-bazel/src/include/openssl/ssl.h),)
457HAS_EMBEDDED_OPENSSL = false
458else
459HAS_EMBEDDED_OPENSSL = true
460endif
461
462ifeq ($(HAS_EMBEDDED_OPENSSL),true)
463EMBED_OPENSSL ?= true
464else
465# only support building boringssl from submodule
466DEP_MISSING += openssl
467EMBED_OPENSSL ?= broken
468endif
469
470ifeq ($(EMBED_OPENSSL),true)
471OPENSSL_DEP += $(LIBDIR)/$(CONFIG)/libboringssl.a
472OPENSSL_MERGE_LIBS += $(LIBDIR)/$(CONFIG)/libboringssl.a
473OPENSSL_MERGE_OBJS += $(LIBBORINGSSL_OBJS)
474# need to prefix these to ensure overriding system libraries
475CPPFLAGS := -Ithird_party/boringssl-with-bazel/src/include $(CPPFLAGS)
476ifeq ($(DISABLE_ALPN),true)
477CPPFLAGS += -DTSI_OPENSSL_ALPN_SUPPORT=0
478LIBS_SECURE = $(OPENSSL_LIBS)
479endif # DISABLE_ALPN
480endif # EMBED_OPENSSL
481
482LDLIBS_SECURE += $(addprefix -l, $(LIBS_SECURE))
483
484ifeq ($(MAKECMDGOALS),clean)
485NO_DEPS = true
486endif
487
488ifeq ($(DEP_MISSING),)
489all: static shared
490
491dep_error:
492	@echo "You shouldn't see this message - all of your dependencies are correct."
493else
494all: dep_error git_update stop
495
496dep_error:
497	@echo
498	@echo "DEPENDENCY ERROR"
499	@echo
500	@echo "You are missing system dependencies that are essential to build grpc,"
501	@echo "and the third_party directory doesn't have them:"
502	@echo
503	@echo "  $(DEP_MISSING)"
504	@echo
505	@echo "Installing the development packages for your system will solve"
506	@echo "this issue. Please consult INSTALL to get more information."
507	@echo
508	@echo "If you need information about why these tests failed, run:"
509	@echo
510	@echo "  make run_dep_checks"
511	@echo
512endif
513
514git_update:
515ifeq ($(IS_GIT_FOLDER),true)
516	@echo "Additionally, since you are in a git clone, you can download the"
517	@echo "missing dependencies in third_party by running the following command:"
518	@echo
519	@echo "  git submodule update --init"
520	@echo
521endif
522
523openssl_dep_error: openssl_dep_message git_update stop
524
525openssl_dep_message:
526	@echo
527	@echo "DEPENDENCY ERROR"
528	@echo
529	@echo "The target you are trying to run requires an OpenSSL implementation."
530	@echo "Your system doesn't have one, and either the third_party directory"
531	@echo "doesn't have it, or your compiler can't build BoringSSL."
532	@echo
533	@echo "Please consult BUILDING.md to get more information."
534	@echo
535	@echo "If you need information about why these tests failed, run:"
536	@echo
537	@echo "  make run_dep_checks"
538	@echo
539
540systemtap_dep_error:
541	@echo
542	@echo "DEPENDENCY ERROR"
543	@echo
544	@echo "Under the '$(CONFIG)' configuration, the target you are trying "
545	@echo "to build requires systemtap 2.7+ (on Linux) or dtrace (on other "
546	@echo "platforms such as Solaris and *BSD). "
547	@echo
548	@echo "Please consult BUILDING.md to get more information."
549	@echo
550
551install_not_supported_message:
552	@echo
553	@echo "Installing via 'make' is no longer supported. Use cmake or bazel instead."
554	@echo
555	@echo "Please consult BUILDING.md to get more information."
556	@echo
557
558install_not_supported_error: install_not_supported_message stop
559
560stop:
561	@false
562
563run_dep_checks:
564	@echo "run_dep_checks target has been deprecated."
565
566static: static_c static_cxx
567
568static_c: cache.mk  $(LIBDIR)/$(CONFIG)/libgrpc.a
569
570static_cxx: cache.mk
571
572shared: shared_c shared_cxx
573
574shared_c: cache.mk $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)
575shared_cxx: cache.mk
576
577privatelibs: privatelibs_c privatelibs_cxx
578
579privatelibs_c:  $(LIBDIR)/$(CONFIG)/libcares.a $(LIBDIR)/$(CONFIG)/libz.a
580ifeq ($(EMBED_OPENSSL),true)
581privatelibs_cxx:
582else
583privatelibs_cxx:
584endif
585
586
587strip: strip-static strip-shared
588
589strip-static: strip-static_c strip-static_cxx
590
591strip-shared: strip-shared_c strip-shared_cxx
592
593strip-static_c: static_c
594ifeq ($(CONFIG),opt)
595	$(E) "[STRIP]   Stripping libgrpc.a"
596	$(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/libgrpc.a
597endif
598
599strip-static_cxx: static_cxx
600ifeq ($(CONFIG),opt)
601endif
602
603strip-shared_c: shared_c
604ifeq ($(CONFIG),opt)
605	$(E) "[STRIP]   Stripping $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)"
606	$(Q) $(STRIP) $(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE)
607endif
608
609strip-shared_cxx: shared_cxx
610ifeq ($(CONFIG),opt)
611endif
612
613cache.mk::
614	$(E) "[MAKE]    Generating $@"
615	$(Q) echo "$(CACHE_MK)" | tr , '\n' >$@
616
617$(OBJDIR)/$(CONFIG)/%.o : %.c
618	$(E) "[C]       Compiling $<"
619	$(Q) mkdir -p `dirname $@`
620	$(Q) $(CC) $(CPPFLAGS) $(CFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
621
622$(OBJDIR)/$(CONFIG)/%.o : $(GENDIR)/%.pb.cc
623	$(E) "[CXX]     Compiling $<"
624	$(Q) mkdir -p `dirname $@`
625	$(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
626
627$(OBJDIR)/$(CONFIG)/src/compiler/%.o : src/compiler/%.cc
628	$(E) "[HOSTCXX] Compiling $<"
629	$(Q) mkdir -p `dirname $@`
630	$(Q) $(HOST_CXX) $(HOST_CXXFLAGS) $(HOST_CPPFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
631
632$(OBJDIR)/$(CONFIG)/src/core/%.o : src/core/%.cc
633	$(E) "[CXX]     Compiling $<"
634	$(Q) mkdir -p `dirname $@`
635	$(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(COREFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
636
637$(OBJDIR)/$(CONFIG)/%.o : %.cc
638	$(E) "[CXX]     Compiling $<"
639	$(Q) mkdir -p `dirname $@`
640	$(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
641
642$(OBJDIR)/$(CONFIG)/%.o : %.cpp
643	$(E) "[CXX]     Compiling $<"
644	$(Q) mkdir -p `dirname $@`
645	$(Q) $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MMD -MF $(addsuffix .dep, $(basename $@)) -c -o $@ $<
646
647install: install_not_supported_error
648
649install_c: install_not_supported_error
650
651install_cxx: install_not_supported_error
652
653install-static: install_not_supported_error
654
655install-certs: install_not_supported_error
656
657clean:
658	$(E) "[CLEAN]   Cleaning build directories."
659	$(Q) $(RM) -rf $(OBJDIR) $(LIBDIR) $(BINDIR) $(GENDIR) cache.mk
660
661
662# The various libraries
663
664
665# start of build recipe for library "grpc" (generated by makelib(lib) template function)
666# deps: ['cares', 'libssl', 'z']
667# transitive_deps: ['cares', 'libssl', 'z']
668LIBGRPC_SRC = \
669    src/core/client_channel/backup_poller.cc \
670    src/core/client_channel/client_channel_channelz.cc \
671    src/core/client_channel/client_channel_factory.cc \
672    src/core/client_channel/client_channel_filter.cc \
673    src/core/client_channel/client_channel_plugin.cc \
674    src/core/client_channel/client_channel_service_config.cc \
675    src/core/client_channel/config_selector.cc \
676    src/core/client_channel/dynamic_filters.cc \
677    src/core/client_channel/global_subchannel_pool.cc \
678    src/core/client_channel/http_proxy_mapper.cc \
679    src/core/client_channel/local_subchannel_pool.cc \
680    src/core/client_channel/retry_filter.cc \
681    src/core/client_channel/retry_filter_legacy_call_data.cc \
682    src/core/client_channel/retry_service_config.cc \
683    src/core/client_channel/retry_throttle.cc \
684    src/core/client_channel/subchannel.cc \
685    src/core/client_channel/subchannel_pool_interface.cc \
686    src/core/client_channel/subchannel_stream_client.cc \
687    src/core/ext/filters/backend_metrics/backend_metric_filter.cc \
688    src/core/ext/filters/census/grpc_context.cc \
689    src/core/ext/filters/channel_idle/idle_filter_state.cc \
690    src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
691    src/core/ext/filters/deadline/deadline_filter.cc \
692    src/core/ext/filters/fault_injection/fault_injection_filter.cc \
693    src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
694    src/core/ext/filters/http/client/http_client_filter.cc \
695    src/core/ext/filters/http/client_authority_filter.cc \
696    src/core/ext/filters/http/http_filters_plugin.cc \
697    src/core/ext/filters/http/message_compress/compression_filter.cc \
698    src/core/ext/filters/http/server/http_server_filter.cc \
699    src/core/ext/filters/message_size/message_size_filter.cc \
700    src/core/ext/filters/rbac/rbac_filter.cc \
701    src/core/ext/filters/rbac/rbac_service_config_parser.cc \
702    src/core/ext/filters/server_config_selector/server_config_selector_filter.cc \
703    src/core/ext/filters/stateful_session/stateful_session_filter.cc \
704    src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc \
705    src/core/ext/gcp/metadata_query.cc \
706    src/core/ext/transport/chttp2/alpn/alpn.cc \
707    src/core/ext/transport/chttp2/client/chttp2_connector.cc \
708    src/core/ext/transport/chttp2/server/chttp2_server.cc \
709    src/core/ext/transport/chttp2/transport/bin_decoder.cc \
710    src/core/ext/transport/chttp2/transport/bin_encoder.cc \
711    src/core/ext/transport/chttp2/transport/chttp2_transport.cc \
712    src/core/ext/transport/chttp2/transport/decode_huff.cc \
713    src/core/ext/transport/chttp2/transport/flow_control.cc \
714    src/core/ext/transport/chttp2/transport/frame.cc \
715    src/core/ext/transport/chttp2/transport/frame_data.cc \
716    src/core/ext/transport/chttp2/transport/frame_goaway.cc \
717    src/core/ext/transport/chttp2/transport/frame_ping.cc \
718    src/core/ext/transport/chttp2/transport/frame_rst_stream.cc \
719    src/core/ext/transport/chttp2/transport/frame_settings.cc \
720    src/core/ext/transport/chttp2/transport/frame_window_update.cc \
721    src/core/ext/transport/chttp2/transport/hpack_encoder.cc \
722    src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc \
723    src/core/ext/transport/chttp2/transport/hpack_parse_result.cc \
724    src/core/ext/transport/chttp2/transport/hpack_parser.cc \
725    src/core/ext/transport/chttp2/transport/hpack_parser_table.cc \
726    src/core/ext/transport/chttp2/transport/http2_settings.cc \
727    src/core/ext/transport/chttp2/transport/http_trace.cc \
728    src/core/ext/transport/chttp2/transport/huffsyms.cc \
729    src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc \
730    src/core/ext/transport/chttp2/transport/parsing.cc \
731    src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc \
732    src/core/ext/transport/chttp2/transport/ping_callbacks.cc \
733    src/core/ext/transport/chttp2/transport/ping_rate_policy.cc \
734    src/core/ext/transport/chttp2/transport/stream_lists.cc \
735    src/core/ext/transport/chttp2/transport/varint.cc \
736    src/core/ext/transport/chttp2/transport/write_size_policy.cc \
737    src/core/ext/transport/chttp2/transport/writing.cc \
738    src/core/ext/transport/inproc/inproc_plugin.cc \
739    src/core/ext/transport/inproc/inproc_transport.cc \
740    src/core/ext/transport/inproc/legacy_inproc_transport.cc \
741    src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c \
742    src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c \
743    src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c \
744    src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c \
745    src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c \
746    src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c \
747    src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c \
748    src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c \
749    src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c \
750    src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c \
751    src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c \
752    src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c \
753    src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c \
754    src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c \
755    src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c \
756    src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c \
757    src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c \
758    src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c \
759    src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c \
760    src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c \
761    src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c \
762    src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c \
763    src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c \
764    src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c \
765    src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c \
766    src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c \
767    src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c \
768    src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c \
769    src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c \
770    src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c \
771    src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c \
772    src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c \
773    src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c \
774    src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c \
775    src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c \
776    src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c \
777    src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c \
778    src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c \
779    src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c \
780    src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c \
781    src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c \
782    src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c \
783    src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c \
784    src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c \
785    src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c \
786    src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c \
787    src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c \
788    src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c \
789    src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c \
790    src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c \
791    src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c \
792    src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c \
793    src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c \
794    src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c \
795    src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c \
796    src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c \
797    src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c \
798    src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c \
799    src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c \
800    src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c \
801    src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c \
802    src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c \
803    src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c \
804    src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c \
805    src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c \
806    src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c \
807    src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c \
808    src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c \
809    src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c \
810    src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c \
811    src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c \
812    src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c \
813    src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c \
814    src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c \
815    src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c \
816    src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c \
817    src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c \
818    src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c \
819    src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c \
820    src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c \
821    src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c \
822    src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c \
823    src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c \
824    src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c \
825    src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c \
826    src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c \
827    src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c \
828    src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c \
829    src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c \
830    src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c \
831    src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c \
832    src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c \
833    src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c \
834    src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c \
835    src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c \
836    src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c \
837    src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c \
838    src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c \
839    src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c \
840    src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c \
841    src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c \
842    src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c \
843    src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c \
844    src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c \
845    src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c \
846    src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c \
847    src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c \
848    src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c \
849    src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c \
850    src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c \
851    src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c \
852    src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c \
853    src/core/ext/upb-gen/google/api/annotations.upb_minitable.c \
854    src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c \
855    src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c \
856    src/core/ext/upb-gen/google/api/http.upb_minitable.c \
857    src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c \
858    src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c \
859    src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c \
860    src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c \
861    src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c \
862    src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c \
863    src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c \
864    src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c \
865    src/core/ext/upb-gen/google/rpc/status.upb_minitable.c \
866    src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c \
867    src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c \
868    src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c \
869    src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c \
870    src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c \
871    src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c \
872    src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c \
873    src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c \
874    src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c \
875    src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c \
876    src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c \
877    src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c \
878    src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c \
879    src/core/ext/upb-gen/validate/validate.upb_minitable.c \
880    src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c \
881    src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c \
882    src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c \
883    src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c \
884    src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c \
885    src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c \
886    src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c \
887    src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c \
888    src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c \
889    src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c \
890    src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c \
891    src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c \
892    src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c \
893    src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c \
894    src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c \
895    src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c \
896    src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c \
897    src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c \
898    src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c \
899    src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c \
900    src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c \
901    src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c \
902    src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c \
903    src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c \
904    src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c \
905    src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c \
906    src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.c \
907    src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.c \
908    src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.c \
909    src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.c \
910    src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.c \
911    src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.c \
912    src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.c \
913    src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.c \
914    src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.c \
915    src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.c \
916    src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.c \
917    src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.c \
918    src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.c \
919    src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c \
920    src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c \
921    src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.c \
922    src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c \
923    src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.c \
924    src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.c \
925    src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c \
926    src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c \
927    src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.c \
928    src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c \
929    src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.c \
930    src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.c \
931    src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.c \
932    src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.c \
933    src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c \
934    src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.c \
935    src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.c \
936    src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.c \
937    src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c \
938    src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c \
939    src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.c \
940    src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.c \
941    src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c \
942    src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.c \
943    src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.c \
944    src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c \
945    src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.c \
946    src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.c \
947    src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c \
948    src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.c \
949    src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c \
950    src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.c \
951    src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c \
952    src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c \
953    src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c \
954    src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c \
955    src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c \
956    src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c \
957    src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.c \
958    src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c \
959    src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.c \
960    src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.c \
961    src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.c \
962    src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.c \
963    src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.c \
964    src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c \
965    src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.c \
966    src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.c \
967    src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.c \
968    src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.c \
969    src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c \
970    src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.c \
971    src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c \
972    src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c \
973    src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c \
974    src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c \
975    src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.c \
976    src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c \
977    src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c \
978    src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c \
979    src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c \
980    src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c \
981    src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c \
982    src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c \
983    src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c \
984    src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c \
985    src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.c \
986    src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.c \
987    src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.c \
988    src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.c \
989    src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c \
990    src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.c \
991    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.c \
992    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.c \
993    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.c \
994    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.c \
995    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.c \
996    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.c \
997    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.c \
998    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.c \
999    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.c \
1000    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.c \
1001    src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.c \
1002    src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.c \
1003    src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c \
1004    src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.c \
1005    src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.c \
1006    src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.c \
1007    src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.c \
1008    src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.c \
1009    src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.c \
1010    src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.c \
1011    src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.c \
1012    src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.c \
1013    src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.c \
1014    src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c \
1015    src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c \
1016    src/core/ext/upbdefs-gen/google/api/http.upbdefs.c \
1017    src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c \
1018    src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.c \
1019    src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c \
1020    src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.c \
1021    src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.c \
1022    src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.c \
1023    src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.c \
1024    src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.c \
1025    src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.c \
1026    src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.c \
1027    src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.c \
1028    src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c \
1029    src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c \
1030    src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c \
1031    src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c \
1032    src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c \
1033    src/core/ext/upbdefs-gen/validate/validate.upbdefs.c \
1034    src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.c \
1035    src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.c \
1036    src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.c \
1037    src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.c \
1038    src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.c \
1039    src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.c \
1040    src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.c \
1041    src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.c \
1042    src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.c \
1043    src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.c \
1044    src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.c \
1045    src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.c \
1046    src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.c \
1047    src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c \
1048    src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.c \
1049    src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c \
1050    src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.c \
1051    src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c \
1052    src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.c \
1053    src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.c \
1054    src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c \
1055    src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c \
1056    src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.c \
1057    src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.c \
1058    src/core/ext/xds/certificate_provider_store.cc \
1059    src/core/ext/xds/file_watcher_certificate_provider_factory.cc \
1060    src/core/ext/xds/xds_api.cc \
1061    src/core/ext/xds/xds_audit_logger_registry.cc \
1062    src/core/ext/xds/xds_bootstrap.cc \
1063    src/core/ext/xds/xds_bootstrap_grpc.cc \
1064    src/core/ext/xds/xds_certificate_provider.cc \
1065    src/core/ext/xds/xds_channel_stack_modifier.cc \
1066    src/core/ext/xds/xds_client.cc \
1067    src/core/ext/xds/xds_client_grpc.cc \
1068    src/core/ext/xds/xds_client_stats.cc \
1069    src/core/ext/xds/xds_cluster.cc \
1070    src/core/ext/xds/xds_cluster_specifier_plugin.cc \
1071    src/core/ext/xds/xds_common_types.cc \
1072    src/core/ext/xds/xds_endpoint.cc \
1073    src/core/ext/xds/xds_health_status.cc \
1074    src/core/ext/xds/xds_http_fault_filter.cc \
1075    src/core/ext/xds/xds_http_filters.cc \
1076    src/core/ext/xds/xds_http_rbac_filter.cc \
1077    src/core/ext/xds/xds_http_stateful_session_filter.cc \
1078    src/core/ext/xds/xds_lb_policy_registry.cc \
1079    src/core/ext/xds/xds_listener.cc \
1080    src/core/ext/xds/xds_route_config.cc \
1081    src/core/ext/xds/xds_routing.cc \
1082    src/core/ext/xds/xds_server_config_fetcher.cc \
1083    src/core/ext/xds/xds_transport_grpc.cc \
1084    src/core/lib/address_utils/parse_address.cc \
1085    src/core/lib/address_utils/sockaddr_utils.cc \
1086    src/core/lib/backoff/backoff.cc \
1087    src/core/lib/backoff/random_early_detection.cc \
1088    src/core/lib/channel/call_tracer.cc \
1089    src/core/lib/channel/channel_args.cc \
1090    src/core/lib/channel/channel_args_preconditioning.cc \
1091    src/core/lib/channel/channel_stack.cc \
1092    src/core/lib/channel/channel_stack_builder.cc \
1093    src/core/lib/channel/channel_stack_builder_impl.cc \
1094    src/core/lib/channel/channel_stack_trace.cc \
1095    src/core/lib/channel/channel_trace.cc \
1096    src/core/lib/channel/channelz.cc \
1097    src/core/lib/channel/channelz_registry.cc \
1098    src/core/lib/channel/connected_channel.cc \
1099    src/core/lib/channel/metrics.cc \
1100    src/core/lib/channel/promise_based_filter.cc \
1101    src/core/lib/channel/server_call_tracer_filter.cc \
1102    src/core/lib/channel/status_util.cc \
1103    src/core/lib/compression/compression.cc \
1104    src/core/lib/compression/compression_internal.cc \
1105    src/core/lib/compression/message_compress.cc \
1106    src/core/lib/config/config_vars.cc \
1107    src/core/lib/config/config_vars_non_generated.cc \
1108    src/core/lib/config/core_configuration.cc \
1109    src/core/lib/config/load_config.cc \
1110    src/core/lib/debug/event_log.cc \
1111    src/core/lib/debug/histogram_view.cc \
1112    src/core/lib/debug/stats.cc \
1113    src/core/lib/debug/stats_data.cc \
1114    src/core/lib/debug/trace.cc \
1115    src/core/lib/event_engine/ares_resolver.cc \
1116    src/core/lib/event_engine/cf_engine/cf_engine.cc \
1117    src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc \
1118    src/core/lib/event_engine/cf_engine/dns_service_resolver.cc \
1119    src/core/lib/event_engine/channel_args_endpoint_config.cc \
1120    src/core/lib/event_engine/default_event_engine.cc \
1121    src/core/lib/event_engine/default_event_engine_factory.cc \
1122    src/core/lib/event_engine/event_engine.cc \
1123    src/core/lib/event_engine/forkable.cc \
1124    src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc \
1125    src/core/lib/event_engine/posix_engine/ev_poll_posix.cc \
1126    src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc \
1127    src/core/lib/event_engine/posix_engine/internal_errqueue.cc \
1128    src/core/lib/event_engine/posix_engine/lockfree_event.cc \
1129    src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc \
1130    src/core/lib/event_engine/posix_engine/posix_endpoint.cc \
1131    src/core/lib/event_engine/posix_engine/posix_engine.cc \
1132    src/core/lib/event_engine/posix_engine/posix_engine_listener.cc \
1133    src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc \
1134    src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc \
1135    src/core/lib/event_engine/posix_engine/timer.cc \
1136    src/core/lib/event_engine/posix_engine/timer_heap.cc \
1137    src/core/lib/event_engine/posix_engine/timer_manager.cc \
1138    src/core/lib/event_engine/posix_engine/traced_buffer_list.cc \
1139    src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc \
1140    src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc \
1141    src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc \
1142    src/core/lib/event_engine/resolved_address.cc \
1143    src/core/lib/event_engine/shim.cc \
1144    src/core/lib/event_engine/slice.cc \
1145    src/core/lib/event_engine/slice_buffer.cc \
1146    src/core/lib/event_engine/tcp_socket_utils.cc \
1147    src/core/lib/event_engine/thread_local.cc \
1148    src/core/lib/event_engine/thread_pool/thread_count.cc \
1149    src/core/lib/event_engine/thread_pool/thread_pool_factory.cc \
1150    src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc \
1151    src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc \
1152    src/core/lib/event_engine/time_util.cc \
1153    src/core/lib/event_engine/trace.cc \
1154    src/core/lib/event_engine/utils.cc \
1155    src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc \
1156    src/core/lib/event_engine/windows/iocp.cc \
1157    src/core/lib/event_engine/windows/native_windows_dns_resolver.cc \
1158    src/core/lib/event_engine/windows/win_socket.cc \
1159    src/core/lib/event_engine/windows/windows_endpoint.cc \
1160    src/core/lib/event_engine/windows/windows_engine.cc \
1161    src/core/lib/event_engine/windows/windows_listener.cc \
1162    src/core/lib/event_engine/work_queue/basic_work_queue.cc \
1163    src/core/lib/experiments/config.cc \
1164    src/core/lib/experiments/experiments.cc \
1165    src/core/lib/gpr/alloc.cc \
1166    src/core/lib/gpr/android/log.cc \
1167    src/core/lib/gpr/atm.cc \
1168    src/core/lib/gpr/iphone/cpu.cc \
1169    src/core/lib/gpr/linux/cpu.cc \
1170    src/core/lib/gpr/linux/log.cc \
1171    src/core/lib/gpr/log.cc \
1172    src/core/lib/gpr/msys/tmpfile.cc \
1173    src/core/lib/gpr/posix/cpu.cc \
1174    src/core/lib/gpr/posix/log.cc \
1175    src/core/lib/gpr/posix/string.cc \
1176    src/core/lib/gpr/posix/sync.cc \
1177    src/core/lib/gpr/posix/time.cc \
1178    src/core/lib/gpr/posix/tmpfile.cc \
1179    src/core/lib/gpr/string.cc \
1180    src/core/lib/gpr/sync.cc \
1181    src/core/lib/gpr/sync_abseil.cc \
1182    src/core/lib/gpr/time.cc \
1183    src/core/lib/gpr/time_precise.cc \
1184    src/core/lib/gpr/windows/cpu.cc \
1185    src/core/lib/gpr/windows/log.cc \
1186    src/core/lib/gpr/windows/string.cc \
1187    src/core/lib/gpr/windows/string_util.cc \
1188    src/core/lib/gpr/windows/sync.cc \
1189    src/core/lib/gpr/windows/time.cc \
1190    src/core/lib/gpr/windows/tmpfile.cc \
1191    src/core/lib/gprpp/crash.cc \
1192    src/core/lib/gprpp/examine_stack.cc \
1193    src/core/lib/gprpp/fork.cc \
1194    src/core/lib/gprpp/host_port.cc \
1195    src/core/lib/gprpp/linux/env.cc \
1196    src/core/lib/gprpp/load_file.cc \
1197    src/core/lib/gprpp/mpscq.cc \
1198    src/core/lib/gprpp/per_cpu.cc \
1199    src/core/lib/gprpp/posix/directory_reader.cc \
1200    src/core/lib/gprpp/posix/env.cc \
1201    src/core/lib/gprpp/posix/stat.cc \
1202    src/core/lib/gprpp/posix/thd.cc \
1203    src/core/lib/gprpp/ref_counted_string.cc \
1204    src/core/lib/gprpp/status_helper.cc \
1205    src/core/lib/gprpp/strerror.cc \
1206    src/core/lib/gprpp/tchar.cc \
1207    src/core/lib/gprpp/time.cc \
1208    src/core/lib/gprpp/time_averaged_stats.cc \
1209    src/core/lib/gprpp/time_util.cc \
1210    src/core/lib/gprpp/uuid_v4.cc \
1211    src/core/lib/gprpp/validation_errors.cc \
1212    src/core/lib/gprpp/windows/directory_reader.cc \
1213    src/core/lib/gprpp/windows/env.cc \
1214    src/core/lib/gprpp/windows/stat.cc \
1215    src/core/lib/gprpp/windows/thd.cc \
1216    src/core/lib/gprpp/work_serializer.cc \
1217    src/core/lib/handshaker/proxy_mapper_registry.cc \
1218    src/core/lib/http/format_request.cc \
1219    src/core/lib/http/httpcli.cc \
1220    src/core/lib/http/httpcli_security_connector.cc \
1221    src/core/lib/http/parser.cc \
1222    src/core/lib/iomgr/buffer_list.cc \
1223    src/core/lib/iomgr/call_combiner.cc \
1224    src/core/lib/iomgr/cfstream_handle.cc \
1225    src/core/lib/iomgr/closure.cc \
1226    src/core/lib/iomgr/combiner.cc \
1227    src/core/lib/iomgr/dualstack_socket_posix.cc \
1228    src/core/lib/iomgr/endpoint.cc \
1229    src/core/lib/iomgr/endpoint_cfstream.cc \
1230    src/core/lib/iomgr/endpoint_pair_posix.cc \
1231    src/core/lib/iomgr/endpoint_pair_windows.cc \
1232    src/core/lib/iomgr/error.cc \
1233    src/core/lib/iomgr/error_cfstream.cc \
1234    src/core/lib/iomgr/ev_apple.cc \
1235    src/core/lib/iomgr/ev_epoll1_linux.cc \
1236    src/core/lib/iomgr/ev_poll_posix.cc \
1237    src/core/lib/iomgr/ev_posix.cc \
1238    src/core/lib/iomgr/ev_windows.cc \
1239    src/core/lib/iomgr/event_engine_shims/closure.cc \
1240    src/core/lib/iomgr/event_engine_shims/endpoint.cc \
1241    src/core/lib/iomgr/event_engine_shims/tcp_client.cc \
1242    src/core/lib/iomgr/exec_ctx.cc \
1243    src/core/lib/iomgr/executor.cc \
1244    src/core/lib/iomgr/fork_posix.cc \
1245    src/core/lib/iomgr/fork_windows.cc \
1246    src/core/lib/iomgr/gethostname_fallback.cc \
1247    src/core/lib/iomgr/gethostname_host_name_max.cc \
1248    src/core/lib/iomgr/gethostname_sysconf.cc \
1249    src/core/lib/iomgr/grpc_if_nametoindex_posix.cc \
1250    src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc \
1251    src/core/lib/iomgr/internal_errqueue.cc \
1252    src/core/lib/iomgr/iocp_windows.cc \
1253    src/core/lib/iomgr/iomgr.cc \
1254    src/core/lib/iomgr/iomgr_internal.cc \
1255    src/core/lib/iomgr/iomgr_posix.cc \
1256    src/core/lib/iomgr/iomgr_posix_cfstream.cc \
1257    src/core/lib/iomgr/iomgr_windows.cc \
1258    src/core/lib/iomgr/lockfree_event.cc \
1259    src/core/lib/iomgr/polling_entity.cc \
1260    src/core/lib/iomgr/pollset.cc \
1261    src/core/lib/iomgr/pollset_set.cc \
1262    src/core/lib/iomgr/pollset_set_windows.cc \
1263    src/core/lib/iomgr/pollset_windows.cc \
1264    src/core/lib/iomgr/resolve_address.cc \
1265    src/core/lib/iomgr/resolve_address_posix.cc \
1266    src/core/lib/iomgr/resolve_address_windows.cc \
1267    src/core/lib/iomgr/sockaddr_utils_posix.cc \
1268    src/core/lib/iomgr/socket_factory_posix.cc \
1269    src/core/lib/iomgr/socket_mutator.cc \
1270    src/core/lib/iomgr/socket_utils_common_posix.cc \
1271    src/core/lib/iomgr/socket_utils_linux.cc \
1272    src/core/lib/iomgr/socket_utils_posix.cc \
1273    src/core/lib/iomgr/socket_utils_windows.cc \
1274    src/core/lib/iomgr/socket_windows.cc \
1275    src/core/lib/iomgr/systemd_utils.cc \
1276    src/core/lib/iomgr/tcp_client.cc \
1277    src/core/lib/iomgr/tcp_client_cfstream.cc \
1278    src/core/lib/iomgr/tcp_client_posix.cc \
1279    src/core/lib/iomgr/tcp_client_windows.cc \
1280    src/core/lib/iomgr/tcp_posix.cc \
1281    src/core/lib/iomgr/tcp_server.cc \
1282    src/core/lib/iomgr/tcp_server_posix.cc \
1283    src/core/lib/iomgr/tcp_server_utils_posix_common.cc \
1284    src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc \
1285    src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc \
1286    src/core/lib/iomgr/tcp_server_windows.cc \
1287    src/core/lib/iomgr/tcp_windows.cc \
1288    src/core/lib/iomgr/timer.cc \
1289    src/core/lib/iomgr/timer_generic.cc \
1290    src/core/lib/iomgr/timer_heap.cc \
1291    src/core/lib/iomgr/timer_manager.cc \
1292    src/core/lib/iomgr/unix_sockets_posix.cc \
1293    src/core/lib/iomgr/unix_sockets_posix_noop.cc \
1294    src/core/lib/iomgr/vsock.cc \
1295    src/core/lib/iomgr/wakeup_fd_eventfd.cc \
1296    src/core/lib/iomgr/wakeup_fd_nospecial.cc \
1297    src/core/lib/iomgr/wakeup_fd_pipe.cc \
1298    src/core/lib/iomgr/wakeup_fd_posix.cc \
1299    src/core/lib/json/json_object_loader.cc \
1300    src/core/lib/json/json_reader.cc \
1301    src/core/lib/json/json_util.cc \
1302    src/core/lib/json/json_writer.cc \
1303    src/core/lib/matchers/matchers.cc \
1304    src/core/lib/promise/activity.cc \
1305    src/core/lib/promise/party.cc \
1306    src/core/lib/promise/sleep.cc \
1307    src/core/lib/promise/trace.cc \
1308    src/core/lib/resource_quota/api.cc \
1309    src/core/lib/resource_quota/arena.cc \
1310    src/core/lib/resource_quota/connection_quota.cc \
1311    src/core/lib/resource_quota/memory_quota.cc \
1312    src/core/lib/resource_quota/periodic_update.cc \
1313    src/core/lib/resource_quota/resource_quota.cc \
1314    src/core/lib/resource_quota/thread_quota.cc \
1315    src/core/lib/resource_quota/trace.cc \
1316    src/core/lib/security/authorization/audit_logging.cc \
1317    src/core/lib/security/authorization/authorization_policy_provider_vtable.cc \
1318    src/core/lib/security/authorization/evaluate_args.cc \
1319    src/core/lib/security/authorization/grpc_authorization_engine.cc \
1320    src/core/lib/security/authorization/grpc_server_authz_filter.cc \
1321    src/core/lib/security/authorization/matchers.cc \
1322    src/core/lib/security/authorization/rbac_policy.cc \
1323    src/core/lib/security/authorization/stdout_logger.cc \
1324    src/core/lib/security/certificate_provider/certificate_provider_registry.cc \
1325    src/core/lib/security/context/security_context.cc \
1326    src/core/lib/security/credentials/alts/alts_credentials.cc \
1327    src/core/lib/security/credentials/alts/check_gcp_environment.cc \
1328    src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc \
1329    src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc \
1330    src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc \
1331    src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc \
1332    src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc \
1333    src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc \
1334    src/core/lib/security/credentials/call_creds_util.cc \
1335    src/core/lib/security/credentials/channel_creds_registry_init.cc \
1336    src/core/lib/security/credentials/composite/composite_credentials.cc \
1337    src/core/lib/security/credentials/credentials.cc \
1338    src/core/lib/security/credentials/external/aws_external_account_credentials.cc \
1339    src/core/lib/security/credentials/external/aws_request_signer.cc \
1340    src/core/lib/security/credentials/external/external_account_credentials.cc \
1341    src/core/lib/security/credentials/external/file_external_account_credentials.cc \
1342    src/core/lib/security/credentials/external/url_external_account_credentials.cc \
1343    src/core/lib/security/credentials/fake/fake_credentials.cc \
1344    src/core/lib/security/credentials/google_default/credentials_generic.cc \
1345    src/core/lib/security/credentials/google_default/google_default_credentials.cc \
1346    src/core/lib/security/credentials/iam/iam_credentials.cc \
1347    src/core/lib/security/credentials/insecure/insecure_credentials.cc \
1348    src/core/lib/security/credentials/jwt/json_token.cc \
1349    src/core/lib/security/credentials/jwt/jwt_credentials.cc \
1350    src/core/lib/security/credentials/jwt/jwt_verifier.cc \
1351    src/core/lib/security/credentials/local/local_credentials.cc \
1352    src/core/lib/security/credentials/oauth2/oauth2_credentials.cc \
1353    src/core/lib/security/credentials/plugin/plugin_credentials.cc \
1354    src/core/lib/security/credentials/ssl/ssl_credentials.cc \
1355    src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc \
1356    src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc \
1357    src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc \
1358    src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc \
1359    src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc \
1360    src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc \
1361    src/core/lib/security/credentials/tls/tls_credentials.cc \
1362    src/core/lib/security/credentials/tls/tls_utils.cc \
1363    src/core/lib/security/credentials/xds/xds_credentials.cc \
1364    src/core/lib/security/security_connector/alts/alts_security_connector.cc \
1365    src/core/lib/security/security_connector/fake/fake_security_connector.cc \
1366    src/core/lib/security/security_connector/insecure/insecure_security_connector.cc \
1367    src/core/lib/security/security_connector/load_system_roots_fallback.cc \
1368    src/core/lib/security/security_connector/load_system_roots_supported.cc \
1369    src/core/lib/security/security_connector/load_system_roots_windows.cc \
1370    src/core/lib/security/security_connector/local/local_security_connector.cc \
1371    src/core/lib/security/security_connector/security_connector.cc \
1372    src/core/lib/security/security_connector/ssl/ssl_security_connector.cc \
1373    src/core/lib/security/security_connector/ssl_utils.cc \
1374    src/core/lib/security/security_connector/tls/tls_security_connector.cc \
1375    src/core/lib/security/transport/client_auth_filter.cc \
1376    src/core/lib/security/transport/secure_endpoint.cc \
1377    src/core/lib/security/transport/security_handshaker.cc \
1378    src/core/lib/security/transport/server_auth_filter.cc \
1379    src/core/lib/security/transport/tsi_error.cc \
1380    src/core/lib/security/util/json_util.cc \
1381    src/core/lib/slice/percent_encoding.cc \
1382    src/core/lib/slice/slice.cc \
1383    src/core/lib/slice/slice_buffer.cc \
1384    src/core/lib/slice/slice_refcount.cc \
1385    src/core/lib/slice/slice_string_helpers.cc \
1386    src/core/lib/surface/api_trace.cc \
1387    src/core/lib/surface/byte_buffer.cc \
1388    src/core/lib/surface/byte_buffer_reader.cc \
1389    src/core/lib/surface/call.cc \
1390    src/core/lib/surface/call_details.cc \
1391    src/core/lib/surface/call_log_batch.cc \
1392    src/core/lib/surface/channel.cc \
1393    src/core/lib/surface/channel_create.cc \
1394    src/core/lib/surface/channel_init.cc \
1395    src/core/lib/surface/channel_stack_type.cc \
1396    src/core/lib/surface/completion_queue.cc \
1397    src/core/lib/surface/completion_queue_factory.cc \
1398    src/core/lib/surface/event_string.cc \
1399    src/core/lib/surface/init.cc \
1400    src/core/lib/surface/init_internally.cc \
1401    src/core/lib/surface/lame_client.cc \
1402    src/core/lib/surface/legacy_channel.cc \
1403    src/core/lib/surface/metadata_array.cc \
1404    src/core/lib/surface/server.cc \
1405    src/core/lib/surface/validate_metadata.cc \
1406    src/core/lib/surface/version.cc \
1407    src/core/lib/surface/wait_for_cq_end_op.cc \
1408    src/core/lib/transport/batch_builder.cc \
1409    src/core/lib/transport/bdp_estimator.cc \
1410    src/core/lib/transport/call_filters.cc \
1411    src/core/lib/transport/call_final_info.cc \
1412    src/core/lib/transport/call_size_estimator.cc \
1413    src/core/lib/transport/call_spine.cc \
1414    src/core/lib/transport/connectivity_state.cc \
1415    src/core/lib/transport/endpoint_info_handshaker.cc \
1416    src/core/lib/transport/error_utils.cc \
1417    src/core/lib/transport/handshaker.cc \
1418    src/core/lib/transport/handshaker_registry.cc \
1419    src/core/lib/transport/http_connect_handshaker.cc \
1420    src/core/lib/transport/message.cc \
1421    src/core/lib/transport/metadata.cc \
1422    src/core/lib/transport/metadata_batch.cc \
1423    src/core/lib/transport/metadata_info.cc \
1424    src/core/lib/transport/parsed_metadata.cc \
1425    src/core/lib/transport/status_conversion.cc \
1426    src/core/lib/transport/tcp_connect_handshaker.cc \
1427    src/core/lib/transport/timeout_encoding.cc \
1428    src/core/lib/transport/transport.cc \
1429    src/core/lib/transport/transport_op_string.cc \
1430    src/core/lib/uri/uri_parser.cc \
1431    src/core/load_balancing/address_filtering.cc \
1432    src/core/load_balancing/backend_metric_parser.cc \
1433    src/core/load_balancing/child_policy_handler.cc \
1434    src/core/load_balancing/endpoint_list.cc \
1435    src/core/load_balancing/grpclb/client_load_reporting_filter.cc \
1436    src/core/load_balancing/grpclb/grpclb.cc \
1437    src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc \
1438    src/core/load_balancing/grpclb/grpclb_client_stats.cc \
1439    src/core/load_balancing/grpclb/load_balancer_api.cc \
1440    src/core/load_balancing/health_check_client.cc \
1441    src/core/load_balancing/lb_policy.cc \
1442    src/core/load_balancing/lb_policy_registry.cc \
1443    src/core/load_balancing/oob_backend_metric.cc \
1444    src/core/load_balancing/outlier_detection/outlier_detection.cc \
1445    src/core/load_balancing/pick_first/pick_first.cc \
1446    src/core/load_balancing/priority/priority.cc \
1447    src/core/load_balancing/ring_hash/ring_hash.cc \
1448    src/core/load_balancing/rls/rls.cc \
1449    src/core/load_balancing/round_robin/round_robin.cc \
1450    src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc \
1451    src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc \
1452    src/core/load_balancing/weighted_target/weighted_target.cc \
1453    src/core/load_balancing/xds/cds.cc \
1454    src/core/load_balancing/xds/xds_cluster_impl.cc \
1455    src/core/load_balancing/xds/xds_cluster_manager.cc \
1456    src/core/load_balancing/xds/xds_override_host.cc \
1457    src/core/load_balancing/xds/xds_wrr_locality.cc \
1458    src/core/plugin_registry/grpc_plugin_registry.cc \
1459    src/core/plugin_registry/grpc_plugin_registry_extra.cc \
1460    src/core/resolver/binder/binder_resolver.cc \
1461    src/core/resolver/dns/c_ares/dns_resolver_ares.cc \
1462    src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc \
1463    src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc \
1464    src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc \
1465    src/core/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc \
1466    src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc \
1467    src/core/resolver/dns/dns_resolver_plugin.cc \
1468    src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc \
1469    src/core/resolver/dns/event_engine/service_config_helper.cc \
1470    src/core/resolver/dns/native/dns_resolver.cc \
1471    src/core/resolver/endpoint_addresses.cc \
1472    src/core/resolver/fake/fake_resolver.cc \
1473    src/core/resolver/google_c2p/google_c2p_resolver.cc \
1474    src/core/resolver/polling_resolver.cc \
1475    src/core/resolver/resolver.cc \
1476    src/core/resolver/resolver_registry.cc \
1477    src/core/resolver/sockaddr/sockaddr_resolver.cc \
1478    src/core/resolver/xds/xds_dependency_manager.cc \
1479    src/core/resolver/xds/xds_resolver.cc \
1480    src/core/resolver/xds/xds_resolver_trace.cc \
1481    src/core/service_config/service_config_channel_arg_filter.cc \
1482    src/core/service_config/service_config_impl.cc \
1483    src/core/service_config/service_config_parser.cc \
1484    src/core/tsi/alts/crypt/aes_gcm.cc \
1485    src/core/tsi/alts/crypt/gsec.cc \
1486    src/core/tsi/alts/frame_protector/alts_counter.cc \
1487    src/core/tsi/alts/frame_protector/alts_crypter.cc \
1488    src/core/tsi/alts/frame_protector/alts_frame_protector.cc \
1489    src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc \
1490    src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc \
1491    src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc \
1492    src/core/tsi/alts/frame_protector/frame_handler.cc \
1493    src/core/tsi/alts/handshaker/alts_handshaker_client.cc \
1494    src/core/tsi/alts/handshaker/alts_shared_resource.cc \
1495    src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc \
1496    src/core/tsi/alts/handshaker/alts_tsi_utils.cc \
1497    src/core/tsi/alts/handshaker/transport_security_common_api.cc \
1498    src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc \
1499    src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc \
1500    src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc \
1501    src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc \
1502    src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc \
1503    src/core/tsi/fake_transport_security.cc \
1504    src/core/tsi/local_transport_security.cc \
1505    src/core/tsi/ssl/key_logging/ssl_key_logging.cc \
1506    src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc \
1507    src/core/tsi/ssl/session_cache/ssl_session_cache.cc \
1508    src/core/tsi/ssl/session_cache/ssl_session_openssl.cc \
1509    src/core/tsi/ssl_transport_security.cc \
1510    src/core/tsi/ssl_transport_security_utils.cc \
1511    src/core/tsi/transport_security.cc \
1512    src/core/tsi/transport_security_grpc.cc \
1513    third_party/abseil-cpp/absl/base/internal/cycleclock.cc \
1514    third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \
1515    third_party/abseil-cpp/absl/base/internal/raw_logging.cc \
1516    third_party/abseil-cpp/absl/base/internal/spinlock.cc \
1517    third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc \
1518    third_party/abseil-cpp/absl/base/internal/strerror.cc \
1519    third_party/abseil-cpp/absl/base/internal/sysinfo.cc \
1520    third_party/abseil-cpp/absl/base/internal/thread_identity.cc \
1521    third_party/abseil-cpp/absl/base/internal/throw_delegate.cc \
1522    third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc \
1523    third_party/abseil-cpp/absl/base/log_severity.cc \
1524    third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc \
1525    third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc \
1526    third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc \
1527    third_party/abseil-cpp/absl/crc/crc32c.cc \
1528    third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc \
1529    third_party/abseil-cpp/absl/crc/internal/crc.cc \
1530    third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc \
1531    third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc \
1532    third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc \
1533    third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc \
1534    third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc \
1535    third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
1536    third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
1537    third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
1538    third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc \
1539    third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
1540    third_party/abseil-cpp/absl/debugging/stacktrace.cc \
1541    third_party/abseil-cpp/absl/debugging/symbolize.cc \
1542    third_party/abseil-cpp/absl/flags/commandlineflag.cc \
1543    third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc \
1544    third_party/abseil-cpp/absl/flags/internal/flag.cc \
1545    third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc \
1546    third_party/abseil-cpp/absl/flags/internal/program_name.cc \
1547    third_party/abseil-cpp/absl/flags/marshalling.cc \
1548    third_party/abseil-cpp/absl/flags/reflection.cc \
1549    third_party/abseil-cpp/absl/flags/usage_config.cc \
1550    third_party/abseil-cpp/absl/hash/internal/city.cc \
1551    third_party/abseil-cpp/absl/hash/internal/hash.cc \
1552    third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \
1553    third_party/abseil-cpp/absl/log/globals.cc \
1554    third_party/abseil-cpp/absl/log/internal/conditions.cc \
1555    third_party/abseil-cpp/absl/log/internal/fnmatch.cc \
1556    third_party/abseil-cpp/absl/log/internal/globals.cc \
1557    third_party/abseil-cpp/absl/log/internal/log_format.cc \
1558    third_party/abseil-cpp/absl/log/internal/log_message.cc \
1559    third_party/abseil-cpp/absl/log/internal/log_sink_set.cc \
1560    third_party/abseil-cpp/absl/log/internal/nullguard.cc \
1561    third_party/abseil-cpp/absl/log/internal/proto.cc \
1562    third_party/abseil-cpp/absl/log/internal/vlog_config.cc \
1563    third_party/abseil-cpp/absl/log/log_entry.cc \
1564    third_party/abseil-cpp/absl/log/log_sink.cc \
1565    third_party/abseil-cpp/absl/numeric/int128.cc \
1566    third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc \
1567    third_party/abseil-cpp/absl/random/discrete_distribution.cc \
1568    third_party/abseil-cpp/absl/random/gaussian_distribution.cc \
1569    third_party/abseil-cpp/absl/random/internal/pool_urbg.cc \
1570    third_party/abseil-cpp/absl/random/internal/randen.cc \
1571    third_party/abseil-cpp/absl/random/internal/randen_detect.cc \
1572    third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc \
1573    third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc \
1574    third_party/abseil-cpp/absl/random/internal/randen_slow.cc \
1575    third_party/abseil-cpp/absl/random/internal/seed_material.cc \
1576    third_party/abseil-cpp/absl/random/seed_gen_exception.cc \
1577    third_party/abseil-cpp/absl/random/seed_sequences.cc \
1578    third_party/abseil-cpp/absl/status/internal/status_internal.cc \
1579    third_party/abseil-cpp/absl/status/status.cc \
1580    third_party/abseil-cpp/absl/status/status_payload_printer.cc \
1581    third_party/abseil-cpp/absl/status/statusor.cc \
1582    third_party/abseil-cpp/absl/strings/ascii.cc \
1583    third_party/abseil-cpp/absl/strings/charconv.cc \
1584    third_party/abseil-cpp/absl/strings/cord.cc \
1585    third_party/abseil-cpp/absl/strings/cord_analysis.cc \
1586    third_party/abseil-cpp/absl/strings/cord_buffer.cc \
1587    third_party/abseil-cpp/absl/strings/escaping.cc \
1588    third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc \
1589    third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc \
1590    third_party/abseil-cpp/absl/strings/internal/cord_internal.cc \
1591    third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc \
1592    third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc \
1593    third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc \
1594    third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc \
1595    third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc \
1596    third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc \
1597    third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc \
1598    third_party/abseil-cpp/absl/strings/internal/cordz_info.cc \
1599    third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc \
1600    third_party/abseil-cpp/absl/strings/internal/escaping.cc \
1601    third_party/abseil-cpp/absl/strings/internal/memutil.cc \
1602    third_party/abseil-cpp/absl/strings/internal/ostringstream.cc \
1603    third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc \
1604    third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc \
1605    third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc \
1606    third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc \
1607    third_party/abseil-cpp/absl/strings/internal/str_format/output.cc \
1608    third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc \
1609    third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc \
1610    third_party/abseil-cpp/absl/strings/internal/utf8.cc \
1611    third_party/abseil-cpp/absl/strings/match.cc \
1612    third_party/abseil-cpp/absl/strings/numbers.cc \
1613    third_party/abseil-cpp/absl/strings/str_cat.cc \
1614    third_party/abseil-cpp/absl/strings/str_replace.cc \
1615    third_party/abseil-cpp/absl/strings/str_split.cc \
1616    third_party/abseil-cpp/absl/strings/string_view.cc \
1617    third_party/abseil-cpp/absl/strings/substitute.cc \
1618    third_party/abseil-cpp/absl/synchronization/barrier.cc \
1619    third_party/abseil-cpp/absl/synchronization/blocking_counter.cc \
1620    third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc \
1621    third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc \
1622    third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc \
1623    third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc \
1624    third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc \
1625    third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc \
1626    third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc \
1627    third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc \
1628    third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc \
1629    third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc \
1630    third_party/abseil-cpp/absl/synchronization/mutex.cc \
1631    third_party/abseil-cpp/absl/synchronization/notification.cc \
1632    third_party/abseil-cpp/absl/time/civil_time.cc \
1633    third_party/abseil-cpp/absl/time/clock.cc \
1634    third_party/abseil-cpp/absl/time/duration.cc \
1635    third_party/abseil-cpp/absl/time/format.cc \
1636    third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc \
1637    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc \
1638    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc \
1639    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc \
1640    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc \
1641    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc \
1642    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc \
1643    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc \
1644    third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc \
1645    third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc \
1646    third_party/abseil-cpp/absl/time/time.cc \
1647    third_party/abseil-cpp/absl/types/bad_optional_access.cc \
1648    third_party/abseil-cpp/absl/types/bad_variant_access.cc \
1649    third_party/address_sorting/address_sorting.c \
1650    third_party/address_sorting/address_sorting_posix.c \
1651    third_party/address_sorting/address_sorting_windows.c \
1652    third_party/re2/re2/bitstate.cc \
1653    third_party/re2/re2/compile.cc \
1654    third_party/re2/re2/dfa.cc \
1655    third_party/re2/re2/filtered_re2.cc \
1656    third_party/re2/re2/mimics_pcre.cc \
1657    third_party/re2/re2/nfa.cc \
1658    third_party/re2/re2/onepass.cc \
1659    third_party/re2/re2/parse.cc \
1660    third_party/re2/re2/perl_groups.cc \
1661    third_party/re2/re2/prefilter.cc \
1662    third_party/re2/re2/prefilter_tree.cc \
1663    third_party/re2/re2/prog.cc \
1664    third_party/re2/re2/re2.cc \
1665    third_party/re2/re2/regexp.cc \
1666    third_party/re2/re2/set.cc \
1667    third_party/re2/re2/simplify.cc \
1668    third_party/re2/re2/stringpiece.cc \
1669    third_party/re2/re2/tostring.cc \
1670    third_party/re2/re2/unicode_casefold.cc \
1671    third_party/re2/re2/unicode_groups.cc \
1672    third_party/re2/util/rune.cc \
1673    third_party/re2/util/strutil.cc \
1674    third_party/upb/upb/base/status.c \
1675    third_party/upb/upb/hash/common.c \
1676    third_party/upb/upb/json/decode.c \
1677    third_party/upb/upb/json/encode.c \
1678    third_party/upb/upb/lex/atoi.c \
1679    third_party/upb/upb/lex/round_trip.c \
1680    third_party/upb/upb/lex/strtod.c \
1681    third_party/upb/upb/lex/unicode.c \
1682    third_party/upb/upb/mem/alloc.c \
1683    third_party/upb/upb/mem/arena.c \
1684    third_party/upb/upb/message/accessors.c \
1685    third_party/upb/upb/message/array.c \
1686    third_party/upb/upb/message/compat.c \
1687    third_party/upb/upb/message/copy.c \
1688    third_party/upb/upb/message/internal/extension.c \
1689    third_party/upb/upb/message/internal/message.c \
1690    third_party/upb/upb/message/map.c \
1691    third_party/upb/upb/message/map_sorter.c \
1692    third_party/upb/upb/message/message.c \
1693    third_party/upb/upb/mini_descriptor/build_enum.c \
1694    third_party/upb/upb/mini_descriptor/decode.c \
1695    third_party/upb/upb/mini_descriptor/internal/base92.c \
1696    third_party/upb/upb/mini_descriptor/internal/encode.c \
1697    third_party/upb/upb/mini_descriptor/link.c \
1698    third_party/upb/upb/mini_table/extension_registry.c \
1699    third_party/upb/upb/mini_table/internal/message.c \
1700    third_party/upb/upb/mini_table/message.c \
1701    third_party/upb/upb/reflection/def_pool.c \
1702    third_party/upb/upb/reflection/def_type.c \
1703    third_party/upb/upb/reflection/desc_state.c \
1704    third_party/upb/upb/reflection/enum_def.c \
1705    third_party/upb/upb/reflection/enum_reserved_range.c \
1706    third_party/upb/upb/reflection/enum_value_def.c \
1707    third_party/upb/upb/reflection/extension_range.c \
1708    third_party/upb/upb/reflection/field_def.c \
1709    third_party/upb/upb/reflection/file_def.c \
1710    third_party/upb/upb/reflection/internal/def_builder.c \
1711    third_party/upb/upb/reflection/internal/strdup2.c \
1712    third_party/upb/upb/reflection/message.c \
1713    third_party/upb/upb/reflection/message_def.c \
1714    third_party/upb/upb/reflection/message_reserved_range.c \
1715    third_party/upb/upb/reflection/method_def.c \
1716    third_party/upb/upb/reflection/oneof_def.c \
1717    third_party/upb/upb/reflection/service_def.c \
1718    third_party/upb/upb/text/encode.c \
1719    third_party/upb/upb/wire/decode.c \
1720    third_party/upb/upb/wire/encode.c \
1721    third_party/upb/upb/wire/eps_copy_input_stream.c \
1722    third_party/upb/upb/wire/internal/decode_fast.c \
1723    third_party/upb/upb/wire/reader.c \
1724    third_party/utf8_range/utf8_range.c \
1725
1726PUBLIC_HEADERS_C += \
1727    include/grpc/byte_buffer.h \
1728    include/grpc/byte_buffer_reader.h \
1729    include/grpc/census.h \
1730    include/grpc/compression.h \
1731    include/grpc/event_engine/endpoint_config.h \
1732    include/grpc/event_engine/event_engine.h \
1733    include/grpc/event_engine/extensible.h \
1734    include/grpc/event_engine/internal/memory_allocator_impl.h \
1735    include/grpc/event_engine/internal/slice_cast.h \
1736    include/grpc/event_engine/memory_allocator.h \
1737    include/grpc/event_engine/memory_request.h \
1738    include/grpc/event_engine/port.h \
1739    include/grpc/event_engine/slice.h \
1740    include/grpc/event_engine/slice_buffer.h \
1741    include/grpc/fork.h \
1742    include/grpc/grpc.h \
1743    include/grpc/grpc_audit_logging.h \
1744    include/grpc/grpc_crl_provider.h \
1745    include/grpc/grpc_posix.h \
1746    include/grpc/grpc_security.h \
1747    include/grpc/grpc_security_constants.h \
1748    include/grpc/impl/call.h \
1749    include/grpc/impl/channel_arg_names.h \
1750    include/grpc/impl/codegen/atm.h \
1751    include/grpc/impl/codegen/atm_gcc_atomic.h \
1752    include/grpc/impl/codegen/atm_gcc_sync.h \
1753    include/grpc/impl/codegen/atm_windows.h \
1754    include/grpc/impl/codegen/byte_buffer.h \
1755    include/grpc/impl/codegen/byte_buffer_reader.h \
1756    include/grpc/impl/codegen/compression_types.h \
1757    include/grpc/impl/codegen/connectivity_state.h \
1758    include/grpc/impl/codegen/fork.h \
1759    include/grpc/impl/codegen/gpr_types.h \
1760    include/grpc/impl/codegen/grpc_types.h \
1761    include/grpc/impl/codegen/log.h \
1762    include/grpc/impl/codegen/port_platform.h \
1763    include/grpc/impl/codegen/propagation_bits.h \
1764    include/grpc/impl/codegen/slice.h \
1765    include/grpc/impl/codegen/status.h \
1766    include/grpc/impl/codegen/sync.h \
1767    include/grpc/impl/codegen/sync_abseil.h \
1768    include/grpc/impl/codegen/sync_custom.h \
1769    include/grpc/impl/codegen/sync_generic.h \
1770    include/grpc/impl/codegen/sync_posix.h \
1771    include/grpc/impl/codegen/sync_windows.h \
1772    include/grpc/impl/compression_types.h \
1773    include/grpc/impl/connectivity_state.h \
1774    include/grpc/impl/grpc_types.h \
1775    include/grpc/impl/propagation_bits.h \
1776    include/grpc/impl/slice_type.h \
1777    include/grpc/load_reporting.h \
1778    include/grpc/slice.h \
1779    include/grpc/slice_buffer.h \
1780    include/grpc/status.h \
1781    include/grpc/support/alloc.h \
1782    include/grpc/support/atm_gcc_atomic.h \
1783    include/grpc/support/atm_gcc_sync.h \
1784    include/grpc/support/atm_windows.h \
1785    include/grpc/support/cpu.h \
1786    include/grpc/support/json.h \
1787    include/grpc/support/log.h \
1788    include/grpc/support/log_windows.h \
1789    include/grpc/support/metrics.h \
1790    include/grpc/support/port_platform.h \
1791    include/grpc/support/string_util.h \
1792    include/grpc/support/sync.h \
1793    include/grpc/support/sync_abseil.h \
1794    include/grpc/support/sync_custom.h \
1795    include/grpc/support/sync_generic.h \
1796    include/grpc/support/sync_posix.h \
1797    include/grpc/support/sync_windows.h \
1798    include/grpc/support/thd_id.h \
1799    include/grpc/support/time.h \
1800    include/grpc/support/workaround_list.h \
1801
1802LIBGRPC_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_SRC))))
1803
1804
1805ifeq ($(NO_SECURE),true)
1806
1807# You can't build secure libraries if you don't have OpenSSL.
1808
1809$(LIBDIR)/$(CONFIG)/libgrpc.a: openssl_dep_error
1810
1811$(LIBDIR)/$(CONFIG)/$(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): openssl_dep_error
1812
1813else
1814
1815# static library for "grpc"
1816$(LIBDIR)/$(CONFIG)/libgrpc.a: $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_DEP) $(ZLIB_DEP) $(LIBGRPC_OBJS) $(LIBCARES_OBJS) $(OPENSSL_MERGE_OBJS) $(ZLIB_MERGE_OBJS)
1817	$(E) "[AR]      Creating $@"
1818	$(Q) mkdir -p `dirname $@`
1819	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libgrpc.a
1820	$(Q) $(AR) $(ARFLAGS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBGRPC_OBJS) $(LIBCARES_OBJS) $(OPENSSL_MERGE_OBJS) $(ZLIB_MERGE_OBJS)
1821ifeq ($(SYSTEM),Darwin)
1822	$(Q) $(RANLIB) $(RANLIBFLAGS) $(LIBDIR)/$(CONFIG)/libgrpc.a
1823endif
1824
1825# shared library for "grpc"
1826ifeq ($(SYSTEM),MINGW32)
1827$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_DEP) $(ZLIB_DEP)
1828	$(E) "[LD]      Linking $@"
1829	$(Q) mkdir -p `dirname $@`
1830	$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1831else
1832$(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_DEP) $(ZLIB_DEP)
1833	$(E) "[LD]      Linking $@"
1834	$(Q) mkdir -p `dirname $@`
1835ifeq ($(SYSTEM),Darwin)
1836	$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1837else
1838	$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.40 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
1839	$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.40
1840	$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
1841endif
1842endif
1843
1844endif  # corresponds to the "ifeq ($(NO_SECURE),true)" above
1845
1846ifneq ($(NO_SECURE),true)
1847ifneq ($(NO_DEPS),true)
1848-include $(LIBGRPC_OBJS:.o=.dep)
1849endif
1850endif
1851# end of build recipe for library "grpc"
1852
1853
1854# start of build recipe for library "boringssl" (generated by makelib(lib) template function)
1855# deps: []
1856# transitive_deps: []
1857LIBBORINGSSL_SRC = \
1858    third_party/boringssl-with-bazel/err_data.c \
1859    third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
1860    third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
1861    third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
1862    third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c \
1863    third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c \
1864    third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c \
1865    third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c \
1866    third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c \
1867    third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c \
1868    third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c \
1869    third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c \
1870    third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c \
1871    third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c \
1872    third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c \
1873    third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c \
1874    third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c \
1875    third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c \
1876    third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c \
1877    third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c \
1878    third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c \
1879    third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c \
1880    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c \
1881    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c \
1882    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c \
1883    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c \
1884    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c \
1885    third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c \
1886    third_party/boringssl-with-bazel/src/crypto/base64/base64.c \
1887    third_party/boringssl-with-bazel/src/crypto/bio/bio.c \
1888    third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c \
1889    third_party/boringssl-with-bazel/src/crypto/bio/connect.c \
1890    third_party/boringssl-with-bazel/src/crypto/bio/errno.c \
1891    third_party/boringssl-with-bazel/src/crypto/bio/fd.c \
1892    third_party/boringssl-with-bazel/src/crypto/bio/file.c \
1893    third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c \
1894    third_party/boringssl-with-bazel/src/crypto/bio/pair.c \
1895    third_party/boringssl-with-bazel/src/crypto/bio/printf.c \
1896    third_party/boringssl-with-bazel/src/crypto/bio/socket.c \
1897    third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c \
1898    third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c \
1899    third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c \
1900    third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c \
1901    third_party/boringssl-with-bazel/src/crypto/buf/buf.c \
1902    third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c \
1903    third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c \
1904    third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c \
1905    third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c \
1906    third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c \
1907    third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c \
1908    third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c \
1909    third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c \
1910    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c \
1911    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c \
1912    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c \
1913    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c \
1914    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c \
1915    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c \
1916    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c \
1917    third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c \
1918    third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c \
1919    third_party/boringssl-with-bazel/src/crypto/conf/conf.c \
1920    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c \
1921    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_fuchsia.c \
1922    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_linux.c \
1923    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_openbsd.c \
1924    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_sysreg.c \
1925    third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_win.c \
1926    third_party/boringssl-with-bazel/src/crypto/cpu_arm_freebsd.c \
1927    third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c \
1928    third_party/boringssl-with-bazel/src/crypto/cpu_intel.c \
1929    third_party/boringssl-with-bazel/src/crypto/crypto.c \
1930    third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c \
1931    third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c \
1932    third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c \
1933    third_party/boringssl-with-bazel/src/crypto/des/des.c \
1934    third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c \
1935    third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c \
1936    third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c \
1937    third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c \
1938    third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c \
1939    third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c \
1940    third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c \
1941    third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c \
1942    third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c \
1943    third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c \
1944    third_party/boringssl-with-bazel/src/crypto/engine/engine.c \
1945    third_party/boringssl-with-bazel/src/crypto/err/err.c \
1946    third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
1947    third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
1948    third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
1949    third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
1950    third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
1951    third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
1952    third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c \
1953    third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c \
1954    third_party/boringssl-with-bazel/src/crypto/evp/p_hkdf.c \
1955    third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c \
1956    third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c \
1957    third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c \
1958    third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c \
1959    third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c \
1960    third_party/boringssl-with-bazel/src/crypto/evp/print.c \
1961    third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c \
1962    third_party/boringssl-with-bazel/src/crypto/evp/sign.c \
1963    third_party/boringssl-with-bazel/src/crypto/ex_data.c \
1964    third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c \
1965    third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c \
1966    third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c \
1967    third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c \
1968    third_party/boringssl-with-bazel/src/crypto/keccak/keccak.c \
1969    third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c \
1970    third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c \
1971    third_party/boringssl-with-bazel/src/crypto/mem.c \
1972    third_party/boringssl-with-bazel/src/crypto/obj/obj.c \
1973    third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c \
1974    third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c \
1975    third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c \
1976    third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c \
1977    third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c \
1978    third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c \
1979    third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c \
1980    third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c \
1981    third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c \
1982    third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c \
1983    third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c \
1984    third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c \
1985    third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c \
1986    third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c \
1987    third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c \
1988    third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c \
1989    third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c \
1990    third_party/boringssl-with-bazel/src/crypto/pool/pool.c \
1991    third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c \
1992    third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c \
1993    third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c \
1994    third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c \
1995    third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c \
1996    third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c \
1997    third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c \
1998    third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c \
1999    third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c \
2000    third_party/boringssl-with-bazel/src/crypto/refcount.c \
2001    third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c \
2002    third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_crypt.c \
2003    third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c \
2004    third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c \
2005    third_party/boringssl-with-bazel/src/crypto/spx/address.c \
2006    third_party/boringssl-with-bazel/src/crypto/spx/fors.c \
2007    third_party/boringssl-with-bazel/src/crypto/spx/merkle.c \
2008    third_party/boringssl-with-bazel/src/crypto/spx/spx.c \
2009    third_party/boringssl-with-bazel/src/crypto/spx/spx_util.c \
2010    third_party/boringssl-with-bazel/src/crypto/spx/thash.c \
2011    third_party/boringssl-with-bazel/src/crypto/spx/wots.c \
2012    third_party/boringssl-with-bazel/src/crypto/stack/stack.c \
2013    third_party/boringssl-with-bazel/src/crypto/thread.c \
2014    third_party/boringssl-with-bazel/src/crypto/thread_none.c \
2015    third_party/boringssl-with-bazel/src/crypto/thread_pthread.c \
2016    third_party/boringssl-with-bazel/src/crypto/thread_win.c \
2017    third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c \
2018    third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c \
2019    third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c \
2020    third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c \
2021    third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c \
2022    third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c \
2023    third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c \
2024    third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c \
2025    third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c \
2026    third_party/boringssl-with-bazel/src/crypto/x509/by_file.c \
2027    third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c \
2028    third_party/boringssl-with-bazel/src/crypto/x509/name_print.c \
2029    third_party/boringssl-with-bazel/src/crypto/x509/policy.c \
2030    third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c \
2031    third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c \
2032    third_party/boringssl-with-bazel/src/crypto/x509/t_req.c \
2033    third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c \
2034    third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c \
2035    third_party/boringssl-with-bazel/src/crypto/x509/v3_akey.c \
2036    third_party/boringssl-with-bazel/src/crypto/x509/v3_akeya.c \
2037    third_party/boringssl-with-bazel/src/crypto/x509/v3_alt.c \
2038    third_party/boringssl-with-bazel/src/crypto/x509/v3_bcons.c \
2039    third_party/boringssl-with-bazel/src/crypto/x509/v3_bitst.c \
2040    third_party/boringssl-with-bazel/src/crypto/x509/v3_conf.c \
2041    third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c \
2042    third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c \
2043    third_party/boringssl-with-bazel/src/crypto/x509/v3_enum.c \
2044    third_party/boringssl-with-bazel/src/crypto/x509/v3_extku.c \
2045    third_party/boringssl-with-bazel/src/crypto/x509/v3_genn.c \
2046    third_party/boringssl-with-bazel/src/crypto/x509/v3_ia5.c \
2047    third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c \
2048    third_party/boringssl-with-bazel/src/crypto/x509/v3_int.c \
2049    third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c \
2050    third_party/boringssl-with-bazel/src/crypto/x509/v3_ncons.c \
2051    third_party/boringssl-with-bazel/src/crypto/x509/v3_ocsp.c \
2052    third_party/boringssl-with-bazel/src/crypto/x509/v3_pcons.c \
2053    third_party/boringssl-with-bazel/src/crypto/x509/v3_pmaps.c \
2054    third_party/boringssl-with-bazel/src/crypto/x509/v3_prn.c \
2055    third_party/boringssl-with-bazel/src/crypto/x509/v3_purp.c \
2056    third_party/boringssl-with-bazel/src/crypto/x509/v3_skey.c \
2057    third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c \
2058    third_party/boringssl-with-bazel/src/crypto/x509/x509.c \
2059    third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c \
2060    third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c \
2061    third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c \
2062    third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c \
2063    third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c \
2064    third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c \
2065    third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c \
2066    third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c \
2067    third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c \
2068    third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c \
2069    third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c \
2070    third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c \
2071    third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c \
2072    third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c \
2073    third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c \
2074    third_party/boringssl-with-bazel/src/crypto/x509/x509name.c \
2075    third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c \
2076    third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c \
2077    third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c \
2078    third_party/boringssl-with-bazel/src/crypto/x509/x_all.c \
2079    third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c \
2080    third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c \
2081    third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c \
2082    third_party/boringssl-with-bazel/src/crypto/x509/x_name.c \
2083    third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c \
2084    third_party/boringssl-with-bazel/src/crypto/x509/x_req.c \
2085    third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c \
2086    third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c \
2087    third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
2088    third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
2089    third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
2090    third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
2091    third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
2092    third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
2093    third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc \
2094    third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc \
2095    third_party/boringssl-with-bazel/src/ssl/dtls_method.cc \
2096    third_party/boringssl-with-bazel/src/ssl/dtls_record.cc \
2097    third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc \
2098    third_party/boringssl-with-bazel/src/ssl/extensions.cc \
2099    third_party/boringssl-with-bazel/src/ssl/handoff.cc \
2100    third_party/boringssl-with-bazel/src/ssl/handshake.cc \
2101    third_party/boringssl-with-bazel/src/ssl/handshake_client.cc \
2102    third_party/boringssl-with-bazel/src/ssl/handshake_server.cc \
2103    third_party/boringssl-with-bazel/src/ssl/s3_both.cc \
2104    third_party/boringssl-with-bazel/src/ssl/s3_lib.cc \
2105    third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc \
2106    third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc \
2107    third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc \
2108    third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
2109    third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
2110    third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
2111    third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
2112    third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
2113    third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
2114    third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc \
2115    third_party/boringssl-with-bazel/src/ssl/ssl_session.cc \
2116    third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc \
2117    third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc \
2118    third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc \
2119    third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc \
2120    third_party/boringssl-with-bazel/src/ssl/t1_enc.cc \
2121    third_party/boringssl-with-bazel/src/ssl/tls13_both.cc \
2122    third_party/boringssl-with-bazel/src/ssl/tls13_client.cc \
2123    third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc \
2124    third_party/boringssl-with-bazel/src/ssl/tls13_server.cc \
2125    third_party/boringssl-with-bazel/src/ssl/tls_method.cc \
2126    third_party/boringssl-with-bazel/src/ssl/tls_record.cc \
2127
2128
2129LIBBORINGSSL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBBORINGSSL_SRC))))
2130
2131$(LIBBORINGSSL_OBJS): CFLAGS += -g
2132$(LIBBORINGSSL_OBJS): CPPFLAGS += -Ithird_party/boringssl-with-bazel/src/include -fvisibility=hidden -DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN -D_HAS_EXCEPTIONS=0 -DNOMINMAX
2133$(LIBBORINGSSL_OBJS): CXXFLAGS += -fno-exceptions
2134
2135# static library for "boringssl"
2136$(LIBDIR)/$(CONFIG)/libboringssl.a: $(LIBBORINGSSL_OBJS)
2137	$(E) "[AR]      Creating $@"
2138	$(Q) mkdir -p `dirname $@`
2139	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libboringssl.a
2140	$(Q) $(AR) $(ARFLAGS) $(LIBDIR)/$(CONFIG)/libboringssl.a $(LIBBORINGSSL_OBJS)
2141ifeq ($(SYSTEM),Darwin)
2142	$(Q) $(RANLIB) $(RANLIBFLAGS) $(LIBDIR)/$(CONFIG)/libboringssl.a
2143endif
2144
2145# shared library for "boringssl"
2146
2147ifneq ($(NO_DEPS),true)
2148-include $(LIBBORINGSSL_OBJS:.o=.dep)
2149endif
2150# end of build recipe for library "boringssl"
2151
2152
2153# start of build recipe for library "cares" (generated by makelib(lib) template function)
2154# deps: []
2155# transitive_deps: []
2156LIBCARES_SRC = \
2157    third_party/cares/cares/src/lib/ares__addrinfo2hostent.c \
2158    third_party/cares/cares/src/lib/ares__addrinfo_localhost.c \
2159    third_party/cares/cares/src/lib/ares__close_sockets.c \
2160    third_party/cares/cares/src/lib/ares__get_hostent.c \
2161    third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c \
2162    third_party/cares/cares/src/lib/ares__read_line.c \
2163    third_party/cares/cares/src/lib/ares__readaddrinfo.c \
2164    third_party/cares/cares/src/lib/ares__sortaddrinfo.c \
2165    third_party/cares/cares/src/lib/ares__timeval.c \
2166    third_party/cares/cares/src/lib/ares_android.c \
2167    third_party/cares/cares/src/lib/ares_cancel.c \
2168    third_party/cares/cares/src/lib/ares_create_query.c \
2169    third_party/cares/cares/src/lib/ares_data.c \
2170    third_party/cares/cares/src/lib/ares_destroy.c \
2171    third_party/cares/cares/src/lib/ares_expand_name.c \
2172    third_party/cares/cares/src/lib/ares_expand_string.c \
2173    third_party/cares/cares/src/lib/ares_fds.c \
2174    third_party/cares/cares/src/lib/ares_free_hostent.c \
2175    third_party/cares/cares/src/lib/ares_free_string.c \
2176    third_party/cares/cares/src/lib/ares_freeaddrinfo.c \
2177    third_party/cares/cares/src/lib/ares_getaddrinfo.c \
2178    third_party/cares/cares/src/lib/ares_getenv.c \
2179    third_party/cares/cares/src/lib/ares_gethostbyaddr.c \
2180    third_party/cares/cares/src/lib/ares_gethostbyname.c \
2181    third_party/cares/cares/src/lib/ares_getnameinfo.c \
2182    third_party/cares/cares/src/lib/ares_getsock.c \
2183    third_party/cares/cares/src/lib/ares_init.c \
2184    third_party/cares/cares/src/lib/ares_library_init.c \
2185    third_party/cares/cares/src/lib/ares_llist.c \
2186    third_party/cares/cares/src/lib/ares_mkquery.c \
2187    third_party/cares/cares/src/lib/ares_nowarn.c \
2188    third_party/cares/cares/src/lib/ares_options.c \
2189    third_party/cares/cares/src/lib/ares_parse_a_reply.c \
2190    third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c \
2191    third_party/cares/cares/src/lib/ares_parse_caa_reply.c \
2192    third_party/cares/cares/src/lib/ares_parse_mx_reply.c \
2193    third_party/cares/cares/src/lib/ares_parse_naptr_reply.c \
2194    third_party/cares/cares/src/lib/ares_parse_ns_reply.c \
2195    third_party/cares/cares/src/lib/ares_parse_ptr_reply.c \
2196    third_party/cares/cares/src/lib/ares_parse_soa_reply.c \
2197    third_party/cares/cares/src/lib/ares_parse_srv_reply.c \
2198    third_party/cares/cares/src/lib/ares_parse_txt_reply.c \
2199    third_party/cares/cares/src/lib/ares_parse_uri_reply.c \
2200    third_party/cares/cares/src/lib/ares_platform.c \
2201    third_party/cares/cares/src/lib/ares_process.c \
2202    third_party/cares/cares/src/lib/ares_query.c \
2203    third_party/cares/cares/src/lib/ares_rand.c \
2204    third_party/cares/cares/src/lib/ares_search.c \
2205    third_party/cares/cares/src/lib/ares_send.c \
2206    third_party/cares/cares/src/lib/ares_strcasecmp.c \
2207    third_party/cares/cares/src/lib/ares_strdup.c \
2208    third_party/cares/cares/src/lib/ares_strerror.c \
2209    third_party/cares/cares/src/lib/ares_strsplit.c \
2210    third_party/cares/cares/src/lib/ares_timeout.c \
2211    third_party/cares/cares/src/lib/ares_version.c \
2212    third_party/cares/cares/src/lib/ares_writev.c \
2213    third_party/cares/cares/src/lib/bitncmp.c \
2214    third_party/cares/cares/src/lib/inet_net_pton.c \
2215    third_party/cares/cares/src/lib/inet_ntop.c \
2216    third_party/cares/cares/src/lib/windows_port.c \
2217
2218
2219LIBCARES_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBCARES_SRC))))
2220
2221$(LIBCARES_OBJS): CFLAGS += -g
2222$(LIBCARES_OBJS): CPPFLAGS += -Ithird_party/cares/cares/include -Ithird_party/cares -Ithird_party/cares/cares -fvisibility=hidden -D_GNU_SOURCE $(if $(subst Darwin,,$(SYSTEM)),,-Ithird_party/cares/config_darwin) $(if $(subst FreeBSD,,$(SYSTEM)),,-Ithird_party/cares/config_freebsd) $(if $(subst Linux,,$(SYSTEM)),,-Ithird_party/cares/config_linux) $(if $(subst OpenBSD,,$(SYSTEM)),,-Ithird_party/cares/config_openbsd) -DWIN32_LEAN_AND_MEAN -D_HAS_EXCEPTIONS=0 -DNOMINMAX $(if $(subst MINGW32,,$(SYSTEM)),-DHAVE_CONFIG_H,)
2223
2224# static library for "cares"
2225$(LIBDIR)/$(CONFIG)/libcares.a: $(LIBCARES_OBJS)
2226	$(E) "[AR]      Creating $@"
2227	$(Q) mkdir -p `dirname $@`
2228	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libcares.a
2229	$(Q) $(AR) $(ARFLAGS) $(LIBDIR)/$(CONFIG)/libcares.a $(LIBCARES_OBJS)
2230ifeq ($(SYSTEM),Darwin)
2231	$(Q) $(RANLIB) $(RANLIBFLAGS) $(LIBDIR)/$(CONFIG)/libcares.a
2232endif
2233
2234# shared library for "cares"
2235
2236ifneq ($(NO_DEPS),true)
2237-include $(LIBCARES_OBJS:.o=.dep)
2238endif
2239# end of build recipe for library "cares"
2240
2241
2242# start of build recipe for library "z" (generated by makelib(lib) template function)
2243# deps: []
2244# transitive_deps: []
2245LIBZ_SRC = \
2246    third_party/zlib/adler32.c \
2247    third_party/zlib/compress.c \
2248    third_party/zlib/crc32.c \
2249    third_party/zlib/deflate.c \
2250    third_party/zlib/infback.c \
2251    third_party/zlib/inffast.c \
2252    third_party/zlib/inflate.c \
2253    third_party/zlib/inftrees.c \
2254    third_party/zlib/trees.c \
2255    third_party/zlib/uncompr.c \
2256    third_party/zlib/zutil.c \
2257
2258PUBLIC_HEADERS_C += \
2259
2260LIBZ_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBZ_SRC))))
2261
2262$(LIBZ_OBJS): CFLAGS += -fvisibility=hidden
2263$(LIBZ_OBJS): CPPFLAGS += -DHAVE_UNISTD_H
2264
2265# static library for "z"
2266$(LIBDIR)/$(CONFIG)/libz.a: $(ZLIB_MERGE_OBJS)
2267	$(E) "[AR]      Creating $@"
2268	$(Q) mkdir -p `dirname $@`
2269	$(Q) rm -f $(LIBDIR)/$(CONFIG)/libz.a
2270	$(Q) $(AR) $(ARFLAGS) $(LIBDIR)/$(CONFIG)/libz.a $(LIBZ_OBJS)
2271ifeq ($(SYSTEM),Darwin)
2272	$(Q) $(RANLIB) $(RANLIBFLAGS) $(LIBDIR)/$(CONFIG)/libz.a
2273endif
2274
2275# shared library for "z"
2276
2277ifneq ($(NO_DEPS),true)
2278-include $(LIBZ_OBJS:.o=.dep)
2279endif
2280# end of build recipe for library "z"
2281
2282
2283
2284
2285.PHONY: all strip tools dep_error openssl_dep_error openssl_dep_message git_update stop buildtests buildtests_c buildtests_cxx test test_c test_cxx install install_c install_cxx install-static install-certs strip strip-shared strip-static strip_c strip-shared_c strip-static_c strip_cxx strip-shared_cxx strip-static_cxx dep_c dep_cxx bins_dep_c bins_dep_cxx clean
2286
2287.PHONY: printvars
2288printvars:
2289	@$(foreach V,$(sort $(.VARIABLES)),                 	  $(if $(filter-out environment% default automatic, 	  $(origin $V)),$(warning $V=$($V) ($(value $V)))))
2290