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