xref: /aosp_15_r20/system/libhidl/Android.bp (revision 8222fbe171c3d6fadfe95119c180cf3010c392a8)
1*8222fbe1SAndroid Build Coastguard Worker// Copyright (C) 2016 The Android Open Source Project
2*8222fbe1SAndroid Build Coastguard Worker//
3*8222fbe1SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*8222fbe1SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*8222fbe1SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*8222fbe1SAndroid Build Coastguard Worker//
7*8222fbe1SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*8222fbe1SAndroid Build Coastguard Worker//
9*8222fbe1SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*8222fbe1SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*8222fbe1SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*8222fbe1SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*8222fbe1SAndroid Build Coastguard Worker// limitations under the License.
14*8222fbe1SAndroid Build Coastguard Worker
15*8222fbe1SAndroid Build Coastguard Workerpackage {
16*8222fbe1SAndroid Build Coastguard Worker    default_team: "trendy_team_android_kernel",
17*8222fbe1SAndroid Build Coastguard Worker    default_applicable_licenses: ["system_libhidl_license"],
18*8222fbe1SAndroid Build Coastguard Worker}
19*8222fbe1SAndroid Build Coastguard Worker
20*8222fbe1SAndroid Build Coastguard Worker// Added automatically by a large-scale-change
21*8222fbe1SAndroid Build Coastguard Worker// See: http://go/android-license-faq
22*8222fbe1SAndroid Build Coastguard Workerlicense {
23*8222fbe1SAndroid Build Coastguard Worker    name: "system_libhidl_license",
24*8222fbe1SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
25*8222fbe1SAndroid Build Coastguard Worker    license_kinds: [
26*8222fbe1SAndroid Build Coastguard Worker        "SPDX-license-identifier-Apache-2.0",
27*8222fbe1SAndroid Build Coastguard Worker    ],
28*8222fbe1SAndroid Build Coastguard Worker    license_text: [
29*8222fbe1SAndroid Build Coastguard Worker        "NOTICE",
30*8222fbe1SAndroid Build Coastguard Worker    ],
31*8222fbe1SAndroid Build Coastguard Worker}
32*8222fbe1SAndroid Build Coastguard Worker
33*8222fbe1SAndroid Build Coastguard Workercc_defaults {
34*8222fbe1SAndroid Build Coastguard Worker    name: "libhidl-defaults",
35*8222fbe1SAndroid Build Coastguard Worker    cflags: [
36*8222fbe1SAndroid Build Coastguard Worker        "-Wall",
37*8222fbe1SAndroid Build Coastguard Worker        "-Wdocumentation", // since some users use this
38*8222fbe1SAndroid Build Coastguard Worker        "-Werror",
39*8222fbe1SAndroid Build Coastguard Worker        "-Wextra-semi",
40*8222fbe1SAndroid Build Coastguard Worker    ],
41*8222fbe1SAndroid Build Coastguard Worker}
42*8222fbe1SAndroid Build Coastguard Worker
43*8222fbe1SAndroid Build Coastguard Workerphony {
44*8222fbe1SAndroid Build Coastguard Worker    name: "libhidl",
45*8222fbe1SAndroid Build Coastguard Worker    required: [
46*8222fbe1SAndroid Build Coastguard Worker        "libhidlbase",
47*8222fbe1SAndroid Build Coastguard Worker    ],
48*8222fbe1SAndroid Build Coastguard Worker}
49*8222fbe1SAndroid Build Coastguard Worker
50*8222fbe1SAndroid Build Coastguard Workercc_library_headers {
51*8222fbe1SAndroid Build Coastguard Worker    name: "libhidl_gtest_helper",
52*8222fbe1SAndroid Build Coastguard Worker    vendor_available: true,
53*8222fbe1SAndroid Build Coastguard Worker    host_supported: true,
54*8222fbe1SAndroid Build Coastguard Worker    export_include_dirs: ["gtest_helper"],
55*8222fbe1SAndroid Build Coastguard Worker}
56*8222fbe1SAndroid Build Coastguard Worker
57*8222fbe1SAndroid Build Coastguard Workercc_test {
58*8222fbe1SAndroid Build Coastguard Worker    name: "libhidl_test",
59*8222fbe1SAndroid Build Coastguard Worker    host_supported: true,
60*8222fbe1SAndroid Build Coastguard Worker    defaults: ["libhidl-defaults"],
61*8222fbe1SAndroid Build Coastguard Worker    gtest: false,
62*8222fbe1SAndroid Build Coastguard Worker    tidy_timeout_srcs: ["test_main.cpp"],
63*8222fbe1SAndroid Build Coastguard Worker    srcs: ["test_main.cpp"],
64*8222fbe1SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
65*8222fbe1SAndroid Build Coastguard Worker
66*8222fbe1SAndroid Build Coastguard Worker    shared_libs: [
67*8222fbe1SAndroid Build Coastguard Worker        "[email protected]",
68*8222fbe1SAndroid Build Coastguard Worker        "libbase",
69*8222fbe1SAndroid Build Coastguard Worker        "libhidlbase",
70*8222fbe1SAndroid Build Coastguard Worker        "liblog",
71*8222fbe1SAndroid Build Coastguard Worker        "libutils",
72*8222fbe1SAndroid Build Coastguard Worker        "libcutils",
73*8222fbe1SAndroid Build Coastguard Worker    ],
74*8222fbe1SAndroid Build Coastguard Worker    static_libs: [
75*8222fbe1SAndroid Build Coastguard Worker        "libgtest",
76*8222fbe1SAndroid Build Coastguard Worker        "libgmock",
77*8222fbe1SAndroid Build Coastguard Worker    ],
78*8222fbe1SAndroid Build Coastguard Worker
79*8222fbe1SAndroid Build Coastguard Worker    cflags: [
80*8222fbe1SAndroid Build Coastguard Worker        "-O0",
81*8222fbe1SAndroid Build Coastguard Worker        "-g",
82*8222fbe1SAndroid Build Coastguard Worker    ],
83*8222fbe1SAndroid Build Coastguard Worker}
84*8222fbe1SAndroid Build Coastguard Worker
85*8222fbe1SAndroid Build Coastguard Workercc_library {
86*8222fbe1SAndroid Build Coastguard Worker    name: "libhidlbase",
87*8222fbe1SAndroid Build Coastguard Worker    defaults: ["libhidlbase-combined-impl"],
88*8222fbe1SAndroid Build Coastguard Worker    host_supported: true,
89*8222fbe1SAndroid Build Coastguard Worker    // TODO(b/153609531): remove when no longer needed.
90*8222fbe1SAndroid Build Coastguard Worker    native_bridge_supported: true,
91*8222fbe1SAndroid Build Coastguard Worker    recovery_available: true,
92*8222fbe1SAndroid Build Coastguard Worker    vendor_available: true,
93*8222fbe1SAndroid Build Coastguard Worker    product_available: true,
94*8222fbe1SAndroid Build Coastguard Worker    apex_available: [
95*8222fbe1SAndroid Build Coastguard Worker        // TODO(b/137948090): not fully supported in APEX for certain usecases
96*8222fbe1SAndroid Build Coastguard Worker        // - large dependency sizes
97*8222fbe1SAndroid Build Coastguard Worker        // - VINTF manifest cannot be read from APEX
98*8222fbe1SAndroid Build Coastguard Worker        // - no testing story/infra for deprecation schedule
99*8222fbe1SAndroid Build Coastguard Worker        "//apex_available:platform",
100*8222fbe1SAndroid Build Coastguard Worker        "com.android.neuralnetworks",
101*8222fbe1SAndroid Build Coastguard Worker        "test_com.android.neuralnetworks",
102*8222fbe1SAndroid Build Coastguard Worker        "com.android.btservices",
103*8222fbe1SAndroid Build Coastguard Worker        "com.android.media",
104*8222fbe1SAndroid Build Coastguard Worker        "com.android.media.swcodec",
105*8222fbe1SAndroid Build Coastguard Worker        "com.android.nfcservices",
106*8222fbe1SAndroid Build Coastguard Worker        "com.android.tethering",
107*8222fbe1SAndroid Build Coastguard Worker    ],
108*8222fbe1SAndroid Build Coastguard Worker    double_loadable: true,
109*8222fbe1SAndroid Build Coastguard Worker    whole_static_libs: [
110*8222fbe1SAndroid Build Coastguard Worker        "libhwbinder-impl-internal",
111*8222fbe1SAndroid Build Coastguard Worker    ],
112*8222fbe1SAndroid Build Coastguard Worker    min_sdk_version: "29",
113*8222fbe1SAndroid Build Coastguard Worker    afdo: true,
114*8222fbe1SAndroid Build Coastguard Worker}
115*8222fbe1SAndroid Build Coastguard Worker
116*8222fbe1SAndroid Build Coastguard Worker// WARNING: deprecated
117*8222fbe1SAndroid Build Coastguard Worker// This library is no longer required, and dependencies should be taken on libhidlbase instead.
118*8222fbe1SAndroid Build Coastguard Worker// This is automatically removed by bpfix. Once there are no makefiles, fixes can be automatically applied, and this can be removed.
119*8222fbe1SAndroid Build Coastguard Workercc_library {
120*8222fbe1SAndroid Build Coastguard Worker    name: "libhidltransport",
121*8222fbe1SAndroid Build Coastguard Worker    vendor_available: true,
122*8222fbe1SAndroid Build Coastguard Worker
123*8222fbe1SAndroid Build Coastguard Worker    visibility: [
124*8222fbe1SAndroid Build Coastguard Worker        ":__subpackages__",
125*8222fbe1SAndroid Build Coastguard Worker        "//hardware:__subpackages__",
126*8222fbe1SAndroid Build Coastguard Worker        "//test/sts:__subpackages__",
127*8222fbe1SAndroid Build Coastguard Worker        "//vendor:__subpackages__",
128*8222fbe1SAndroid Build Coastguard Worker        "//visibility:any_system_partition",
129*8222fbe1SAndroid Build Coastguard Worker    ],
130*8222fbe1SAndroid Build Coastguard Worker}
131*8222fbe1SAndroid Build Coastguard Worker
132*8222fbe1SAndroid Build Coastguard Workercc_defaults {
133*8222fbe1SAndroid Build Coastguard Worker    name: "libhidlbase-combined-impl",
134*8222fbe1SAndroid Build Coastguard Worker
135*8222fbe1SAndroid Build Coastguard Worker    defaults: [
136*8222fbe1SAndroid Build Coastguard Worker        "hidl-module-defaults",
137*8222fbe1SAndroid Build Coastguard Worker        "libhidl-defaults",
138*8222fbe1SAndroid Build Coastguard Worker        "libhwbinder-impl-shared-libs",
139*8222fbe1SAndroid Build Coastguard Worker    ],
140*8222fbe1SAndroid Build Coastguard Worker
141*8222fbe1SAndroid Build Coastguard Worker    shared_libs: [
142*8222fbe1SAndroid Build Coastguard Worker        "libbase",
143*8222fbe1SAndroid Build Coastguard Worker        "liblog",
144*8222fbe1SAndroid Build Coastguard Worker        "libutils",
145*8222fbe1SAndroid Build Coastguard Worker        "libcutils",
146*8222fbe1SAndroid Build Coastguard Worker    ],
147*8222fbe1SAndroid Build Coastguard Worker    export_shared_lib_headers: [
148*8222fbe1SAndroid Build Coastguard Worker        "libcutils", // for native_handle.h
149*8222fbe1SAndroid Build Coastguard Worker        "libutils",
150*8222fbe1SAndroid Build Coastguard Worker    ],
151*8222fbe1SAndroid Build Coastguard Worker    static_libs: [
152*8222fbe1SAndroid Build Coastguard Worker        "libhwbinder-impl-internal",
153*8222fbe1SAndroid Build Coastguard Worker    ],
154*8222fbe1SAndroid Build Coastguard Worker
155*8222fbe1SAndroid Build Coastguard Worker    target: {
156*8222fbe1SAndroid Build Coastguard Worker        android: {
157*8222fbe1SAndroid Build Coastguard Worker            shared_libs: [
158*8222fbe1SAndroid Build Coastguard Worker                "libvndksupport",
159*8222fbe1SAndroid Build Coastguard Worker            ],
160*8222fbe1SAndroid Build Coastguard Worker        },
161*8222fbe1SAndroid Build Coastguard Worker        recovery: {
162*8222fbe1SAndroid Build Coastguard Worker            exclude_shared_libs: [
163*8222fbe1SAndroid Build Coastguard Worker                "libvndksupport",
164*8222fbe1SAndroid Build Coastguard Worker            ],
165*8222fbe1SAndroid Build Coastguard Worker        },
166*8222fbe1SAndroid Build Coastguard Worker    },
167*8222fbe1SAndroid Build Coastguard Worker
168*8222fbe1SAndroid Build Coastguard Worker    export_include_dirs: [
169*8222fbe1SAndroid Build Coastguard Worker        "base/include",
170*8222fbe1SAndroid Build Coastguard Worker        "transport/include",
171*8222fbe1SAndroid Build Coastguard Worker    ],
172*8222fbe1SAndroid Build Coastguard Worker
173*8222fbe1SAndroid Build Coastguard Worker    header_libs: [
174*8222fbe1SAndroid Build Coastguard Worker        "libfmq-base",
175*8222fbe1SAndroid Build Coastguard Worker    ],
176*8222fbe1SAndroid Build Coastguard Worker    export_header_lib_headers: [
177*8222fbe1SAndroid Build Coastguard Worker        "libfmq-base",
178*8222fbe1SAndroid Build Coastguard Worker    ],
179*8222fbe1SAndroid Build Coastguard Worker
180*8222fbe1SAndroid Build Coastguard Worker    generated_sources: [
181*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++",
182*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++",
183*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++",
184*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++",
185*8222fbe1SAndroid Build Coastguard Worker    ],
186*8222fbe1SAndroid Build Coastguard Worker    generated_headers: [
187*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
188*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
189*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
190*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
191*8222fbe1SAndroid Build Coastguard Worker    ],
192*8222fbe1SAndroid Build Coastguard Worker    export_generated_headers: [
193*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
194*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
195*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
196*8222fbe1SAndroid Build Coastguard Worker        "[email protected]_genc++_headers",
197*8222fbe1SAndroid Build Coastguard Worker    ],
198*8222fbe1SAndroid Build Coastguard Worker
199*8222fbe1SAndroid Build Coastguard Worker    srcs: [
200*8222fbe1SAndroid Build Coastguard Worker        "base/HidlInternal.cpp",
201*8222fbe1SAndroid Build Coastguard Worker        "base/HidlSupport.cpp",
202*8222fbe1SAndroid Build Coastguard Worker        "base/Status.cpp",
203*8222fbe1SAndroid Build Coastguard Worker        "base/TaskRunner.cpp",
204*8222fbe1SAndroid Build Coastguard Worker        "transport/HidlBinderSupport.cpp",
205*8222fbe1SAndroid Build Coastguard Worker        "transport/HidlLazyUtils.cpp",
206*8222fbe1SAndroid Build Coastguard Worker        "transport/HidlPassthroughSupport.cpp",
207*8222fbe1SAndroid Build Coastguard Worker        "transport/HidlTransportSupport.cpp",
208*8222fbe1SAndroid Build Coastguard Worker        "transport/HidlTransportUtils.cpp",
209*8222fbe1SAndroid Build Coastguard Worker        "transport/LegacySupport.cpp",
210*8222fbe1SAndroid Build Coastguard Worker        "transport/ServiceManagement.cpp",
211*8222fbe1SAndroid Build Coastguard Worker        "transport/Static.cpp",
212*8222fbe1SAndroid Build Coastguard Worker    ],
213*8222fbe1SAndroid Build Coastguard Worker
214*8222fbe1SAndroid Build Coastguard Worker    product_variables: {
215*8222fbe1SAndroid Build Coastguard Worker        debuggable: {
216*8222fbe1SAndroid Build Coastguard Worker            cflags: ["-DLIBHIDL_TARGET_DEBUGGABLE"],
217*8222fbe1SAndroid Build Coastguard Worker        },
218*8222fbe1SAndroid Build Coastguard Worker        enforce_vintf_manifest: {
219*8222fbe1SAndroid Build Coastguard Worker            cflags: ["-DENFORCE_VINTF_MANIFEST"],
220*8222fbe1SAndroid Build Coastguard Worker        },
221*8222fbe1SAndroid Build Coastguard Worker    },
222*8222fbe1SAndroid Build Coastguard Worker
223*8222fbe1SAndroid Build Coastguard Worker    sanitize: {
224*8222fbe1SAndroid Build Coastguard Worker        misc_undefined: ["integer"],
225*8222fbe1SAndroid Build Coastguard Worker    },
226*8222fbe1SAndroid Build Coastguard Worker}
227