Imported Upstream version 1.36.0
[platform/upstream/grpc.git] / build_handwritten.yaml
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.
4 settings:
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: 15.0.0
16   csharp_major_version: 2
17   g_stands_for: gummybear
18   protobuf_version: 3.14.0
19   version: 1.36.0
20 targets:
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
51 vspackages:
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
66 configs:
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
194 defaults:
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
220 php_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
251 python_dependencies:
252   deps:
253   - grpc
254   - address_sorting
255   - ares
256   - boringssl
257   - re2
258   - z
259 ruby_gem:
260   deps:
261   - grpc
262   - address_sorting
263   - ares
264   - boringssl
265   - re2
266   - z