chiselwatt icon indicating copy to clipboard operation
chiselwatt copied to clipboard

improve building without docker

Open BracketMaster opened this issue 4 years ago • 5 comments

It's somewhat not-straightforward to build chiselwatt without docker on Linux. For example, when setting Verilator=verilator we run into the following issues:

After playing around, I believe the best way to get around this is to just have another makefile, namely, local.mk.

BracketMaster avatar Sep 27 '21 17:09 BracketMaster

dockerlator doesn't work on my Apple Silicon Mac since the upstream image is x86 only. Building with a local verilator, yosys, scala, and ecppack works just fine on Apple Silicon however...

BracketMaster avatar Sep 27 '21 17:09 BracketMaster

Thanks @BracketMaster! I just approved a PR from @carlosedp to use fusesoc for building, I wonder if that helps you too?

antonblanchard avatar Sep 27 '21 20:09 antonblanchard

Not really. The issue is that the makefile as currently provided doesn't allow for docker-free building of chiselwatt in verilator without the following changes:

  1. uncommenting these lines
  2. removing $(VERILATOR) here, here, and here.

BracketMaster avatar Sep 27 '21 21:09 BracketMaster

Instead of having another Makefile (that would bring more maintenance), I think a better approach is having some variable passed to make (like LOCALBUILD=true make) and have the ifs in the current Makefile to build with local tools instead.

Also as Anton mentioned, FuseSoc uses by default the local tools and doesn't use the Makefile so it could work in your case. FuseSoc only uses containers if you pass an EDALIZE_LAUNCHER variable as a launch script that wraps the tools in Docker containers.

carlosedp avatar Sep 28 '21 12:09 carlosedp

oh - does fusesoc invoke verilator simulations too?

BracketMaster avatar Sep 28 '21 16:09 BracketMaster