blob: 67ec2ac7e6901a286c7f643aa3ecfa7cfb943f4a [file] [log] [blame]
load("//tools/buck:genrule.bzl", "genrule")
def rust_library(
name,
srcs,
features = [],
rustc_flags = [],
build_script = None,
**kwargs):
if build_script:
rust_binary(
name = "%s@build" % name,
srcs = srcs + [build_script],
crate = "build",
crate_root = build_script,
features = features,
rustc_flags = rustc_flags,
)
genrule(
name = "%s@cfg" % name,
out = "output",
cmd = "env RUSTC=rustc TARGET= $(exe :%s@build) | sed -n s/^cargo:rustc-cfg=/--cfg=/p > ${OUT}" % name,
)
rustc_flags = rustc_flags + ["@$(location :%s@cfg)" % name]
native.rust_library(
name = name,
srcs = srcs,
features = features,
rustc_flags = rustc_flags,
**kwargs
)