[bazel] Merge :rnd and :mock_rnd
Signed-off-by: Miguel Young de la Sota <mcyoung@google.com>
diff --git a/sw/device/silicon_creator/lib/drivers/BUILD b/sw/device/silicon_creator/lib/drivers/BUILD
index 8e99e57..1537d9b 100644
--- a/sw/device/silicon_creator/lib/drivers/BUILD
+++ b/sw/device/silicon_creator/lib/drivers/BUILD
@@ -404,35 +404,36 @@
],
)
-cc_library(
+dual_cc_library(
name = "rnd",
- srcs = ["rnd.c"],
- hdrs = ["rnd.h"],
- target_compatible_with = [OPENTITAN_CPU],
- deps = [
- ":otp",
- "//hw/ip/otp_ctrl/data:otp_ctrl_regs",
- "//hw/ip/rv_core_ibex/data:rv_core_ibex_regs",
- "//hw/top_earlgrey/sw/autogen:top_earlgrey",
- "//sw/device/lib/base:abs_mmio",
- "//sw/device/lib/base:csr",
- "//sw/device/lib/base:hardened",
- "//sw/device/lib/base:macros",
- ],
-)
-
-cc_library(
- name = "mock_rnd",
- testonly = True,
- hdrs = [
- "mock_rnd.h",
- "rnd.h",
- ],
- deps = [
- "//sw/device/lib/base/testing:global_mock",
- "//sw/device/silicon_creator/testing:mask_rom_test",
- "@googletest//:gtest",
- ],
+ srcs = dual_inputs(
+ device = ["rnd.c"],
+ host = ["mock_rnd.cc"],
+ ),
+ hdrs = dual_inputs(
+ host = ["mock_rnd.h"],
+ shared = ["rnd.h"],
+ ),
+ deps = dual_inputs(
+ device = [
+ ":otp",
+ "//hw/ip/otp_ctrl/data:otp_ctrl_regs",
+ "//hw/ip/rv_core_ibex/data:rv_core_ibex_regs",
+ "//hw/top_earlgrey/sw/autogen:top_earlgrey",
+ "//sw/device/lib/base:abs_mmio",
+ "//sw/device/lib/base:csr",
+ "//sw/device/lib/base:hardened",
+ ],
+ host = [
+ "//sw/device/lib/base/testing:global_mock",
+ "//sw/device/silicon_creator/testing:mask_rom_test",
+ "@googletest//:gtest",
+ ],
+ shared = [
+ "//sw/device/lib/base:macros",
+ "//sw/device/silicon_creator/lib:error",
+ ],
+ ),
)
opentitan_functest(
diff --git a/sw/device/silicon_creator/lib/drivers/mock_rnd.cc b/sw/device/silicon_creator/lib/drivers/mock_rnd.cc
new file mode 100644
index 0000000..9684c41
--- /dev/null
+++ b/sw/device/silicon_creator/lib/drivers/mock_rnd.cc
@@ -0,0 +1,9 @@
+// Copyright lowRISC contributors.
+// Licensed under the Apache License, Version 2.0, see LICENSE for details.
+// SPDX-License-Identifier: Apache-2.0
+
+#include "sw/device/silicon_creator/lib/drivers/mock_rnd.h"
+
+namespace mask_rom_test {
+extern "C" uint32_t rnd_uint32(void) { return MockRnd::Instance().Uint32(); }
+} // namespace mask_rom_test
diff --git a/sw/device/silicon_creator/lib/drivers/mock_rnd.h b/sw/device/silicon_creator/lib/drivers/mock_rnd.h
index 76f0ab8..14460dd 100644
--- a/sw/device/silicon_creator/lib/drivers/mock_rnd.h
+++ b/sw/device/silicon_creator/lib/drivers/mock_rnd.h
@@ -24,11 +24,13 @@
using MockRnd = testing::StrictMock<internal::MockRnd>;
+#ifdef IS_MESON_FOR_MIGRATIONS_ONLY
extern "C" {
uint32_t rnd_uint32(void) { return MockRnd::Instance().Uint32(); }
} // extern "C"
+#endif
} // namespace mask_rom_test
#endif // OPENTITAN_SW_DEVICE_SILICON_CREATOR_LIB_DRIVERS_MOCK_RND_H_
diff --git a/sw/device/silicon_creator/mask_rom/BUILD b/sw/device/silicon_creator/mask_rom/BUILD
index cbb3bac..ac31df3 100644
--- a/sw/device/silicon_creator/mask_rom/BUILD
+++ b/sw/device/silicon_creator/mask_rom/BUILD
@@ -274,8 +274,8 @@
"//sw/device/silicon_creator/lib:sigverify_intf",
"//sw/device/silicon_creator/lib:sigverify_mod_exp_ibex",
"//sw/device/silicon_creator/lib/drivers:lifecycle",
- "//sw/device/silicon_creator/lib/drivers:mock_rnd",
"//sw/device/silicon_creator/lib/drivers:otp",
+ "//sw/device/silicon_creator/lib/drivers:rnd",
"//sw/device/silicon_creator/mask_rom/keys:test_public_keys",
"//sw/device/silicon_creator/testing:mask_rom_test",
"@googletest//:gtest_main",