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