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/bta/bundler.gni")
18
19static_library("bta") {
20  sources = [
21    "ag/bta_ag_act.cc",
22    "ag/bta_ag_api.cc",
23    "ag/bta_ag_at.cc",
24    "ag/bta_ag_cfg.cc",
25    "ag/bta_ag_cmd.cc",
26    "ag/bta_ag_main.cc",
27    "ag/bta_ag_rfc.cc",
28    "ag/bta_ag_sco.cc",
29    "ag/bta_ag_sdp.cc",
30    "ag/bta_ag_swb_aptx.cc",
31    "ar/bta_ar.cc",
32    "av/bta_av_aact.cc",
33    "av/bta_av_act.cc",
34    "av/bta_av_api.cc",
35    "av/bta_av_cfg.cc",
36    "av/bta_av_ci.cc",
37    "av/bta_av_main.cc",
38    "av/bta_av_ssm.cc",
39    "csis/csis_client.cc",
40    "dm/bta_dm_act.cc",
41    "dm/bta_dm_api.cc",
42    "dm/bta_dm_sec_api.cc",
43    "dm/bta_dm_cfg.cc",
44    "dm/bta_dm_ci.cc",
45    "dm/bta_dm_device_search.cc",
46    "dm/bta_dm_disc.cc",
47    "dm/bta_dm_disc_sdp.cc",
48    "dm/bta_dm_gatt_client.cc",
49    "dm/bta_dm_main.cc",
50    "dm/bta_dm_pm.cc",
51    "dm/bta_dm_sec.cc",
52    "gatt/bta_gattc_act.cc",
53    "gatt/bta_gattc_api.cc",
54    "gatt/bta_gattc_db_storage.cc",
55    "gatt/bta_gattc_cache.cc",
56    "gatt/bta_gattc_main.cc",
57    "gatt/bta_gattc_utils.cc",
58    "gatt/bta_gattc_queue.cc",
59    "gatt/bta_gatts_act.cc",
60    "gatt/bta_gatts_api.cc",
61    "gatt/bta_gatts_main.cc",
62    "gatt/bta_gatts_utils.cc",
63    "gatt/database.cc",
64    "gatt/database_builder.cc",
65    "groups/groups.cc",
66    "gmap/gmap_client.cc",
67    "gmap/gmap_server.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/bta/aics/include",
148    "//bt/system/gd",
149    "//bt/system/stack/include",
150    "//bt/system/stack/btm",
151    "//bt/system/udrv/include",
152    "//bt/system/vnd/include",
153    "//bt/system/btif/include",
154    "//bt/system/btif/avrcp",
155    "//bt/system/include/hardware/avrcp",
156    "//bt/system/profile/avrcp",
157    "//bt/system/packet/avrcp",
158    "//bt/system/packet/base",
159  ]
160
161  configs += [
162    "//bt/system:target_defaults",
163    "//bt/system/log:log_defaults",
164  ]
165
166  deps = [
167    "//bt/flags:bluetooth_flags_c_lib",
168    "//bt/sysprop:libcom.android.sysprop.bluetooth",
169    "//bt/system/audio:libbt-audio-asrc",
170    "//bt/system/bta:LeAudioSetScenariosSchema_bfbs",
171    "//bt/system/bta:LeAudioSetConfigsSchema_bfbs",
172    "//bt/system/bta:install_audio_set_scenarios_json",
173    "//bt/system/bta:install_audio_set_configurations_json",
174    "//bt/system/bta:install_audio_set_scenarios_bfbs",
175    "//bt/system/bta:install_audio_set_configurations_bfbs",
176    "//bt/system/bta/aics:aics",
177    "//bt/system:libbt-platform-protos-lite",
178  ]
179
180  libs = [
181    "lc3",
182  ]
183}
184
185bt_flatc_binary_schema("LeAudioSetScenariosSchema_bfbs") {
186  sources = [
187    "le_audio/audio_set_scenarios.fbs",
188  ]
189
190  include_dir = "system"
191  gen_header = true
192}
193
194bt_flatc_binary_schema("LeAudioSetConfigsSchema_bfbs") {
195  sources = [
196    "le_audio/audio_set_configurations.fbs",
197  ]
198
199  include_dir = "system"
200  gen_header = true
201}
202
203install_config("install_audio_set_scenarios_bfbs") {
204  sources = [ "$target_gen_dir/audio_set_scenarios.bfbs" ]
205  install_path = "/etc/bluetooth/le_audio/"
206}
207
208install_config("install_audio_set_configurations_bfbs") {
209  sources = [ "$target_gen_dir/audio_set_configurations.bfbs" ]
210  install_path = "/etc/bluetooth/le_audio/"
211}
212
213install_config("install_audio_set_scenarios_json") {
214  sources = [ "le_audio/audio_set_scenarios.json" ]
215  install_path = "/etc/bluetooth/le_audio/"
216}
217
218install_config("install_audio_set_configurations_json") {
219  sources = [ "le_audio/audio_set_configurations.json" ]
220  install_path = "/etc/bluetooth/le_audio/"
221}
222
223if (use.test) {
224  executable("net_test_bta") {
225    sources = [
226      "gatt/database_builder.cc",
227      "test/gatt/database_builder_test.cc",
228      "test/gatt/database_builder_sample_device_test.cc",
229      "test/gatt/database_test.cc",
230    ]
231
232    include_dirs = [
233      "include",
234      "//bt/system/",
235      "//bt/system/bta",
236      "//bt/system/stack/btm",
237    ]
238
239    deps = [
240      "//bt/system/bta",
241      "//bt/system/types",
242    ]
243
244    configs += [
245      "//bt/system:external_gmock_main",
246      "//bt/system:target_defaults",
247    ]
248  }
249}
250