xref: /aosp_15_r20/frameworks/av/media/audioaidlconversion/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1*ec779b8eSAndroid Build Coastguard Workerpackage {
2*ec779b8eSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
3*ec779b8eSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
4*ec779b8eSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "frameworks_av_license"
5*ec779b8eSAndroid Build Coastguard Worker    // to get the below license kinds:
6*ec779b8eSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
7*ec779b8eSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_av_license"],
8*ec779b8eSAndroid Build Coastguard Worker}
9*ec779b8eSAndroid Build Coastguard Worker
10*ec779b8eSAndroid Build Coastguard Workercc_defaults {
11*ec779b8eSAndroid Build Coastguard Worker    name: "audio_aidl_conversion_common_util_default",
12*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
13*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
14*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
15*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
16*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: [
17*ec779b8eSAndroid Build Coastguard Worker        "include",
18*ec779b8eSAndroid Build Coastguard Worker    ],
19*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
20*ec779b8eSAndroid Build Coastguard Worker        "libbase_headers",
21*ec779b8eSAndroid Build Coastguard Worker        "liberror_headers",
22*ec779b8eSAndroid Build Coastguard Worker    ],
23*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
24*ec779b8eSAndroid Build Coastguard Worker        "libbase_headers",
25*ec779b8eSAndroid Build Coastguard Worker        "liberror_headers",
26*ec779b8eSAndroid Build Coastguard Worker    ],
27*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
28*ec779b8eSAndroid Build Coastguard Worker        "//apex_available:platform",
29*ec779b8eSAndroid Build Coastguard Worker        "com.android.btservices",
30*ec779b8eSAndroid Build Coastguard Worker        "com.android.media",
31*ec779b8eSAndroid Build Coastguard Worker        "com.android.media.swcodec",
32*ec779b8eSAndroid Build Coastguard Worker    ],
33*ec779b8eSAndroid Build Coastguard Worker    target: {
34*ec779b8eSAndroid Build Coastguard Worker        darwin: {
35*ec779b8eSAndroid Build Coastguard Worker            enabled: false,
36*ec779b8eSAndroid Build Coastguard Worker        },
37*ec779b8eSAndroid Build Coastguard Worker    },
38*ec779b8eSAndroid Build Coastguard Worker}
39*ec779b8eSAndroid Build Coastguard Worker
40*ec779b8eSAndroid Build Coastguard Worker// This is intended for clients needing to include AidlConversionUtil.h, without extra dependencies.
41*ec779b8eSAndroid Build Coastguard Workercc_library_headers {
42*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_common_util_cpp",
43*ec779b8eSAndroid Build Coastguard Worker    defaults: [
44*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_util_default",
45*ec779b8eSAndroid Build Coastguard Worker    ],
46*ec779b8eSAndroid Build Coastguard Worker}
47*ec779b8eSAndroid Build Coastguard Worker
48*ec779b8eSAndroid Build Coastguard Workercc_library_headers {
49*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_common_util_ndk",
50*ec779b8eSAndroid Build Coastguard Worker    defaults: [
51*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_util_default",
52*ec779b8eSAndroid Build Coastguard Worker    ],
53*ec779b8eSAndroid Build Coastguard Worker    cflags: [
54*ec779b8eSAndroid Build Coastguard Worker        "-DBACKEND_NDK",
55*ec779b8eSAndroid Build Coastguard Worker    ],
56*ec779b8eSAndroid Build Coastguard Worker}
57*ec779b8eSAndroid Build Coastguard Worker
58*ec779b8eSAndroid Build Coastguard Workercc_defaults {
59*ec779b8eSAndroid Build Coastguard Worker    name: "audio_aidl_conversion_common_default_cpp",
60*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
61*ec779b8eSAndroid Build Coastguard Worker        "framework-permission-aidl-cpp",
62*ec779b8eSAndroid Build Coastguard Worker        "libbinder",
63*ec779b8eSAndroid Build Coastguard Worker        "libshmemcompat",
64*ec779b8eSAndroid Build Coastguard Worker        "shared-file-region-aidl-cpp",
65*ec779b8eSAndroid Build Coastguard Worker    ],
66*ec779b8eSAndroid Build Coastguard Worker    export_shared_lib_headers: [
67*ec779b8eSAndroid Build Coastguard Worker        "shared-file-region-aidl-cpp",
68*ec779b8eSAndroid Build Coastguard Worker    ],
69*ec779b8eSAndroid Build Coastguard Worker}
70*ec779b8eSAndroid Build Coastguard Worker
71*ec779b8eSAndroid Build Coastguard Workercc_defaults {
72*ec779b8eSAndroid Build Coastguard Worker    name: "audio_aidl_conversion_common_default",
73*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
74*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
75*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
76*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
77*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
78*ec779b8eSAndroid Build Coastguard Worker        "libaudio_system_headers",
79*ec779b8eSAndroid Build Coastguard Worker        "libhardware_headers",
80*ec779b8eSAndroid Build Coastguard Worker    ],
81*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
82*ec779b8eSAndroid Build Coastguard Worker        "libbase",
83*ec779b8eSAndroid Build Coastguard Worker        "liblog",
84*ec779b8eSAndroid Build Coastguard Worker        "libstagefright_foundation",
85*ec779b8eSAndroid Build Coastguard Worker        "libutils",
86*ec779b8eSAndroid Build Coastguard Worker    ],
87*ec779b8eSAndroid Build Coastguard Worker    export_shared_lib_headers: [
88*ec779b8eSAndroid Build Coastguard Worker        "libbase",
89*ec779b8eSAndroid Build Coastguard Worker    ],
90*ec779b8eSAndroid Build Coastguard Worker    cflags: [
91*ec779b8eSAndroid Build Coastguard Worker        "-Wall",
92*ec779b8eSAndroid Build Coastguard Worker        "-Werror",
93*ec779b8eSAndroid Build Coastguard Worker        "-Wno-error=deprecated-declarations",
94*ec779b8eSAndroid Build Coastguard Worker    ],
95*ec779b8eSAndroid Build Coastguard Worker    sanitize: {
96*ec779b8eSAndroid Build Coastguard Worker        misc_undefined: [
97*ec779b8eSAndroid Build Coastguard Worker            "signed-integer-overflow",
98*ec779b8eSAndroid Build Coastguard Worker            "unsigned-integer-overflow",
99*ec779b8eSAndroid Build Coastguard Worker        ],
100*ec779b8eSAndroid Build Coastguard Worker    },
101*ec779b8eSAndroid Build Coastguard Worker    target: {
102*ec779b8eSAndroid Build Coastguard Worker        darwin: {
103*ec779b8eSAndroid Build Coastguard Worker            enabled: false,
104*ec779b8eSAndroid Build Coastguard Worker        },
105*ec779b8eSAndroid Build Coastguard Worker    },
106*ec779b8eSAndroid Build Coastguard Worker}
107*ec779b8eSAndroid Build Coastguard Worker
108*ec779b8eSAndroid Build Coastguard Worker/**
109*ec779b8eSAndroid Build Coastguard Worker * Only AIDL CPP backend conversion supported.
110*ec779b8eSAndroid Build Coastguard Worker */
111*ec779b8eSAndroid Build Coastguard Workercc_library {
112*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_common_cpp",
113*ec779b8eSAndroid Build Coastguard Worker    srcs: [
114*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionCppNdk.cpp",
115*ec779b8eSAndroid Build Coastguard Worker    ],
116*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
117*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_cpp",
118*ec779b8eSAndroid Build Coastguard Worker    ],
119*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
120*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_cpp",
121*ec779b8eSAndroid Build Coastguard Worker    ],
122*ec779b8eSAndroid Build Coastguard Worker    defaults: [
123*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default",
124*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default_cpp",
125*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_cpp_export_shared",
126*ec779b8eSAndroid Build Coastguard Worker    ],
127*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
128*ec779b8eSAndroid Build Coastguard Worker}
129*ec779b8eSAndroid Build Coastguard Worker
130*ec779b8eSAndroid Build Coastguard Worker/**
131*ec779b8eSAndroid Build Coastguard Worker * Only AIDL NDK backend conversion supported.
132*ec779b8eSAndroid Build Coastguard Worker */
133*ec779b8eSAndroid Build Coastguard Workercc_library {
134*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_common_ndk",
135*ec779b8eSAndroid Build Coastguard Worker    srcs: [
136*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionCppNdk.cpp",
137*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionNdk.cpp",
138*ec779b8eSAndroid Build Coastguard Worker    ],
139*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
140*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
141*ec779b8eSAndroid Build Coastguard Worker    ],
142*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
143*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
144*ec779b8eSAndroid Build Coastguard Worker    ],
145*ec779b8eSAndroid Build Coastguard Worker    defaults: [
146*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default",
147*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_common_ndk_shared",
148*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_ndk_shared",
149*ec779b8eSAndroid Build Coastguard Worker    ],
150*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
151*ec779b8eSAndroid Build Coastguard Worker        "libbase",
152*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
153*ec779b8eSAndroid Build Coastguard Worker    ],
154*ec779b8eSAndroid Build Coastguard Worker    static_libs: [
155*ec779b8eSAndroid Build Coastguard Worker        "libaudioaidlcommon",
156*ec779b8eSAndroid Build Coastguard Worker    ],
157*ec779b8eSAndroid Build Coastguard Worker    cflags: [
158*ec779b8eSAndroid Build Coastguard Worker        "-DBACKEND_NDK",
159*ec779b8eSAndroid Build Coastguard Worker    ],
160*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "31", //AParcelableHolder has been introduced in 31
161*ec779b8eSAndroid Build Coastguard Worker}
162*ec779b8eSAndroid Build Coastguard Worker
163*ec779b8eSAndroid Build Coastguard Worker/**
164*ec779b8eSAndroid Build Coastguard Worker * Only including AIDL core HAL conversion.
165*ec779b8eSAndroid Build Coastguard Worker */
166*ec779b8eSAndroid Build Coastguard Workercc_library {
167*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_core_ndk",
168*ec779b8eSAndroid Build Coastguard Worker    srcs: [
169*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionCore.cpp",
170*ec779b8eSAndroid Build Coastguard Worker    ],
171*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
172*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
173*ec779b8eSAndroid Build Coastguard Worker    ],
174*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
175*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
176*ec779b8eSAndroid Build Coastguard Worker    ],
177*ec779b8eSAndroid Build Coastguard Worker    defaults: [
178*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default",
179*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_common_ndk_shared",
180*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_core_ndk_shared",
181*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_ndk_shared",
182*ec779b8eSAndroid Build Coastguard Worker    ],
183*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
184*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_ndk",
185*ec779b8eSAndroid Build Coastguard Worker        "libbase",
186*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
187*ec779b8eSAndroid Build Coastguard Worker    ],
188*ec779b8eSAndroid Build Coastguard Worker    cflags: [
189*ec779b8eSAndroid Build Coastguard Worker        "-DBACKEND_NDK",
190*ec779b8eSAndroid Build Coastguard Worker    ],
191*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "31", //AParcelableHolder has been introduced in 31
192*ec779b8eSAndroid Build Coastguard Worker}
193*ec779b8eSAndroid Build Coastguard Worker
194*ec779b8eSAndroid Build Coastguard Worker/**
195*ec779b8eSAndroid Build Coastguard Worker * Only including AIDL effect HAL conversion.
196*ec779b8eSAndroid Build Coastguard Worker */
197*ec779b8eSAndroid Build Coastguard Workercc_library {
198*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_effect_ndk",
199*ec779b8eSAndroid Build Coastguard Worker    srcs: [
200*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionEffect.cpp",
201*ec779b8eSAndroid Build Coastguard Worker    ],
202*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
203*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
204*ec779b8eSAndroid Build Coastguard Worker    ],
205*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
206*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_ndk",
207*ec779b8eSAndroid Build Coastguard Worker    ],
208*ec779b8eSAndroid Build Coastguard Worker    defaults: [
209*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default",
210*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_common_ndk_shared",
211*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_effect_ndk_shared",
212*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_ndk_shared",
213*ec779b8eSAndroid Build Coastguard Worker    ],
214*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
215*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_ndk",
216*ec779b8eSAndroid Build Coastguard Worker        "libbase",
217*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
218*ec779b8eSAndroid Build Coastguard Worker    ],
219*ec779b8eSAndroid Build Coastguard Worker    cflags: [
220*ec779b8eSAndroid Build Coastguard Worker        "-DBACKEND_NDK",
221*ec779b8eSAndroid Build Coastguard Worker    ],
222*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "31", //AParcelableHolder has been introduced in 31
223*ec779b8eSAndroid Build Coastguard Worker}
224*ec779b8eSAndroid Build Coastguard Worker
225*ec779b8eSAndroid Build Coastguard Worker/**
226*ec779b8eSAndroid Build Coastguard Worker * Conversions between the NDK and CPP backends for common types.
227*ec779b8eSAndroid Build Coastguard Worker */
228*ec779b8eSAndroid Build Coastguard Workercc_library {
229*ec779b8eSAndroid Build Coastguard Worker    name: "libaudio_aidl_conversion_common_ndk_cpp",
230*ec779b8eSAndroid Build Coastguard Worker    srcs: [
231*ec779b8eSAndroid Build Coastguard Worker        "AidlConversionNdkCpp.cpp",
232*ec779b8eSAndroid Build Coastguard Worker    ],
233*ec779b8eSAndroid Build Coastguard Worker    defaults: [
234*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default",
235*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_default_cpp",
236*ec779b8eSAndroid Build Coastguard Worker        "audio_aidl_conversion_common_util_default",
237*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_cpp_shared",
238*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_ndk_shared",
239*ec779b8eSAndroid Build Coastguard Worker    ],
240*ec779b8eSAndroid Build Coastguard Worker    shared_libs: [
241*ec779b8eSAndroid Build Coastguard Worker        "libbase",
242*ec779b8eSAndroid Build Coastguard Worker        "libbinder_ndk",
243*ec779b8eSAndroid Build Coastguard Worker    ],
244*ec779b8eSAndroid Build Coastguard Worker    cflags: [
245*ec779b8eSAndroid Build Coastguard Worker        "-DBACKEND_CPP_NDK",
246*ec779b8eSAndroid Build Coastguard Worker    ],
247*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "33", //AParcel_unmarshal has been introduced in 33
248*ec779b8eSAndroid Build Coastguard Worker}
249