-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to Chisel 3.4.0 and FIRRTL 1.4.0 #2617
Conversation
DONT MERGE because this currently points to branches of chisel3 and firrtl, will need 3.4.0-RC2 with some bug fixes and improvements before we can actually merge this. |
I'm not bothering with the Wit manifest yet because this will require a bump to the |
46c1571
to
53efa00
Compare
197ff74
to
51052e6
Compare
51052e6
to
dd8194e
Compare
dcce771
to
f2ae244
Compare
f2ae244
to
6b52d13
Compare
6b52d13
to
714577d
Compare
3b3cbdc
to
7f3274f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe add something to the readme about when to use/who should use ./scripts/swap-sbt-build
?
*I guess it could be used by me or whoever when bumping Chisel and FIRRTL if it involves switching between building from source and from published artifacts but that's rare and it doesn't save much effort there. |
Right, I was thinking you were using it to switch between the two. Maybe another way of framing my comment is: you are adding a discussion to the readme of how to modify |
Right, it's a little subtle so I understand your confusion and I'm trying to figure out the best way to express it. Basically, the existence of |
So then do you view this more as a one way street, where after a certain point in any given branch timeline only the published artifacts are used / the file no longer exists? Or is this something that is going to get toggled back and forth on different branches depending on the workflow of the particular user (i.e. devs working on chisel and firrtl versus everyone else?) |
I'm honestly not sure. My hope is that it's more-or-less a one way street; master (and hopefully someday releases) always work with released versions of chisel and firrtl while weird backport or tapeout branches will likely build from source. That being said, this is the first time moving to published versions so it's hard to say how it will pan out. |
3a1d548
to
9431313
Compare
Use sbt-sriracha for fully SBT-managed source dependencies. They are also toggleable via JVM System Properties: sbt.sourcemode and sbt.workspace. Update Makefiles and build rocketchip fat jar. Support switching between source and published chisel3 and firrtl, test in CI. Document this flow for bumping and describe impact of this flow on IDE use.
This PR kills the FIRRTL fat jar, instead using chipsalliance/chisel#1563 to include FIRRTL as a managed dependency in SBT. It also supports toggling between source and published dependencies, if you delete
.sbtopts
it will use the published dependencies.TODO
Related issue:
Type of change: other enhancement
Impact: API modification (to build API and Makefiles)
Development Phase: implementation
Release Notes
Change build flow to build FIRRTL as SBT-managed dependency and use rocket-chip fat jar in Makefiles