2016-11-27 16:16:37 -08:00
|
|
|
// See LICENSE.Berkeley for license details.
|
|
|
|
|
2012-10-01 19:30:11 -07:00
|
|
|
import sbt._
|
|
|
|
import Keys._
|
2015-07-22 11:49:10 -07:00
|
|
|
import complete._
|
|
|
|
import complete.DefaultParsers._
|
2016-08-08 19:31:03 -07:00
|
|
|
import xerial.sbt.Pack._
|
2012-10-01 19:30:11 -07:00
|
|
|
|
2012-10-20 17:27:49 -07:00
|
|
|
object BuildSettings extends Build {
|
2012-10-01 19:30:11 -07:00
|
|
|
|
2015-07-22 11:49:10 -07:00
|
|
|
override lazy val settings = super.settings ++ Seq(
|
|
|
|
organization := "berkeley",
|
|
|
|
version := "1.2",
|
2016-03-05 18:42:45 -08:00
|
|
|
scalaVersion := "2.11.7",
|
2013-11-08 15:30:08 -08:00
|
|
|
parallelExecution in Global := false,
|
2013-07-24 23:28:43 -07:00
|
|
|
traceLevel := 15,
|
|
|
|
scalacOptions ++= Seq("-deprecation","-unchecked"),
|
2013-09-26 12:01:46 -07:00
|
|
|
libraryDependencies ++= Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value)
|
2012-10-01 19:30:11 -07:00
|
|
|
)
|
|
|
|
|
2016-08-15 22:03:03 -07:00
|
|
|
lazy val chisel = project in file("chisel3")
|
2015-11-10 13:39:08 -08:00
|
|
|
lazy val hardfloat = project.dependsOn(chisel)
|
2016-11-22 01:53:35 -08:00
|
|
|
lazy val rocketchip = (project in file(".")).settings(chipSettings).dependsOn(chisel, hardfloat)
|
2014-09-25 06:45:09 -07:00
|
|
|
|
2015-07-22 11:49:10 -07:00
|
|
|
lazy val addons = settingKey[Seq[String]]("list of addons used for this build")
|
|
|
|
lazy val make = inputKey[Unit]("trigger backend-specific makefile command")
|
|
|
|
val setMake = NotSpace ~ ( Space ~> NotSpace )
|
2012-11-17 19:58:18 -08:00
|
|
|
|
2016-08-08 19:31:03 -07:00
|
|
|
val chipSettings = packAutoSettings ++ Seq(
|
2015-07-22 11:49:10 -07:00
|
|
|
addons := {
|
|
|
|
val a = sys.env.getOrElse("ROCKETCHIP_ADDONS", "")
|
|
|
|
println(s"Using addons: $a")
|
2015-12-09 14:17:16 -05:00
|
|
|
a.split(" ")
|
2012-10-23 12:51:37 -07:00
|
|
|
},
|
2015-07-22 11:49:10 -07:00
|
|
|
unmanagedSourceDirectories in Compile ++= addons.value.map(baseDirectory.value / _ / "src/main/scala"),
|
2016-09-22 15:59:29 -07:00
|
|
|
mainClass in (Compile, run) := Some("rocketchip.Generator"),
|
2015-07-22 11:49:10 -07:00
|
|
|
make := {
|
|
|
|
val jobs = java.lang.Runtime.getRuntime.availableProcessors
|
|
|
|
val (makeDir, target) = setMake.parsed
|
|
|
|
(run in Compile).evaluated
|
|
|
|
s"make -C $makeDir -j $jobs $target" !
|
2012-10-23 12:51:37 -07:00
|
|
|
}
|
|
|
|
)
|
2012-10-01 19:30:11 -07:00
|
|
|
}
|