| # Copyright 2024 Google LLC | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # https://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| load("@crate_index//:defs.bzl", "aliases") | |
| load("@rules_rust//rust:defs.bzl", "rust_library") | |
| cc_library( | |
| name = "ldt_np_adv_ffi", | |
| hdrs = ["nearby/presence/ldt_np_adv_ffi/c/include/np_ldt.h"], | |
| includes = ["nearby/presence/ldt_np_adv_ffi/c/include"], | |
| visibility = ["//visibility:public"], | |
| deps = [":ldt_np_adv_ffi_rust"], | |
| ) | |
| cc_library( | |
| name = "np_cpp_ffi", | |
| srcs = ["nearby/presence/np_cpp_ffi/nearby_protocol.cc"], | |
| hdrs = ["nearby/presence/np_cpp_ffi/include/nearby_protocol.h"], | |
| includes = [ | |
| "nearby/presence/np_c_ffi/include/cpp", | |
| "nearby/presence/np_cpp_ffi/include", | |
| ], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":np_c_ffi", | |
| "@com_google_absl//absl/status", | |
| "@com_google_absl//absl/status:statusor", | |
| "@com_google_absl//absl/strings", | |
| "@com_google_absl//absl/strings:str_format", | |
| ], | |
| ) | |
| cc_library( | |
| name = "np_c_ffi_types", | |
| hdrs = ["nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h"], | |
| includes = ["nearby/presence/np_c_ffi/include/cpp/"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| cc_binary( | |
| name = "np_cpp_sample", | |
| srcs = ["nearby/presence/np_cpp_ffi/sample/main.cc"], | |
| deps = [ | |
| ":np_c_ffi_types", | |
| ":np_cpp_ffi", | |
| "@com_google_absl//absl/strings", | |
| ], | |
| ) | |
| cc_library( | |
| name = "np_c_ffi", | |
| hdrs = [ | |
| "nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_functions.h", | |
| "nearby/presence/np_c_ffi/include/cpp/np_cpp_ffi_types.h", | |
| ], | |
| includes = ["nearby/presence/np_cpp_ffi/include/cpp"], | |
| deps = [":np_c_ffi_rust"], | |
| ) | |
| rust_library( | |
| name = "np_c_ffi_rust", | |
| srcs = glob(include = ["nearby/presence/np_c_ffi/src/**/*.rs"]), | |
| crate_features = ["std"], | |
| deps = [ | |
| ":lock_adapter", | |
| ":np_ffi_core", | |
| ], | |
| ) | |
| rust_library( | |
| name = "np_ffi_core", | |
| srcs = glob(include = ["nearby/presence/np_ffi_core/src/**/*.rs"]), | |
| crate_features = ["crypto_provider/raw_private_key_permit"], | |
| proc_macro_deps = ["@crate_index//:strum_macros"], | |
| deps = [ | |
| ":array_view", | |
| ":crypto_provider", | |
| ":crypto_provider_default", | |
| ":handle_map", | |
| ":ldt_np_adv", | |
| ":lock_adapter", | |
| ":np_adv", | |
| ":np_adv_dynamic", | |
| ":np_hkdf", | |
| "@crate_index//:lazy_static", | |
| "@crate_index//:strum", | |
| ], | |
| ) | |
| rust_library( | |
| name = "np_adv_dynamic", | |
| srcs = glob(include = ["nearby/presence/np_adv_dynamic/src/**/*.rs"]), | |
| deps = [ | |
| ":array_view", | |
| ":crypto_provider", | |
| ":np_adv", | |
| ":sink", | |
| "@crate_index//:thiserror", | |
| ], | |
| ) | |
| rust_library( | |
| name = "handle_map", | |
| srcs = glob(include = ["common/handle_map/src/**/*.rs"]), | |
| deps = [":lock_adapter"], | |
| ) | |
| rust_library( | |
| name = "lock_adapter", | |
| srcs = glob(include = ["common/lock_adapter/src/**/*.rs"]), | |
| crate_features = ["std"], | |
| ) | |
| rust_library( | |
| name = "np_adv", | |
| srcs = glob(include = ["nearby/presence/np_adv/src/**/*.rs"]), | |
| crate_features = ["alloc"], | |
| proc_macro_deps = ["@crate_index//:strum_macros"], | |
| deps = [ | |
| ":array_view", | |
| ":crypto_provider", | |
| ":ldt", | |
| ":ldt_np_adv", | |
| ":np_ed25519", | |
| ":np_hkdf", | |
| ":sink", | |
| ":xts_aes", | |
| "@crate_index//:lazy_static", | |
| "@crate_index//:nom", | |
| "@crate_index//:strum", | |
| "@crate_index//:tinyvec", | |
| ], | |
| ) | |
| rust_library( | |
| name = "np_ed25519", | |
| srcs = glob( | |
| include = ["nearby/presence/np_ed25519/src/**/*.rs"], | |
| ), | |
| deps = [ | |
| ":array_view", | |
| ":crypto_provider", | |
| ":ldt", | |
| ":sink", | |
| ":xts_aes", | |
| "@crate_index//:tinyvec", | |
| ], | |
| ) | |
| cc_binary( | |
| name = "main", | |
| srcs = ["nearby/presence/ldt_np_adv_ffi/c/sample/main.c"], | |
| deps = [":ldt_np_adv_ffi"], | |
| ) | |
| rust_library( | |
| name = "ldt_np_adv_ffi_rust", | |
| srcs = glob(["nearby/presence/ldt_np_adv_ffi/src/**/*.rs"]), | |
| crate_features = ["std"], | |
| deps = [ | |
| ":crypto_provider", | |
| ":crypto_provider_default", | |
| ":ldt", | |
| ":ldt_np_adv", | |
| ":np_hkdf", | |
| "@crate_index//:cfg-if", | |
| "@crate_index//:lazy_static", | |
| ], | |
| ) | |
| rust_library( | |
| name = "ldt_np_adv", | |
| srcs = glob(["nearby/presence/ldt_np_adv/src/**/*.rs"]), | |
| deps = [ | |
| ":array_view", | |
| ":crypto_provider", | |
| ":ldt", | |
| ":np_hkdf", | |
| ":xts_aes", | |
| ], | |
| ) | |
| rust_library( | |
| name = "np_hkdf", | |
| srcs = glob(["nearby/presence/np_hkdf/src/**/*.rs"]), | |
| deps = [ | |
| ":crypto_provider", | |
| ":ldt", | |
| ":xts_aes", | |
| ], | |
| ) | |
| rust_library( | |
| name = "crypto_provider", | |
| srcs = glob(["nearby/crypto/crypto_provider/src/**/*.rs"]), | |
| crate_features = [ | |
| "raw_private_key_permit", | |
| "std", | |
| "alloc", | |
| ], | |
| deps = ["@crate_index//:tinyvec"], | |
| ) | |
| rust_library( | |
| name = "crypto_provider_default", | |
| srcs = glob(["nearby/crypto/crypto_provider_default/src/**/*.rs"]), | |
| crate_features = [ | |
| "rustcrypto", | |
| "std", | |
| ], | |
| deps = [ | |
| ":crypto_provider", | |
| ":crypto_provider_rustcrypto", | |
| "@crate_index//:cfg-if", | |
| ], | |
| ) | |
| rust_library( | |
| name = "crypto_provider_rustcrypto", | |
| srcs = glob(["nearby/crypto/crypto_provider_rustcrypto/src/**/*.rs"]), | |
| crate_features = [ | |
| "std", | |
| "alloc", | |
| ], | |
| deps = [ | |
| ":crypto_provider", | |
| "@crate_index//:aead", | |
| "@crate_index//:aes", | |
| "@crate_index//:aes-gcm", | |
| "@crate_index//:aes-gcm-siv", | |
| "@crate_index//:cbc", | |
| "@crate_index//:cfg-if", | |
| "@crate_index//:ctr", | |
| "@crate_index//:ed25519-dalek", | |
| "@crate_index//:hkdf", | |
| "@crate_index//:hmac", | |
| "@crate_index//:p256", | |
| "@crate_index//:rand", | |
| "@crate_index//:rand_chacha", | |
| "@crate_index//:rand_core", | |
| "@crate_index//:sec1", | |
| "@crate_index//:sha2", | |
| "@crate_index//:subtle", | |
| "@crate_index//:x25519-dalek", | |
| ], | |
| ) | |
| rust_library( | |
| name = "ldt_tbc", | |
| srcs = glob(["nearby/presence/ldt_tbc/src/**/*.rs"]), | |
| deps = [":crypto_provider"], | |
| ) | |
| rust_library( | |
| name = "ldt", | |
| srcs = glob(["nearby/presence/ldt/src/**/*.rs"]), | |
| deps = [ | |
| ":crypto_provider", | |
| ":ldt_tbc", | |
| ], | |
| ) | |
| rust_library( | |
| name = "xts_aes", | |
| srcs = glob(["nearby/presence/xts_aes/src/**/*.rs"]), | |
| deps = [ | |
| ":array_ref", | |
| ":crypto_provider", | |
| ":ldt_tbc", | |
| ], | |
| ) | |
| rust_library( | |
| name = "array_view", | |
| srcs = glob(["nearby/presence/array_view/src/**/*.rs"]), | |
| ) | |
| rust_library( | |
| name = "array_ref", | |
| srcs = glob(["nearby/presence/array_ref/src/**/*.rs"]), | |
| ) | |
| rust_library( | |
| name = "sink", | |
| srcs = glob(["nearby/presence/sink/src/**/*.rs"]), | |
| deps = ["@crate_index//:tinyvec"], | |
| ) |