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