BUILD 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544
  1. # gRPC Bazel BUILD file.
  2. #
  3. # Copyright 2016 gRPC authors.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. licenses(["notice"]) # Apache v2
  17. exports_files(["LICENSE"])
  18. package(
  19. default_visibility = ["//visibility:public"],
  20. features = [
  21. "-layering_check",
  22. "-parse_headers",
  23. ],
  24. )
  25. load(
  26. "//bazel:grpc_build_system.bzl",
  27. "grpc_cc_library",
  28. "grpc_proto_plugin",
  29. "grpc_generate_one_off_targets",
  30. )
  31. # This should be updated along with build.yaml
  32. g_stands_for = "gregarious"
  33. core_version = "4.0.0-dev"
  34. version = "1.5.0-dev"
  35. grpc_cc_library(
  36. name = "gpr",
  37. language = "c",
  38. standalone = True,
  39. deps = [
  40. "gpr_base",
  41. ],
  42. )
  43. grpc_cc_library(
  44. name = "grpc_unsecure",
  45. srcs = [
  46. "src/core/lib/surface/init.c",
  47. "src/core/lib/surface/init_unsecure.c",
  48. "src/core/plugin_registry/grpc_unsecure_plugin_registry.c",
  49. ],
  50. language = "c",
  51. standalone = True,
  52. deps = [
  53. "grpc_common",
  54. ],
  55. )
  56. grpc_cc_library(
  57. name = "grpc",
  58. srcs = [
  59. "src/core/lib/surface/init.c",
  60. "src/core/plugin_registry/grpc_plugin_registry.c",
  61. ],
  62. language = "c",
  63. standalone = True,
  64. deps = [
  65. "grpc_common",
  66. "grpc_lb_policy_grpclb_secure",
  67. "grpc_resolver_dns_ares",
  68. "grpc_secure",
  69. "grpc_transport_chttp2_client_secure",
  70. "grpc_transport_chttp2_server_secure",
  71. ],
  72. )
  73. grpc_cc_library(
  74. name = "grpc_cronet",
  75. srcs = [
  76. "src/core/lib/surface/init.c",
  77. "src/core/plugin_registry/grpc_cronet_plugin_registry.c",
  78. ],
  79. language = "c",
  80. deps = [
  81. "grpc_base",
  82. "grpc_http_filters",
  83. "grpc_transport_chttp2_client_secure",
  84. "grpc_transport_cronet_client_secure",
  85. ],
  86. )
  87. grpc_cc_library(
  88. name = "grpc++",
  89. srcs = [
  90. "src/cpp/client/insecure_credentials.cc",
  91. "src/cpp/client/secure_credentials.cc",
  92. "src/cpp/common/auth_property_iterator.cc",
  93. "src/cpp/common/secure_auth_context.cc",
  94. "src/cpp/common/secure_channel_arguments.cc",
  95. "src/cpp/common/secure_create_auth_context.cc",
  96. "src/cpp/server/insecure_server_credentials.cc",
  97. "src/cpp/server/secure_server_credentials.cc",
  98. ],
  99. hdrs = [
  100. "src/cpp/client/secure_credentials.h",
  101. "src/cpp/common/secure_auth_context.h",
  102. "src/cpp/server/secure_server_credentials.h",
  103. ],
  104. language = "c++",
  105. standalone = True,
  106. deps = [
  107. "gpr",
  108. "grpc",
  109. "grpc++_base",
  110. "grpc++_codegen_base",
  111. "grpc++_codegen_base_src",
  112. "grpc++_codegen_proto",
  113. ],
  114. )
  115. grpc_cc_library(
  116. name = "grpc++_unsecure",
  117. srcs = [
  118. "src/cpp/client/insecure_credentials.cc",
  119. "src/cpp/common/insecure_create_auth_context.cc",
  120. "src/cpp/server/insecure_server_credentials.cc",
  121. ],
  122. language = "c++",
  123. standalone = True,
  124. deps = [
  125. "gpr",
  126. "grpc++_base_unsecure",
  127. "grpc++_codegen_base",
  128. "grpc++_codegen_base_src",
  129. "grpc_unsecure",
  130. ],
  131. )
  132. grpc_cc_library(
  133. name = "grpc++_error_details",
  134. srcs = [
  135. "src/cpp/util/error_details.cc",
  136. ],
  137. hdrs = [
  138. "include/grpc++/support/error_details.h",
  139. ],
  140. language = "c++",
  141. standalone = True,
  142. deps = [
  143. "grpc++",
  144. "//src/proto/grpc/status:status_proto",
  145. ],
  146. )
  147. grpc_cc_library(
  148. name = "grpc_plugin_support",
  149. srcs = [
  150. "src/compiler/cpp_generator.cc",
  151. "src/compiler/csharp_generator.cc",
  152. "src/compiler/node_generator.cc",
  153. "src/compiler/objective_c_generator.cc",
  154. "src/compiler/php_generator.cc",
  155. "src/compiler/python_generator.cc",
  156. "src/compiler/ruby_generator.cc",
  157. ],
  158. hdrs = [
  159. "src/compiler/config.h",
  160. "src/compiler/cpp_generator.h",
  161. "src/compiler/cpp_generator_helpers.h",
  162. "src/compiler/csharp_generator.h",
  163. "src/compiler/csharp_generator_helpers.h",
  164. "src/compiler/generator_helpers.h",
  165. "src/compiler/node_generator.h",
  166. "src/compiler/node_generator_helpers.h",
  167. "src/compiler/objective_c_generator.h",
  168. "src/compiler/objective_c_generator_helpers.h",
  169. "src/compiler/php_generator.h",
  170. "src/compiler/php_generator_helpers.h",
  171. "src/compiler/protobuf_plugin.h",
  172. "src/compiler/python_generator.h",
  173. "src/compiler/python_generator_helpers.h",
  174. "src/compiler/python_private_generator.h",
  175. "src/compiler/ruby_generator.h",
  176. "src/compiler/ruby_generator_helpers-inl.h",
  177. "src/compiler/ruby_generator_map-inl.h",
  178. "src/compiler/ruby_generator_string-inl.h",
  179. "src/compiler/schema_interface.h",
  180. ],
  181. external_deps = [
  182. "protobuf_clib",
  183. ],
  184. language = "c++",
  185. deps = [
  186. "grpc++_config_proto",
  187. ],
  188. )
  189. grpc_proto_plugin(
  190. name = "grpc_cpp_plugin",
  191. srcs = ["src/compiler/cpp_plugin.cc"],
  192. deps = [":grpc_plugin_support"],
  193. )
  194. grpc_proto_plugin(
  195. name = "grpc_csharp_plugin",
  196. srcs = ["src/compiler/csharp_plugin.cc"],
  197. deps = [":grpc_plugin_support"],
  198. )
  199. grpc_proto_plugin(
  200. name = "grpc_node_plugin",
  201. srcs = ["src/compiler/node_plugin.cc"],
  202. deps = [":grpc_plugin_support"],
  203. )
  204. grpc_proto_plugin(
  205. name = "grpc_objective_c_plugin",
  206. srcs = ["src/compiler/objective_c_plugin.cc"],
  207. deps = [":grpc_plugin_support"],
  208. )
  209. grpc_proto_plugin(
  210. name = "grpc_php_plugin",
  211. srcs = ["src/compiler/php_plugin.cc"],
  212. deps = [":grpc_plugin_support"],
  213. )
  214. grpc_proto_plugin(
  215. name = "grpc_python_plugin",
  216. srcs = ["src/compiler/python_plugin.cc"],
  217. deps = [":grpc_plugin_support"],
  218. )
  219. grpc_proto_plugin(
  220. name = "grpc_ruby_plugin",
  221. srcs = ["src/compiler/ruby_plugin.cc"],
  222. deps = [":grpc_plugin_support"],
  223. )
  224. grpc_cc_library(
  225. name = "grpc_csharp_ext",
  226. srcs = [
  227. "src/csharp/ext/grpc_csharp_ext.c",
  228. ],
  229. language = "csharp",
  230. deps = [
  231. "gpr",
  232. "grpc",
  233. ],
  234. )
  235. grpc_cc_library(
  236. name = "census",
  237. srcs = [
  238. "src/core/ext/census/base_resources.c",
  239. "src/core/ext/census/context.c",
  240. "src/core/ext/census/gen/census.pb.c",
  241. "src/core/ext/census/gen/trace_context.pb.c",
  242. "src/core/ext/census/grpc_context.c",
  243. "src/core/ext/census/grpc_filter.c",
  244. "src/core/ext/census/grpc_plugin.c",
  245. "src/core/ext/census/initialize.c",
  246. "src/core/ext/census/intrusive_hash_map.c",
  247. "src/core/ext/census/mlog.c",
  248. "src/core/ext/census/operation.c",
  249. "src/core/ext/census/placeholders.c",
  250. "src/core/ext/census/resource.c",
  251. "src/core/ext/census/trace_context.c",
  252. "src/core/ext/census/tracing.c",
  253. ],
  254. hdrs = [
  255. "src/core/ext/census/aggregation.h",
  256. "src/core/ext/census/base_resources.h",
  257. "src/core/ext/census/census_interface.h",
  258. "src/core/ext/census/census_rpc_stats.h",
  259. "src/core/ext/census/gen/census.pb.h",
  260. "src/core/ext/census/gen/trace_context.pb.h",
  261. "src/core/ext/census/grpc_filter.h",
  262. "src/core/ext/census/intrusive_hash_map.h",
  263. "src/core/ext/census/intrusive_hash_map_internal.h",
  264. "src/core/ext/census/mlog.h",
  265. "src/core/ext/census/resource.h",
  266. "src/core/ext/census/rpc_metric_id.h",
  267. "src/core/ext/census/trace_context.h",
  268. "src/core/ext/census/trace_label.h",
  269. "src/core/ext/census/trace_propagation.h",
  270. "src/core/ext/census/trace_status.h",
  271. "src/core/ext/census/trace_string.h",
  272. "src/core/ext/census/tracing.h",
  273. ],
  274. external_deps = [
  275. "nanopb",
  276. "libssl",
  277. ],
  278. language = "c",
  279. public_hdrs = [
  280. "include/grpc/census.h",
  281. ],
  282. deps = [
  283. "grpc_base",
  284. ],
  285. )
  286. grpc_cc_library(
  287. name = "gpr_base",
  288. srcs = [
  289. "src/core/lib/profiling/basic_timers.c",
  290. "src/core/lib/profiling/stap_timers.c",
  291. "src/core/lib/support/alloc.c",
  292. "src/core/lib/support/arena.c",
  293. "src/core/lib/support/atm.c",
  294. "src/core/lib/support/avl.c",
  295. "src/core/lib/support/backoff.c",
  296. "src/core/lib/support/cmdline.c",
  297. "src/core/lib/support/cpu_iphone.c",
  298. "src/core/lib/support/cpu_linux.c",
  299. "src/core/lib/support/cpu_posix.c",
  300. "src/core/lib/support/cpu_windows.c",
  301. "src/core/lib/support/env_linux.c",
  302. "src/core/lib/support/env_posix.c",
  303. "src/core/lib/support/env_windows.c",
  304. "src/core/lib/support/histogram.c",
  305. "src/core/lib/support/host_port.c",
  306. "src/core/lib/support/log.c",
  307. "src/core/lib/support/log_android.c",
  308. "src/core/lib/support/log_linux.c",
  309. "src/core/lib/support/log_posix.c",
  310. "src/core/lib/support/log_windows.c",
  311. "src/core/lib/support/mpscq.c",
  312. "src/core/lib/support/murmur_hash.c",
  313. "src/core/lib/support/stack_lockfree.c",
  314. "src/core/lib/support/string.c",
  315. "src/core/lib/support/string_posix.c",
  316. "src/core/lib/support/string_util_windows.c",
  317. "src/core/lib/support/string_windows.c",
  318. "src/core/lib/support/subprocess_posix.c",
  319. "src/core/lib/support/subprocess_windows.c",
  320. "src/core/lib/support/sync.c",
  321. "src/core/lib/support/sync_posix.c",
  322. "src/core/lib/support/sync_windows.c",
  323. "src/core/lib/support/thd.c",
  324. "src/core/lib/support/thd_posix.c",
  325. "src/core/lib/support/thd_windows.c",
  326. "src/core/lib/support/time.c",
  327. "src/core/lib/support/time_posix.c",
  328. "src/core/lib/support/time_precise.c",
  329. "src/core/lib/support/time_windows.c",
  330. "src/core/lib/support/tls_pthread.c",
  331. "src/core/lib/support/tmpfile_msys.c",
  332. "src/core/lib/support/tmpfile_posix.c",
  333. "src/core/lib/support/tmpfile_windows.c",
  334. "src/core/lib/support/wrap_memcpy.c",
  335. ],
  336. hdrs = [
  337. "src/core/lib/profiling/timers.h",
  338. "src/core/lib/support/arena.h",
  339. "src/core/lib/support/atomic.h",
  340. "src/core/lib/support/atomic_with_atm.h",
  341. "src/core/lib/support/atomic_with_std.h",
  342. "src/core/lib/support/backoff.h",
  343. "src/core/lib/support/block_annotate.h",
  344. "src/core/lib/support/env.h",
  345. "src/core/lib/support/memory.h",
  346. "src/core/lib/support/mpscq.h",
  347. "src/core/lib/support/murmur_hash.h",
  348. "src/core/lib/support/spinlock.h",
  349. "src/core/lib/support/stack_lockfree.h",
  350. "src/core/lib/support/string.h",
  351. "src/core/lib/support/string_windows.h",
  352. "src/core/lib/support/thd_internal.h",
  353. "src/core/lib/support/time_precise.h",
  354. "src/core/lib/support/tmpfile.h",
  355. ],
  356. language = "c",
  357. public_hdrs = [
  358. "include/grpc/support/alloc.h",
  359. "include/grpc/support/atm.h",
  360. "include/grpc/support/atm_gcc_atomic.h",
  361. "include/grpc/support/atm_gcc_sync.h",
  362. "include/grpc/support/atm_windows.h",
  363. "include/grpc/support/avl.h",
  364. "include/grpc/support/cmdline.h",
  365. "include/grpc/support/cpu.h",
  366. "include/grpc/support/histogram.h",
  367. "include/grpc/support/host_port.h",
  368. "include/grpc/support/log.h",
  369. "include/grpc/support/log_windows.h",
  370. "include/grpc/support/port_platform.h",
  371. "include/grpc/support/string_util.h",
  372. "include/grpc/support/subprocess.h",
  373. "include/grpc/support/sync.h",
  374. "include/grpc/support/sync_generic.h",
  375. "include/grpc/support/sync_posix.h",
  376. "include/grpc/support/sync_windows.h",
  377. "include/grpc/support/thd.h",
  378. "include/grpc/support/time.h",
  379. "include/grpc/support/tls.h",
  380. "include/grpc/support/tls_gcc.h",
  381. "include/grpc/support/tls_msvc.h",
  382. "include/grpc/support/tls_pthread.h",
  383. "include/grpc/support/useful.h",
  384. ],
  385. deps = [
  386. "gpr_codegen",
  387. ],
  388. )
  389. grpc_cc_library(
  390. name = "gpr_codegen",
  391. language = "c",
  392. public_hdrs = [
  393. "include/grpc/impl/codegen/atm.h",
  394. "include/grpc/impl/codegen/atm_gcc_atomic.h",
  395. "include/grpc/impl/codegen/atm_gcc_sync.h",
  396. "include/grpc/impl/codegen/atm_windows.h",
  397. "include/grpc/impl/codegen/gpr_slice.h",
  398. "include/grpc/impl/codegen/gpr_types.h",
  399. "include/grpc/impl/codegen/port_platform.h",
  400. "include/grpc/impl/codegen/sync.h",
  401. "include/grpc/impl/codegen/sync_generic.h",
  402. "include/grpc/impl/codegen/sync_posix.h",
  403. "include/grpc/impl/codegen/sync_windows.h",
  404. ],
  405. )
  406. grpc_cc_library(
  407. name = "grpc_trace",
  408. srcs = ["src/core/lib/debug/trace.c"],
  409. hdrs = ["src/core/lib/debug/trace.h"],
  410. deps = [":gpr"],
  411. )
  412. grpc_cc_library(
  413. name = "grpc_base_c",
  414. srcs = [
  415. "src/core/lib/channel/channel_args.c",
  416. "src/core/lib/channel/channel_stack.c",
  417. "src/core/lib/channel/channel_stack_builder.c",
  418. "src/core/lib/channel/connected_channel.c",
  419. "src/core/lib/channel/handshaker.c",
  420. "src/core/lib/channel/handshaker_factory.c",
  421. "src/core/lib/channel/handshaker_registry.c",
  422. "src/core/lib/compression/compression.c",
  423. "src/core/lib/compression/message_compress.c",
  424. "src/core/lib/http/format_request.c",
  425. "src/core/lib/http/httpcli.c",
  426. "src/core/lib/http/parser.c",
  427. "src/core/lib/iomgr/closure.c",
  428. "src/core/lib/iomgr/combiner.c",
  429. "src/core/lib/iomgr/endpoint.c",
  430. "src/core/lib/iomgr/endpoint_pair_posix.c",
  431. "src/core/lib/iomgr/endpoint_pair_uv.c",
  432. "src/core/lib/iomgr/endpoint_pair_windows.c",
  433. "src/core/lib/iomgr/error.c",
  434. "src/core/lib/iomgr/ev_epoll1_linux.c",
  435. "src/core/lib/iomgr/ev_epoll_limited_pollers_linux.c",
  436. "src/core/lib/iomgr/ev_epoll_thread_pool_linux.c",
  437. "src/core/lib/iomgr/ev_epollex_linux.c",
  438. "src/core/lib/iomgr/ev_epollsig_linux.c",
  439. "src/core/lib/iomgr/ev_poll_posix.c",
  440. "src/core/lib/iomgr/ev_posix.c",
  441. "src/core/lib/iomgr/ev_windows.c",
  442. "src/core/lib/iomgr/exec_ctx.c",
  443. "src/core/lib/iomgr/executor.c",
  444. "src/core/lib/iomgr/iocp_windows.c",
  445. "src/core/lib/iomgr/iomgr.c",
  446. "src/core/lib/iomgr/iomgr_posix.c",
  447. "src/core/lib/iomgr/iomgr_uv.c",
  448. "src/core/lib/iomgr/iomgr_windows.c",
  449. "src/core/lib/iomgr/is_epollexclusive_available.c",
  450. "src/core/lib/iomgr/load_file.c",
  451. "src/core/lib/iomgr/lockfree_event.c",
  452. "src/core/lib/iomgr/network_status_tracker.c",
  453. "src/core/lib/iomgr/polling_entity.c",
  454. "src/core/lib/iomgr/pollset_set_uv.c",
  455. "src/core/lib/iomgr/pollset_set_windows.c",
  456. "src/core/lib/iomgr/pollset_uv.c",
  457. "src/core/lib/iomgr/pollset_windows.c",
  458. "src/core/lib/iomgr/resolve_address_posix.c",
  459. "src/core/lib/iomgr/resolve_address_uv.c",
  460. "src/core/lib/iomgr/resolve_address_windows.c",
  461. "src/core/lib/iomgr/resource_quota.c",
  462. "src/core/lib/iomgr/sockaddr_utils.c",
  463. "src/core/lib/iomgr/socket_factory_posix.c",
  464. "src/core/lib/iomgr/socket_mutator.c",
  465. "src/core/lib/iomgr/socket_utils_common_posix.c",
  466. "src/core/lib/iomgr/socket_utils_linux.c",
  467. "src/core/lib/iomgr/socket_utils_posix.c",
  468. "src/core/lib/iomgr/socket_utils_uv.c",
  469. "src/core/lib/iomgr/socket_utils_windows.c",
  470. "src/core/lib/iomgr/socket_windows.c",
  471. "src/core/lib/iomgr/tcp_client_posix.c",
  472. "src/core/lib/iomgr/tcp_client_uv.c",
  473. "src/core/lib/iomgr/tcp_client_windows.c",
  474. "src/core/lib/iomgr/tcp_posix.c",
  475. "src/core/lib/iomgr/tcp_server_posix.c",
  476. "src/core/lib/iomgr/tcp_server_utils_posix_common.c",
  477. "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.c",
  478. "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.c",
  479. "src/core/lib/iomgr/tcp_server_uv.c",
  480. "src/core/lib/iomgr/tcp_server_windows.c",
  481. "src/core/lib/iomgr/tcp_uv.c",
  482. "src/core/lib/iomgr/tcp_windows.c",
  483. "src/core/lib/iomgr/time_averaged_stats.c",
  484. "src/core/lib/iomgr/timer_generic.c",
  485. "src/core/lib/iomgr/timer_heap.c",
  486. "src/core/lib/iomgr/timer_manager.c",
  487. "src/core/lib/iomgr/timer_uv.c",
  488. "src/core/lib/iomgr/udp_server.c",
  489. "src/core/lib/iomgr/unix_sockets_posix.c",
  490. "src/core/lib/iomgr/unix_sockets_posix_noop.c",
  491. "src/core/lib/iomgr/wakeup_fd_cv.c",
  492. "src/core/lib/iomgr/wakeup_fd_eventfd.c",
  493. "src/core/lib/iomgr/wakeup_fd_nospecial.c",
  494. "src/core/lib/iomgr/wakeup_fd_pipe.c",
  495. "src/core/lib/iomgr/wakeup_fd_posix.c",
  496. "src/core/lib/iomgr/workqueue_uv.c",
  497. "src/core/lib/iomgr/workqueue_windows.c",
  498. "src/core/lib/json/json.c",
  499. "src/core/lib/json/json_reader.c",
  500. "src/core/lib/json/json_string.c",
  501. "src/core/lib/json/json_writer.c",
  502. "src/core/lib/slice/b64.c",
  503. "src/core/lib/slice/percent_encoding.c",
  504. "src/core/lib/slice/slice.c",
  505. "src/core/lib/slice/slice_buffer.c",
  506. "src/core/lib/slice/slice_hash_table.c",
  507. "src/core/lib/slice/slice_intern.c",
  508. "src/core/lib/slice/slice_string_helpers.c",
  509. "src/core/lib/surface/alarm.c",
  510. "src/core/lib/surface/api_trace.c",
  511. "src/core/lib/surface/byte_buffer.c",
  512. "src/core/lib/surface/byte_buffer_reader.c",
  513. "src/core/lib/surface/call.c",
  514. "src/core/lib/surface/call_details.c",
  515. "src/core/lib/surface/call_log_batch.c",
  516. "src/core/lib/surface/channel.c",
  517. "src/core/lib/surface/channel_init.c",
  518. "src/core/lib/surface/channel_ping.c",
  519. "src/core/lib/surface/channel_stack_type.c",
  520. "src/core/lib/surface/completion_queue.c",
  521. "src/core/lib/surface/completion_queue_factory.c",
  522. "src/core/lib/surface/event_string.c",
  523. "src/core/lib/surface/metadata_array.c",
  524. "src/core/lib/surface/server.c",
  525. "src/core/lib/surface/validate_metadata.c",
  526. "src/core/lib/surface/version.c",
  527. "src/core/lib/transport/bdp_estimator.c",
  528. "src/core/lib/transport/byte_stream.c",
  529. "src/core/lib/transport/connectivity_state.c",
  530. "src/core/lib/transport/error_utils.c",
  531. "src/core/lib/transport/metadata.c",
  532. "src/core/lib/transport/metadata_batch.c",
  533. "src/core/lib/transport/pid_controller.c",
  534. "src/core/lib/transport/service_config.c",
  535. "src/core/lib/transport/static_metadata.c",
  536. "src/core/lib/transport/status_conversion.c",
  537. "src/core/lib/transport/timeout_encoding.c",
  538. "src/core/lib/transport/transport.c",
  539. "src/core/lib/transport/transport_op_string.c",
  540. ],
  541. hdrs = [
  542. "src/core/lib/channel/channel_args.h",
  543. "src/core/lib/channel/channel_stack.h",
  544. "src/core/lib/channel/channel_stack_builder.h",
  545. "src/core/lib/channel/connected_channel.h",
  546. "src/core/lib/channel/context.h",
  547. "src/core/lib/channel/handshaker.h",
  548. "src/core/lib/channel/handshaker_factory.h",
  549. "src/core/lib/channel/handshaker_registry.h",
  550. "src/core/lib/compression/algorithm_metadata.h",
  551. "src/core/lib/compression/message_compress.h",
  552. "src/core/lib/http/format_request.h",
  553. "src/core/lib/http/httpcli.h",
  554. "src/core/lib/http/parser.h",
  555. "src/core/lib/iomgr/closure.h",
  556. "src/core/lib/iomgr/combiner.h",
  557. "src/core/lib/iomgr/endpoint.h",
  558. "src/core/lib/iomgr/endpoint_pair.h",
  559. "src/core/lib/iomgr/error.h",
  560. "src/core/lib/iomgr/error_internal.h",
  561. "src/core/lib/iomgr/ev_epoll1_linux.h",
  562. "src/core/lib/iomgr/ev_epoll_limited_pollers_linux.h",
  563. "src/core/lib/iomgr/ev_epoll_thread_pool_linux.h",
  564. "src/core/lib/iomgr/ev_epollex_linux.h",
  565. "src/core/lib/iomgr/ev_epollsig_linux.h",
  566. "src/core/lib/iomgr/ev_poll_posix.h",
  567. "src/core/lib/iomgr/ev_posix.h",
  568. "src/core/lib/iomgr/exec_ctx.h",
  569. "src/core/lib/iomgr/executor.h",
  570. "src/core/lib/iomgr/iocp_windows.h",
  571. "src/core/lib/iomgr/iomgr.h",
  572. "src/core/lib/iomgr/iomgr_internal.h",
  573. "src/core/lib/iomgr/iomgr_posix.h",
  574. "src/core/lib/iomgr/is_epollexclusive_available.h",
  575. "src/core/lib/iomgr/load_file.h",
  576. "src/core/lib/iomgr/lockfree_event.h",
  577. "src/core/lib/iomgr/network_status_tracker.h",
  578. "src/core/lib/iomgr/polling_entity.h",
  579. "src/core/lib/iomgr/pollset.h",
  580. "src/core/lib/iomgr/pollset_set.h",
  581. "src/core/lib/iomgr/pollset_set_windows.h",
  582. "src/core/lib/iomgr/pollset_uv.h",
  583. "src/core/lib/iomgr/pollset_windows.h",
  584. "src/core/lib/iomgr/port.h",
  585. "src/core/lib/iomgr/resolve_address.h",
  586. "src/core/lib/iomgr/resource_quota.h",
  587. "src/core/lib/iomgr/sockaddr.h",
  588. "src/core/lib/iomgr/sockaddr_posix.h",
  589. "src/core/lib/iomgr/sockaddr_utils.h",
  590. "src/core/lib/iomgr/sockaddr_windows.h",
  591. "src/core/lib/iomgr/socket_factory_posix.h",
  592. "src/core/lib/iomgr/socket_mutator.h",
  593. "src/core/lib/iomgr/socket_utils.h",
  594. "src/core/lib/iomgr/socket_utils_posix.h",
  595. "src/core/lib/iomgr/socket_windows.h",
  596. "src/core/lib/iomgr/sys_epoll_wrapper.h",
  597. "src/core/lib/iomgr/tcp_client.h",
  598. "src/core/lib/iomgr/tcp_client_posix.h",
  599. "src/core/lib/iomgr/tcp_posix.h",
  600. "src/core/lib/iomgr/tcp_server.h",
  601. "src/core/lib/iomgr/tcp_server_utils_posix.h",
  602. "src/core/lib/iomgr/tcp_uv.h",
  603. "src/core/lib/iomgr/tcp_windows.h",
  604. "src/core/lib/iomgr/time_averaged_stats.h",
  605. "src/core/lib/iomgr/timer.h",
  606. "src/core/lib/iomgr/timer_generic.h",
  607. "src/core/lib/iomgr/timer_heap.h",
  608. "src/core/lib/iomgr/timer_manager.h",
  609. "src/core/lib/iomgr/timer_uv.h",
  610. "src/core/lib/iomgr/udp_server.h",
  611. "src/core/lib/iomgr/unix_sockets_posix.h",
  612. "src/core/lib/iomgr/wakeup_fd_cv.h",
  613. "src/core/lib/iomgr/wakeup_fd_pipe.h",
  614. "src/core/lib/iomgr/wakeup_fd_posix.h",
  615. "src/core/lib/iomgr/workqueue.h",
  616. "src/core/lib/iomgr/workqueue_uv.h",
  617. "src/core/lib/iomgr/workqueue_windows.h",
  618. "src/core/lib/json/json.h",
  619. "src/core/lib/json/json_common.h",
  620. "src/core/lib/json/json_reader.h",
  621. "src/core/lib/json/json_writer.h",
  622. "src/core/lib/slice/b64.h",
  623. "src/core/lib/slice/percent_encoding.h",
  624. "src/core/lib/slice/slice_hash_table.h",
  625. "src/core/lib/slice/slice_internal.h",
  626. "src/core/lib/slice/slice_string_helpers.h",
  627. "src/core/lib/surface/api_trace.h",
  628. "src/core/lib/surface/call.h",
  629. "src/core/lib/surface/call_test_only.h",
  630. "src/core/lib/surface/channel.h",
  631. "src/core/lib/surface/channel_init.h",
  632. "src/core/lib/surface/channel_stack_type.h",
  633. "src/core/lib/surface/completion_queue.h",
  634. "src/core/lib/surface/completion_queue_factory.h",
  635. "src/core/lib/surface/event_string.h",
  636. "src/core/lib/surface/init.h",
  637. "src/core/lib/surface/lame_client.h",
  638. "src/core/lib/surface/server.h",
  639. "src/core/lib/surface/validate_metadata.h",
  640. "src/core/lib/transport/bdp_estimator.h",
  641. "src/core/lib/transport/byte_stream.h",
  642. "src/core/lib/transport/connectivity_state.h",
  643. "src/core/lib/transport/error_utils.h",
  644. "src/core/lib/transport/http2_errors.h",
  645. "src/core/lib/transport/metadata.h",
  646. "src/core/lib/transport/metadata_batch.h",
  647. "src/core/lib/transport/pid_controller.h",
  648. "src/core/lib/transport/service_config.h",
  649. "src/core/lib/transport/static_metadata.h",
  650. "src/core/lib/transport/status_conversion.h",
  651. "src/core/lib/transport/timeout_encoding.h",
  652. "src/core/lib/transport/transport.h",
  653. "src/core/lib/transport/transport_impl.h",
  654. ],
  655. external_deps = [
  656. "zlib",
  657. ],
  658. language = "c",
  659. public_hdrs = [
  660. "include/grpc/byte_buffer.h",
  661. "include/grpc/byte_buffer_reader.h",
  662. "include/grpc/compression.h",
  663. "include/grpc/load_reporting.h",
  664. "include/grpc/grpc.h",
  665. "include/grpc/grpc_posix.h",
  666. "include/grpc/grpc_security_constants.h",
  667. "include/grpc/slice.h",
  668. "include/grpc/slice_buffer.h",
  669. "include/grpc/status.h",
  670. "include/grpc/support/workaround_list.h",
  671. ],
  672. deps = [
  673. "gpr_base",
  674. "grpc_codegen",
  675. "grpc_trace",
  676. ],
  677. )
  678. grpc_cc_library(
  679. name = "grpc_base",
  680. srcs = [
  681. "src/core/lib/surface/lame_client.cc",
  682. ],
  683. language = "c++",
  684. deps = [
  685. "grpc_base_c",
  686. ],
  687. )
  688. grpc_cc_library(
  689. name = "grpc_common",
  690. deps = [
  691. "grpc_base",
  692. # standard plugins
  693. "census",
  694. "grpc_deadline_filter",
  695. "grpc_lb_policy_pick_first",
  696. "grpc_lb_policy_round_robin",
  697. "grpc_load_reporting",
  698. "grpc_max_age_filter",
  699. "grpc_message_size_filter",
  700. "grpc_resolver_dns_native",
  701. "grpc_resolver_sockaddr",
  702. "grpc_transport_chttp2_client_insecure",
  703. "grpc_transport_chttp2_server_insecure",
  704. "grpc_workaround_cronet_compression_filter",
  705. "grpc_server_backward_compatibility",
  706. ],
  707. )
  708. grpc_cc_library(
  709. name = "grpc_client_channel",
  710. srcs = [
  711. "src/core/ext/filters/client_channel/channel_connectivity.c",
  712. "src/core/ext/filters/client_channel/client_channel.c",
  713. "src/core/ext/filters/client_channel/client_channel_factory.c",
  714. "src/core/ext/filters/client_channel/client_channel_plugin.c",
  715. "src/core/ext/filters/client_channel/connector.c",
  716. "src/core/ext/filters/client_channel/http_connect_handshaker.c",
  717. "src/core/ext/filters/client_channel/http_proxy.c",
  718. "src/core/ext/filters/client_channel/lb_policy.c",
  719. "src/core/ext/filters/client_channel/lb_policy_factory.c",
  720. "src/core/ext/filters/client_channel/lb_policy_registry.c",
  721. "src/core/ext/filters/client_channel/parse_address.c",
  722. "src/core/ext/filters/client_channel/proxy_mapper.c",
  723. "src/core/ext/filters/client_channel/proxy_mapper_registry.c",
  724. "src/core/ext/filters/client_channel/resolver.c",
  725. "src/core/ext/filters/client_channel/resolver_factory.c",
  726. "src/core/ext/filters/client_channel/resolver_registry.c",
  727. "src/core/ext/filters/client_channel/retry_throttle.c",
  728. "src/core/ext/filters/client_channel/subchannel.c",
  729. "src/core/ext/filters/client_channel/subchannel_index.c",
  730. "src/core/ext/filters/client_channel/uri_parser.c",
  731. ],
  732. hdrs = [
  733. "src/core/ext/filters/client_channel/client_channel.h",
  734. "src/core/ext/filters/client_channel/client_channel_factory.h",
  735. "src/core/ext/filters/client_channel/connector.h",
  736. "src/core/ext/filters/client_channel/http_connect_handshaker.h",
  737. "src/core/ext/filters/client_channel/http_proxy.h",
  738. "src/core/ext/filters/client_channel/lb_policy.h",
  739. "src/core/ext/filters/client_channel/lb_policy_factory.h",
  740. "src/core/ext/filters/client_channel/lb_policy_registry.h",
  741. "src/core/ext/filters/client_channel/parse_address.h",
  742. "src/core/ext/filters/client_channel/proxy_mapper.h",
  743. "src/core/ext/filters/client_channel/proxy_mapper_registry.h",
  744. "src/core/ext/filters/client_channel/resolver.h",
  745. "src/core/ext/filters/client_channel/resolver_factory.h",
  746. "src/core/ext/filters/client_channel/resolver_registry.h",
  747. "src/core/ext/filters/client_channel/retry_throttle.h",
  748. "src/core/ext/filters/client_channel/subchannel.h",
  749. "src/core/ext/filters/client_channel/subchannel_index.h",
  750. "src/core/ext/filters/client_channel/uri_parser.h",
  751. ],
  752. language = "c",
  753. deps = [
  754. "grpc_base",
  755. "grpc_deadline_filter",
  756. ],
  757. )
  758. grpc_cc_library(
  759. name = "grpc_max_age_filter",
  760. srcs = [
  761. "src/core/ext/filters/max_age/max_age_filter.c",
  762. ],
  763. hdrs = [
  764. "src/core/ext/filters/max_age/max_age_filter.h",
  765. ],
  766. language = "c",
  767. deps = [
  768. "grpc_base",
  769. ],
  770. )
  771. grpc_cc_library(
  772. name = "grpc_deadline_filter",
  773. srcs = [
  774. "src/core/ext/filters/deadline/deadline_filter.c",
  775. ],
  776. hdrs = [
  777. "src/core/ext/filters/deadline/deadline_filter.h",
  778. ],
  779. language = "c",
  780. deps = [
  781. "grpc_base",
  782. ],
  783. )
  784. grpc_cc_library(
  785. name = "grpc_message_size_filter",
  786. srcs = [
  787. "src/core/ext/filters/message_size/message_size_filter.c",
  788. ],
  789. hdrs = [
  790. "src/core/ext/filters/message_size/message_size_filter.h",
  791. ],
  792. language = "c",
  793. deps = [
  794. "grpc_base",
  795. ],
  796. )
  797. grpc_cc_library(
  798. name = "grpc_http_filters",
  799. srcs = [
  800. "src/core/ext/filters/http/client/http_client_filter.c",
  801. "src/core/ext/filters/http/http_filters_plugin.c",
  802. "src/core/ext/filters/http/message_compress/message_compress_filter.c",
  803. "src/core/ext/filters/http/server/http_server_filter.c",
  804. ],
  805. hdrs = [
  806. "src/core/ext/filters/http/client/http_client_filter.h",
  807. "src/core/ext/filters/http/message_compress/message_compress_filter.h",
  808. "src/core/ext/filters/http/server/http_server_filter.h",
  809. ],
  810. language = "c",
  811. deps = [
  812. "grpc_base",
  813. ],
  814. )
  815. grpc_cc_library(
  816. name = "grpc_workaround_cronet_compression_filter",
  817. srcs = [
  818. "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.c",
  819. ],
  820. hdrs = [
  821. "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h",
  822. ],
  823. language = "c",
  824. deps = [
  825. "grpc_base",
  826. "grpc_server_backward_compatibility",
  827. ],
  828. )
  829. grpc_cc_library(
  830. name = "grpc_codegen",
  831. language = "c",
  832. public_hdrs = [
  833. "include/grpc/impl/codegen/byte_buffer_reader.h",
  834. "include/grpc/impl/codegen/compression_types.h",
  835. "include/grpc/impl/codegen/connectivity_state.h",
  836. "include/grpc/impl/codegen/exec_ctx_fwd.h",
  837. "include/grpc/impl/codegen/grpc_types.h",
  838. "include/grpc/impl/codegen/propagation_bits.h",
  839. "include/grpc/impl/codegen/status.h",
  840. "include/grpc/impl/codegen/slice.h",
  841. ],
  842. deps = [
  843. "gpr_codegen",
  844. ],
  845. )
  846. grpc_cc_library(
  847. name = "grpc_lb_policy_grpclb",
  848. srcs = [
  849. "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c",
  850. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c",
  851. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.c",
  852. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c",
  853. "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c",
  854. "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
  855. ],
  856. hdrs = [
  857. "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
  858. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
  859. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
  860. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
  861. "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
  862. "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h",
  863. ],
  864. external_deps = [
  865. "nanopb",
  866. ],
  867. language = "c",
  868. deps = [
  869. "grpc_base",
  870. "grpc_client_channel",
  871. "grpc_resolver_fake",
  872. ],
  873. )
  874. grpc_cc_library(
  875. name = "grpc_lb_policy_grpclb_secure",
  876. srcs = [
  877. "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.c",
  878. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c",
  879. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.c",
  880. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.c",
  881. "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.c",
  882. "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.c",
  883. ],
  884. hdrs = [
  885. "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
  886. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
  887. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h",
  888. "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
  889. "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
  890. "src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.h",
  891. ],
  892. external_deps = [
  893. "nanopb",
  894. ],
  895. language = "c",
  896. deps = [
  897. "grpc_base",
  898. "grpc_client_channel",
  899. "grpc_secure",
  900. "grpc_resolver_fake",
  901. ],
  902. )
  903. grpc_cc_library(
  904. name = "grpc_lb_policy_pick_first",
  905. srcs = [
  906. "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c",
  907. ],
  908. language = "c",
  909. deps = [
  910. "grpc_base",
  911. "grpc_client_channel",
  912. ],
  913. )
  914. grpc_cc_library(
  915. name = "grpc_lb_policy_round_robin",
  916. srcs = [
  917. "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c",
  918. ],
  919. language = "c",
  920. deps = [
  921. "grpc_base",
  922. "grpc_client_channel",
  923. ],
  924. )
  925. grpc_cc_library(
  926. name = "grpc_load_reporting",
  927. srcs = [
  928. "src/core/ext/filters/load_reporting/load_reporting.c",
  929. "src/core/ext/filters/load_reporting/load_reporting_filter.c",
  930. ],
  931. hdrs = [
  932. "src/core/ext/filters/load_reporting/load_reporting.h",
  933. "src/core/ext/filters/load_reporting/load_reporting_filter.h",
  934. ],
  935. language = "c",
  936. deps = [
  937. "grpc_base",
  938. ],
  939. )
  940. grpc_cc_library(
  941. name = "grpc_resolver_dns_native",
  942. srcs = [
  943. "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.c",
  944. ],
  945. language = "c",
  946. deps = [
  947. "grpc_base",
  948. "grpc_client_channel",
  949. ],
  950. )
  951. grpc_cc_library(
  952. name = "grpc_resolver_dns_ares",
  953. srcs = [
  954. "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.c",
  955. "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c",
  956. "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.c",
  957. ],
  958. hdrs = [
  959. "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
  960. "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
  961. ],
  962. external_deps = [
  963. "cares",
  964. ],
  965. language = "c",
  966. deps = [
  967. "grpc_base",
  968. "grpc_client_channel",
  969. ],
  970. )
  971. grpc_cc_library(
  972. name = "grpc_resolver_sockaddr",
  973. srcs = [
  974. "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.c",
  975. ],
  976. language = "c",
  977. deps = [
  978. "grpc_base",
  979. "grpc_client_channel",
  980. ],
  981. )
  982. grpc_cc_library(
  983. name = "grpc_resolver_fake",
  984. srcs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.c"],
  985. hdrs = ["src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"],
  986. visibility = ["//test:__subpackages__"],
  987. language = "c",
  988. deps = [
  989. "grpc_base",
  990. "grpc_client_channel",
  991. ],
  992. )
  993. grpc_cc_library(
  994. name = "grpc_secure",
  995. srcs = [
  996. "src/core/lib/http/httpcli_security_connector.c",
  997. "src/core/lib/security/context/security_context.c",
  998. "src/core/lib/security/credentials/composite/composite_credentials.c",
  999. "src/core/lib/security/credentials/credentials.c",
  1000. "src/core/lib/security/credentials/credentials_metadata.c",
  1001. "src/core/lib/security/credentials/fake/fake_credentials.c",
  1002. "src/core/lib/security/credentials/google_default/credentials_generic.c",
  1003. "src/core/lib/security/credentials/google_default/google_default_credentials.c",
  1004. "src/core/lib/security/credentials/iam/iam_credentials.c",
  1005. "src/core/lib/security/credentials/jwt/json_token.c",
  1006. "src/core/lib/security/credentials/jwt/jwt_credentials.c",
  1007. "src/core/lib/security/credentials/jwt/jwt_verifier.c",
  1008. "src/core/lib/security/credentials/oauth2/oauth2_credentials.c",
  1009. "src/core/lib/security/credentials/plugin/plugin_credentials.c",
  1010. "src/core/lib/security/credentials/ssl/ssl_credentials.c",
  1011. "src/core/lib/security/transport/client_auth_filter.c",
  1012. "src/core/lib/security/transport/lb_targets_info.c",
  1013. "src/core/lib/security/transport/secure_endpoint.c",
  1014. "src/core/lib/security/transport/security_connector.c",
  1015. "src/core/lib/security/transport/security_handshaker.c",
  1016. "src/core/lib/security/transport/server_auth_filter.c",
  1017. "src/core/lib/security/transport/tsi_error.c",
  1018. "src/core/lib/security/util/json_util.c",
  1019. "src/core/lib/surface/init_secure.c",
  1020. ],
  1021. hdrs = [
  1022. "src/core/lib/security/context/security_context.h",
  1023. "src/core/lib/security/credentials/composite/composite_credentials.h",
  1024. "src/core/lib/security/credentials/credentials.h",
  1025. "src/core/lib/security/credentials/fake/fake_credentials.h",
  1026. "src/core/lib/security/credentials/google_default/google_default_credentials.h",
  1027. "src/core/lib/security/credentials/iam/iam_credentials.h",
  1028. "src/core/lib/security/credentials/jwt/json_token.h",
  1029. "src/core/lib/security/credentials/jwt/jwt_credentials.h",
  1030. "src/core/lib/security/credentials/jwt/jwt_verifier.h",
  1031. "src/core/lib/security/credentials/oauth2/oauth2_credentials.h",
  1032. "src/core/lib/security/credentials/plugin/plugin_credentials.h",
  1033. "src/core/lib/security/credentials/ssl/ssl_credentials.h",
  1034. "src/core/lib/security/transport/auth_filters.h",
  1035. "src/core/lib/security/transport/lb_targets_info.h",
  1036. "src/core/lib/security/transport/secure_endpoint.h",
  1037. "src/core/lib/security/transport/security_connector.h",
  1038. "src/core/lib/security/transport/security_handshaker.h",
  1039. "src/core/lib/security/transport/tsi_error.h",
  1040. "src/core/lib/security/util/json_util.h",
  1041. ],
  1042. language = "c",
  1043. public_hdrs = [
  1044. "include/grpc/grpc_security.h",
  1045. ],
  1046. deps = [
  1047. "grpc_base",
  1048. "grpc_transport_chttp2_alpn",
  1049. "tsi",
  1050. ],
  1051. )
  1052. grpc_cc_library(
  1053. name = "grpc_transport_chttp2",
  1054. srcs = [
  1055. "src/core/ext/transport/chttp2/transport/bin_decoder.c",
  1056. "src/core/ext/transport/chttp2/transport/bin_encoder.c",
  1057. "src/core/ext/transport/chttp2/transport/chttp2_plugin.c",
  1058. "src/core/ext/transport/chttp2/transport/chttp2_transport.c",
  1059. "src/core/ext/transport/chttp2/transport/frame_data.c",
  1060. "src/core/ext/transport/chttp2/transport/frame_goaway.c",
  1061. "src/core/ext/transport/chttp2/transport/frame_ping.c",
  1062. "src/core/ext/transport/chttp2/transport/frame_rst_stream.c",
  1063. "src/core/ext/transport/chttp2/transport/frame_settings.c",
  1064. "src/core/ext/transport/chttp2/transport/frame_window_update.c",
  1065. "src/core/ext/transport/chttp2/transport/hpack_encoder.c",
  1066. "src/core/ext/transport/chttp2/transport/hpack_parser.c",
  1067. "src/core/ext/transport/chttp2/transport/hpack_table.c",
  1068. "src/core/ext/transport/chttp2/transport/http2_settings.c",
  1069. "src/core/ext/transport/chttp2/transport/huffsyms.c",
  1070. "src/core/ext/transport/chttp2/transport/incoming_metadata.c",
  1071. "src/core/ext/transport/chttp2/transport/parsing.c",
  1072. "src/core/ext/transport/chttp2/transport/stream_lists.c",
  1073. "src/core/ext/transport/chttp2/transport/stream_map.c",
  1074. "src/core/ext/transport/chttp2/transport/varint.c",
  1075. "src/core/ext/transport/chttp2/transport/writing.c",
  1076. ],
  1077. hdrs = [
  1078. "src/core/ext/transport/chttp2/transport/bin_decoder.h",
  1079. "src/core/ext/transport/chttp2/transport/bin_encoder.h",
  1080. "src/core/ext/transport/chttp2/transport/chttp2_transport.h",
  1081. "src/core/ext/transport/chttp2/transport/frame.h",
  1082. "src/core/ext/transport/chttp2/transport/frame_data.h",
  1083. "src/core/ext/transport/chttp2/transport/frame_goaway.h",
  1084. "src/core/ext/transport/chttp2/transport/frame_ping.h",
  1085. "src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
  1086. "src/core/ext/transport/chttp2/transport/frame_settings.h",
  1087. "src/core/ext/transport/chttp2/transport/frame_window_update.h",
  1088. "src/core/ext/transport/chttp2/transport/hpack_encoder.h",
  1089. "src/core/ext/transport/chttp2/transport/hpack_parser.h",
  1090. "src/core/ext/transport/chttp2/transport/hpack_table.h",
  1091. "src/core/ext/transport/chttp2/transport/http2_settings.h",
  1092. "src/core/ext/transport/chttp2/transport/huffsyms.h",
  1093. "src/core/ext/transport/chttp2/transport/incoming_metadata.h",
  1094. "src/core/ext/transport/chttp2/transport/internal.h",
  1095. "src/core/ext/transport/chttp2/transport/stream_map.h",
  1096. "src/core/ext/transport/chttp2/transport/varint.h",
  1097. ],
  1098. language = "c",
  1099. deps = [
  1100. "grpc_base",
  1101. "grpc_http_filters",
  1102. "grpc_transport_chttp2_alpn",
  1103. ],
  1104. )
  1105. grpc_cc_library(
  1106. name = "grpc_transport_chttp2_alpn",
  1107. srcs = [
  1108. "src/core/ext/transport/chttp2/alpn/alpn.c",
  1109. ],
  1110. hdrs = [
  1111. "src/core/ext/transport/chttp2/alpn/alpn.h",
  1112. ],
  1113. language = "c",
  1114. deps = [
  1115. "gpr",
  1116. ],
  1117. )
  1118. grpc_cc_library(
  1119. name = "grpc_transport_chttp2_client_connector",
  1120. srcs = [
  1121. "src/core/ext/transport/chttp2/client/chttp2_connector.c",
  1122. ],
  1123. hdrs = [
  1124. "src/core/ext/transport/chttp2/client/chttp2_connector.h",
  1125. ],
  1126. language = "c",
  1127. deps = [
  1128. "grpc_base",
  1129. "grpc_client_channel",
  1130. "grpc_transport_chttp2",
  1131. ],
  1132. )
  1133. grpc_cc_library(
  1134. name = "grpc_transport_chttp2_client_insecure",
  1135. srcs = [
  1136. "src/core/ext/transport/chttp2/client/insecure/channel_create.c",
  1137. "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.c",
  1138. ],
  1139. language = "c",
  1140. deps = [
  1141. "grpc_base",
  1142. "grpc_client_channel",
  1143. "grpc_transport_chttp2",
  1144. "grpc_transport_chttp2_client_connector",
  1145. ],
  1146. )
  1147. grpc_cc_library(
  1148. name = "grpc_transport_chttp2_client_secure",
  1149. srcs = [
  1150. "src/core/ext/transport/chttp2/client/secure/secure_channel_create.c",
  1151. ],
  1152. language = "c",
  1153. deps = [
  1154. "grpc_base",
  1155. "grpc_client_channel",
  1156. "grpc_secure",
  1157. "grpc_transport_chttp2",
  1158. "grpc_transport_chttp2_client_connector",
  1159. ],
  1160. )
  1161. grpc_cc_library(
  1162. name = "grpc_transport_chttp2_server",
  1163. srcs = [
  1164. "src/core/ext/transport/chttp2/server/chttp2_server.c",
  1165. ],
  1166. hdrs = [
  1167. "src/core/ext/transport/chttp2/server/chttp2_server.h",
  1168. ],
  1169. language = "c",
  1170. deps = [
  1171. "grpc_base",
  1172. "grpc_transport_chttp2",
  1173. ],
  1174. )
  1175. grpc_cc_library(
  1176. name = "grpc_transport_chttp2_server_insecure",
  1177. srcs = [
  1178. "src/core/ext/transport/chttp2/server/insecure/server_chttp2.c",
  1179. "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.c",
  1180. ],
  1181. language = "c",
  1182. deps = [
  1183. "grpc_base",
  1184. "grpc_transport_chttp2",
  1185. "grpc_transport_chttp2_server",
  1186. ],
  1187. )
  1188. grpc_cc_library(
  1189. name = "grpc_transport_chttp2_server_secure",
  1190. srcs = [
  1191. "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.c",
  1192. ],
  1193. language = "c",
  1194. deps = [
  1195. "grpc_base",
  1196. "grpc_secure",
  1197. "grpc_transport_chttp2",
  1198. "grpc_transport_chttp2_server",
  1199. ],
  1200. )
  1201. grpc_cc_library(
  1202. name = "grpc_transport_cronet_client_secure",
  1203. srcs = [
  1204. "src/core/ext/transport/cronet/client/secure/cronet_channel_create.c",
  1205. "src/core/ext/transport/cronet/transport/cronet_api_dummy.c",
  1206. "src/core/ext/transport/cronet/transport/cronet_transport.c",
  1207. ],
  1208. hdrs = [
  1209. "src/core/ext/transport/cronet/transport/cronet_transport.h",
  1210. "third_party/objective_c/Cronet/bidirectional_stream_c.h",
  1211. ],
  1212. language = "c",
  1213. public_hdrs = [
  1214. "include/grpc/grpc_cronet.h",
  1215. "include/grpc/grpc_security.h",
  1216. "include/grpc/grpc_security_constants.h",
  1217. ],
  1218. deps = [
  1219. "grpc_base",
  1220. "grpc_transport_chttp2",
  1221. ],
  1222. )
  1223. grpc_cc_library(
  1224. name = "tsi",
  1225. srcs = [
  1226. "src/core/tsi/fake_transport_security.c",
  1227. "src/core/tsi/ssl_transport_security.c",
  1228. "src/core/tsi/transport_security.c",
  1229. "src/core/tsi/transport_security_adapter.c",
  1230. ],
  1231. hdrs = [
  1232. "src/core/tsi/fake_transport_security.h",
  1233. "src/core/tsi/ssl_transport_security.h",
  1234. "src/core/tsi/ssl_types.h",
  1235. "src/core/tsi/transport_security.h",
  1236. "src/core/tsi/transport_security_adapter.h",
  1237. "src/core/tsi/transport_security_interface.h",
  1238. ],
  1239. external_deps = [
  1240. "libssl",
  1241. ],
  1242. language = "c",
  1243. deps = [
  1244. "gpr",
  1245. "grpc_trace",
  1246. ],
  1247. )
  1248. # TODO(ctiller): layer grpc atop grpc_unsecure, layer grpc++ atop grpc++_unsecure
  1249. GRPCXX_SRCS = [
  1250. "src/cpp/client/channel_cc.cc",
  1251. "src/cpp/client/client_context.cc",
  1252. "src/cpp/client/create_channel.cc",
  1253. "src/cpp/client/create_channel_internal.cc",
  1254. "src/cpp/client/create_channel_posix.cc",
  1255. "src/cpp/client/credentials_cc.cc",
  1256. "src/cpp/client/generic_stub.cc",
  1257. "src/cpp/common/channel_arguments.cc",
  1258. "src/cpp/common/channel_filter.cc",
  1259. "src/cpp/common/completion_queue_cc.cc",
  1260. "src/cpp/common/core_codegen.cc",
  1261. "src/cpp/common/resource_quota_cc.cc",
  1262. "src/cpp/common/rpc_method.cc",
  1263. "src/cpp/common/version_cc.cc",
  1264. "src/cpp/server/async_generic_service.cc",
  1265. "src/cpp/server/channel_argument_option.cc",
  1266. "src/cpp/server/create_default_thread_pool.cc",
  1267. "src/cpp/server/dynamic_thread_pool.cc",
  1268. "src/cpp/server/health/default_health_check_service.cc",
  1269. "src/cpp/server/health/health.pb.c",
  1270. "src/cpp/server/health/health_check_service.cc",
  1271. "src/cpp/server/health/health_check_service_server_builder_option.cc",
  1272. "src/cpp/server/server_builder.cc",
  1273. "src/cpp/server/server_cc.cc",
  1274. "src/cpp/server/server_context.cc",
  1275. "src/cpp/server/server_credentials.cc",
  1276. "src/cpp/server/server_posix.cc",
  1277. "src/cpp/thread_manager/thread_manager.cc",
  1278. "src/cpp/util/byte_buffer_cc.cc",
  1279. "src/cpp/util/slice_cc.cc",
  1280. "src/cpp/util/status.cc",
  1281. "src/cpp/util/string_ref.cc",
  1282. "src/cpp/util/time_cc.cc",
  1283. ]
  1284. GRPCXX_HDRS = [
  1285. "src/cpp/client/create_channel_internal.h",
  1286. "src/cpp/common/channel_filter.h",
  1287. "src/cpp/server/dynamic_thread_pool.h",
  1288. "src/cpp/server/health/default_health_check_service.h",
  1289. "src/cpp/server/health/health.pb.h",
  1290. "src/cpp/server/thread_pool_interface.h",
  1291. "src/cpp/thread_manager/thread_manager.h",
  1292. ]
  1293. GRPCXX_PUBLIC_HDRS = [
  1294. "include/grpc++/alarm.h",
  1295. "include/grpc++/channel.h",
  1296. "include/grpc++/client_context.h",
  1297. "include/grpc++/completion_queue.h",
  1298. "include/grpc++/create_channel.h",
  1299. "include/grpc++/create_channel_posix.h",
  1300. "include/grpc++/ext/health_check_service_server_builder_option.h",
  1301. "include/grpc++/generic/async_generic_service.h",
  1302. "include/grpc++/generic/generic_stub.h",
  1303. "include/grpc++/grpc++.h",
  1304. "include/grpc++/health_check_service_interface.h",
  1305. "include/grpc++/impl/call.h",
  1306. "include/grpc++/impl/channel_argument_option.h",
  1307. "include/grpc++/impl/client_unary_call.h",
  1308. "include/grpc++/impl/codegen/core_codegen.h",
  1309. "include/grpc++/impl/grpc_library.h",
  1310. "include/grpc++/impl/method_handler_impl.h",
  1311. "include/grpc++/impl/rpc_method.h",
  1312. "include/grpc++/impl/rpc_service_method.h",
  1313. "include/grpc++/impl/serialization_traits.h",
  1314. "include/grpc++/impl/server_builder_option.h",
  1315. "include/grpc++/impl/server_builder_plugin.h",
  1316. "include/grpc++/impl/server_initializer.h",
  1317. "include/grpc++/impl/service_type.h",
  1318. "include/grpc++/impl/sync_cxx11.h",
  1319. "include/grpc++/impl/sync_no_cxx11.h",
  1320. "include/grpc++/resource_quota.h",
  1321. "include/grpc++/security/auth_context.h",
  1322. "include/grpc++/security/auth_metadata_processor.h",
  1323. "include/grpc++/security/credentials.h",
  1324. "include/grpc++/security/server_credentials.h",
  1325. "include/grpc++/server.h",
  1326. "include/grpc++/server_builder.h",
  1327. "include/grpc++/server_context.h",
  1328. "include/grpc++/server_posix.h",
  1329. "include/grpc++/support/async_stream.h",
  1330. "include/grpc++/support/async_unary_call.h",
  1331. "include/grpc++/support/byte_buffer.h",
  1332. "include/grpc++/support/channel_arguments.h",
  1333. "include/grpc++/support/config.h",
  1334. "include/grpc++/support/slice.h",
  1335. "include/grpc++/support/status.h",
  1336. "include/grpc++/support/status_code_enum.h",
  1337. "include/grpc++/support/string_ref.h",
  1338. "include/grpc++/support/stub_options.h",
  1339. "include/grpc++/support/sync_stream.h",
  1340. "include/grpc++/support/time.h",
  1341. ]
  1342. grpc_cc_library(
  1343. name = "grpc++_base",
  1344. srcs = GRPCXX_SRCS,
  1345. hdrs = GRPCXX_HDRS,
  1346. language = "c++",
  1347. public_hdrs = GRPCXX_PUBLIC_HDRS,
  1348. deps = [
  1349. "grpc",
  1350. "grpc++_codegen_base",
  1351. ],
  1352. )
  1353. grpc_cc_library(
  1354. name = "grpc++_base_unsecure",
  1355. srcs = GRPCXX_SRCS,
  1356. hdrs = GRPCXX_HDRS,
  1357. language = "c++",
  1358. public_hdrs = GRPCXX_PUBLIC_HDRS,
  1359. deps = [
  1360. "grpc++_codegen_base",
  1361. "grpc_unsecure",
  1362. ],
  1363. )
  1364. grpc_cc_library(
  1365. name = "grpc++_codegen_base",
  1366. language = "c++",
  1367. public_hdrs = [
  1368. "include/grpc++/impl/codegen/async_stream.h",
  1369. "include/grpc++/impl/codegen/async_unary_call.h",
  1370. "include/grpc++/impl/codegen/call.h",
  1371. "include/grpc++/impl/codegen/call_hook.h",
  1372. "include/grpc++/impl/codegen/channel_interface.h",
  1373. "include/grpc++/impl/codegen/client_context.h",
  1374. "include/grpc++/impl/codegen/client_unary_call.h",
  1375. "include/grpc++/impl/codegen/completion_queue.h",
  1376. "include/grpc++/impl/codegen/completion_queue_tag.h",
  1377. "include/grpc++/impl/codegen/config.h",
  1378. "include/grpc++/impl/codegen/core_codegen_interface.h",
  1379. "include/grpc++/impl/codegen/create_auth_context.h",
  1380. "include/grpc++/impl/codegen/grpc_library.h",
  1381. "include/grpc++/impl/codegen/metadata_map.h",
  1382. "include/grpc++/impl/codegen/method_handler_impl.h",
  1383. "include/grpc++/impl/codegen/rpc_method.h",
  1384. "include/grpc++/impl/codegen/rpc_service_method.h",
  1385. "include/grpc++/impl/codegen/security/auth_context.h",
  1386. "include/grpc++/impl/codegen/serialization_traits.h",
  1387. "include/grpc++/impl/codegen/server_context.h",
  1388. "include/grpc++/impl/codegen/server_interface.h",
  1389. "include/grpc++/impl/codegen/service_type.h",
  1390. "include/grpc++/impl/codegen/slice.h",
  1391. "include/grpc++/impl/codegen/status.h",
  1392. "include/grpc++/impl/codegen/status_code_enum.h",
  1393. "include/grpc++/impl/codegen/string_ref.h",
  1394. "include/grpc++/impl/codegen/stub_options.h",
  1395. "include/grpc++/impl/codegen/sync_stream.h",
  1396. "include/grpc++/impl/codegen/time.h",
  1397. ],
  1398. deps = [
  1399. "grpc_codegen",
  1400. ],
  1401. )
  1402. grpc_cc_library(
  1403. name = "grpc++_codegen_base_src",
  1404. srcs = [
  1405. "src/cpp/codegen/codegen_init.cc",
  1406. ],
  1407. language = "c++",
  1408. deps = [
  1409. "grpc++_codegen_base",
  1410. ],
  1411. )
  1412. grpc_cc_library(
  1413. name = "grpc++_codegen_proto",
  1414. language = "c++",
  1415. public_hdrs = [
  1416. "include/grpc++/impl/codegen/proto_utils.h",
  1417. ],
  1418. deps = [
  1419. "grpc++_codegen_base",
  1420. "grpc++_config_proto",
  1421. ],
  1422. )
  1423. grpc_cc_library(
  1424. name = "grpc++_config_proto",
  1425. external_deps = [
  1426. "protobuf",
  1427. ],
  1428. language = "c++",
  1429. public_hdrs = [
  1430. "include/grpc++/impl/codegen/config_protobuf.h",
  1431. ],
  1432. )
  1433. grpc_cc_library(
  1434. name = "grpc++_reflection",
  1435. srcs = [
  1436. "src/cpp/ext/proto_server_reflection.cc",
  1437. "src/cpp/ext/proto_server_reflection_plugin.cc",
  1438. ],
  1439. hdrs = [
  1440. "src/cpp/ext/proto_server_reflection.h",
  1441. ],
  1442. language = "c++",
  1443. public_hdrs = [
  1444. "include/grpc++/ext/proto_server_reflection_plugin.h",
  1445. ],
  1446. deps = [
  1447. ":grpc++",
  1448. "//src/proto/grpc/reflection/v1alpha:reflection_proto",
  1449. ],
  1450. )
  1451. grpc_cc_library(
  1452. name = "grpc++_test",
  1453. public_hdrs = [
  1454. "include/grpc++/test/mock_stream.h",
  1455. "include/grpc++/test/server_context_test_spouse.h",
  1456. ],
  1457. deps = [
  1458. ":grpc++",
  1459. ],
  1460. )
  1461. grpc_cc_library(
  1462. name = "grpc_server_backward_compatibility",
  1463. srcs = [
  1464. "src/core/ext/filters/workarounds/workaround_utils.c",
  1465. ],
  1466. hdrs = [
  1467. "src/core/ext/filters/workarounds/workaround_utils.h",
  1468. ],
  1469. language = "c",
  1470. deps = [
  1471. "grpc_base",
  1472. ],
  1473. )
  1474. grpc_generate_one_off_targets()