xref: /aosp_15_r20/hardware/interfaces/bluetooth/audio/utils/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "hardware_interfaces_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["hardware_interfaces_license"],
8}
9
10cc_library_shared {
11    name: "libbluetooth_audio_session",
12    defaults: ["hidl_defaults"],
13    vendor: true,
14    srcs: [
15        "session/BluetoothAudioSession.cpp",
16        "session/BluetoothAudioSession_2_1.cpp",
17        "session/BluetoothAudioSupportedCodecsDB.cpp",
18        "session/BluetoothAudioSupportedCodecsDB_2_1.cpp",
19    ],
20    export_include_dirs: ["session/"],
21    header_libs: ["libhardware_headers"],
22    shared_libs: [
23        "[email protected]",
24        "[email protected]",
25        "[email protected]",
26        "libbase",
27        "libcutils",
28        "libfmq",
29        "libhidlbase",
30        "liblog",
31        "libutils",
32        "libbluetooth_audio_session_aidl",
33    ],
34}
35
36cc_library_shared {
37    name: "libbluetooth_audio_session_aidl",
38    vendor: true,
39    host_supported: true,
40    srcs: [
41        "aidl_session/BluetoothAudioCodecs.cpp",
42        "aidl_session/BluetoothAudioSession.cpp",
43        "aidl_session/HidlToAidlMiddleware.cpp",
44        "aidl_session/BluetoothLeAudioCodecsProvider.cpp",
45        "aidl_session/BluetoothHfpCodecsProvider.cpp",
46        "aidl_session/BluetoothLeAudioAseConfigurationSettingProvider.cpp",
47    ],
48    export_include_dirs: ["aidl_session/"],
49    header_libs: [
50        "libhardware_headers",
51        "libxsdc-utils",
52    ],
53    defaults: [
54        "aconfig_lib_cc_static_link.defaults",
55        "latest_android_hardware_bluetooth_audio_ndk_shared",
56    ],
57    shared_libs: [
58        "[email protected]",
59        "[email protected]",
60        "libbase",
61        "libcutils",
62        "libbinder_ndk",
63        "libfmq",
64        "liblog",
65        "libhidlbase",
66        "libxml2",
67        "libflatbuffers-cpp",
68        "server_configurable_flags",
69    ],
70    static_libs: [
71        "btaudiohal_flags_c_lib",
72    ],
73    generated_sources: [
74        "le_audio_codec_capabilities",
75        "hfp_codec_capabilities",
76    ],
77    generated_headers: [
78        "le_audio_codec_capabilities",
79        "hfp_codec_capabilities",
80        "AIDLLeAudioSetConfigSchemas_h",
81    ],
82    required: [
83        "aidl_audio_set_configurations_bfbs",
84        "aidl_default_audio_set_configurations_json",
85        "aidl_audio_set_scenarios_bfbs",
86        "aidl_default_audio_set_scenarios_json",
87        "hfp_codec_capabilities_xml",
88    ],
89}
90
91cc_test {
92    name: "BluetoothLeAudioCodecsProviderTest",
93    srcs: [
94        "aidl_session/BluetoothLeAudioCodecsProvider.cpp",
95        "aidl_session/BluetoothLeAudioCodecsProviderTest.cpp",
96    ],
97    defaults: [
98        "latest_android_hardware_audio_common_ndk_static",
99        "latest_android_hardware_bluetooth_audio_ndk_static",
100        "latest_android_media_audio_common_types_ndk_static",
101    ],
102    header_libs: [
103        "libxsdc-utils",
104    ],
105    shared_libs: [
106        "libbase",
107        "libbinder_ndk",
108        "libxml2",
109    ],
110    test_suites: [
111        "general-tests",
112    ],
113    test_options: {
114        unit_test: false,
115    },
116    generated_sources: ["le_audio_codec_capabilities"],
117    generated_headers: ["le_audio_codec_capabilities"],
118}
119
120cc_test {
121    name: "BluetoothHfpCodecsProviderTest",
122    defaults: [
123        "latest_android_hardware_audio_common_ndk_static",
124        "latest_android_hardware_bluetooth_audio_ndk_static",
125        "latest_android_media_audio_common_types_ndk_static",
126    ],
127    srcs: [
128        "aidl_session/BluetoothHfpCodecsProvider.cpp",
129        "aidl_session/BluetoothHfpCodecsProviderTest.cpp",
130    ],
131    header_libs: [
132        "libxsdc-utils",
133    ],
134    shared_libs: [
135        "libbase",
136        "libbinder_ndk",
137        "libxml2",
138    ],
139    test_suites: [
140        "general-tests",
141    ],
142    test_options: {
143        unit_test: false,
144    },
145    generated_sources: ["hfp_codec_capabilities"],
146    generated_headers: ["hfp_codec_capabilities"],
147}
148
149xsd_config {
150    name: "le_audio_codec_capabilities",
151    srcs: ["le_audio_codec_capabilities/le_audio_codec_capabilities.xsd"],
152    package_name: "aidl.android.hardware.bluetooth.audio.setting",
153    api_dir: "le_audio_codec_capabilities/schema",
154    root_elements: ["leAudioOffloadSetting"],
155}
156
157xsd_config {
158    name: "hfp_codec_capabilities",
159    srcs: ["hfp_codec_capabilities/hfp_codec_capabilities.xsd"],
160    package_name: "aidl.android.hardware.bluetooth.audio.hfp.setting",
161    api_dir: "hfp_codec_capabilities/schema",
162    root_elements: ["hfpOffloadSetting"],
163}
164
165genrule {
166    name: "AIDLLeAudioSetConfigSchemas_h",
167    tools: [
168        "flatc",
169    ],
170    cmd: "$(location flatc) -I hardware/interfaces/bluetooth/audio/utils/ -o $(genDir) --cpp $(in) ",
171    srcs: [
172        "le_audio_configuration_set/audio_set_configurations.fbs",
173        "le_audio_configuration_set/audio_set_scenarios.fbs",
174    ],
175    out: [
176        "audio_set_configurations_generated.h",
177        "audio_set_scenarios_generated.h",
178    ],
179}
180
181// Binary generation
182genrule {
183    name: "AIDLLeAudioSetScenariosSchema_bfbs",
184    tools: [
185        "flatc",
186    ],
187    cmd: "$(location flatc) -I hardware/interfaces/bluetooth/audio/utils/ -b --schema -o $(genDir) $(in) ",
188    srcs: [
189        "le_audio_configuration_set/audio_set_scenarios.fbs",
190    ],
191    out: [
192        "audio_set_scenarios.bfbs",
193    ],
194}
195
196genrule {
197    name: "AIDLLeAudioSetConfigsSchema_bfbs",
198    tools: [
199        "flatc",
200    ],
201    cmd: "$(location flatc) -I hardware/interfaces/bluetooth/audio/utils/ -b --schema -o $(genDir) $(in) ",
202    srcs: [
203        "le_audio_configuration_set/audio_set_configurations.fbs",
204    ],
205    out: [
206        "audio_set_configurations.bfbs",
207    ],
208}
209
210// Add to prebuilt etc
211prebuilt_etc {
212    name: "aidl_audio_set_scenarios_bfbs",
213    src: ":AIDLLeAudioSetScenariosSchema_bfbs",
214    filename: "aidl_audio_set_scenarios.bfbs",
215    sub_dir: "aidl/le_audio",
216    vendor: true,
217}
218
219prebuilt_etc {
220    name: "aidl_default_audio_set_scenarios_json",
221    src: "le_audio_configuration_set/audio_set_scenarios.json",
222    filename: "aidl_default_audio_set_scenarios.json",
223    sub_dir: "aidl/le_audio",
224    vendor: true,
225}
226
227prebuilt_etc {
228    name: "hfp_codec_capabilities_xml",
229    src: "hfp_codec_capabilities/hfp_codec_capabilities.xml",
230    filename: "hfp_codec_capabilities.xml",
231    sub_dir: "aidl/hfp",
232    vendor: true,
233}
234
235prebuilt_etc {
236    name: "aidl_audio_set_configurations_bfbs",
237    src: ":AIDLLeAudioSetConfigsSchema_bfbs",
238    filename: "aidl_audio_set_configurations.bfbs",
239    sub_dir: "aidl/le_audio",
240    vendor: true,
241}
242
243prebuilt_etc {
244    name: "aidl_default_audio_set_configurations_json",
245    src: "le_audio_configuration_set/audio_set_configurations.json",
246    filename: "aidl_default_audio_set_configurations.json",
247    sub_dir: "aidl/le_audio",
248    vendor: true,
249}
250