forked from chipsalliance/rocket-chip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sc
62 lines (47 loc) · 1.56 KB
/
build.sc
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
54
55
56
57
58
59
60
61
62
import mill._
import mill.scalalib._
import mill.scalalib.publish._
import coursier.maven.MavenRepository
import $file.common
import $file.firrtl.build
import $file.chisel3.build
import $file.hardfloat.build
import $file.`api-config-chipsalliance`.`build-rules`.mill.build
object firrtlRocket extends firrtl.build.firrtlCrossModule("2.12.11") {
override def millSourcePath = os.pwd / "firrtl"
}
object chisel3Rocket extends chisel3.build.chisel3CrossModule("2.12.12") {
override def millSourcePath = os.pwd / "chisel3"
def firrtlModule: Option[PublishModule] = Some(firrtlRocket)
}
object configRocket extends `api-config-chipsalliance`.`build-rules`.mill.build.config with PublishModule {
override def millSourcePath = os.pwd / "api-config-chipsalliance" / "design" / "craft"
override def scalaVersion = T {
rocketchip.scalaVersion()
}
override def pomSettings = T {
rocketchip.pomSettings()
}
override def publishVersion = T {
rocketchip.publishVersion()
}
}
object hardfloatRocket extends hardfloat.build.hardfloat {
override def millSourcePath = os.pwd / "hardfloat"
override def scalaVersion = T {
rocketchip.scalaVersion()
}
def chisel3Module: Option[PublishModule] = Some(chisel3Rocket)
}
object rocketchip extends common.CommonRocketChip {
m =>
override def scalaVersion: T[String] = T {
"2.12.10"
}
def chisel3Module = Some(chisel3Rocket)
def hardfloatModule = hardfloatRocket
def configModule = configRocket
def scalacPluginClasspath = super.scalacPluginClasspath() ++ Agg(
chisel3Rocket.plugin.jar()
)
}