summaryrefslogtreecommitdiff
path: root/build.sc
diff options
context:
space:
mode:
authormergify[bot]2022-02-01 19:56:13 +0000
committerGitHub2022-02-01 19:56:13 +0000
commitea1ced34b5c9e42412cc0ac3e7431cd3194ccbc3 (patch)
tree2c51bccf3c954b85746e127bf9f7dccca9863a16 /build.sc
parent91ad2312cab72442fcfec9c28576b5464669f8fd (diff)
Chisel plugin bundle elements handler (#2306) (#2380)
Adds generation of `Bundle.elements` method to the chores done by the compiler plugin For each `Bundle` find the relevant visible Chisel field members and construct a hard-coded list of the elements and their names implemented as `_elementsImpl` For more details: See plugins/README.md - Should be no change in API - Handles inheritance and mixins - Handles Seq[Data] - Tests in BundleElementSpec Co-authored-by: chick <chick.markley@sifive.com> Co-authored-by: Jack Koenig <koenig@sifive.com> (cherry picked from commit 237200a420581519f29149cbae9b3e968c0d01fc) Co-authored-by: Chick Markley <chick@qrhino.com>
Diffstat (limited to 'build.sc')
-rw-r--r--build.sc4
1 files changed, 4 insertions, 0 deletions
diff --git a/build.sc b/build.sc
index 1e665a9f..d7dbc6d7 100644
--- a/build.sc
+++ b/build.sc
@@ -107,6 +107,10 @@ class chisel3CrossModule(val crossScalaVersion: String) extends CommonModule wit
object test extends Tests {
override def scalacPluginClasspath = m.scalacPluginClasspath
+ override def scalacOptions = T {
+ super.scalacOptions() ++ Agg("-P:chiselplugin:genBundleElements")
+ }
+
override def ivyDeps = m.ivyDeps() ++ Agg(
ivy"org.scalatest::scalatest:3.2.10",
ivy"org.scalatestplus::scalacheck-1-14:3.2.2.0",