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
10// TODO(b/275642749) Reenable these warnings
11fastpath_tidy_errors = audioflinger_base_tidy_errors + [
12    "-misc-non-private-member-variables-in-classes",
13    "-performance-no-int-to-ptr",
14]
15
16// Eventually use common tidy defaults
17cc_defaults {
18    name: "fastpath_flags_defaults",
19    // https://clang.llvm.org/docs/UsersManual.html#command-line-options
20    // https://clang.llvm.org/docs/DiagnosticsReference.html
21    cflags: audioflinger_base_cflags,
22    // https://clang.llvm.org/extra/clang-tidy/
23    tidy: true,
24    tidy_checks: fastpath_tidy_errors,
25    tidy_checks_as_errors: fastpath_tidy_errors,
26    tidy_flags: [
27        "-format-style=file",
28    ],
29}
30
31cc_library_shared {
32    name: "libaudioflinger_fastpath",
33
34    defaults: [
35        "fastpath_flags_defaults",
36    ],
37
38    srcs: [
39        "FastCapture.cpp",
40        "FastCaptureDumpState.cpp",
41        "FastCaptureState.cpp",
42        "FastMixer.cpp",
43        "FastMixerDumpState.cpp",
44        "FastMixerState.cpp",
45        "FastThread.cpp",
46        "FastThreadDumpState.cpp",
47        "FastThreadState.cpp",
48        "StateQueue.cpp",
49    ],
50
51    include_dirs: [
52        "frameworks/av/services/audioflinger", // for Configuration
53    ],
54
55    shared_libs: [
56        "libaudioflinger_utils", // NBAIO_Tee
57        "libaudioprocessing",
58        "libaudioutils",
59        "libcutils",
60        "liblog",
61        "libnbaio",
62        "libnblog", // legacy NBLog that can be removed.
63        "libutils",
64    ],
65
66    header_libs: [
67        "libaudiohal_headers",
68        "libmedia_headers",
69    ],
70
71    sanitize: {
72        integer_overflow: true,
73    },
74
75}
76