blob: 1a4cd9ad3b00e6d466227bc67ced266f927ccc03 [file] [log] [blame]
Lev Proleev6b6dfcd2020-11-11 18:28:50 +00001//
2// Copyright (C) 2021 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
Bob Badourb224b362021-02-12 20:13:01 -080017package {
18 // See: http://go/android-license-faq
19 // A large-scale-change added 'default_applicable_licenses' to import
20 // all of the 'license_kinds' from "hardware_interfaces_license"
21 // to get the below license kinds:
22 // SPDX-license-identifier-Apache-2.0
23 default_applicable_licenses: ["hardware_interfaces_license"],
24}
25
Michael Butler478a78e2021-10-28 01:54:26 +000026cc_defaults {
27 name: "neuralnetworks_utils_hal_aidl_defaults",
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000028 defaults: ["neuralnetworks_utils_defaults"],
29 srcs: ["src/*"],
30 local_include_dirs: ["include/nnapi/hal/aidl/"],
31 export_include_dirs: ["include"],
Lev Proleev900c28a2021-01-26 19:40:20 +000032 cflags: ["-Wthread-safety"],
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000033 static_libs: [
Ady Abrahamfd549c92021-09-04 21:58:20 -070034 "android.hardware.graphics.common-V3-ndk",
Michael Butlerf03ebd92021-03-25 15:27:38 -070035 "libaidlcommonsupport",
Michael Butlerab2f4822021-02-08 00:05:07 -080036 "libarect",
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000037 "neuralnetworks_types",
38 "neuralnetworks_utils_hal_common",
39 ],
40 shared_libs: [
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000041 "libbinder_ndk",
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000042 ],
Ray Hernandez338d6f82021-08-11 21:29:20 +000043 target: {
44 android: {
45 shared_libs: ["libnativewindow"],
46 },
47 },
Lev Proleev6b6dfcd2020-11-11 18:28:50 +000048}
Lev Proleev900c28a2021-01-26 19:40:20 +000049
Michael Butler478a78e2021-10-28 01:54:26 +000050cc_library_static {
51 name: "neuralnetworks_utils_hal_aidl_v1",
52 defaults: ["neuralnetworks_utils_hal_aidl_defaults"],
53 shared_libs: [
54 "android.hardware.neuralnetworks-V1-ndk",
Xusong Wang9763a952021-10-05 10:07:12 -070055 ],
Michael Butler478a78e2021-10-28 01:54:26 +000056}
57
58cc_library_static {
59 name: "neuralnetworks_utils_hal_aidl",
60 defaults: ["neuralnetworks_utils_hal_aidl_defaults"],
61 shared_libs: [
62 "android.hardware.neuralnetworks-V2-ndk",
63 ],
64}
65
66// A cc_defaults that includes the latest non-experimental AIDL utilities and other AIDL libraries
67// that are commonly used together. Modules that always depend on the latest non-experimental
68// AIDL features can include this cc_defaults to avoid managing dependency versions explicitly.
69cc_defaults {
70 name: "neuralnetworks_use_latest_utils_hal_aidl",
Xusong Wang9763a952021-10-05 10:07:12 -070071 static_libs: [
Michael Butler932e82b2021-10-26 03:29:13 +000072 "android.hardware.common-V2-ndk",
73 "android.hardware.graphics.common-V3-ndk",
74 "android.hardware.neuralnetworks-V2-ndk",
Michael Butler478a78e2021-10-28 01:54:26 +000075 "neuralnetworks_utils_hal_aidl",
76 ],
77}
78
79cc_test {
80 name: "neuralnetworks_utils_hal_aidl_test",
81 defaults: [
82 "neuralnetworks_use_latest_utils_hal_aidl",
83 "neuralnetworks_utils_defaults",
84 ],
85 srcs: [
86 "test/*.cpp",
87 ],
88 static_libs: [
Michael Butlerf03ebd92021-03-25 15:27:38 -070089 "libaidlcommonsupport",
Lev Proleev900c28a2021-01-26 19:40:20 +000090 "libgmock",
91 "libneuralnetworks_common",
92 "neuralnetworks_types",
Lev Proleev900c28a2021-01-26 19:40:20 +000093 "neuralnetworks_utils_hal_common",
94 ],
95 shared_libs: [
96 "android.hidl.allocator@1.0",
97 "libbase",
98 "libbinder_ndk",
99 "libcutils",
100 "libhidlbase",
101 "libhidlmemory",
102 "liblog",
Lev Proleev900c28a2021-01-26 19:40:20 +0000103 "libutils",
104 ],
Ray Hernandez338d6f82021-08-11 21:29:20 +0000105 target: {
106 android: {
107 shared_libs: ["libnativewindow"],
108 },
109 host: {
110 cflags: [
111 "-D__INTRODUCED_IN(x)=",
112 "-D__assert(a,b,c)=",
113 // We want all the APIs to be available on the host.
114 "-D__ANDROID_API__=10000",
115 ],
116 },
117 },
Lev Proleev900c28a2021-01-26 19:40:20 +0000118 cflags: [
119 /* GMOCK defines functions for printing all MOCK_DEVICE arguments and
120 * MockDevice contains a string pointer which triggers a warning in the
121 * base logging library. */
122 "-Wno-user-defined-warnings",
123 ],
124 test_suites: ["general-tests"],
125}