1// Copyright (C) 2021 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
15// Example binder service of the ir HAL.
16package {
17    // See: http://go/android-license-faq
18    // A large-scale-change added 'default_applicable_licenses' to import
19    // all of the 'license_kinds' from "hardware_interfaces_license"
20    // to get the below license kinds:
21    //   SPDX-license-identifier-Apache-2.0
22    default_applicable_licenses: ["hardware_interfaces_license"],
23}
24
25cc_binary {
26    name: "android.hardware.ir-service.example",
27    relative_install_path: "hw",
28    init_rc: ["android.hardware.ir-service.example.rc"],
29    vendor: true,
30    vintf_fragments: ["android.hardware.ir-service.example.xml"],
31
32    shared_libs: [
33        "libbase",
34        "libbinder_ndk",
35        "libcutils",
36        "liblog",
37        "libutils",
38        "android.hardware.ir-V1-ndk",
39        "libhardware",
40    ],
41
42    srcs: ["main.cpp"],
43}
44
45prebuilt_etc {
46    name: "android.hardware.ir-service.example.rc",
47    src: ":gen-android.hardware.ir-service.example.rc",
48    installable: false,
49}
50
51genrule {
52    name: "gen-android.hardware.ir-service.example.rc",
53    srcs: ["android.hardware.ir-service.example.rc"],
54    out: ["android.hardware.ir-service.example.apex.rc"],
55    cmd: "sed -e 's@/vendor/bin/@/apex/com.android.hardware.ir/bin/@' $(in) > $(out)",
56}
57
58prebuilt_etc {
59    name: "android.hardware.ir-service.example.xml",
60    src: "android.hardware.ir-service.example.xml",
61    sub_dir: "vintf",
62    installable: false,
63}
64
65filegroup {
66    name: "com.android.hardware.ir_file_contexts",
67    srcs: ["apex_file_contexts"],
68}
69
70filegroup {
71    name: "com.android.hardware.ir_apex_manifest.json",
72    srcs: ["apex_manifest.json"],
73}
74
75apex_defaults {
76    name: "com.android.hardware.ir",
77    // Reference to the filegroup instead of direct path since
78    // paths in defaults don't work in a different directory.
79    file_contexts: ":com.android.hardware.ir_file_contexts",
80    manifest: ":com.android.hardware.ir_apex_manifest.json",
81
82    updatable: false,
83    vendor: true,
84
85    binaries: [
86        "android.hardware.ir-service.example",
87    ],
88    prebuilts: [
89        "android.hardware.ir-service.example.rc",
90        "android.hardware.ir-service.example.xml",
91        "android.hardware.consumerir.prebuilt.xml", // feature
92    ],
93}
94