xref: /aosp_15_r20/frameworks/av/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1*ec779b8eSAndroid Build Coastguard Worker// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
2*ec779b8eSAndroid Build Coastguard Worker//     CONSULT THE OWNERS AND [email protected] BEFORE
3*ec779b8eSAndroid Build Coastguard Worker//     DEPENDING ON IT IN YOUR PROJECT. ***
4*ec779b8eSAndroid Build Coastguard Workerpackage {
5*ec779b8eSAndroid Build Coastguard Worker    default_applicable_licenses: ["frameworks_av_license"],
6*ec779b8eSAndroid Build Coastguard Worker}
7*ec779b8eSAndroid Build Coastguard Worker
8*ec779b8eSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of
9*ec779b8eSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect
10*ec779b8eSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct.
11*ec779b8eSAndroid Build Coastguard Worker//
12*ec779b8eSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory.
13*ec779b8eSAndroid Build Coastguard Worker//
14*ec779b8eSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses,
15*ec779b8eSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the
16*ec779b8eSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed.
17*ec779b8eSAndroid Build Coastguard Worker//
18*ec779b8eSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private"
19*ec779b8eSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be
20*ec779b8eSAndroid Build Coastguard Worker// used in the current project.
21*ec779b8eSAndroid Build Coastguard Worker// See: http://go/android-license-faq
22*ec779b8eSAndroid Build Coastguard Workerlicense {
23*ec779b8eSAndroid Build Coastguard Worker    name: "frameworks_av_license",
24*ec779b8eSAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*ec779b8eSAndroid Build Coastguard Worker    license_kinds: [
26*ec779b8eSAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*ec779b8eSAndroid Build Coastguard Worker        "SPDX-license-identifier-BSD",
28*ec779b8eSAndroid Build Coastguard Worker        "SPDX-license-identifier-MIT",
29*ec779b8eSAndroid Build Coastguard Worker        "SPDX-license-identifier-Unicode-DFS",
30*ec779b8eSAndroid Build Coastguard Worker        "legacy_by_exception_only", // by exception only
31*ec779b8eSAndroid Build Coastguard Worker    ],
32*ec779b8eSAndroid Build Coastguard Worker    license_text: [
33*ec779b8eSAndroid Build Coastguard Worker        "NOTICE",
34*ec779b8eSAndroid Build Coastguard Worker    ],
35*ec779b8eSAndroid Build Coastguard Worker}
36*ec779b8eSAndroid Build Coastguard Worker
37*ec779b8eSAndroid Build Coastguard Workeraidl_interface_defaults {
38*ec779b8eSAndroid Build Coastguard Worker    name: "audio-aidl-defaults",
39*ec779b8eSAndroid Build Coastguard Worker    unstable: true,
40*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
41*ec779b8eSAndroid Build Coastguard Worker    backend: {
42*ec779b8eSAndroid Build Coastguard Worker        cpp: {
43*ec779b8eSAndroid Build Coastguard Worker            enabled: true,
44*ec779b8eSAndroid Build Coastguard Worker        },
45*ec779b8eSAndroid Build Coastguard Worker        java: {
46*ec779b8eSAndroid Build Coastguard Worker            enabled: true,
47*ec779b8eSAndroid Build Coastguard Worker        },
48*ec779b8eSAndroid Build Coastguard Worker        rust: {
49*ec779b8eSAndroid Build Coastguard Worker            enabled: true,
50*ec779b8eSAndroid Build Coastguard Worker        },
51*ec779b8eSAndroid Build Coastguard Worker    },
52*ec779b8eSAndroid Build Coastguard Worker
53*ec779b8eSAndroid Build Coastguard Worker}
54*ec779b8eSAndroid Build Coastguard Worker
55*ec779b8eSAndroid Build Coastguard Workeraidl_interface {
56*ec779b8eSAndroid Build Coastguard Worker    name: "av-types-aidl",
57*ec779b8eSAndroid Build Coastguard Worker    unstable: true,
58*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
59*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
60*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
61*ec779b8eSAndroid Build Coastguard Worker    local_include_dir: "aidl",
62*ec779b8eSAndroid Build Coastguard Worker    srcs: [
63*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/InterpolatorConfig.aidl",
64*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/InterpolatorType.aidl",
65*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/MicrophoneInfoFw.aidl",
66*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperConfiguration.aidl",
67*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperConfigurationOptionFlag.aidl",
68*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperConfigurationType.aidl",
69*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperOperation.aidl",
70*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperOperationFlag.aidl",
71*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/VolumeShaperState.aidl",
72*ec779b8eSAndroid Build Coastguard Worker    ],
73*ec779b8eSAndroid Build Coastguard Worker    defaults: [
74*ec779b8eSAndroid Build Coastguard Worker        "latest_android_media_audio_common_types_import_interface",
75*ec779b8eSAndroid Build Coastguard Worker    ],
76*ec779b8eSAndroid Build Coastguard Worker    backend: {
77*ec779b8eSAndroid Build Coastguard Worker        cpp: {
78*ec779b8eSAndroid Build Coastguard Worker            min_sdk_version: "29",
79*ec779b8eSAndroid Build Coastguard Worker            apex_available: [
80*ec779b8eSAndroid Build Coastguard Worker                "//apex_available:platform",
81*ec779b8eSAndroid Build Coastguard Worker                "com.android.btservices",
82*ec779b8eSAndroid Build Coastguard Worker                "com.android.media",
83*ec779b8eSAndroid Build Coastguard Worker                "com.android.media.swcodec",
84*ec779b8eSAndroid Build Coastguard Worker            ],
85*ec779b8eSAndroid Build Coastguard Worker        },
86*ec779b8eSAndroid Build Coastguard Worker        java: {
87*ec779b8eSAndroid Build Coastguard Worker            sdk_version: "module_current",
88*ec779b8eSAndroid Build Coastguard Worker        },
89*ec779b8eSAndroid Build Coastguard Worker    },
90*ec779b8eSAndroid Build Coastguard Worker}
91*ec779b8eSAndroid Build Coastguard Worker
92*ec779b8eSAndroid Build Coastguard Workeraidl_interface {
93*ec779b8eSAndroid Build Coastguard Worker    name: "audio-permission-aidl",
94*ec779b8eSAndroid Build Coastguard Worker    // TODO remove
95*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
96*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
97*ec779b8eSAndroid Build Coastguard Worker    defaults: ["audio-aidl-defaults"],
98*ec779b8eSAndroid Build Coastguard Worker    local_include_dir: "aidl",
99*ec779b8eSAndroid Build Coastguard Worker    srcs: [
100*ec779b8eSAndroid Build Coastguard Worker        "aidl/com/android/media/permission/*",
101*ec779b8eSAndroid Build Coastguard Worker    ],
102*ec779b8eSAndroid Build Coastguard Worker}
103*ec779b8eSAndroid Build Coastguard Worker
104*ec779b8eSAndroid Build Coastguard Workercc_library_headers {
105*ec779b8eSAndroid Build Coastguard Worker    name: "av-headers",
106*ec779b8eSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
107*ec779b8eSAndroid Build Coastguard Worker    static_libs: [
108*ec779b8eSAndroid Build Coastguard Worker        "av-types-aidl-cpp",
109*ec779b8eSAndroid Build Coastguard Worker    ],
110*ec779b8eSAndroid Build Coastguard Worker    export_static_lib_headers: [
111*ec779b8eSAndroid Build Coastguard Worker        "av-types-aidl-cpp",
112*ec779b8eSAndroid Build Coastguard Worker    ],
113*ec779b8eSAndroid Build Coastguard Worker    header_libs: [
114*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_cpp",
115*ec779b8eSAndroid Build Coastguard Worker    ],
116*ec779b8eSAndroid Build Coastguard Worker    export_header_lib_headers: [
117*ec779b8eSAndroid Build Coastguard Worker        "libaudio_aidl_conversion_common_util_cpp",
118*ec779b8eSAndroid Build Coastguard Worker    ],
119*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
120*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
121*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
122*ec779b8eSAndroid Build Coastguard Worker    min_sdk_version: "29",
123*ec779b8eSAndroid Build Coastguard Worker    apex_available: [
124*ec779b8eSAndroid Build Coastguard Worker        "//apex_available:platform",
125*ec779b8eSAndroid Build Coastguard Worker        "com.android.btservices",
126*ec779b8eSAndroid Build Coastguard Worker        "com.android.media",
127*ec779b8eSAndroid Build Coastguard Worker        "com.android.media.swcodec",
128*ec779b8eSAndroid Build Coastguard Worker    ],
129*ec779b8eSAndroid Build Coastguard Worker    target: {
130*ec779b8eSAndroid Build Coastguard Worker        darwin: {
131*ec779b8eSAndroid Build Coastguard Worker            enabled: false,
132*ec779b8eSAndroid Build Coastguard Worker        },
133*ec779b8eSAndroid Build Coastguard Worker    },
134*ec779b8eSAndroid Build Coastguard Worker}
135*ec779b8eSAndroid Build Coastguard Worker
136*ec779b8eSAndroid Build Coastguard Workeraidl_interface {
137*ec779b8eSAndroid Build Coastguard Worker    name: "av-audio-types-aidl",
138*ec779b8eSAndroid Build Coastguard Worker    unstable: true,
139*ec779b8eSAndroid Build Coastguard Worker    host_supported: true,
140*ec779b8eSAndroid Build Coastguard Worker    vendor_available: true,
141*ec779b8eSAndroid Build Coastguard Worker    double_loadable: true,
142*ec779b8eSAndroid Build Coastguard Worker    local_include_dir: "aidl",
143*ec779b8eSAndroid Build Coastguard Worker    srcs: [
144*ec779b8eSAndroid Build Coastguard Worker        "aidl/android/media/audio/IHalAdapterVendorExtension.aidl",
145*ec779b8eSAndroid Build Coastguard Worker    ],
146*ec779b8eSAndroid Build Coastguard Worker    defaults: [
147*ec779b8eSAndroid Build Coastguard Worker        "latest_android_hardware_audio_core_import_interface",
148*ec779b8eSAndroid Build Coastguard Worker    ],
149*ec779b8eSAndroid Build Coastguard Worker    backend: {
150*ec779b8eSAndroid Build Coastguard Worker        // The C++ backend is disabled transitively due to use of FMQ by the audio core HAL.
151*ec779b8eSAndroid Build Coastguard Worker        cpp: {
152*ec779b8eSAndroid Build Coastguard Worker            enabled: false,
153*ec779b8eSAndroid Build Coastguard Worker        },
154*ec779b8eSAndroid Build Coastguard Worker        java: {
155*ec779b8eSAndroid Build Coastguard Worker            sdk_version: "module_current",
156*ec779b8eSAndroid Build Coastguard Worker        },
157*ec779b8eSAndroid Build Coastguard Worker    },
158*ec779b8eSAndroid Build Coastguard Worker}
159