1*38e8c45fSAndroid Build Coastguard Workerpackage { 2*38e8c45fSAndroid Build Coastguard Worker // See: http://go/android-license-faq 3*38e8c45fSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 4*38e8c45fSAndroid Build Coastguard Worker // all of the 'license_kinds' from "frameworks_native_license" 5*38e8c45fSAndroid Build Coastguard Worker // to get the below license kinds: 6*38e8c45fSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 7*38e8c45fSAndroid Build Coastguard Worker default_applicable_licenses: ["frameworks_native_license"], 8*38e8c45fSAndroid Build Coastguard Worker} 9*38e8c45fSAndroid Build Coastguard Worker 10*38e8c45fSAndroid Build Coastguard Workerrust_library { 11*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_rs", 12*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder", 13*38e8c45fSAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 14*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 15*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_sys", 16*38e8c45fSAndroid Build Coastguard Worker "libdowncast_rs", 17*38e8c45fSAndroid Build Coastguard Worker "liblibc", 18*38e8c45fSAndroid Build Coastguard Worker "liblog_rust", 19*38e8c45fSAndroid Build Coastguard Worker ], 20*38e8c45fSAndroid Build Coastguard Worker host_supported: true, 21*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 22*38e8c45fSAndroid Build Coastguard Worker product_available: true, 23*38e8c45fSAndroid Build Coastguard Worker target: { 24*38e8c45fSAndroid Build Coastguard Worker darwin: { 25*38e8c45fSAndroid Build Coastguard Worker enabled: false, 26*38e8c45fSAndroid Build Coastguard Worker }, 27*38e8c45fSAndroid Build Coastguard Worker }, 28*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 29*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 30*38e8c45fSAndroid Build Coastguard Worker "//apex_available:anyapex", 31*38e8c45fSAndroid Build Coastguard Worker ], 32*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "Tiramisu", 33*38e8c45fSAndroid Build Coastguard Worker} 34*38e8c45fSAndroid Build Coastguard Worker 35*38e8c45fSAndroid Build Coastguard Workerrust_library { 36*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_rs_on_trusty_mock", 37*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder", 38*38e8c45fSAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 39*38e8c45fSAndroid Build Coastguard Worker cfgs: [ 40*38e8c45fSAndroid Build Coastguard Worker "trusty", 41*38e8c45fSAndroid Build Coastguard Worker ], 42*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 43*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_sys_on_trusty_mock", 44*38e8c45fSAndroid Build Coastguard Worker "libdowncast_rs", 45*38e8c45fSAndroid Build Coastguard Worker "liblibc", 46*38e8c45fSAndroid Build Coastguard Worker ], 47*38e8c45fSAndroid Build Coastguard Worker vendor: true, 48*38e8c45fSAndroid Build Coastguard Worker} 49*38e8c45fSAndroid Build Coastguard Worker 50*38e8c45fSAndroid Build Coastguard Workerrust_library { 51*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_tokio_rs", 52*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_tokio", 53*38e8c45fSAndroid Build Coastguard Worker srcs: ["binder_tokio/lib.rs"], 54*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 55*38e8c45fSAndroid Build Coastguard Worker "libbinder_rs", 56*38e8c45fSAndroid Build Coastguard Worker "libtokio", 57*38e8c45fSAndroid Build Coastguard Worker ], 58*38e8c45fSAndroid Build Coastguard Worker host_supported: true, 59*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 60*38e8c45fSAndroid Build Coastguard Worker product_available: true, 61*38e8c45fSAndroid Build Coastguard Worker target: { 62*38e8c45fSAndroid Build Coastguard Worker darwin: { 63*38e8c45fSAndroid Build Coastguard Worker enabled: false, 64*38e8c45fSAndroid Build Coastguard Worker }, 65*38e8c45fSAndroid Build Coastguard Worker }, 66*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 67*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 68*38e8c45fSAndroid Build Coastguard Worker "//apex_available:anyapex", 69*38e8c45fSAndroid Build Coastguard Worker ], 70*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "Tiramisu", 71*38e8c45fSAndroid Build Coastguard Worker} 72*38e8c45fSAndroid Build Coastguard Worker 73*38e8c45fSAndroid Build Coastguard Workerrust_library { 74*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_ndk_sys", 75*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_ndk_sys", 76*38e8c45fSAndroid Build Coastguard Worker srcs: [ 77*38e8c45fSAndroid Build Coastguard Worker "sys/lib.rs", 78*38e8c45fSAndroid Build Coastguard Worker ":libbinder_ndk_bindgen", 79*38e8c45fSAndroid Build Coastguard Worker ], 80*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 81*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk", 82*38e8c45fSAndroid Build Coastguard Worker ], 83*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 84*38e8c45fSAndroid Build Coastguard Worker "liblibc", 85*38e8c45fSAndroid Build Coastguard Worker ], 86*38e8c45fSAndroid Build Coastguard Worker host_supported: true, 87*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 88*38e8c45fSAndroid Build Coastguard Worker product_available: true, 89*38e8c45fSAndroid Build Coastguard Worker target: { 90*38e8c45fSAndroid Build Coastguard Worker darwin: { 91*38e8c45fSAndroid Build Coastguard Worker enabled: false, 92*38e8c45fSAndroid Build Coastguard Worker }, 93*38e8c45fSAndroid Build Coastguard Worker }, 94*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 95*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 96*38e8c45fSAndroid Build Coastguard Worker "//apex_available:anyapex", 97*38e8c45fSAndroid Build Coastguard Worker ], 98*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "Tiramisu", 99*38e8c45fSAndroid Build Coastguard Worker lints: "none", 100*38e8c45fSAndroid Build Coastguard Worker clippy_lints: "none", 101*38e8c45fSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 102*38e8c45fSAndroid Build Coastguard Worker} 103*38e8c45fSAndroid Build Coastguard Worker 104*38e8c45fSAndroid Build Coastguard Workerrust_library { 105*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_ndk_sys_on_trusty_mock", 106*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_ndk_sys", 107*38e8c45fSAndroid Build Coastguard Worker srcs: [ 108*38e8c45fSAndroid Build Coastguard Worker "sys/lib.rs", 109*38e8c45fSAndroid Build Coastguard Worker ":libbinder_ndk_bindgen_on_trusty_mock", 110*38e8c45fSAndroid Build Coastguard Worker ], 111*38e8c45fSAndroid Build Coastguard Worker cfgs: [ 112*38e8c45fSAndroid Build Coastguard Worker "trusty", 113*38e8c45fSAndroid Build Coastguard Worker ], 114*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 115*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_on_trusty_mock", 116*38e8c45fSAndroid Build Coastguard Worker ], 117*38e8c45fSAndroid Build Coastguard Worker vendor: true, 118*38e8c45fSAndroid Build Coastguard Worker // Lints are checked separately for libbinder_ndk_sys. 119*38e8c45fSAndroid Build Coastguard Worker // The Trusty mock copy pulls in extra headers that 120*38e8c45fSAndroid Build Coastguard Worker // don't pass the lints for the bindgen output. 121*38e8c45fSAndroid Build Coastguard Worker lints: "none", 122*38e8c45fSAndroid Build Coastguard Worker} 123*38e8c45fSAndroid Build Coastguard Worker 124*38e8c45fSAndroid Build Coastguard Workerrust_bindgen { 125*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_ndk_bindgen", 126*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_ndk_bindgen", 127*38e8c45fSAndroid Build Coastguard Worker wrapper_src: "sys/BinderBindings.hpp", 128*38e8c45fSAndroid Build Coastguard Worker source_stem: "bindings", 129*38e8c45fSAndroid Build Coastguard Worker bindgen_flag_files: [ 130*38e8c45fSAndroid Build Coastguard Worker // Unfortunately the only way to specify the rust_non_exhaustive enum 131*38e8c45fSAndroid Build Coastguard Worker // style for a type is to make it the default 132*38e8c45fSAndroid Build Coastguard Worker // and then specify constified enums for the enums we don't want 133*38e8c45fSAndroid Build Coastguard Worker // rustified 134*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_bindgen_flags.txt", 135*38e8c45fSAndroid Build Coastguard Worker ], 136*38e8c45fSAndroid Build Coastguard Worker bindgen_flags: [ 137*38e8c45fSAndroid Build Coastguard Worker "--blocklist-type", 138*38e8c45fSAndroid Build Coastguard Worker "sockaddr", 139*38e8c45fSAndroid Build Coastguard Worker "--raw-line", 140*38e8c45fSAndroid Build Coastguard Worker "use libc::sockaddr;", 141*38e8c45fSAndroid Build Coastguard Worker ], 142*38e8c45fSAndroid Build Coastguard Worker cflags: [ 143*38e8c45fSAndroid Build Coastguard Worker "-DANDROID_PLATFORM", 144*38e8c45fSAndroid Build Coastguard Worker ], 145*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 146*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk", 147*38e8c45fSAndroid Build Coastguard Worker ], 148*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 149*38e8c45fSAndroid Build Coastguard Worker "liblibc", 150*38e8c45fSAndroid Build Coastguard Worker ], 151*38e8c45fSAndroid Build Coastguard Worker host_supported: true, 152*38e8c45fSAndroid Build Coastguard Worker vendor_available: true, 153*38e8c45fSAndroid Build Coastguard Worker product_available: true, 154*38e8c45fSAndroid Build Coastguard Worker 155*38e8c45fSAndroid Build Coastguard Worker // Currently necessary for host builds 156*38e8c45fSAndroid Build Coastguard Worker // TODO(b/31559095): bionic on host should define this 157*38e8c45fSAndroid Build Coastguard Worker target: { 158*38e8c45fSAndroid Build Coastguard Worker darwin: { 159*38e8c45fSAndroid Build Coastguard Worker enabled: false, 160*38e8c45fSAndroid Build Coastguard Worker }, 161*38e8c45fSAndroid Build Coastguard Worker }, 162*38e8c45fSAndroid Build Coastguard Worker apex_available: [ 163*38e8c45fSAndroid Build Coastguard Worker "//apex_available:platform", 164*38e8c45fSAndroid Build Coastguard Worker "//apex_available:anyapex", 165*38e8c45fSAndroid Build Coastguard Worker ], 166*38e8c45fSAndroid Build Coastguard Worker min_sdk_version: "Tiramisu", 167*38e8c45fSAndroid Build Coastguard Worker} 168*38e8c45fSAndroid Build Coastguard Worker 169*38e8c45fSAndroid Build Coastguard Workerrust_bindgen { 170*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_ndk_bindgen_on_trusty_mock", 171*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_ndk_bindgen", 172*38e8c45fSAndroid Build Coastguard Worker wrapper_src: "sys/BinderBindings.hpp", 173*38e8c45fSAndroid Build Coastguard Worker source_stem: "bindings", 174*38e8c45fSAndroid Build Coastguard Worker defaults: [ 175*38e8c45fSAndroid Build Coastguard Worker "trusty_mock_defaults", 176*38e8c45fSAndroid Build Coastguard Worker ], 177*38e8c45fSAndroid Build Coastguard Worker 178*38e8c45fSAndroid Build Coastguard Worker bindgen_flag_files: [ 179*38e8c45fSAndroid Build Coastguard Worker // Unfortunately the only way to specify the rust_non_exhaustive enum 180*38e8c45fSAndroid Build Coastguard Worker // style for a type is to make it the default 181*38e8c45fSAndroid Build Coastguard Worker // and then specify constified enums for the enums we don't want 182*38e8c45fSAndroid Build Coastguard Worker // rustified 183*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_bindgen_flags.txt", 184*38e8c45fSAndroid Build Coastguard Worker ], 185*38e8c45fSAndroid Build Coastguard Worker cflags: [ 186*38e8c45fSAndroid Build Coastguard Worker "-DANDROID_PLATFORM", 187*38e8c45fSAndroid Build Coastguard Worker ], 188*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 189*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_on_trusty_mock", 190*38e8c45fSAndroid Build Coastguard Worker "libc++", 191*38e8c45fSAndroid Build Coastguard Worker ], 192*38e8c45fSAndroid Build Coastguard Worker} 193*38e8c45fSAndroid Build Coastguard Worker 194*38e8c45fSAndroid Build Coastguard Workerrust_test { 195*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_rs-internal_test", 196*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder", 197*38e8c45fSAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 198*38e8c45fSAndroid Build Coastguard Worker test_suites: ["general-tests"], 199*38e8c45fSAndroid Build Coastguard Worker auto_gen_config: true, 200*38e8c45fSAndroid Build Coastguard Worker shared_libs: [ 201*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk", 202*38e8c45fSAndroid Build Coastguard Worker ], 203*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 204*38e8c45fSAndroid Build Coastguard Worker "libbinder_ndk_sys", 205*38e8c45fSAndroid Build Coastguard Worker "libdowncast_rs", 206*38e8c45fSAndroid Build Coastguard Worker "liblibc", 207*38e8c45fSAndroid Build Coastguard Worker "liblog_rust", 208*38e8c45fSAndroid Build Coastguard Worker ], 209*38e8c45fSAndroid Build Coastguard Worker} 210*38e8c45fSAndroid Build Coastguard Worker 211*38e8c45fSAndroid Build Coastguard Workerrust_test { 212*38e8c45fSAndroid Build Coastguard Worker name: "libbinder_ndk_bindgen_test", 213*38e8c45fSAndroid Build Coastguard Worker srcs: [":libbinder_ndk_bindgen"], 214*38e8c45fSAndroid Build Coastguard Worker crate_name: "binder_ndk_bindgen", 215*38e8c45fSAndroid Build Coastguard Worker test_suites: ["general-tests"], 216*38e8c45fSAndroid Build Coastguard Worker auto_gen_config: true, 217*38e8c45fSAndroid Build Coastguard Worker clippy_lints: "none", 218*38e8c45fSAndroid Build Coastguard Worker lints: "none", 219*38e8c45fSAndroid Build Coastguard Worker rustlibs: [ 220*38e8c45fSAndroid Build Coastguard Worker "liblibc", 221*38e8c45fSAndroid Build Coastguard Worker ], 222*38e8c45fSAndroid Build Coastguard Worker} 223