blob: 626f207400321799079a1831dbc1d08e16ca0517 [file] [log] [blame]
Dan Willemsen6365a872016-09-13 16:29:54 -07001// Copyright (C) 2016 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Steven Morelandc75fc622017-08-04 11:04:39 -070015cc_defaults {
16 name: "libhidl-defaults",
17 cflags: [
18 "-Wall",
Steven Moreland37814cb2018-10-24 16:28:35 -070019 "-Wdocumentation", // since some users use this
Steven Morelandc75fc622017-08-04 11:04:39 -070020 "-Werror",
Bernhard Rosenkränzer0c28fd22018-06-04 16:01:47 +020021 "-Wextra-semi",
Steven Morelandc75fc622017-08-04 11:04:39 -070022 ],
23}
Steven Moreland8dd65742017-02-17 22:39:46 -080024
Steven Moreland37e8d3a2019-04-26 12:33:21 -070025phony {
26 name: "libhidl",
27 required: [
28 "libhidlbase",
29 "libhidltransport",
30 ],
31}
32
Steven Morelande695c3e2019-08-21 15:36:22 -070033cc_library_headers {
34 name: "libhidl_gtest_helpers",
35 export_include_dirs: ["gtest_helpers"],
36}
37
Yifan Hong00f4a392016-11-16 12:35:58 -080038cc_test {
39 name: "libhidl_test",
Steven Morelandc75fc622017-08-04 11:04:39 -070040 defaults: ["libhidl-defaults"],
Yifan Hong00f4a392016-11-16 12:35:58 -080041 gtest: false,
42 srcs: ["test_main.cpp"],
Steven Moreland17453832019-02-25 12:01:22 -080043 test_suites: ["device-tests"],
Yifan Hong00f4a392016-11-16 12:35:58 -080044
Dan Willemsen6365a872016-09-13 16:29:54 -070045 shared_libs: [
Steven Moreland138c3502018-11-27 14:27:04 -080046 "android.hidl.memory@1.0",
Dan Willemsen6365a872016-09-13 16:29:54 -070047 "libbase",
Yifan Hong00f4a392016-11-16 12:35:58 -080048 "libhidlbase",
49 "libhidltransport",
50 "libhwbinder",
Dan Willemsen6365a872016-09-13 16:29:54 -070051 "liblog",
52 "libutils",
Jeff Tinker0f3461d2017-01-03 10:40:55 -080053 "libcutils",
Dan Willemsen6365a872016-09-13 16:29:54 -070054 ],
Yifan Hong2be94182017-03-03 19:07:38 -080055 static_libs: ["libgtest", "libgmock"],
Yifan Hong00f4a392016-11-16 12:35:58 -080056
57 cflags: [
58 "-O0",
59 "-g",
Steven Morelandc75fc622017-08-04 11:04:39 -070060 ],
Dan Willemsen6365a872016-09-13 16:29:54 -070061}
Steven Morelanda46371d2019-06-05 18:29:06 -070062
Steven Moreland9f53eda2019-06-17 17:17:02 -070063cc_defaults {
64 name: "libhidlbase-combined-impl",
Steven Morelanda46371d2019-06-05 18:29:06 -070065
66 defaults: [
Steven Moreland9f53eda2019-06-17 17:17:02 -070067 "libhwbinder-impl-shared-libs",
Steven Morelanda46371d2019-06-05 18:29:06 -070068 "libhidlbase-impl-shared-libs",
69 "libhidltransport-impl-shared-libs",
70 ],
71
72 whole_static_libs: [
73 "libhidlbase-impl-internal",
74 "libhidltransport-impl-internal",
75 ],
76}
77
Steven Moreland9f53eda2019-06-17 17:17:02 -070078cc_library {
79 name: "libhidlbase",
80 defaults: ["libhidlbase-combined-impl"],
81 recovery_available: true,
82 vendor_available: true,
83 vndk: {
84 enabled: true,
85 support_system_process: true,
86 },
87 whole_static_libs: [
88 "libhwbinder-impl-internal",
89 ],
90}
91
92// Only libhwbinder_benchmark needs to have pgo enabled. When all places
93// support having PGO selectively enabled, all places can use libhwbinder.
94//
95// http://b/77320844
96cc_library {
97 name: "libhidlbase_pgo",
98 defaults: [
99 "libhidlbase-combined-impl",
100 "hwbinder_benchmark_pgo",
101 ],
102 whole_static_libs: [
103 "libhwbinder_pgo-impl-internal",
104 ],
Steven Morelandc6df5652019-09-05 15:08:41 -0700105
106 visibility: ["//system/libhwbinder:__subpackages__"],
Steven Moreland9f53eda2019-06-17 17:17:02 -0700107}
108
Steven Morelanda46371d2019-06-05 18:29:06 -0700109// WARNING: deprecated
110// This library is no longer required, and dependencies should be taken
111// on libhidlbase instead.
112cc_library {
113 name: "libhidltransport",
114 recovery_available: true,
115 vendor_available: true,
116 vndk: {
117 enabled: true,
118 support_system_process: true,
119 },
120}