BUILD.gn 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. # Copyright 2020 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//build/util/process_version.gni")
  5. import("//third_party/protobuf/proto_library.gni")
  6. if (is_chromeos_device) {
  7. import("//build/config/chromeos/rules.gni")
  8. }
  9. # Nearby Config
  10. config("nearby_include_config") {
  11. include_dirs = [
  12. "src",
  13. "$root_gen_dir/third_party/nearby",
  14. # For WebRTC APIs.
  15. "//third_party",
  16. # For bloom filter.
  17. "//third_party/smhasher",
  18. ]
  19. }
  20. config("nearby_defines") {
  21. defines = [ "NEARBY_CHROMIUM=1" ]
  22. }
  23. ###############################################################################
  24. # src/internal/analytics
  25. ###############################################################################
  26. # src/internal/analytics
  27. source_set("analytics_event_logger") {
  28. public_configs = [
  29. ":nearby_include_config",
  30. ":nearby_defines",
  31. ]
  32. public = [ "src/internal/analytics/event_logger.h" ]
  33. configs -= [ "//build/config/compiler:chromium_code" ]
  34. configs += [ "//build/config/compiler:no_chromium_code" ]
  35. }
  36. ###############################################################################
  37. # src/connections
  38. ###############################################################################
  39. # src/connections
  40. source_set("connections") {
  41. public_configs = [
  42. ":nearby_include_config",
  43. ":nearby_defines",
  44. ]
  45. sources = [ "src/connections/core.cc" ]
  46. public = [ "src/connections/core.h" ]
  47. public_deps = [
  48. ":analytics_event_logger",
  49. ":connections_enums_proto",
  50. ":connections_implementation",
  51. ":connections_types",
  52. ":platform_public_comm",
  53. ":platform_public_logging",
  54. ":platform_public_types",
  55. "//third_party/abseil-cpp:absl",
  56. ]
  57. configs -= [ "//build/config/compiler:chromium_code" ]
  58. configs += [ "//build/config/compiler:no_chromium_code" ]
  59. }
  60. source_set("connections_types") {
  61. public_configs = [
  62. ":nearby_include_config",
  63. ":nearby_defines",
  64. ]
  65. sources = [
  66. "src/connections/advertising_options.cc",
  67. "src/connections/connection_options.cc",
  68. "src/connections/discovery_options.cc",
  69. "src/connections/payload.cc",
  70. "src/connections/status.cc",
  71. "src/connections/strategy.cc",
  72. ]
  73. public = [
  74. "src/connections/advertising_options.h",
  75. "src/connections/connection_options.h",
  76. "src/connections/discovery_options.h",
  77. "src/connections/listeners.h",
  78. "src/connections/options_base.h",
  79. "src/connections/out_of_band_connection_metadata.h",
  80. "src/connections/params.h",
  81. "src/connections/payload.h",
  82. "src/connections/power_level.h",
  83. "src/connections/status.h",
  84. "src/connections/strategy.h",
  85. ]
  86. public_deps = [
  87. ":connections_enums_proto",
  88. ":platform_base",
  89. ":platform_public_comm",
  90. ":platform_public_logging",
  91. ":platform_public_types",
  92. "//third_party/abseil-cpp:absl",
  93. ]
  94. configs -= [ "//build/config/compiler:chromium_code" ]
  95. configs += [ "//build/config/compiler:no_chromium_code" ]
  96. }
  97. # src/connections/implementation
  98. source_set("connections_implementation") {
  99. public_configs = [
  100. ":nearby_include_config",
  101. ":nearby_defines",
  102. ]
  103. sources = [
  104. "src/connections/implementation/base_bwu_handler.cc",
  105. "src/connections/implementation/base_endpoint_channel.cc",
  106. "src/connections/implementation/base_pcp_handler.cc",
  107. "src/connections/implementation/ble_advertisement.cc",
  108. "src/connections/implementation/ble_endpoint_channel.cc",
  109. "src/connections/implementation/ble_v2_endpoint_channel.cc",
  110. "src/connections/implementation/bluetooth_bwu_handler.cc",
  111. "src/connections/implementation/bluetooth_device_name.cc",
  112. "src/connections/implementation/bluetooth_endpoint_channel.cc",
  113. "src/connections/implementation/bwu_manager.cc",
  114. "src/connections/implementation/client_proxy.cc",
  115. "src/connections/implementation/encryption_runner.cc",
  116. "src/connections/implementation/endpoint_channel_manager.cc",
  117. "src/connections/implementation/endpoint_manager.cc",
  118. "src/connections/implementation/injected_bluetooth_device_store.cc",
  119. "src/connections/implementation/internal_payload.cc",
  120. "src/connections/implementation/internal_payload_factory.cc",
  121. "src/connections/implementation/offline_frames.cc",
  122. "src/connections/implementation/offline_frames_validator.cc",
  123. "src/connections/implementation/offline_service_controller.cc",
  124. "src/connections/implementation/p2p_cluster_pcp_handler.cc",
  125. "src/connections/implementation/p2p_point_to_point_pcp_handler.cc",
  126. "src/connections/implementation/p2p_star_pcp_handler.cc",
  127. "src/connections/implementation/payload_manager.cc",
  128. "src/connections/implementation/pcp_manager.cc",
  129. "src/connections/implementation/service_controller_router.cc",
  130. "src/connections/implementation/webrtc_bwu_handler.cc",
  131. "src/connections/implementation/webrtc_endpoint_channel.cc",
  132. "src/connections/implementation/wifi_hotspot_bwu_handler.cc",
  133. "src/connections/implementation/wifi_hotspot_endpoint_channel.cc",
  134. "src/connections/implementation/wifi_lan_bwu_handler.cc",
  135. "src/connections/implementation/wifi_lan_endpoint_channel.cc",
  136. "src/connections/implementation/wifi_lan_service_info.cc",
  137. ]
  138. public = [
  139. "src/connections/implementation/base_bwu_handler.h",
  140. "src/connections/implementation/base_endpoint_channel.h",
  141. "src/connections/implementation/base_pcp_handler.h",
  142. "src/connections/implementation/ble_advertisement.h",
  143. "src/connections/implementation/ble_endpoint_channel.h",
  144. "src/connections/implementation/ble_v2_endpoint_channel.h",
  145. "src/connections/implementation/bluetooth_bwu_handler.h",
  146. "src/connections/implementation/bluetooth_device_name.h",
  147. "src/connections/implementation/bluetooth_endpoint_channel.h",
  148. "src/connections/implementation/bwu_handler.h",
  149. "src/connections/implementation/bwu_manager.h",
  150. "src/connections/implementation/client_proxy.h",
  151. "src/connections/implementation/encryption_runner.h",
  152. "src/connections/implementation/endpoint_channel.h",
  153. "src/connections/implementation/endpoint_channel_manager.h",
  154. "src/connections/implementation/endpoint_manager.h",
  155. "src/connections/implementation/injected_bluetooth_device_store.h",
  156. "src/connections/implementation/internal_payload.h",
  157. "src/connections/implementation/internal_payload_factory.h",
  158. "src/connections/implementation/message_lite.h",
  159. "src/connections/implementation/offline_frames.h",
  160. "src/connections/implementation/offline_frames_validator.h",
  161. "src/connections/implementation/offline_service_controller.h",
  162. "src/connections/implementation/p2p_cluster_pcp_handler.h",
  163. "src/connections/implementation/p2p_point_to_point_pcp_handler.h",
  164. "src/connections/implementation/p2p_star_pcp_handler.h",
  165. "src/connections/implementation/payload_manager.h",
  166. "src/connections/implementation/pcp.h",
  167. "src/connections/implementation/pcp_handler.h",
  168. "src/connections/implementation/pcp_manager.h",
  169. "src/connections/implementation/service_controller.h",
  170. "src/connections/implementation/service_controller_router.h",
  171. "src/connections/implementation/webrtc_bwu_handler.h",
  172. "src/connections/implementation/webrtc_endpoint_channel.h",
  173. "src/connections/implementation/wifi_hotspot_bwu_handler.h",
  174. "src/connections/implementation/wifi_hotspot_endpoint_channel.h",
  175. "src/connections/implementation/wifi_lan_bwu_handler.h",
  176. "src/connections/implementation/wifi_lan_endpoint_channel.h",
  177. "src/connections/implementation/wifi_lan_service_info.h",
  178. ]
  179. public_deps = [
  180. ":connections_enums_proto",
  181. ":connections_implementation_analytics",
  182. ":connections_implementation_mediums",
  183. ":connections_implementation_mediums_webrtc",
  184. ":connections_types",
  185. ":offline_wire_formats_proto",
  186. ":platform_base",
  187. ":platform_base_cancellation_flag",
  188. ":platform_base_error_code_recorder",
  189. ":platform_base_util",
  190. ":platform_impl_shared_file",
  191. ":platform_public_comm",
  192. ":platform_public_logging",
  193. ":platform_public_types",
  194. "//third_party/abseil-cpp:absl",
  195. "//third_party/protobuf:protobuf_lite",
  196. "//third_party/ukey2",
  197. ]
  198. configs -= [ "//build/config/compiler:chromium_code" ]
  199. configs += [ "//build/config/compiler:no_chromium_code" ]
  200. }
  201. source_set("connections_test_util") {
  202. testonly = true
  203. public_configs = [
  204. ":nearby_include_config",
  205. ":nearby_defines",
  206. ]
  207. public = [ "src/connections/implementation/mock_service_controller_router.h" ]
  208. deps = [
  209. ":connections_implementation",
  210. "//third_party/googletest:gmock",
  211. ]
  212. }
  213. # src/connections/implementation/analytics
  214. source_set("connections_implementation_analytics") {
  215. public_configs = [
  216. ":nearby_include_config",
  217. ":nearby_defines",
  218. ]
  219. sources = [ "src/connections/implementation/analytics/analytics_recorder.cc" ]
  220. public = [ "src/connections/implementation/analytics/analytics_recorder.h" ]
  221. public_deps = [
  222. ":analytics_event_logger",
  223. ":connections_enums_proto",
  224. ":connections_log_proto",
  225. ":connections_types",
  226. ":error_code_enums_proto",
  227. ":platform_base",
  228. ":platform_base_error_code_recorder",
  229. ":platform_public_logging",
  230. ":platform_public_types",
  231. "//third_party/abseil-cpp:absl",
  232. ]
  233. configs -= [ "//build/config/compiler:chromium_code" ]
  234. configs += [ "//build/config/compiler:no_chromium_code" ]
  235. }
  236. # src/connections/implementation/mediums
  237. source_set("connections_implementation_mediums") {
  238. public_configs = [
  239. ":nearby_include_config",
  240. ":nearby_defines",
  241. ]
  242. sources = [
  243. "src/connections/implementation/mediums/ble.cc",
  244. "src/connections/implementation/mediums/ble_v2.cc",
  245. "src/connections/implementation/mediums/ble_v2/advertisement_read_result.cc",
  246. "src/connections/implementation/mediums/ble_v2/ble_advertisement.cc",
  247. "src/connections/implementation/mediums/ble_v2/ble_advertisement_header.cc",
  248. "src/connections/implementation/mediums/ble_v2/ble_packet.cc",
  249. "src/connections/implementation/mediums/ble_v2/ble_utils.cc",
  250. "src/connections/implementation/mediums/ble_v2/bloom_filter.cc",
  251. "src/connections/implementation/mediums/ble_v2/discovered_peripheral_tracker.cc",
  252. "src/connections/implementation/mediums/bluetooth_classic.cc",
  253. "src/connections/implementation/mediums/bluetooth_radio.cc",
  254. "src/connections/implementation/mediums/mediums.cc",
  255. "src/connections/implementation/mediums/webrtc.cc",
  256. "src/connections/implementation/mediums/wifi_hotspot.cc",
  257. "src/connections/implementation/mediums/wifi_lan.cc",
  258. ]
  259. public = [
  260. "src/connections/implementation/mediums/ble.h",
  261. "src/connections/implementation/mediums/ble_v2.h",
  262. "src/connections/implementation/mediums/ble_v2/advertisement_read_result.h",
  263. "src/connections/implementation/mediums/ble_v2/ble_advertisement.h",
  264. "src/connections/implementation/mediums/ble_v2/ble_advertisement_header.h",
  265. "src/connections/implementation/mediums/ble_v2/ble_packet.h",
  266. "src/connections/implementation/mediums/ble_v2/ble_utils.h",
  267. "src/connections/implementation/mediums/ble_v2/bloom_filter.h",
  268. "src/connections/implementation/mediums/ble_v2/discovered_peripheral_callback.h",
  269. "src/connections/implementation/mediums/ble_v2/discovered_peripheral_tracker.h",
  270. "src/connections/implementation/mediums/bluetooth_classic.h",
  271. "src/connections/implementation/mediums/bluetooth_radio.h",
  272. "src/connections/implementation/mediums/lost_entity_tracker.h",
  273. "src/connections/implementation/mediums/mediums.h",
  274. "src/connections/implementation/mediums/webrtc.h",
  275. "src/connections/implementation/mediums/wifi_hotspot.h",
  276. "src/connections/implementation/mediums/wifi_lan.h",
  277. ]
  278. public_deps = [
  279. ":connections_implementation_mediums_webrtc",
  280. ":connections_types",
  281. ":platform_base",
  282. ":platform_base_cancellation_flag",
  283. ":platform_base_util",
  284. ":platform_public_comm",
  285. ":platform_public_logging",
  286. ":platform_public_types",
  287. ":web_rtc_signaling_frames_proto",
  288. "//third_party/abseil-cpp:absl",
  289. "//third_party/smhasher:murmurhash3",
  290. "//third_party/webrtc_overrides:webrtc_component",
  291. ]
  292. configs -= [ "//build/config/compiler:chromium_code" ]
  293. configs += [ "//build/config/compiler:no_chromium_code" ]
  294. }
  295. source_set("connections_implementation_mediums_utils") {
  296. public_configs = [
  297. ":nearby_include_config",
  298. ":nearby_defines",
  299. ]
  300. sources = [
  301. "src/connections/implementation/mediums/utils.cc",
  302. "src/connections/implementation/mediums/webrtc_peer_id.cc",
  303. ]
  304. public = [
  305. "//third_party/abseil-cpp:absl",
  306. "src/connections/implementation/mediums/utils.h",
  307. "src/connections/implementation/mediums/webrtc_peer_id.h",
  308. "src/connections/implementation/mediums/webrtc_socket.h",
  309. ]
  310. public_deps = [
  311. ":connections_implementation_mediums_webrtc_data_types",
  312. ":offline_wire_formats_proto",
  313. ":platform_base",
  314. ":platform_public_types",
  315. ]
  316. configs -= [ "//build/config/compiler:chromium_code" ]
  317. configs += [ "//build/config/compiler:no_chromium_code" ]
  318. }
  319. source_set("connections_implementation_mediums_webrtc_data_types") {
  320. public_configs = [
  321. ":nearby_include_config",
  322. ":nearby_defines",
  323. ]
  324. sources =
  325. [ "src/connections/implementation/mediums/webrtc/webrtc_socket_impl.cc" ]
  326. public =
  327. [ "src/connections/implementation/mediums/webrtc/webrtc_socket_impl.h" ]
  328. public_deps = [
  329. ":connections_types",
  330. ":platform_base",
  331. ":platform_public_types",
  332. "//third_party/webrtc_overrides:webrtc_component",
  333. ]
  334. configs -= [ "//build/config/compiler:chromium_code" ]
  335. configs += [ "//build/config/compiler:no_chromium_code" ]
  336. }
  337. source_set("connections_implementation_mediums_webrtc") {
  338. public_configs = [
  339. ":nearby_include_config",
  340. ":nearby_defines",
  341. ]
  342. sources = [
  343. "src/connections/implementation/mediums/webrtc/connection_flow.cc",
  344. "src/connections/implementation/mediums/webrtc/signaling_frames.cc",
  345. ]
  346. public = [
  347. "src/connections/implementation/mediums/webrtc/connection_flow.h",
  348. "src/connections/implementation/mediums/webrtc/data_channel_listener.h",
  349. "src/connections/implementation/mediums/webrtc/local_ice_candidate_listener.h",
  350. "src/connections/implementation/mediums/webrtc/session_description_wrapper.h",
  351. "src/connections/implementation/mediums/webrtc/signaling_frames.h",
  352. ]
  353. public_deps = [
  354. ":connections_implementation_mediums_utils",
  355. ":connections_implementation_mediums_webrtc_data_types",
  356. ":connections_types",
  357. ":platform_base",
  358. ":platform_public_comm",
  359. ":platform_public_logging",
  360. ":platform_public_types",
  361. ":web_rtc_signaling_frames_proto",
  362. "//third_party/abseil-cpp:absl",
  363. "//third_party/webrtc_overrides:webrtc_component",
  364. ]
  365. configs -= [ "//build/config/compiler:chromium_code" ]
  366. configs += [ "//build/config/compiler:no_chromium_code" ]
  367. }
  368. ###############################################################################
  369. # src/internal/platform
  370. ###############################################################################
  371. # src/internal/platform/implementation
  372. source_set("platform_api_comm") {
  373. public_configs = [
  374. ":nearby_include_config",
  375. ":nearby_defines",
  376. ]
  377. sources = [
  378. "src/internal/platform/implementation/ble.h",
  379. "src/internal/platform/implementation/ble_v2.h",
  380. "src/internal/platform/implementation/bluetooth_adapter.h",
  381. "src/internal/platform/implementation/bluetooth_classic.h",
  382. "src/internal/platform/implementation/server_sync.h",
  383. "src/internal/platform/implementation/webrtc.h",
  384. "src/internal/platform/implementation/wifi.h",
  385. "src/internal/platform/implementation/wifi_hotspot.h",
  386. "src/internal/platform/implementation/wifi_lan.h",
  387. ]
  388. public_deps = [
  389. ":offline_wire_formats_proto",
  390. ":platform_base",
  391. ":platform_base_cancellation_flag",
  392. ":platform_base_uuid",
  393. "//third_party/abseil-cpp:absl",
  394. "//third_party/webrtc_overrides:webrtc_component",
  395. ]
  396. configs -= [ "//build/config/compiler:chromium_code" ]
  397. configs += [ "//build/config/compiler:no_chromium_code" ]
  398. }
  399. source_set("platform_api_types") {
  400. public_configs = [
  401. ":nearby_include_config",
  402. ":nearby_defines",
  403. ]
  404. sources = [
  405. "src/internal/platform/implementation/atomic_boolean.h",
  406. "src/internal/platform/implementation/atomic_reference.h",
  407. "src/internal/platform/implementation/cancelable.h",
  408. "src/internal/platform/implementation/condition_variable.h",
  409. "src/internal/platform/implementation/crypto.h",
  410. "src/internal/platform/implementation/executor.h",
  411. "src/internal/platform/implementation/future.h",
  412. "src/internal/platform/implementation/input_file.h",
  413. "src/internal/platform/implementation/listenable_future.h",
  414. "src/internal/platform/implementation/log_message.h",
  415. "src/internal/platform/implementation/mutex.h",
  416. "src/internal/platform/implementation/output_file.h",
  417. "src/internal/platform/implementation/scheduled_executor.h",
  418. "src/internal/platform/implementation/settable_future.h",
  419. "src/internal/platform/implementation/submittable_executor.h",
  420. "src/internal/platform/implementation/system_clock.h",
  421. ]
  422. public_deps = [
  423. ":platform_base",
  424. "//third_party/abseil-cpp:absl",
  425. ]
  426. configs -= [ "//build/config/compiler:chromium_code" ]
  427. configs += [ "//build/config/compiler:no_chromium_code" ]
  428. }
  429. source_set("platform_api_platform") {
  430. public_configs = [
  431. ":nearby_include_config",
  432. ":nearby_defines",
  433. ]
  434. public = [ "src/internal/platform/implementation/platform.h" ]
  435. public_deps = [
  436. ":platform_api_comm",
  437. ":platform_api_types",
  438. ":platform_base",
  439. "//third_party/abseil-cpp:absl",
  440. ]
  441. configs -= [ "//build/config/compiler:chromium_code" ]
  442. configs += [ "//build/config/compiler:no_chromium_code" ]
  443. }
  444. # src/internal/platform
  445. source_set("platform_base") {
  446. public_configs = [
  447. ":nearby_include_config",
  448. ":nearby_defines",
  449. ]
  450. sources = [
  451. "src/internal/platform/base64_utils.cc",
  452. "src/internal/platform/bluetooth_utils.cc",
  453. "src/internal/platform/input_stream.cc",
  454. "src/internal/platform/nsd_service_info.cc",
  455. "src/internal/platform/prng.cc",
  456. ]
  457. public = [
  458. "src/internal/platform/base64_utils.h",
  459. "src/internal/platform/bluetooth_utils.h",
  460. "src/internal/platform/byte_array.h",
  461. "src/internal/platform/callable.h",
  462. "src/internal/platform/exception.h",
  463. "src/internal/platform/feature_flags.h",
  464. "src/internal/platform/input_stream.h",
  465. "src/internal/platform/listeners.h",
  466. "src/internal/platform/nsd_service_info.h",
  467. "src/internal/platform/os_name.h",
  468. "src/internal/platform/output_stream.h",
  469. "src/internal/platform/payload_id.h",
  470. "src/internal/platform/prng.h",
  471. "src/internal/platform/runnable.h",
  472. "src/internal/platform/socket.h",
  473. "src/internal/platform/types.h",
  474. ]
  475. public_deps = [ "//third_party/abseil-cpp:absl" ]
  476. configs -= [ "//build/config/compiler:chromium_code" ]
  477. configs += [ "//build/config/compiler:no_chromium_code" ]
  478. }
  479. source_set("platform_base_error_code_recorder") {
  480. public_configs = [
  481. ":nearby_include_config",
  482. ":nearby_defines",
  483. ]
  484. sources = [ "src/internal/platform/error_code_recorder.cc" ]
  485. public = [
  486. "src/internal/platform/error_code_params.h",
  487. "src/internal/platform/error_code_recorder.h",
  488. ]
  489. public_deps = [
  490. ":connections_enums_proto",
  491. ":error_code_enums_proto",
  492. ":platform_base_logging",
  493. ]
  494. configs -= [ "//build/config/compiler:chromium_code" ]
  495. configs += [ "//build/config/compiler:no_chromium_code" ]
  496. }
  497. source_set("platform_base_uuid") {
  498. public_configs = [
  499. ":nearby_include_config",
  500. ":nearby_defines",
  501. ]
  502. sources = [ "src/internal/platform/uuid.cc" ]
  503. public = [ "src/internal/platform/uuid.h" ]
  504. public_deps = [ ":platform_api_types" ]
  505. configs -= [ "//build/config/compiler:chromium_code" ]
  506. configs += [ "//build/config/compiler:no_chromium_code" ]
  507. }
  508. source_set("platform_base_util") {
  509. public_configs = [
  510. ":nearby_include_config",
  511. ":nearby_defines",
  512. ]
  513. sources = [
  514. "src/internal/platform/base_input_stream.cc",
  515. "src/internal/platform/base_pipe.cc",
  516. ]
  517. public = [
  518. "src/internal/platform/base_input_stream.h",
  519. "src/internal/platform/base_mutex_lock.h",
  520. "src/internal/platform/base_pipe.h",
  521. ]
  522. public_deps = [
  523. ":platform_api_types",
  524. ":platform_base",
  525. "//third_party/abseil-cpp:absl",
  526. ]
  527. configs -= [ "//build/config/compiler:chromium_code" ]
  528. configs += [ "//build/config/compiler:no_chromium_code" ]
  529. }
  530. source_set("platform_base_logging") {
  531. public_configs = [
  532. ":nearby_include_config",
  533. ":nearby_defines",
  534. ]
  535. public = [ "src/internal/platform/logging.h" ]
  536. public_deps = [
  537. ":platform_api_platform",
  538. ":platform_api_types",
  539. "//base:base",
  540. ]
  541. configs -= [ "//build/config/compiler:chromium_code" ]
  542. configs += [ "//build/config/compiler:no_chromium_code" ]
  543. }
  544. source_set("platform_base_cancellation_flag") {
  545. public_configs = [
  546. ":nearby_include_config",
  547. ":nearby_defines",
  548. ]
  549. sources = [ "src/internal/platform/cancellation_flag.cc" ]
  550. public = [ "src/internal/platform/cancellation_flag.h" ]
  551. public_deps = [
  552. ":platform_base",
  553. ":platform_base_util",
  554. "//third_party/abseil-cpp:absl",
  555. ]
  556. configs -= [ "//build/config/compiler:chromium_code" ]
  557. configs += [ "//build/config/compiler:no_chromium_code" ]
  558. }
  559. # src/internal/platform/implementation/shared
  560. source_set("platform_impl_shared_file") {
  561. public_configs = [
  562. ":nearby_include_config",
  563. ":nearby_defines",
  564. ]
  565. sources = [ "src/internal/platform/implementation/shared/file.cc" ]
  566. public = [ "src/internal/platform/implementation/shared/file.h" ]
  567. public_deps = [
  568. ":platform_api_platform",
  569. ":platform_public_types",
  570. "//third_party/abseil-cpp:absl",
  571. ]
  572. configs -= [ "//build/config/compiler:chromium_code" ]
  573. configs += [ "//build/config/compiler:no_chromium_code" ]
  574. }
  575. # src/internal/platform
  576. source_set("platform_public_types") {
  577. public_configs = [
  578. ":nearby_include_config",
  579. ":nearby_defines",
  580. ]
  581. sources = [
  582. "src/internal/platform/monitored_runnable.cc",
  583. "src/internal/platform/pending_job_registry.cc",
  584. "src/internal/platform/pipe.cc",
  585. ]
  586. public = [
  587. "src/internal/platform/atomic_boolean.h",
  588. "src/internal/platform/atomic_reference.h",
  589. "src/internal/platform/cancelable.h",
  590. "src/internal/platform/cancelable_alarm.h",
  591. "src/internal/platform/condition_variable.h",
  592. "src/internal/platform/count_down_latch.h",
  593. "src/internal/platform/crypto.h",
  594. "src/internal/platform/file.h",
  595. "src/internal/platform/future.h",
  596. "src/internal/platform/logging.h",
  597. "src/internal/platform/monitored_runnable.h",
  598. "src/internal/platform/multi_thread_executor.h",
  599. "src/internal/platform/mutex.h",
  600. "src/internal/platform/mutex_lock.h",
  601. "src/internal/platform/pending_job_registry.h",
  602. "src/internal/platform/pipe.h",
  603. "src/internal/platform/scheduled_executor.h",
  604. "src/internal/platform/settable_future.h",
  605. "src/internal/platform/single_thread_executor.h",
  606. "src/internal/platform/submittable_executor.h",
  607. "src/internal/platform/system_clock.h",
  608. ]
  609. public_deps = [
  610. ":platform_api_platform",
  611. ":platform_api_types",
  612. ":platform_base",
  613. ":platform_base_cancellation_flag",
  614. ":platform_base_logging",
  615. ":platform_base_util",
  616. ":platform_public_logging",
  617. "//third_party/abseil-cpp:absl",
  618. ]
  619. configs -= [ "//build/config/compiler:chromium_code" ]
  620. configs += [ "//build/config/compiler:no_chromium_code" ]
  621. }
  622. source_set("platform_public_comm") {
  623. public_configs = [
  624. ":nearby_include_config",
  625. ":nearby_defines",
  626. ]
  627. sources = [
  628. "src/internal/platform/ble.cc",
  629. "src/internal/platform/ble_v2.cc",
  630. "src/internal/platform/bluetooth_classic.cc",
  631. "src/internal/platform/file.cc",
  632. "src/internal/platform/wifi_hotspot.cc",
  633. "src/internal/platform/wifi_lan.cc",
  634. "src/internal/platform/wifi_utils.cc",
  635. ]
  636. public = [
  637. "src/internal/platform/ble.h",
  638. "src/internal/platform/ble_v2.h",
  639. "src/internal/platform/bluetooth_adapter.h",
  640. "src/internal/platform/bluetooth_classic.h",
  641. "src/internal/platform/webrtc.h",
  642. "src/internal/platform/wifi_hotspot.h",
  643. "src/internal/platform/wifi_lan.h",
  644. "src/internal/platform/wifi_utils.h",
  645. ]
  646. public_deps = [
  647. ":platform_api_comm",
  648. ":platform_api_platform",
  649. ":platform_base",
  650. ":platform_base_uuid",
  651. ":platform_public_logging",
  652. ":platform_public_types",
  653. "//third_party/abseil-cpp:absl",
  654. "//third_party/webrtc_overrides:webrtc_component",
  655. ]
  656. configs -= [ "//build/config/compiler:chromium_code" ]
  657. configs += [ "//build/config/compiler:no_chromium_code" ]
  658. }
  659. source_set("platform_public_logging") {
  660. public_configs = [
  661. ":nearby_include_config",
  662. ":nearby_defines",
  663. ]
  664. public = [ "src/internal/platform/logging.h" ]
  665. public_deps = [ ":platform_base_logging" ]
  666. configs -= [ "//build/config/compiler:chromium_code" ]
  667. configs += [ "//build/config/compiler:no_chromium_code" ]
  668. }
  669. ###############################################################################
  670. # src/proto
  671. ###############################################################################
  672. # src/proto
  673. proto_library("connections_enums_proto") {
  674. proto_in_dir = "src"
  675. sources = [ "${proto_in_dir}/proto/connections_enums.proto" ]
  676. proto_out_dir = "third_party/nearby"
  677. }
  678. # src/internal/proto/analytics
  679. proto_library("connections_log_proto") {
  680. proto_in_dir = "src"
  681. sources = [ "${proto_in_dir}/internal/proto/analytics/connections_log.proto" ]
  682. proto_out_dir = "third_party/nearby"
  683. proto_deps = [
  684. ":connections_enums_proto",
  685. ":error_code_enums_proto",
  686. ]
  687. link_deps = [
  688. ":connections_enums_proto",
  689. ":error_code_enums_proto",
  690. ]
  691. }
  692. # src/connections/implementation/proto
  693. proto_library("offline_wire_formats_proto") {
  694. proto_in_dir = "src"
  695. sources = [ "${proto_in_dir}/connections/implementation/proto/offline_wire_formats.proto" ]
  696. proto_out_dir = "third_party/nearby"
  697. }
  698. # src/proto/errorcode
  699. proto_library("error_code_enums_proto") {
  700. proto_in_dir = "src"
  701. sources = [ "${proto_in_dir}/proto/errorcode/error_code_enums.proto" ]
  702. proto_out_dir = "third_party/nearby"
  703. }
  704. # src/proto/mediums
  705. proto_library("web_rtc_signaling_frames_proto") {
  706. proto_in_dir = "src"
  707. sources = [ "${proto_in_dir}/proto/mediums/web_rtc_signaling_frames.proto" ]
  708. proto_out_dir = "third_party/nearby"
  709. }
  710. # The following definitions only apply when building for a CrOS board
  711. if (is_chromeos_device) {
  712. # Test target is for running Skylab tests from Chrome builder.
  713. tast_test("nearby_share_tast_tests") {
  714. tast_attr_expr = "\"group:nearby-share-remote\""
  715. }
  716. }