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 "libbt_common", 36 "libcxx", 37 ], 38 proc_macros: [ 39 "libpaste", 40 ], 41 apex_available: [ 42 "com.android.btservices", 43 ], 44 min_sdk_version: "30", 45} 46 47rust_library_rlib { 48 name: "libbt_shim", 49 defaults: ["libbt_shim_defaults"], 50} 51 52rust_ffi_static { 53 name: "libbt_shim_ffi", 54 defaults: ["libbt_shim_defaults"], 55} 56 57cc_library_static { 58 name: "libbt_shim_bridge", 59 defaults: [ 60 "gd_ffi_defaults", 61 ], 62 generated_headers: [ 63 "cxx-bridge-header", 64 "libbt_init_flags_bridge_header", 65 ], 66 generated_sources: [ 67 "libbt_init_flags_bridge_code", 68 ], 69 export_generated_headers: [ 70 "cxx-bridge-header", 71 "libbt_init_flags_bridge_header", 72 ], 73 include_dirs: [ 74 "packages/modules/Bluetooth/system/gd", 75 ], 76 cflags: [ 77 "-Wno-unused-const-variable", 78 ], 79 host_supported: true, 80 apex_available: [ 81 "com.android.btservices", 82 ], 83 min_sdk_version: "30", 84} 85 86cc_library_static { 87 name: "libbluetooth_rust_interop", 88 defaults: [ 89 "gd_ffi_defaults", 90 ], 91 static_libs: [ 92 "libbt_shim_bridge", 93 "libbt_shim_ffi", 94 ], 95 host_supported: true, 96 apex_available: [ 97 "com.android.btservices", 98 ], 99 min_sdk_version: "30", 100} 101 102genrule { 103 name: "libbt_init_flags_bridge_header", 104 tools: ["cxxbridge"], 105 cmd: "$(location cxxbridge) $(in) --header > $(out)", 106 srcs: ["src/init_flags.rs"], 107 out: ["src/init_flags.rs.h"], 108} 109 110genrule { 111 name: "libbt_init_flags_bridge_code", 112 tools: ["cxxbridge"], 113 cmd: "$(location cxxbridge) $(in) >> $(out)", 114 srcs: ["src/init_flags.rs"], 115 out: ["init_flags.cc"], 116} 117