From 90b4323f5934cd58f4d8f0c891606ad9a274a8df Mon Sep 17 00:00:00 2001 From: Alexander Lyon Date: Wed, 16 Dec 2020 18:01:36 +0000 Subject: [PATCH] Add the CARGO_CRATE_NAME env var --- cargo/cargo_build_script.bzl | 8 +++++--- rust/private/rustc.bzl | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cargo/cargo_build_script.bzl b/cargo/cargo_build_script.bzl index 1aa6f5857f..0372e744ca 100644 --- a/cargo/cargo_build_script.bzl +++ b/cargo/cargo_build_script.bzl @@ -52,7 +52,8 @@ def _build_script_impl(ctx): crate_name = ctx.label.name if crate_name.endswith("_build_script"): crate_name = crate_name.replace("_build_script", "") - crate_name = crate_name.replace("_", "-") + + pkg_name = crate_name.replace("_", "-") toolchain_tools = [ # Needed for rustc to function. @@ -68,7 +69,8 @@ def _build_script_impl(ctx): env.update({ "CARGO_MANIFEST_DIR": manifest_dir, - "CARGO_PKG_NAME": crate_name, + "CARGO_PKG_NAME": pkg_name, + "CARGO_CRATE_NAME": crate_name, "HOST": toolchain.exec_triple, "OPT_LEVEL": compilation_mode_opt_level, "RUSTC": toolchain.rustc.path, @@ -134,7 +136,7 @@ def _build_script_impl(ctx): # See https://doc.rust-lang.org/cargo/reference/build-scripts.html#-sys-packages # for details. args = ctx.actions.args() - args.add_all([script.path, crate_name, links, out_dir.path, env_out.path, flags_out.path, link_flags.path, dep_env_out.path]) + args.add_all([script.path, pkg_name, links, out_dir.path, env_out.path, flags_out.path, link_flags.path, dep_env_out.path]) build_script_inputs = [] for dep in ctx.attr.deps: if DepInfo in dep and dep[DepInfo].dep_env: diff --git a/rust/private/rustc.bzl b/rust/private/rustc.bzl index 8d0817fc21..b11660cf8f 100644 --- a/rust/private/rustc.bzl +++ b/rust/private/rustc.bzl @@ -106,6 +106,7 @@ def _get_rustc_env(ctx, toolchain): "CARGO_PKG_DESCRIPTION": "", "CARGO_PKG_HOMEPAGE": "", "CARGO_PKG_NAME": ctx.label.name, + "CARGO_CRATE_NAME": ctx.label.name.replace("-", "_"), "CARGO_PKG_VERSION_MAJOR": major, "CARGO_PKG_VERSION_MINOR": minor, "CARGO_PKG_VERSION_PATCH": patch,