1#
2#  Copyright 2015 Google, Inc.
3#
4#  Licensed under the Apache License, Version 2.0 (the "License");
5#  you may not use this file except in compliance with the License.
6#  You may obtain a copy of the License at:
7#
8#  http://www.apache.org/licenses/LICENSE-2.0
9#
10#  Unless required by applicable law or agreed to in writing, software
11#  distributed under the License is distributed on an "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13#  See the License for the specific language governing permissions and
14#  limitations under the License.
15#
16
17import("//bt/system/gd/dumpsys/bundler/bundler.gni")
18import("//common-mk/flatbuffer.gni")
19
20static_library("bta") {
21  sources = [
22    "ag/bta_ag_act.cc",
23    "ag/bta_ag_api.cc",
24    "ag/bta_ag_at.cc",
25    "ag/bta_ag_cfg.cc",
26    "ag/bta_ag_cmd.cc",
27    "ag/bta_ag_main.cc",
28    "ag/bta_ag_rfc.cc",
29    "ag/bta_ag_sco.cc",
30    "ag/bta_ag_sdp.cc",
31    "ag/bta_ag_swb_aptx.cc",
32    "ar/bta_ar.cc",
33    "av/bta_av_aact.cc",
34    "av/bta_av_act.cc",
35    "av/bta_av_api.cc",
36    "av/bta_av_cfg.cc",
37    "av/bta_av_ci.cc",
38    "av/bta_av_main.cc",
39    "av/bta_av_ssm.cc",
40    "csis/csis_client.cc",
41    "dm/bta_dm_act.cc",
42    "dm/bta_dm_api.cc",
43    "dm/bta_dm_sec_api.cc",
44    "dm/bta_dm_cfg.cc",
45    "dm/bta_dm_ci.cc",
46    "dm/bta_dm_device_search.cc",
47    "dm/bta_dm_disc.cc",
48    "dm/bta_dm_disc_legacy.cc",
49    "dm/bta_dm_disc_sdp.cc",
50    "dm/bta_dm_gatt_client.cc",
51    "dm/bta_dm_main.cc",
52    "dm/bta_dm_pm.cc",
53    "dm/bta_dm_sec.cc",
54    "gatt/bta_gattc_act.cc",
55    "gatt/bta_gattc_api.cc",
56    "gatt/bta_gattc_db_storage.cc",
57    "gatt/bta_gattc_cache.cc",
58    "gatt/bta_gattc_main.cc",
59    "gatt/bta_gattc_utils.cc",
60    "gatt/bta_gattc_queue.cc",
61    "gatt/bta_gatts_act.cc",
62    "gatt/bta_gatts_api.cc",
63    "gatt/bta_gatts_main.cc",
64    "gatt/bta_gatts_utils.cc",
65    "gatt/database.cc",
66    "gatt/database_builder.cc",
67    "groups/groups.cc",
68    "has/has_client.cc",
69    "has/has_ctp.cc",
70    "has/has_preset.cc",
71    "has/has_types.cc",
72    "has/has_journal.cc",
73    "hearing_aid/hearing_aid.cc",
74    "hearing_aid/hearing_aid_audio_source.cc",
75    "hf_client/bta_hf_client_act.cc",
76    "hf_client/bta_hf_client_api.cc",
77    "hf_client/bta_hf_client_at.cc",
78    "hf_client/bta_hf_client_main.cc",
79    "hf_client/bta_hf_client_rfc.cc",
80    "hf_client/bta_hf_client_sdp.cc",
81    "hf_client/bta_hf_client_sco.cc",
82    "hh/bta_hh_act.cc",
83    "hh/bta_hh_api.cc",
84    "hh/bta_hh_cfg.cc",
85    "hh/bta_hh_headtracker.cc",
86    "hh/bta_hh_le.cc",
87    "hh/bta_hh_main.cc",
88    "hh/bta_hh_utils.cc",
89    "hfp/bta_hfp_api.cc",
90    "hd/bta_hd_act.cc",
91    "hd/bta_hd_api.cc",
92    "hd/bta_hd_main.cc",
93    "jv/bta_jv_act.cc",
94    "jv/bta_jv_api.cc",
95    "le_audio/audio_hal_client/audio_sink_hal_client.cc",
96    "le_audio/audio_hal_client/audio_source_hal_client.cc",
97    "le_audio/broadcaster/broadcast_configuration_provider.cc",
98    "le_audio/broadcaster/broadcaster.cc",
99    "le_audio/broadcaster/broadcaster_types.cc",
100    "le_audio/broadcaster/state_machine.cc",
101    "le_audio/client.cc",
102    "le_audio/client_parser.cc",
103    "le_audio/codec_interface.cc",
104    "le_audio/codec_manager.cc",
105    "le_audio/content_control_id_keeper.cc",
106    "le_audio/device_groups.cc",
107    "le_audio/devices.cc",
108    "le_audio/hal_verifier_linux.cc",
109    "le_audio/le_audio_health_status.cc",
110    "le_audio/le_audio_log_history.cc",
111    "le_audio/le_audio_set_configuration_provider_json.cc",
112    "le_audio/le_audio_types.cc",
113    "le_audio/le_audio_utils.cc",
114    "le_audio/metrics_collector.cc",
115    "le_audio/state_machine.cc",
116    "le_audio/storage_helper.cc",
117    "pan/bta_pan_act.cc",
118    "pan/bta_pan_api.cc",
119    "pan/bta_pan_ci.cc",
120    "pan/bta_pan_main.cc",
121    "ras/ras_client.cc",
122    "ras/ras_server.cc",
123    "ras/ras_utils.cc",
124    "rfcomm/bta_rfcomm_scn.cc",
125    "sdp/bta_sdp.cc",
126    "sdp/bta_sdp_act.cc",
127    "sdp/bta_sdp_api.cc",
128    "sdp/bta_sdp_cfg.cc",
129    "sys/bta_sys_conn.cc",
130    "sys/bta_sys_main.cc",
131    "sys/utl.cc",
132    "vc/device.cc",
133    "vc/vc.cc",
134  ]
135
136  include_dirs = [
137    "closure",
138    "dm",
139    "hh",
140    "hd",
141    "include",
142    "sys",
143    "//bt/system/",
144    "//bt/system/include",
145    "//bt/system/linux_include",
146    "//bt/system/bta",
147    "//bt/system/gd",
148    "//bt/system/stack/include",
149    "//bt/system/stack/btm",
150    "//bt/system/udrv/include",
151    "//bt/system/vnd/include",
152    "//bt/system/btif/include",
153    "//bt/system/btif/avrcp",
154    "//bt/system/include/hardware/avrcp",
155    "//bt/system/profile/avrcp",
156    "//bt/system/packet/avrcp",
157    "//bt/system/packet/base",
158  ]
159
160  configs += [
161    "//bt/system:target_defaults",
162    "//bt/system/log:log_defaults",
163  ]
164
165  deps = [
166    "//bt/flags:bluetooth_flags_c_lib",
167    "//bt/sysprop:libcom.android.sysprop.bluetooth",
168    "//bt/system/audio:libbt-audio-asrc",
169    "//bt/system/bta:LeAudioSetScenariosSchema_bfbs",
170    "//bt/system/bta:LeAudioSetConfigsSchema_bfbs",
171    "//bt/system/bta:install_audio_set_scenarios_json",
172    "//bt/system/bta:install_audio_set_configurations_json",
173    "//bt/system/bta:install_audio_set_scenarios_bfbs",
174    "//bt/system/bta:install_audio_set_configurations_bfbs",
175    "//bt/system:libbt-platform-protos-lite",
176    "//bt/system/gd/rust/shim:init_flags_bridge_header",
177  ]
178
179  libs = [
180    "lc3",
181  ]
182}
183
184bt_flatc_binary_schema("LeAudioSetScenariosSchema_bfbs") {
185  sources = [
186    "le_audio/audio_set_scenarios.fbs",
187  ]
188
189  include_dir = "system"
190  gen_header = true
191}
192
193bt_flatc_binary_schema("LeAudioSetConfigsSchema_bfbs") {
194  sources = [
195    "le_audio/audio_set_configurations.fbs",
196  ]
197
198  include_dir = "system"
199  gen_header = true
200}
201
202install_config("install_audio_set_scenarios_bfbs") {
203  sources = [ "$target_gen_dir/audio_set_scenarios.bfbs" ]
204  install_path = "/etc/bluetooth/le_audio/"
205}
206
207install_config("install_audio_set_configurations_bfbs") {
208  sources = [ "$target_gen_dir/audio_set_configurations.bfbs" ]
209  install_path = "/etc/bluetooth/le_audio/"
210}
211
212install_config("install_audio_set_scenarios_json") {
213  sources = [ "le_audio/audio_set_scenarios.json" ]
214  install_path = "/etc/bluetooth/le_audio/"
215}
216
217install_config("install_audio_set_configurations_json") {
218  sources = [ "le_audio/audio_set_configurations.json" ]
219  install_path = "/etc/bluetooth/le_audio/"
220}
221
222if (use.test) {
223  executable("net_test_bta") {
224    sources = [
225      "gatt/database_builder.cc",
226      "test/gatt/database_builder_test.cc",
227      "test/gatt/database_builder_sample_device_test.cc",
228      "test/gatt/database_test.cc",
229    ]
230
231    include_dirs = [
232      "include",
233      "//bt/system/",
234      "//bt/system/bta",
235      "//bt/system/stack/btm",
236    ]
237
238    deps = [
239      "//bt/system/bta",
240      "//bt/system/types",
241    ]
242
243    configs += [
244      "//bt/system:external_gmock_main",
245      "//bt/system:target_defaults",
246    ]
247  }
248}
249