xref: /aosp_15_r20/hardware/interfaces/threadnetwork/aidl/default/Android.bp (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1//
2//  Copyright (c) 2022 Google LLC.
3//  All rights reserved.
4//
5//  This document is the property of Google LLC, Inc. It is
6//  considered proprietary and confidential information.
7//
8//  This document may not be reproduced or transmitted in any form,
9//  in whole or in part, without the express written permission of
10//  Google LLC.
11
12cc_binary {
13    name: "android.hardware.threadnetwork-service",
14    vendor: true,
15    relative_install_path: "hw",
16
17    defaults: ["android.hardware.threadnetwork-service.defaults"],
18
19    shared_libs: [
20        "libbinder_ndk",
21        "liblog",
22    ],
23
24    static_libs: [
25        "android.hardware.threadnetwork-V1-ndk",
26        "libbase",
27        "libcutils",
28        "libutils",
29        "openthread-common",
30        "openthread-hdlc",
31        "openthread-platform",
32        "openthread-posix",
33        "openthread-spi",
34        "openthread-url",
35    ],
36
37    stl: "c++_static",
38
39    srcs: [
40        "main.cpp",
41        "service.cpp",
42        "socket_interface.cpp",
43        "thread_chip.cpp",
44        "utils.cpp",
45    ],
46}
47
48cc_defaults {
49    name: "android.hardware.threadnetwork-service.defaults",
50    product_variables: {
51        debuggable: {
52            cppflags: [
53                "-DDEV_BUILD",
54            ],
55        },
56    },
57}
58
59cc_fuzz {
60    name: "android.hardware.threadnetwork-service.fuzzer",
61
62    defaults: ["service_fuzzer_defaults"],
63    shared_libs: [
64        "libbinder_ndk",
65    ],
66
67    static_libs: [
68        "android.hardware.threadnetwork-V1-ndk",
69        "libbase",
70        "liblog",
71        "openthread-common",
72        "openthread-hdlc",
73        "openthread-platform",
74        "openthread-posix",
75        "openthread-spi",
76        "openthread-url",
77    ],
78
79    srcs: [
80        "socket_interface.cpp",
81        "thread_chip.cpp",
82        "utils.cpp",
83        "fuzzer.cpp",
84    ],
85
86    fuzz_config: {
87        cc: [
88            "[email protected]",
89        ],
90    },
91}
92
93prebuilt_etc {
94    name: "threadnetwork-default.xml",
95    src: "threadnetwork-default.xml",
96    sub_dir: "vintf",
97    installable: false,
98}
99
100prebuilt_etc {
101    name: "threadnetwork-service.rc",
102    src: "threadnetwork-service.rc",
103    installable: false,
104}
105
106filegroup {
107    name: "com.android.hardware.threadnetwork_manifest",
108    srcs: ["manifest.json"],
109}
110
111filegroup {
112    name: "com.android.hardware.threadnetwork_file_contexts",
113    srcs: ["file_contexts"],
114}
115
116apex {
117    name: "com.android.hardware.threadnetwork",
118    manifest: ":com.android.hardware.threadnetwork_manifest",
119    file_contexts: ":com.android.hardware.threadnetwork_file_contexts",
120    key: "com.android.hardware.key",
121    certificate: ":com.android.hardware.certificate",
122    updatable: false,
123    vendor: true,
124
125    binaries: [
126        "android.hardware.threadnetwork-service",
127        "ot-rcp",
128    ],
129
130    prebuilts: [
131        "threadnetwork-default.xml", // vintf_fragment
132        "threadnetwork-service.rc", // init_rc
133        "android.hardware.thread_network.prebuilt.xml", // permission
134    ],
135}
136
137prebuilt_etc {
138    name: "threadnetwork-service-simulation-rcp.rc",
139    src: "threadnetwork-service-simulation-rcp.rc",
140    installable: false,
141}
142
143// Thread HAL service which uses a simulation RCP (i.e. ot-rcp),
144// typically used in emulator devices.
145override_apex {
146    name: "com.android.hardware.threadnetwork-simulation-rcp",
147    base: "com.android.hardware.threadnetwork",
148    prebuilts: [
149        "threadnetwork-service-simulation-rcp.rc",
150        "threadnetwork-default.xml",
151        "android.hardware.thread_network.prebuilt.xml",
152    ],
153}
154