build.sbt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. val chiselVersion = "3.4.3"
  2. scalaVersion := "2.12.10"
  3. lazy val commonSettings = Seq(
  4. scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"),
  5. libraryDependencies ++= Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value),
  6. libraryDependencies ++= Seq("org.json4s" %% "json4s-jackson" % "3.6.1"),
  7. libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "3.2.0" % "test"),
  8. addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full),
  9. resolvers ++= Seq(
  10. Resolver.sonatypeRepo("snapshots"),
  11. Resolver.sonatypeRepo("releases"),
  12. Resolver.mavenLocal
  13. )
  14. )
  15. lazy val chiselSettings = Seq(
  16. libraryDependencies ++= Seq("edu.berkeley.cs" %% "chisel3" % chiselVersion),
  17. addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % chiselVersion cross CrossVersion.full)
  18. )
  19. lazy val `api-config-chipsalliance` = (project in file("api-config-chipsalliance/build-rules/sbt"))
  20. .settings(commonSettings)
  21. lazy val hardfloat = (project in file("berkeley-hardfloat"))
  22. .settings(commonSettings, chiselSettings)
  23. lazy val rocketMacros = (project in file("rocket-chip/macros"))
  24. .settings(commonSettings)
  25. lazy val `rocket-chip` = (Project("rocket-chip", file("rocket-chip/src")))
  26. .settings(commonSettings, chiselSettings)
  27. .settings(
  28. scalaSource in Compile := baseDirectory.value / "main" / "scala",
  29. resourceDirectory in Compile := baseDirectory.value / "main" / "resources"
  30. )
  31. .dependsOn(rocketMacros)
  32. .dependsOn(`api-config-chipsalliance`)
  33. .dependsOn(hardfloat)
  34. lazy val `block-inclusive-cache` = (project in file("block-inclusivecache-sifive"))
  35. .settings(commonSettings, chiselSettings)
  36. .settings(
  37. scalaSource in Compile := baseDirectory.value / "design" / "craft" / "inclusivecache",
  38. )
  39. .dependsOn(`rocket-chip`)
  40. lazy val chiseltest = (project in file("chiseltest"))
  41. .settings(commonSettings, chiselSettings)
  42. lazy val xiangshan = (Project("XiangShan", base = file(".")))
  43. .settings(commonSettings, chiselSettings)
  44. .dependsOn(`rocket-chip`, `block-inclusive-cache`, chiseltest)