1load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") 2load("@rules_rust//rust:defs.bzl", "rust_static_library") 3 4rust_static_library( 5 name = "rust_lib", 6 srcs = ["lib.rs"], 7 edition = "2021", 8) 9 10cc_library( 11 name = "c_lib", 12 srcs = ["lib.c"], 13 hdrs = ["lib.h"], 14 deps = [":rust_lib"], 15) 16 17# Tests that cc_shared_library correctly traverses into 18# `rust_static_library` when linking. 19cc_shared_library( 20 name = "shared", 21 deps = [":c_lib"], 22) 23 24cc_test( 25 name = "test", 26 srcs = ["main.c"], 27 dynamic_deps = [":shared"], 28 linkstatic = True, 29 deps = [":c_lib"], 30) 31