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