1*7594170eSAndroid Build Coastguard Worker# Copyright (C) 2022 The Android Open Source Project 2*7594170eSAndroid Build Coastguard Worker# 3*7594170eSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*7594170eSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*7594170eSAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*7594170eSAndroid Build Coastguard Worker# 7*7594170eSAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*7594170eSAndroid Build Coastguard Worker# 9*7594170eSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*7594170eSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*7594170eSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*7594170eSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*7594170eSAndroid Build Coastguard Worker# limitations under the License. 14*7594170eSAndroid Build Coastguard Worker 15*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/cc:cc_hidl_library.bzl", "cc_hidl_library") 16*7594170eSAndroid Build Coastguard Workerload("//build/bazel/rules/hidl:hidl_library.bzl", "hidl_library") 17*7594170eSAndroid Build Coastguard Worker 18*7594170eSAndroid Build Coastguard WorkerINTERFACE_SUFFIX = "_interface" 19*7594170eSAndroid Build Coastguard Worker 20*7594170eSAndroid Build Coastguard Workerdef hidl_interface( 21*7594170eSAndroid Build Coastguard Worker name, 22*7594170eSAndroid Build Coastguard Worker srcs = [], 23*7594170eSAndroid Build Coastguard Worker deps = [], 24*7594170eSAndroid Build Coastguard Worker root = "", 25*7594170eSAndroid Build Coastguard Worker min_sdk_version = "", 26*7594170eSAndroid Build Coastguard Worker tags = []): 27*7594170eSAndroid Build Coastguard Worker "Bazel macro to correspond with the hidl_interface Soong module." 28*7594170eSAndroid Build Coastguard Worker 29*7594170eSAndroid Build Coastguard Worker interface_name = name + INTERFACE_SUFFIX 30*7594170eSAndroid Build Coastguard Worker interface_deps = [dep + INTERFACE_SUFFIX for dep in deps] 31*7594170eSAndroid Build Coastguard Worker 32*7594170eSAndroid Build Coastguard Worker hidl_library( 33*7594170eSAndroid Build Coastguard Worker name = interface_name, 34*7594170eSAndroid Build Coastguard Worker srcs = srcs, 35*7594170eSAndroid Build Coastguard Worker deps = interface_deps, 36*7594170eSAndroid Build Coastguard Worker fq_name = name, 37*7594170eSAndroid Build Coastguard Worker root = root, 38*7594170eSAndroid Build Coastguard Worker ) 39*7594170eSAndroid Build Coastguard Worker 40*7594170eSAndroid Build Coastguard Worker native.filegroup( 41*7594170eSAndroid Build Coastguard Worker name = name + "_hal", 42*7594170eSAndroid Build Coastguard Worker srcs = srcs, 43*7594170eSAndroid Build Coastguard Worker ) 44*7594170eSAndroid Build Coastguard Worker 45*7594170eSAndroid Build Coastguard Worker cc_hidl_library( 46*7594170eSAndroid Build Coastguard Worker name = name, 47*7594170eSAndroid Build Coastguard Worker interface = interface_name, 48*7594170eSAndroid Build Coastguard Worker dynamic_deps = deps, 49*7594170eSAndroid Build Coastguard Worker min_sdk_version = min_sdk_version, 50*7594170eSAndroid Build Coastguard Worker tags = tags, 51*7594170eSAndroid Build Coastguard Worker ) 52