• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_library_static {
49    name: "android.hardware.threadnetwork.lib",
50
51    vendor: true,
52    export_include_dirs: ["."],
53
54    defaults: ["android.hardware.threadnetwork-service.defaults"],
55
56    srcs: [
57        "service.cpp",
58        "thread_chip.cpp",
59        "utils.cpp",
60    ],
61
62    shared_libs: [
63        "libbinder_ndk",
64        "liblog",
65    ],
66
67    static_libs: [
68        "android.hardware.threadnetwork-V1-ndk",
69        "libbase",
70        "libcutils",
71        "libutils",
72        "openthread-common",
73        "openthread-hdlc",
74        "openthread-platform",
75        "openthread-posix",
76        "openthread-spi",
77        "openthread-url",
78    ],
79
80    stl: "c++_static",
81}
82
83cc_defaults {
84    name: "android.hardware.threadnetwork-service.defaults",
85    product_variables: {
86        debuggable: {
87            cppflags: [
88                "-DDEV_BUILD",
89            ],
90        },
91    },
92}
93
94cc_fuzz {
95    name: "android.hardware.threadnetwork-service.fuzzer",
96
97    defaults: ["service_fuzzer_defaults"],
98    shared_libs: [
99        "libbinder_ndk",
100    ],
101
102    static_libs: [
103        "android.hardware.threadnetwork-V1-ndk",
104        "libbase",
105        "liblog",
106        "openthread-common",
107        "openthread-hdlc",
108        "openthread-platform",
109        "openthread-posix",
110        "openthread-spi",
111        "openthread-url",
112    ],
113
114    srcs: [
115        "socket_interface.cpp",
116        "thread_chip.cpp",
117        "utils.cpp",
118        "fuzzer.cpp",
119    ],
120
121    fuzz_config: {
122        cc: [
123            "zhanglongxia@google.com",
124        ],
125    },
126}
127
128prebuilt_etc {
129    name: "threadnetwork-default.xml",
130    src: "threadnetwork-default.xml",
131    sub_dir: "vintf",
132    installable: false,
133}
134
135prebuilt_etc {
136    name: "threadnetwork-service.rc",
137    src: "threadnetwork-service.rc",
138    installable: false,
139}
140
141filegroup {
142    name: "com.android.hardware.threadnetwork_manifest",
143    srcs: ["manifest.json"],
144}
145
146filegroup {
147    name: "com.android.hardware.threadnetwork_file_contexts",
148    srcs: ["file_contexts"],
149}
150
151apex {
152    name: "com.android.hardware.threadnetwork",
153    manifest: ":com.android.hardware.threadnetwork_manifest",
154    file_contexts: ":com.android.hardware.threadnetwork_file_contexts",
155    key: "com.android.hardware.key",
156    certificate: ":com.android.hardware.certificate",
157    updatable: false,
158    vendor: true,
159
160    binaries: [
161        "android.hardware.threadnetwork-service",
162        "ot-rcp",
163    ],
164
165    prebuilts: [
166        "threadnetwork-default.xml", // vintf_fragment
167        "threadnetwork-service.rc", // init_rc
168        "android.hardware.thread_network.prebuilt.xml", // permission
169    ],
170}
171
172prebuilt_etc {
173    name: "threadnetwork-service-simulation-rcp.rc",
174    src: "threadnetwork-service-simulation-rcp.rc",
175    installable: false,
176}
177
178// Thread HAL service which uses a simulation RCP (i.e. ot-rcp),
179// typically used in emulator devices.
180override_apex {
181    name: "com.android.hardware.threadnetwork-simulation-rcp",
182    base: "com.android.hardware.threadnetwork",
183    prebuilts: [
184        "threadnetwork-service-simulation-rcp.rc",
185        "threadnetwork-default.xml",
186        "android.hardware.thread_network.prebuilt.xml",
187    ],
188}
189