xref: /aosp_15_r20/frameworks/av/services/audioflinger/datapath/Android.bp (revision ec779b8e0859a360c3d303172224686826e6e0e1)
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 "frameworks_base_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["frameworks_av_services_audioflinger_license"],
8}
9
10audioflinger_datapath_tidy_errors = audioflinger_base_tidy_errors + [
11    "modernize-avoid-c-arrays",
12    "modernize-deprecated-headers",
13    "modernize-pass-by-value",
14    "modernize-use-auto",
15    "modernize-use-nodiscard",
16
17    // TODO(b/275642749) Reenable these warnings
18    "-misc-non-private-member-variables-in-classes",
19]
20
21// Eventually use common tidy defaults
22cc_defaults {
23    name: "audioflinger_datapath_flags_defaults",
24    // https://clang.llvm.org/docs/UsersManual.html#command-line-options
25    // https://clang.llvm.org/docs/DiagnosticsReference.html
26    cflags: audioflinger_base_cflags,
27    // https://clang.llvm.org/extra/clang-tidy/
28    tidy: true,
29    tidy_checks: audioflinger_datapath_tidy_errors,
30    tidy_checks_as_errors: audioflinger_datapath_tidy_errors,
31    tidy_flags: [
32        "-format-style=file",
33    ],
34}
35
36cc_library {
37    name: "libaudioflinger_datapath",
38
39    defaults: [
40        "audioflinger_datapath_flags_defaults",
41        "latest_android_media_audio_common_types_cpp_shared",
42    ],
43
44    srcs: [
45        "AudioHwDevice.cpp",
46        "AudioStreamIn.cpp",
47        "AudioStreamOut.cpp",
48        "SpdifStreamIn.cpp",
49        "SpdifStreamOut.cpp",
50    ],
51
52    header_libs: [
53        "libaudioclient_headers",
54        "libaudiohal_headers",
55        "liberror_headers",
56    ],
57
58    shared_libs: [
59        "audioclient-types-aidl-cpp",
60        "av-types-aidl-cpp",
61        "libaudioflinger_utils", // NBAIO_Tee
62        "libaudioprocessing",
63        "libaudiospdif",
64        "libaudioutils",
65        "libbase",
66        "libcutils",
67        "liblog",
68        "libnbaio",
69        "libutils", // refbase
70    ],
71
72    include_dirs: [
73        "frameworks/av/services/audioflinger", // for configuration
74    ],
75}
76