1package { 2 // See: http://go/android-license-faq 3 // A large-scale-change added 'default_applicable_licenses' to import 4 // all of the 'license_kinds' from "system_bt_license" 5 // to get the below license kinds: 6 // SPDX-license-identifier-Apache-2.0 7 default_applicable_licenses: ["system_bt_license"], 8} 9 10rust_defaults { 11 name: "gd_rust_defaults", 12 target: { 13 darwin: { 14 enabled: false, 15 }, 16 }, 17 host_supported: true, 18} 19 20cc_defaults { 21 name: "gd_ffi_defaults", 22 target: { 23 darwin: { 24 enabled: false, 25 }, 26 }, 27} 28 29rust_defaults { 30 name: "libbt_shim_defaults", 31 defaults: ["gd_rust_defaults"], 32 crate_name: "bt_shim", 33 srcs: ["src/lib.rs"], 34 rustlibs: [ 35 "libbluetooth_rs", 36 "libbt_common", 37 "libbt_facade_helpers", 38 "libbt_packets", 39 "libcxx", 40 "libfutures", 41 "liblazy_static", 42 "liblog_rust", 43 "libnix", 44 "libnum_traits", 45 "libtokio", 46 ], 47 proc_macros: [ 48 "libpaste", 49 ], 50 apex_available: [ 51 "com.android.btservices", 52 ], 53 min_sdk_version: "30", 54} 55 56rust_library_rlib { 57 name: "libbt_shim", 58 defaults: ["libbt_shim_defaults"], 59} 60 61rust_ffi_static { 62 name: "libbt_shim_ffi", 63 defaults: ["libbt_shim_defaults"], 64} 65 66cc_library_static { 67 name: "libbt_shim_bridge", 68 defaults: [ 69 "gd_ffi_defaults", 70 "libchrome_support_defaults", 71 ], 72 generated_headers: [ 73 "cxx-bridge-header", 74 "libbt_init_flags_bridge_header", 75 ], 76 generated_sources: [ 77 "libbt_init_flags_bridge_code", 78 ], 79 export_generated_headers: [ 80 "cxx-bridge-header", 81 "libbt_init_flags_bridge_header", 82 ], 83 include_dirs: [ 84 "packages/modules/Bluetooth/system/gd", 85 ], 86 cflags: [ 87 "-Wno-unused-const-variable", 88 ], 89 host_supported: true, 90 apex_available: [ 91 "com.android.btservices", 92 ], 93 min_sdk_version: "30", 94} 95 96cc_library_static { 97 name: "libbluetooth_rust_interop", 98 defaults: [ 99 "gd_ffi_defaults", 100 "libchrome_support_defaults", 101 ], 102 static_libs: [ 103 "libbt_shim_bridge", 104 "libbt_shim_ffi", 105 ], 106 host_supported: true, 107 apex_available: [ 108 "com.android.btservices", 109 ], 110 min_sdk_version: "30", 111} 112 113genrule { 114 name: "libbt_init_flags_bridge_header", 115 tools: ["cxxbridge"], 116 cmd: "$(location cxxbridge) $(in) --header > $(out)", 117 srcs: ["src/init_flags.rs"], 118 out: ["src/init_flags.rs.h"], 119} 120 121genrule { 122 name: "libbt_init_flags_bridge_code", 123 tools: ["cxxbridge"], 124 cmd: "$(location cxxbridge) $(in) >> $(out)", 125 srcs: ["src/init_flags.rs"], 126 out: ["init_flags.cc"], 127} 128