Skip to content
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

improve building without docker #46

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

improve building without docker #46

wants to merge 1 commit into from

Conversation

BracketMaster
Copy link

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 BracketMaster changed the title poper support for local makefiles proper support for local makefiles Sep 27, 2021
@BracketMaster
Copy link
Author

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...

Signed-off-by: Yehowshua Immanuel <[email protected]>
@BracketMaster BracketMaster changed the title proper support for local makefiles improve building without docker Sep 27, 2021
@antonblanchard
Copy link
Owner

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

@BracketMaster
Copy link
Author

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.

@carlosedp
Copy link
Contributor

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.

@BracketMaster
Copy link
Author

oh - does fusesoc invoke verilator simulations too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants