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

Build for RISC-V by Default #264

Closed
bradjc opened this issue Sep 13, 2021 · 4 comments
Closed

Build for RISC-V by Default #264

bradjc opened this issue Sep 13, 2021 · 4 comments

Comments

@bradjc
Copy link
Contributor

bradjc commented Sep 13, 2021

Currently (as of Sep 2021 at least), to build libtock-c apps for RISC-V boards requires calling make RISCV=1. The reason for this is that it can be hard to get a working RISC-V toolchain easily on every host platform, so it is safer to make building RISC-V apps optional.

However, only building apps for some platforms is against the spirit of building Tock apps (and the .tab format as well), so at the point where it is easy to get a working RISC-V toolchain on every common platform we should remove the RISCV=1 flag entirely and building RISC-V apps by default.

@bradjc
Copy link
Contributor Author

bradjc commented Sep 2, 2022

I guess if fedora could get on board we could probably make the switch? Ubuntu has 22.04 which is an LTS release and newer than 21.10 where toolchain support was added.

@lschuermann
Copy link
Member

I know it's a very niche platform but, for what it's work, Nix(OS) shouldn't cause any troubles here. Same with Arch Linux.

I think the issues around RISC-V are pivoting from obtainability to useability. It's no longer very hard to get a toolchain which is technically useable for the target platforms, but getting the exact right one can be tricky. In theory all RISC-V toolchains should be compatible with all architecture variants, but in practice compiler intrinsics (e.g., libgcc) and libcs are causing issues here. Also, naming conventions deviate between architectures, which can also cause confusion. If we build RISC-V by default, we might need to document installation procedures for even more platforms than we do currently.

@bradjc
Copy link
Contributor Author

bradjc commented Sep 12, 2022

If we build RISC-V by default, we might need to document installation procedures for even more platforms than we do currently.

I have no issue with that. I do think we have to draw the line at some reasonable point, and switch to "if you cannot get a risc-v toolchain then run make NORISCV=1".

@bradjc
Copy link
Contributor Author

bradjc commented Feb 9, 2024

Added in #353

@bradjc bradjc closed this as completed Feb 9, 2024
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 a pull request may close this issue.

2 participants