// Copyright (C) 2019 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "frameworks_av_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["frameworks_av_license"], } tidy_errors = [ // https://clang.llvm.org/extra/clang-tidy/checks/list.html // For many categories, the checks are too many to specify individually. // Feel free to disable as needed - as warnings are generally ignored, // we treat warnings as errors. "android-*", "bugprone-*", "cert-*", "clang-analyzer-security*", "google-*", "misc-*", //"modernize-*", // explicitly list the modernize as they can be subjective. "modernize-avoid-bind", //"modernize-avoid-c-arrays", // std::array<> can be verbose "modernize-concat-nested-namespaces", //"modernize-deprecated-headers", // C headers still ok even if there is C++ equivalent. "modernize-deprecated-ios-base-aliases", "modernize-loop-convert", "modernize-make-shared", "modernize-make-unique", "modernize-pass-by-value", "modernize-raw-string-literal", "modernize-redundant-void-arg", "modernize-replace-auto-ptr", "modernize-replace-random-shuffle", "modernize-return-braced-init-list", "modernize-shrink-to-fit", "modernize-unary-static-assert", "modernize-use-auto", "modernize-use-bool-literals", "modernize-use-default-member-init", "modernize-use-emplace", "modernize-use-equals-default", "modernize-use-equals-delete", "modernize-use-nodiscard", "modernize-use-noexcept", "modernize-use-nullptr", "modernize-use-override", // "modernize-use-trailing-return-type", // not necessarily more readable "modernize-use-transparent-functors", "modernize-use-uncaught-exceptions", "modernize-use-using", "performance-*", // Remove some pedantic stylistic requirements. "-android-cloexec-dup", // found in AAudioServiceEndpointMMAP.cpp "-bugprone-narrowing-conversions", // found in several interface from size_t to int32_t "-google-build-using-namespace", // Reenable and fix later. "-google-global-names-in-headers", // found in several files "-google-readability-casting", // C++ casts not always necessary and may be verbose "-google-readability-todo", // do not require TODO(info) "-misc-non-private-member-variables-in-classes", // found in aidl generated files ] cc_defaults { name: "libaaudioservice_dependencies", shared_libs: [ "aaudio-aidl-cpp", "com.android.media.aaudio-aconfig-cc", "framework-permission-aidl-cpp", "libaaudio_internal", "libaudioclient", "libaudioclient_aidl_conversion", "libaudioutils", "libbase", "libbinder", "libcutils", "liblog", "libmedia_helper", "libmediametrics", "libmediautils", "libutils", "packagemanager_aidl-cpp", ], static_libs: [ "libaudioflinger", ], } cc_library_static { name: "libaaudioservice", defaults: [ "latest_android_media_audio_common_types_cpp_shared", "libaaudioservice_dependencies", ], srcs: [ "AAudioClientTracker.cpp", "AAudioCommandQueue.cpp", "AAudioEndpointManager.cpp", "AAudioMixer.cpp", "AAudioService.cpp", "AAudioServiceEndpoint.cpp", "AAudioServiceEndpointCapture.cpp", "AAudioServiceEndpointMMAP.cpp", "AAudioServiceEndpointPlay.cpp", "AAudioServiceEndpointShared.cpp", "AAudioServiceStreamBase.cpp", "AAudioServiceStreamMMAP.cpp", "AAudioServiceStreamShared.cpp", "AAudioStreamTracker.cpp", "AAudioThread.cpp", "SharedMemoryProxy.cpp", "SharedMemoryWrapper.cpp", "SharedRingBuffer.cpp", "TimestampScheduler.cpp", ], cflags: [ "-Wall", "-Werror", "-Wno-unused-parameter", "-Wthread-safety", ], export_shared_lib_headers: [ "framework-permission-aidl-cpp", "libaaudio_internal", ], header_libs: [ "libaudiohal_headers", ], include_dirs: [ "frameworks/av/media/libnbaio/include", "frameworks/av/media/libnbaio/include_mono", ], tidy: true, tidy_checks: tidy_errors, tidy_checks_as_errors: tidy_errors, tidy_flags: [ "-format-style=file", ], }