xref: /aosp_15_r20/frameworks/base/media/jni/soundpool/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Workerpackage {
2*d57664e9SAndroid Build Coastguard Worker    default_applicable_licenses: [
3*d57664e9SAndroid Build Coastguard Worker        "frameworks_base_media_jni_soundpool_license",
4*d57664e9SAndroid Build Coastguard Worker    ],
5*d57664e9SAndroid Build Coastguard Worker}
6*d57664e9SAndroid Build Coastguard Worker
7*d57664e9SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
8*d57664e9SAndroid Build Coastguard Worker// See: http://go/android-license-faq
9*d57664e9SAndroid Build Coastguard Workerlicense {
10*d57664e9SAndroid Build Coastguard Worker    name: "frameworks_base_media_jni_soundpool_license",
11*d57664e9SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
12*d57664e9SAndroid Build Coastguard Worker    license_kinds: [
13*d57664e9SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
14*d57664e9SAndroid Build Coastguard Worker    ],
15*d57664e9SAndroid Build Coastguard Worker    license_text: [
16*d57664e9SAndroid Build Coastguard Worker        "NOTICE",
17*d57664e9SAndroid Build Coastguard Worker    ],
18*d57664e9SAndroid Build Coastguard Worker}
19*d57664e9SAndroid Build Coastguard Worker
20*d57664e9SAndroid Build Coastguard Workertidy_errors = [
21*d57664e9SAndroid Build Coastguard Worker    // https://clang.llvm.org/extra/clang-tidy/checks/list.html
22*d57664e9SAndroid Build Coastguard Worker    // For many categories, the checks are too many to specify individually.
23*d57664e9SAndroid Build Coastguard Worker    // Feel free to disable as needed - as warnings are generally ignored,
24*d57664e9SAndroid Build Coastguard Worker    // we treat warnings as errors.
25*d57664e9SAndroid Build Coastguard Worker    "android-*",
26*d57664e9SAndroid Build Coastguard Worker    "bugprone-*",
27*d57664e9SAndroid Build Coastguard Worker    "cert-*",
28*d57664e9SAndroid Build Coastguard Worker    "clang-analyzer-security*",
29*d57664e9SAndroid Build Coastguard Worker    "google-*",
30*d57664e9SAndroid Build Coastguard Worker    "misc-*",
31*d57664e9SAndroid Build Coastguard Worker    //"modernize-*",  // explicitly list the modernize as they can be subjective.
32*d57664e9SAndroid Build Coastguard Worker    "modernize-avoid-bind",
33*d57664e9SAndroid Build Coastguard Worker    //"modernize-avoid-c-arrays", // std::array<> can be verbose
34*d57664e9SAndroid Build Coastguard Worker    "modernize-concat-nested-namespaces",
35*d57664e9SAndroid Build Coastguard Worker    //"modernize-deprecated-headers", // C headers still ok even if there is C++ equivalent.
36*d57664e9SAndroid Build Coastguard Worker    "modernize-deprecated-ios-base-aliases",
37*d57664e9SAndroid Build Coastguard Worker    "modernize-loop-convert",
38*d57664e9SAndroid Build Coastguard Worker    "modernize-make-shared",
39*d57664e9SAndroid Build Coastguard Worker    "modernize-make-unique",
40*d57664e9SAndroid Build Coastguard Worker    "modernize-pass-by-value",
41*d57664e9SAndroid Build Coastguard Worker    "modernize-raw-string-literal",
42*d57664e9SAndroid Build Coastguard Worker    "modernize-redundant-void-arg",
43*d57664e9SAndroid Build Coastguard Worker    "modernize-replace-auto-ptr",
44*d57664e9SAndroid Build Coastguard Worker    "modernize-replace-random-shuffle",
45*d57664e9SAndroid Build Coastguard Worker    "modernize-return-braced-init-list",
46*d57664e9SAndroid Build Coastguard Worker    "modernize-shrink-to-fit",
47*d57664e9SAndroid Build Coastguard Worker    "modernize-unary-static-assert",
48*d57664e9SAndroid Build Coastguard Worker    // "modernize-use-auto",  // found in StreamManager.h, debatable - auto can obscure type
49*d57664e9SAndroid Build Coastguard Worker    "modernize-use-bool-literals",
50*d57664e9SAndroid Build Coastguard Worker    "modernize-use-default-member-init",
51*d57664e9SAndroid Build Coastguard Worker    "modernize-use-emplace",
52*d57664e9SAndroid Build Coastguard Worker    "modernize-use-equals-default",
53*d57664e9SAndroid Build Coastguard Worker    "modernize-use-equals-delete",
54*d57664e9SAndroid Build Coastguard Worker    // "modernize-use-nodiscard", // found in SteamManager.h
55*d57664e9SAndroid Build Coastguard Worker    "modernize-use-noexcept",
56*d57664e9SAndroid Build Coastguard Worker    "modernize-use-nullptr",
57*d57664e9SAndroid Build Coastguard Worker    "modernize-use-override",
58*d57664e9SAndroid Build Coastguard Worker    //"modernize-use-trailing-return-type", // not necessarily more readable
59*d57664e9SAndroid Build Coastguard Worker    "modernize-use-transparent-functors",
60*d57664e9SAndroid Build Coastguard Worker    "modernize-use-uncaught-exceptions",
61*d57664e9SAndroid Build Coastguard Worker    //"modernize-use-using", // found in SoundManager.h
62*d57664e9SAndroid Build Coastguard Worker    "performance-*",
63*d57664e9SAndroid Build Coastguard Worker
64*d57664e9SAndroid Build Coastguard Worker    // Remove some pedantic stylistic requirements.
65*d57664e9SAndroid Build Coastguard Worker    "-google-readability-casting", // C++ casts not always necessary and may be verbose
66*d57664e9SAndroid Build Coastguard Worker    "-google-readability-todo", // do not require TODO(info)
67*d57664e9SAndroid Build Coastguard Worker    "-google-build-using-namespace", // Reenable and fix later.
68*d57664e9SAndroid Build Coastguard Worker
69*d57664e9SAndroid Build Coastguard Worker    "-google-explicit-constructor", // found in StreamManager.h
70*d57664e9SAndroid Build Coastguard Worker    "-misc-non-private-member-variables-in-classes", // found in SoundManager.h
71*d57664e9SAndroid Build Coastguard Worker    "-performance-unnecessary-value-param", // found in StreamManager.h
72*d57664e9SAndroid Build Coastguard Worker]
73*d57664e9SAndroid Build Coastguard Worker
74*d57664e9SAndroid Build Coastguard Workercc_defaults {
75*d57664e9SAndroid Build Coastguard Worker    name: "soundpool_flags_defaults",
76*d57664e9SAndroid Build Coastguard Worker    // https://clang.llvm.org/docs/UsersManual.html#command-line-options
77*d57664e9SAndroid Build Coastguard Worker    // https://clang.llvm.org/docs/DiagnosticsReference.html
78*d57664e9SAndroid Build Coastguard Worker    cflags: [
79*d57664e9SAndroid Build Coastguard Worker        "-Wall",
80*d57664e9SAndroid Build Coastguard Worker        "-Wdeprecated",
81*d57664e9SAndroid Build Coastguard Worker        "-Werror",
82*d57664e9SAndroid Build Coastguard Worker        "-Werror=implicit-fallthrough",
83*d57664e9SAndroid Build Coastguard Worker        "-Werror=sometimes-uninitialized",
84*d57664e9SAndroid Build Coastguard Worker        //"-Werror=conditional-uninitialized",
85*d57664e9SAndroid Build Coastguard Worker        "-Wextra",
86*d57664e9SAndroid Build Coastguard Worker        "-Wredundant-decls",
87*d57664e9SAndroid Build Coastguard Worker        "-Wshadow",
88*d57664e9SAndroid Build Coastguard Worker        "-Wstrict-aliasing",
89*d57664e9SAndroid Build Coastguard Worker        "-fstrict-aliasing",
90*d57664e9SAndroid Build Coastguard Worker        "-Wthread-safety",
91*d57664e9SAndroid Build Coastguard Worker        //"-Wthread-safety-negative", // experimental - looks broken in R.
92*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
93*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code-break",
94*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code-return",
95*d57664e9SAndroid Build Coastguard Worker        "-Wunused",
96*d57664e9SAndroid Build Coastguard Worker        "-Wused-but-marked-unused",
97*d57664e9SAndroid Build Coastguard Worker    ],
98*d57664e9SAndroid Build Coastguard Worker    // https://clang.llvm.org/extra/clang-tidy/
99*d57664e9SAndroid Build Coastguard Worker    tidy: true,
100*d57664e9SAndroid Build Coastguard Worker    tidy_checks: tidy_errors,
101*d57664e9SAndroid Build Coastguard Worker    tidy_checks_as_errors: tidy_errors,
102*d57664e9SAndroid Build Coastguard Worker    tidy_flags: [
103*d57664e9SAndroid Build Coastguard Worker        "-format-style=file",
104*d57664e9SAndroid Build Coastguard Worker    ],
105*d57664e9SAndroid Build Coastguard Worker}
106*d57664e9SAndroid Build Coastguard Worker
107*d57664e9SAndroid Build Coastguard Workercc_library_shared {
108*d57664e9SAndroid Build Coastguard Worker    name: "libsoundpool",
109*d57664e9SAndroid Build Coastguard Worker    defaults: [
110*d57664e9SAndroid Build Coastguard Worker        "soundpool_flags_defaults",
111*d57664e9SAndroid Build Coastguard Worker    ],
112*d57664e9SAndroid Build Coastguard Worker
113*d57664e9SAndroid Build Coastguard Worker    srcs: [
114*d57664e9SAndroid Build Coastguard Worker        "android_media_SoundPool.cpp",
115*d57664e9SAndroid Build Coastguard Worker        "Sound.cpp",
116*d57664e9SAndroid Build Coastguard Worker        "SoundDecoder.cpp",
117*d57664e9SAndroid Build Coastguard Worker        "SoundManager.cpp",
118*d57664e9SAndroid Build Coastguard Worker        "SoundPool.cpp",
119*d57664e9SAndroid Build Coastguard Worker        "Stream.cpp",
120*d57664e9SAndroid Build Coastguard Worker        "StreamManager.cpp",
121*d57664e9SAndroid Build Coastguard Worker    ],
122*d57664e9SAndroid Build Coastguard Worker
123*d57664e9SAndroid Build Coastguard Worker    header_libs: [
124*d57664e9SAndroid Build Coastguard Worker        "libmedia_headers",
125*d57664e9SAndroid Build Coastguard Worker        "libmediametrics_headers",
126*d57664e9SAndroid Build Coastguard Worker    ],
127*d57664e9SAndroid Build Coastguard Worker
128*d57664e9SAndroid Build Coastguard Worker    shared_libs: [
129*d57664e9SAndroid Build Coastguard Worker        "framework-permission-aidl-cpp",
130*d57664e9SAndroid Build Coastguard Worker        "libaudioutils",
131*d57664e9SAndroid Build Coastguard Worker        "liblog",
132*d57664e9SAndroid Build Coastguard Worker        "libcutils",
133*d57664e9SAndroid Build Coastguard Worker        "libutils",
134*d57664e9SAndroid Build Coastguard Worker        "libandroid_runtime",
135*d57664e9SAndroid Build Coastguard Worker        "libnativehelper",
136*d57664e9SAndroid Build Coastguard Worker        "libaudioclient",
137*d57664e9SAndroid Build Coastguard Worker        "libmediandk",
138*d57664e9SAndroid Build Coastguard Worker        "libbinder",
139*d57664e9SAndroid Build Coastguard Worker    ],
140*d57664e9SAndroid Build Coastguard Worker
141*d57664e9SAndroid Build Coastguard Worker    cflags: [
142*d57664e9SAndroid Build Coastguard Worker        "-Wall",
143*d57664e9SAndroid Build Coastguard Worker        "-Werror",
144*d57664e9SAndroid Build Coastguard Worker        "-Wno-error=deprecated-declarations",
145*d57664e9SAndroid Build Coastguard Worker        "-Wunused",
146*d57664e9SAndroid Build Coastguard Worker        "-Wunreachable-code",
147*d57664e9SAndroid Build Coastguard Worker    ],
148*d57664e9SAndroid Build Coastguard Worker}
149