load("@rules_cc//cc:defs.bzl", "cc_library") load("@rules_rust//rust:defs.bzl", "rust_binary") # A rust_binary that depends on two native libs with the same name. # See https://github.com/bazelbuild/rules_rust/issues/840. rust_binary( name = "bin_with_same_name_deps", srcs = ["bin.rs"], deps = [ "//ambiguous_deps/x:exc", "//ambiguous_deps/y:exc", ], ) # A rust_binary that depends on a native library with a name that doesn't # match the `lib.a` pattern on linux. rust_binary( name = "nonstandard_name_bin", srcs = ["nonstandard_name_bin.rs"], deps = [":nonstandard_name_intermediate"], ) cc_library( name = "nonstandard_name_cc_lib", srcs = ["cc_library_with_func.cc"], ) genrule( name = "nonstandard_name_gen", srcs = [":nonstandard_name_cc_lib"], outs = ["nonstandard_name_gen.a"], # Copy the first member (libnonstandard_name_cc_lib.a) from the srcs to the # output nonstandard_name_gen.a. cmd = "cp $$(awk '{print $$1}' <<< '$(SRCS)') $@", ) cc_library( name = "nonstandard_name_intermediate", srcs = [":nonstandard_name_gen.a"], )