1*ec779b8eSAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project 2*ec779b8eSAndroid Build Coastguard Worker// 3*ec779b8eSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*ec779b8eSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*ec779b8eSAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*ec779b8eSAndroid Build Coastguard Worker// 7*ec779b8eSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*ec779b8eSAndroid Build Coastguard Worker// 9*ec779b8eSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*ec779b8eSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*ec779b8eSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*ec779b8eSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*ec779b8eSAndroid Build Coastguard Worker// limitations under the License. 14*ec779b8eSAndroid Build Coastguard Worker 15*ec779b8eSAndroid Build Coastguard Workerpackage { 16*ec779b8eSAndroid Build Coastguard Worker // See: http://go/android-license-faq 17*ec779b8eSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 18*ec779b8eSAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_av_license" 19*ec779b8eSAndroid Build Coastguard Worker // to get the below license kinds: 20*ec779b8eSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 21*ec779b8eSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_av_license"], 22*ec779b8eSAndroid Build Coastguard Worker} 23*ec779b8eSAndroid Build Coastguard Worker 24*ec779b8eSAndroid Build Coastguard Workertidy_errors = [ 25*ec779b8eSAndroid Build Coastguard Worker // https://clang.llvm.org/extra/clang-tidy/checks/list.html 26*ec779b8eSAndroid Build Coastguard Worker // For many categories, the checks are too many to specify individually. 27*ec779b8eSAndroid Build Coastguard Worker // Feel free to disable as needed - as warnings are generally ignored, 28*ec779b8eSAndroid Build Coastguard Worker // we treat warnings as errors. 29*ec779b8eSAndroid Build Coastguard Worker "android-*", 30*ec779b8eSAndroid Build Coastguard Worker "bugprone-*", 31*ec779b8eSAndroid Build Coastguard Worker "cert-*", 32*ec779b8eSAndroid Build Coastguard Worker "clang-analyzer-security*", 33*ec779b8eSAndroid Build Coastguard Worker "google-*", 34*ec779b8eSAndroid Build Coastguard Worker "misc-*", 35*ec779b8eSAndroid Build Coastguard Worker //"modernize-*", // explicitly list the modernize as they can be subjective. 36*ec779b8eSAndroid Build Coastguard Worker "modernize-avoid-bind", 37*ec779b8eSAndroid Build Coastguard Worker //"modernize-avoid-c-arrays", // std::array<> can be verbose 38*ec779b8eSAndroid Build Coastguard Worker "modernize-concat-nested-namespaces", 39*ec779b8eSAndroid Build Coastguard Worker //"modernize-deprecated-headers", // C headers still ok even if there is C++ equivalent. 40*ec779b8eSAndroid Build Coastguard Worker "modernize-deprecated-ios-base-aliases", 41*ec779b8eSAndroid Build Coastguard Worker "modernize-loop-convert", 42*ec779b8eSAndroid Build Coastguard Worker "modernize-make-shared", 43*ec779b8eSAndroid Build Coastguard Worker "modernize-make-unique", 44*ec779b8eSAndroid Build Coastguard Worker "modernize-pass-by-value", 45*ec779b8eSAndroid Build Coastguard Worker "modernize-raw-string-literal", 46*ec779b8eSAndroid Build Coastguard Worker "modernize-redundant-void-arg", 47*ec779b8eSAndroid Build Coastguard Worker "modernize-replace-auto-ptr", 48*ec779b8eSAndroid Build Coastguard Worker "modernize-replace-random-shuffle", 49*ec779b8eSAndroid Build Coastguard Worker "modernize-return-braced-init-list", 50*ec779b8eSAndroid Build Coastguard Worker "modernize-shrink-to-fit", 51*ec779b8eSAndroid Build Coastguard Worker "modernize-unary-static-assert", 52*ec779b8eSAndroid Build Coastguard Worker "modernize-use-auto", 53*ec779b8eSAndroid Build Coastguard Worker "modernize-use-bool-literals", 54*ec779b8eSAndroid Build Coastguard Worker "modernize-use-default-member-init", 55*ec779b8eSAndroid Build Coastguard Worker "modernize-use-emplace", 56*ec779b8eSAndroid Build Coastguard Worker "modernize-use-equals-default", 57*ec779b8eSAndroid Build Coastguard Worker "modernize-use-equals-delete", 58*ec779b8eSAndroid Build Coastguard Worker "modernize-use-nodiscard", 59*ec779b8eSAndroid Build Coastguard Worker "modernize-use-noexcept", 60*ec779b8eSAndroid Build Coastguard Worker "modernize-use-nullptr", 61*ec779b8eSAndroid Build Coastguard Worker "modernize-use-override", 62*ec779b8eSAndroid Build Coastguard Worker // "modernize-use-trailing-return-type", // not necessarily more readable 63*ec779b8eSAndroid Build Coastguard Worker "modernize-use-transparent-functors", 64*ec779b8eSAndroid Build Coastguard Worker "modernize-use-uncaught-exceptions", 65*ec779b8eSAndroid Build Coastguard Worker "modernize-use-using", 66*ec779b8eSAndroid Build Coastguard Worker "performance-*", 67*ec779b8eSAndroid Build Coastguard Worker 68*ec779b8eSAndroid Build Coastguard Worker // Remove some pedantic stylistic requirements. 69*ec779b8eSAndroid Build Coastguard Worker "-android-cloexec-dup", // found in AAudioServiceEndpointMMAP.cpp 70*ec779b8eSAndroid Build Coastguard Worker "-bugprone-narrowing-conversions", // found in several interface from size_t to int32_t 71*ec779b8eSAndroid Build Coastguard Worker 72*ec779b8eSAndroid Build Coastguard Worker "-google-build-using-namespace", // Reenable and fix later. 73*ec779b8eSAndroid Build Coastguard Worker "-google-global-names-in-headers", // found in several files 74*ec779b8eSAndroid Build Coastguard Worker "-google-readability-casting", // C++ casts not always necessary and may be verbose 75*ec779b8eSAndroid Build Coastguard Worker "-google-readability-todo", // do not require TODO(info) 76*ec779b8eSAndroid Build Coastguard Worker 77*ec779b8eSAndroid Build Coastguard Worker "-misc-non-private-member-variables-in-classes", // found in aidl generated files 78*ec779b8eSAndroid Build Coastguard Worker 79*ec779b8eSAndroid Build Coastguard Worker] 80*ec779b8eSAndroid Build Coastguard Worker 81*ec779b8eSAndroid Build Coastguard Workercc_defaults { 82*ec779b8eSAndroid Build Coastguard Worker name: "libaaudioservice_dependencies", 83*ec779b8eSAndroid Build Coastguard Worker 84*ec779b8eSAndroid Build Coastguard Worker shared_libs: [ 85*ec779b8eSAndroid Build Coastguard Worker "aaudio-aidl-cpp", 86*ec779b8eSAndroid Build Coastguard Worker "com.android.media.aaudio-aconfig-cc", 87*ec779b8eSAndroid Build Coastguard Worker "com.android.media.aaudio-aconfig-cc", 88*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 89*ec779b8eSAndroid Build Coastguard Worker "libaaudio_internal", 90*ec779b8eSAndroid Build Coastguard Worker "libaudioclient", 91*ec779b8eSAndroid Build Coastguard Worker "libaudioclient_aidl_conversion", 92*ec779b8eSAndroid Build Coastguard Worker "libaudiofoundation", 93*ec779b8eSAndroid Build Coastguard Worker "libaudioutils", 94*ec779b8eSAndroid Build Coastguard Worker "libbase", 95*ec779b8eSAndroid Build Coastguard Worker "libbinder", 96*ec779b8eSAndroid Build Coastguard Worker "libcutils", 97*ec779b8eSAndroid Build Coastguard Worker "liblog", 98*ec779b8eSAndroid Build Coastguard Worker "libmedia_helper", 99*ec779b8eSAndroid Build Coastguard Worker "libmediametrics", 100*ec779b8eSAndroid Build Coastguard Worker "libmediautils", 101*ec779b8eSAndroid Build Coastguard Worker "libutils", 102*ec779b8eSAndroid Build Coastguard Worker "packagemanager_aidl-cpp", 103*ec779b8eSAndroid Build Coastguard Worker ], 104*ec779b8eSAndroid Build Coastguard Worker 105*ec779b8eSAndroid Build Coastguard Worker static_libs: [ 106*ec779b8eSAndroid Build Coastguard Worker "libaudioflinger", 107*ec779b8eSAndroid Build Coastguard Worker ], 108*ec779b8eSAndroid Build Coastguard Worker} 109*ec779b8eSAndroid Build Coastguard Worker 110*ec779b8eSAndroid Build Coastguard Workercc_library_static { 111*ec779b8eSAndroid Build Coastguard Worker 112*ec779b8eSAndroid Build Coastguard Worker name: "libaaudioservice", 113*ec779b8eSAndroid Build Coastguard Worker 114*ec779b8eSAndroid Build Coastguard Worker defaults: [ 115*ec779b8eSAndroid Build Coastguard Worker "latest_android_media_audio_common_types_cpp_shared", 116*ec779b8eSAndroid Build Coastguard Worker "libaaudioservice_dependencies", 117*ec779b8eSAndroid Build Coastguard Worker ], 118*ec779b8eSAndroid Build Coastguard Worker 119*ec779b8eSAndroid Build Coastguard Worker srcs: [ 120*ec779b8eSAndroid Build Coastguard Worker "AAudioClientTracker.cpp", 121*ec779b8eSAndroid Build Coastguard Worker "AAudioCommandQueue.cpp", 122*ec779b8eSAndroid Build Coastguard Worker "AAudioEndpointManager.cpp", 123*ec779b8eSAndroid Build Coastguard Worker "AAudioMixer.cpp", 124*ec779b8eSAndroid Build Coastguard Worker "AAudioService.cpp", 125*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceEndpoint.cpp", 126*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceEndpointCapture.cpp", 127*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceEndpointMMAP.cpp", 128*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceEndpointPlay.cpp", 129*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceEndpointShared.cpp", 130*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceStreamBase.cpp", 131*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceStreamMMAP.cpp", 132*ec779b8eSAndroid Build Coastguard Worker "AAudioServiceStreamShared.cpp", 133*ec779b8eSAndroid Build Coastguard Worker "AAudioStreamTracker.cpp", 134*ec779b8eSAndroid Build Coastguard Worker "AAudioThread.cpp", 135*ec779b8eSAndroid Build Coastguard Worker "SharedMemoryProxy.cpp", 136*ec779b8eSAndroid Build Coastguard Worker "SharedMemoryWrapper.cpp", 137*ec779b8eSAndroid Build Coastguard Worker "SharedRingBuffer.cpp", 138*ec779b8eSAndroid Build Coastguard Worker "TimestampScheduler.cpp", 139*ec779b8eSAndroid Build Coastguard Worker ], 140*ec779b8eSAndroid Build Coastguard Worker 141*ec779b8eSAndroid Build Coastguard Worker cflags: [ 142*ec779b8eSAndroid Build Coastguard Worker "-Wall", 143*ec779b8eSAndroid Build Coastguard Worker "-Werror", 144*ec779b8eSAndroid Build Coastguard Worker "-Wno-unused-parameter", 145*ec779b8eSAndroid Build Coastguard Worker "-Wthread-safety", 146*ec779b8eSAndroid Build Coastguard Worker ], 147*ec779b8eSAndroid Build Coastguard Worker 148*ec779b8eSAndroid Build Coastguard Worker export_shared_lib_headers: [ 149*ec779b8eSAndroid Build Coastguard Worker "framework-permission-aidl-cpp", 150*ec779b8eSAndroid Build Coastguard Worker "libaaudio_internal", 151*ec779b8eSAndroid Build Coastguard Worker ], 152*ec779b8eSAndroid Build Coastguard Worker 153*ec779b8eSAndroid Build Coastguard Worker header_libs: [ 154*ec779b8eSAndroid Build Coastguard Worker "libaudiohal_headers", 155*ec779b8eSAndroid Build Coastguard Worker ], 156*ec779b8eSAndroid Build Coastguard Worker 157*ec779b8eSAndroid Build Coastguard Worker include_dirs: [ 158*ec779b8eSAndroid Build Coastguard Worker "frameworks/av/media/libnbaio/include", 159*ec779b8eSAndroid Build Coastguard Worker "frameworks/av/media/libnbaio/include_mono", 160*ec779b8eSAndroid Build Coastguard Worker ], 161*ec779b8eSAndroid Build Coastguard Worker 162*ec779b8eSAndroid Build Coastguard Worker export_include_dirs: ["."], 163*ec779b8eSAndroid Build Coastguard Worker 164*ec779b8eSAndroid Build Coastguard Worker tidy: true, 165*ec779b8eSAndroid Build Coastguard Worker tidy_checks: tidy_errors, 166*ec779b8eSAndroid Build Coastguard Worker tidy_checks_as_errors: tidy_errors, 167*ec779b8eSAndroid Build Coastguard Worker tidy_flags: [ 168*ec779b8eSAndroid Build Coastguard Worker "-format-style=file", 169*ec779b8eSAndroid Build Coastguard Worker ], 170*ec779b8eSAndroid Build Coastguard Worker} 171