1'#1': This file describes the list of targets and dependencies.
2'#2': It is used among other things to generate all of our project files.
3'#3': Please refer to the templates directory for more information.
4settings:
5  '#01': The public version number of the library.
6  '#02': ===
7  '#03': Please update the 'g_stands_for' field periodically with a new g word
8  '#04': not listed in doc/g_stands_for.md - and update that document to list the
9  '#05': new word. When doing so, please also update BUILD.
10  '#06': ===
11  '#07': Master always has a "-dev" suffix
12  '#08': Use "-preN" suffixes to identify pre-release versions
13  '#09': Per-language overrides are possible with (eg) ruby_version tag here
14  '#10': See the expand_version.py for all the quirks here
15  core_version: 14.0.0
16  csharp_major_version: 2
17  g_stands_for: gecko
18  protobuf_version: 3.14.0
19  version: 1.35.0
20targets:
21- name: check_epollexclusive
22  build: tool
23  language: c
24  src:
25  - test/build/check_epollexclusive.c
26  deps:
27  - grpc
28  - gpr
29- name: gen_hpack_tables
30  build: tool
31  language: c++
32  src:
33  - tools/codegen/core/gen_hpack_tables.cc
34  deps:
35  - grpc
36  - gpr
37  uses_polling: false
38- name: gen_legal_metadata_characters
39  build: tool
40  language: c++
41  src:
42  - tools/codegen/core/gen_legal_metadata_characters.cc
43  deps: []
44- name: gen_percent_encoding_tables
45  build: tool
46  language: c++
47  src:
48  - tools/codegen/core/gen_percent_encoding_tables.cc
49  deps: []
50  uses_polling: false
51vspackages:
52- linkage: static
53  name: grpc.dependencies.zlib
54  props: false
55  redist: true
56  version: 1.2.8.10
57- linkage: static
58  name: grpc.dependencies.openssl
59  props: true
60  redist: true
61  version: 1.0.204.1
62- name: gtest
63  props: false
64  redist: false
65  version: 1.7.0.1
66configs:
67  asan:
68    CC: clang
69    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer
70      -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
71    CXX: clang++
72    LD: clang++
73    LDFLAGS: -fsanitize=address
74    LDXX: clang++
75    compile_the_world: true
76    test_environ:
77      ASAN_OPTIONS: detect_leaks=1:color=always
78      LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
79  asan-noleaks:
80    CC: clang
81    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize=address -fno-omit-frame-pointer
82      -Wno-unused-command-line-argument -DGPR_NO_DIRECT_SYSCALLS
83    CXX: clang++
84    LD: clang++
85    LDFLAGS: fsanitize=address
86    LDXX: clang++
87    compile_the_world: true
88    test_environ:
89      ASAN_OPTIONS: detect_leaks=0:color=always
90  asan-trace-cmp:
91    CC: clang
92    CPPFLAGS: -O0 -fsanitize-coverage=edge,trace-pc-guard -fsanitize-coverage=trace-cmp
93      -fsanitize=address -fno-omit-frame-pointer -Wno-unused-command-line-argument
94      -DGPR_NO_DIRECT_SYSCALLS
95    CXX: clang++
96    LD: clang++
97    LDFLAGS: -fsanitize=address
98    LDXX: clang++
99    compile_the_world: true
100    test_environ:
101      ASAN_OPTIONS: detect_leaks=1:color=always
102      LSAN_OPTIONS: suppressions=test/core/util/lsan_suppressions.txt:report_objects=1
103  basicprof:
104    CPPFLAGS: -O2 -DGRPC_BASIC_PROFILER -DGRPC_TIMERS_RDTSC
105    DEFINES: NDEBUG
106  c++-compat:
107    CFLAGS: -Wc++-compat
108    CPPFLAGS: -O0
109    DEFINES: _DEBUG DEBUG
110  counters:
111    CPPFLAGS: -O2 -DGPR_LOW_LEVEL_COUNTERS
112    DEFINES: NDEBUG
113  counters_with_memory_counter:
114    CPPFLAGS: -O2 -DGPR_LOW_LEVEL_COUNTERS -DGPR_WRAP_MEMORY_COUNTER
115    DEFINES: NDEBUG
116    LDFLAGS: -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free
117  dbg:
118    CPPFLAGS: -O0
119    DEFINES: _DEBUG DEBUG
120  gcov:
121    CC: gcc
122    CPPFLAGS: -O0 -fprofile-arcs -ftest-coverage -Wno-return-type
123    CXX: g++
124    DEFINES: _DEBUG DEBUG GPR_GCOV
125    LD: gcc
126    LDFLAGS: -fprofile-arcs -ftest-coverage -rdynamic -lstdc++
127    LDXX: g++
128  helgrind:
129    CPPFLAGS: -O0
130    DEFINES: _DEBUG DEBUG
131    LDFLAGS: -rdynamic
132    valgrind: --tool=helgrind
133  lto:
134    CPPFLAGS: -O2
135    DEFINES: NDEBUG
136  memcheck:
137    CPPFLAGS: -O0
138    DEFINES: _DEBUG DEBUG
139    LDFLAGS: -rdynamic
140    valgrind: --tool=memcheck --leak-check=full
141  msan:
142    CC: clang
143    CPPFLAGS: -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=memory
144      -fsanitize-memory-track-origins -fsanitize-memory-use-after-dtor -fno-omit-frame-pointer
145      -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1 -Wno-unused-command-line-argument
146      -fPIE -pie -DGPR_NO_DIRECT_SYSCALLS
147    CXX: clang++
148    DEFINES: NDEBUG
149    LD: clang++
150    LDFLAGS: -stdlib=libc++ -fsanitize=memory -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_USE_OWN_TR1_TUPLE=1
151      -fPIE -pie $(if $(JENKINS_BUILD),-Wl$(comma)-Ttext-segment=0x7e0000000000,)
152    LDXX: clang++
153    compile_the_world: true
154    test_environ:
155      MSAN_OPTIONS: poison_in_dtor=1
156  mutrace:
157    CPPFLAGS: -O3 -fno-omit-frame-pointer
158    DEFINES: NDEBUG
159    LDFLAGS: -rdynamic
160  noexcept:
161    CPPFLAGS: -O2 -Wframe-larger-than=16384
162    CXXFLAGS: -fno-exceptions
163    DEFINES: NDEBUG
164  opt:
165    CPPFLAGS: -O2 -Wframe-larger-than=16384
166    DEFINES: NDEBUG
167  stapprof:
168    CPPFLAGS: -O2 -DGRPC_STAP_PROFILER
169    DEFINES: NDEBUG
170  tsan:
171    CC: clang
172    CPPFLAGS: -O0 -fsanitize=thread -fno-omit-frame-pointer -Wno-unused-command-line-argument
173      -DGPR_NO_DIRECT_SYSCALLS
174    CXX: clang++
175    DEFINES: GRPC_TSAN
176    LD: clang++
177    LDFLAGS: -fsanitize=thread
178    LDXX: clang++
179    compile_the_world: true
180    test_environ:
181      TSAN_OPTIONS: suppressions=test/core/util/tsan_suppressions.txt:halt_on_error=1:second_deadlock_stack=1
182  ubsan:
183    CC: clang
184    CPPFLAGS: -O0 -stdlib=libc++ -fsanitize-coverage=edge,trace-pc-guard -fsanitize=undefined
185      -fno-omit-frame-pointer -Wno-unused-command-line-argument -Wvarargs
186    CXX: clang++
187    DEFINES: NDEBUG GRPC_UBSAN
188    LD: clang++
189    LDFLAGS: -stdlib=libc++ -fsanitize=undefined,unsigned-integer-overflow
190    LDXX: clang++
191    compile_the_world: true
192    test_environ:
193      UBSAN_OPTIONS: halt_on_error=1:print_stacktrace=1:suppressions=test/core/util/ubsan_suppressions.txt
194defaults:
195  abseil:
196    CPPFLAGS: -g $(ABSL_RANDOM_HWAES_FLAGS) -Ithird_party/abseil-cpp
197  ares:
198    CFLAGS: -g
199    CPPFLAGS: -Ithird_party/cares -Ithird_party/cares/cares -fvisibility=hidden -D_GNU_SOURCE
200      $(if $(subst Darwin,,$(SYSTEM)),,-Ithird_party/cares/config_darwin) $(if $(subst
201      FreeBSD,,$(SYSTEM)),,-Ithird_party/cares/config_freebsd) $(if $(subst Linux,,$(SYSTEM)),,-Ithird_party/cares/config_linux)
202      $(if $(subst OpenBSD,,$(SYSTEM)),,-Ithird_party/cares/config_openbsd) -DWIN32_LEAN_AND_MEAN
203      -D_HAS_EXCEPTIONS=0 -DNOMINMAX $(if $(subst MINGW32,,$(SYSTEM)),-DHAVE_CONFIG_H,)
204  benchmark:
205    CPPFLAGS: -Ithird_party/benchmark/include -DHAVE_POSIX_REGEX
206  boringssl:
207    CFLAGS: -g
208    CPPFLAGS: -Ithird_party/boringssl-with-bazel/src/include -fvisibility=hidden -DOPENSSL_NO_ASM
209      -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN -D_HAS_EXCEPTIONS=0 -DNOMINMAX
210    CXXFLAGS: -fno-exceptions
211  global:
212    CFLAGS: -g
213    COREFLAGS: -fno-exceptions
214    CPPFLAGS: -g -Wall -Wextra -DOSATOMIC_USE_INLINED=1 -Ithird_party/abseil-cpp -Ithird_party/re2
215      -Ithird_party/upb -Isrc/core/ext/upb-generated -Isrc/core/ext/upbdefs-generated
216    LDFLAGS: -g
217  zlib:
218    CFLAGS: -fvisibility=hidden
219    CPPFLAGS: -DHAVE_UNISTD_H
220php_config_m4:
221  deps:
222  - grpc
223  - address_sorting
224  - boringssl
225  - re2
226  - z
227  headers:
228  - src/php/ext/grpc/byte_buffer.h
229  - src/php/ext/grpc/call.h
230  - src/php/ext/grpc/call_credentials.h
231  - src/php/ext/grpc/channel.h
232  - src/php/ext/grpc/channel_credentials.h
233  - src/php/ext/grpc/completion_queue.h
234  - src/php/ext/grpc/php7_wrapper.h
235  - src/php/ext/grpc/php_grpc.h
236  - src/php/ext/grpc/server.h
237  - src/php/ext/grpc/server_credentials.h
238  - src/php/ext/grpc/timeval.h
239  - src/php/ext/grpc/version.h
240  src:
241  - src/php/ext/grpc/byte_buffer.c
242  - src/php/ext/grpc/call.c
243  - src/php/ext/grpc/call_credentials.c
244  - src/php/ext/grpc/channel.c
245  - src/php/ext/grpc/channel_credentials.c
246  - src/php/ext/grpc/completion_queue.c
247  - src/php/ext/grpc/php_grpc.c
248  - src/php/ext/grpc/server.c
249  - src/php/ext/grpc/server_credentials.c
250  - src/php/ext/grpc/timeval.c
251python_dependencies:
252  deps:
253  - grpc
254  - address_sorting
255  - ares
256  - boringssl
257  - re2
258  - z
259ruby_gem:
260  deps:
261  - grpc
262  - address_sorting
263  - ares
264  - boringssl
265  - re2
266  - z
267