1*4d7e907cSAndroid Build Coastguard Worker// 2*4d7e907cSAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project 3*4d7e907cSAndroid Build Coastguard Worker// 4*4d7e907cSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*4d7e907cSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*4d7e907cSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*4d7e907cSAndroid Build Coastguard Worker// 8*4d7e907cSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*4d7e907cSAndroid Build Coastguard Worker// 10*4d7e907cSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*4d7e907cSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*4d7e907cSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*4d7e907cSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*4d7e907cSAndroid Build Coastguard Worker// limitations under the License. 15*4d7e907cSAndroid Build Coastguard Worker// 16*4d7e907cSAndroid Build Coastguard Worker 17*4d7e907cSAndroid Build Coastguard Workerpackage { 18*4d7e907cSAndroid Build Coastguard Worker // See: http://go/android-license-faq 19*4d7e907cSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 20*4d7e907cSAndroid Build Coastguard Worker // all of the 'license_kinds' from "hardware_interfaces_license" 21*4d7e907cSAndroid Build Coastguard Worker // to get the below license kinds: 22*4d7e907cSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 23*4d7e907cSAndroid Build Coastguard Worker default_applicable_licenses: ["hardware_interfaces_license"], 24*4d7e907cSAndroid Build Coastguard Worker} 25*4d7e907cSAndroid Build Coastguard Worker 26*4d7e907cSAndroid Build Coastguard Workercc_defaults { 27*4d7e907cSAndroid Build Coastguard Worker name: "neuralnetworks_utils_hal_aidl_defaults", 28*4d7e907cSAndroid Build Coastguard Worker defaults: [ 29*4d7e907cSAndroid Build Coastguard Worker "android.hardware.graphics.common-ndk_static", 30*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_utils_defaults", 31*4d7e907cSAndroid Build Coastguard Worker ], 32*4d7e907cSAndroid Build Coastguard Worker srcs: [ 33*4d7e907cSAndroid Build Coastguard Worker // AIDL utils that a driver may depend on. 34*4d7e907cSAndroid Build Coastguard Worker "src/BufferTracker.cpp", 35*4d7e907cSAndroid Build Coastguard Worker "src/Conversions.cpp", 36*4d7e907cSAndroid Build Coastguard Worker "src/HalUtils.cpp", 37*4d7e907cSAndroid Build Coastguard Worker "src/Utils.cpp", 38*4d7e907cSAndroid Build Coastguard Worker "src/ValidateHal.cpp", 39*4d7e907cSAndroid Build Coastguard Worker ], 40*4d7e907cSAndroid Build Coastguard Worker local_include_dirs: ["include/nnapi/hal/aidl/"], 41*4d7e907cSAndroid Build Coastguard Worker export_include_dirs: ["include"], 42*4d7e907cSAndroid Build Coastguard Worker cflags: ["-Wthread-safety"], 43*4d7e907cSAndroid Build Coastguard Worker static_libs: [ 44*4d7e907cSAndroid Build Coastguard Worker "libaidlcommonsupport", 45*4d7e907cSAndroid Build Coastguard Worker "libarect", 46*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_types", 47*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_utils_hal_common", 48*4d7e907cSAndroid Build Coastguard Worker ], 49*4d7e907cSAndroid Build Coastguard Worker shared_libs: [ 50*4d7e907cSAndroid Build Coastguard Worker "libbinder_ndk", 51*4d7e907cSAndroid Build Coastguard Worker ], 52*4d7e907cSAndroid Build Coastguard Worker target: { 53*4d7e907cSAndroid Build Coastguard Worker android: { 54*4d7e907cSAndroid Build Coastguard Worker shared_libs: ["libnativewindow"], 55*4d7e907cSAndroid Build Coastguard Worker }, 56*4d7e907cSAndroid Build Coastguard Worker }, 57*4d7e907cSAndroid Build Coastguard Worker} 58*4d7e907cSAndroid Build Coastguard Worker 59*4d7e907cSAndroid Build Coastguard Worker// Deprecated. Remove once all modules depending on this are migrated away. 60*4d7e907cSAndroid Build Coastguard Workercc_library_static { 61*4d7e907cSAndroid Build Coastguard Worker name: "neuralnetworks_utils_hal_aidl_v1", 62*4d7e907cSAndroid Build Coastguard Worker defaults: ["neuralnetworks_utils_hal_aidl_defaults"], 63*4d7e907cSAndroid Build Coastguard Worker shared_libs: [ 64*4d7e907cSAndroid Build Coastguard Worker "android.hardware.neuralnetworks-V1-ndk", 65*4d7e907cSAndroid Build Coastguard Worker ], 66*4d7e907cSAndroid Build Coastguard Worker} 67*4d7e907cSAndroid Build Coastguard Worker 68*4d7e907cSAndroid Build Coastguard Workercc_library_static { 69*4d7e907cSAndroid Build Coastguard Worker name: "neuralnetworks_utils_hal_aidl", 70*4d7e907cSAndroid Build Coastguard Worker defaults: ["neuralnetworks_utils_hal_aidl_defaults"], 71*4d7e907cSAndroid Build Coastguard Worker srcs: [ 72*4d7e907cSAndroid Build Coastguard Worker // Additional AIDL utils for the runtime. 73*4d7e907cSAndroid Build Coastguard Worker "src/Assertions.cpp", 74*4d7e907cSAndroid Build Coastguard Worker "src/Buffer.cpp", 75*4d7e907cSAndroid Build Coastguard Worker "src/Burst.cpp", 76*4d7e907cSAndroid Build Coastguard Worker "src/Callbacks.cpp", 77*4d7e907cSAndroid Build Coastguard Worker "src/Device.cpp", 78*4d7e907cSAndroid Build Coastguard Worker "src/Execution.cpp", 79*4d7e907cSAndroid Build Coastguard Worker "src/InvalidDevice.cpp", 80*4d7e907cSAndroid Build Coastguard Worker "src/PreparedModel.cpp", 81*4d7e907cSAndroid Build Coastguard Worker "src/ProtectCallback.cpp", 82*4d7e907cSAndroid Build Coastguard Worker "src/Service.cpp", 83*4d7e907cSAndroid Build Coastguard Worker ], 84*4d7e907cSAndroid Build Coastguard Worker shared_libs: [ 85*4d7e907cSAndroid Build Coastguard Worker "android.hardware.neuralnetworks-V4-ndk", 86*4d7e907cSAndroid Build Coastguard Worker ], 87*4d7e907cSAndroid Build Coastguard Worker cflags: ["-DNN_AIDL_V4_OR_ABOVE"], 88*4d7e907cSAndroid Build Coastguard Worker} 89*4d7e907cSAndroid Build Coastguard Worker 90*4d7e907cSAndroid Build Coastguard Worker// A cc_defaults that includes the latest non-experimental AIDL utilities and other AIDL libraries 91*4d7e907cSAndroid Build Coastguard Worker// that are commonly used together. Modules that always depend on the latest non-experimental 92*4d7e907cSAndroid Build Coastguard Worker// AIDL features can include this cc_defaults to avoid managing dependency versions explicitly. 93*4d7e907cSAndroid Build Coastguard Workercc_defaults { 94*4d7e907cSAndroid Build Coastguard Worker name: "neuralnetworks_use_latest_utils_hal_aidl", 95*4d7e907cSAndroid Build Coastguard Worker defaults: ["android.hardware.graphics.common-ndk_static"], 96*4d7e907cSAndroid Build Coastguard Worker static_libs: [ 97*4d7e907cSAndroid Build Coastguard Worker "android.hardware.common-V2-ndk", 98*4d7e907cSAndroid Build Coastguard Worker "android.hardware.neuralnetworks-V4-ndk", 99*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_utils_hal_aidl", 100*4d7e907cSAndroid Build Coastguard Worker ], 101*4d7e907cSAndroid Build Coastguard Worker cflags: ["-DNN_AIDL_V4_OR_ABOVE"], 102*4d7e907cSAndroid Build Coastguard Worker} 103*4d7e907cSAndroid Build Coastguard Worker 104*4d7e907cSAndroid Build Coastguard Workercc_test { 105*4d7e907cSAndroid Build Coastguard Worker name: "neuralnetworks_utils_hal_aidl_test", 106*4d7e907cSAndroid Build Coastguard Worker defaults: [ 107*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_use_latest_utils_hal_aidl", 108*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_utils_defaults", 109*4d7e907cSAndroid Build Coastguard Worker ], 110*4d7e907cSAndroid Build Coastguard Worker tidy_timeout_srcs: [ 111*4d7e907cSAndroid Build Coastguard Worker "test/DeviceTest.cpp", 112*4d7e907cSAndroid Build Coastguard Worker "test/PreparedModelTest.cpp", 113*4d7e907cSAndroid Build Coastguard Worker ], 114*4d7e907cSAndroid Build Coastguard Worker srcs: [ 115*4d7e907cSAndroid Build Coastguard Worker "test/*.cpp", 116*4d7e907cSAndroid Build Coastguard Worker ], 117*4d7e907cSAndroid Build Coastguard Worker static_libs: [ 118*4d7e907cSAndroid Build Coastguard Worker "libaidlcommonsupport", 119*4d7e907cSAndroid Build Coastguard Worker "libgmock", 120*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_types", 121*4d7e907cSAndroid Build Coastguard Worker "neuralnetworks_utils_hal_common", 122*4d7e907cSAndroid Build Coastguard Worker ], 123*4d7e907cSAndroid Build Coastguard Worker shared_libs: [ 124*4d7e907cSAndroid Build Coastguard Worker "libbase", 125*4d7e907cSAndroid Build Coastguard Worker "libbinder_ndk", 126*4d7e907cSAndroid Build Coastguard Worker "libcutils", 127*4d7e907cSAndroid Build Coastguard Worker ], 128*4d7e907cSAndroid Build Coastguard Worker target: { 129*4d7e907cSAndroid Build Coastguard Worker android: { 130*4d7e907cSAndroid Build Coastguard Worker shared_libs: ["libnativewindow"], 131*4d7e907cSAndroid Build Coastguard Worker }, 132*4d7e907cSAndroid Build Coastguard Worker }, 133*4d7e907cSAndroid Build Coastguard Worker cflags: [ 134*4d7e907cSAndroid Build Coastguard Worker /* GMOCK defines functions for printing all MOCK_DEVICE arguments and 135*4d7e907cSAndroid Build Coastguard Worker * MockDevice contains a string pointer which triggers a warning in the 136*4d7e907cSAndroid Build Coastguard Worker * base logging library. */ 137*4d7e907cSAndroid Build Coastguard Worker "-Wno-user-defined-warnings", 138*4d7e907cSAndroid Build Coastguard Worker ], 139*4d7e907cSAndroid Build Coastguard Worker test_suites: ["general-tests"], 140*4d7e907cSAndroid Build Coastguard Worker} 141