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

[WIP] riotbuild: Split out build logic #226

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

[WIP] riotbuild: Split out build logic #226

wants to merge 3 commits into from

Conversation

maribu
Copy link
Member

@maribu maribu commented Feb 25, 2023

This is work in progress and untested yet

This splits out all the build logic into the bash script build.sh. This
has two advantages:

- Only a single layer is added for this Dockerfile
    - This reduces overhead, especially with the VFS storage driver
    - Still takes full advantage of de-duplication of the layers
      concept: No image is based on intermediate steps anyway
- Improves maintainability
    - Strict split of meta data (--> Dockerfile) and build commands
      (--> build.sh)
    - No need for long `cmd_a && cmd_b && cmd_c && cmd_d` stuff anymore
- Move build logic to ./build.sh to reduce the number of layers generated
- Build uncrustify from source
    - this allows updating it to newer versions without having to touch
      two repositories
- Update uncrustify to the latest stable release
- Remove second MSP430 toolchain
- Update RISC-V toolchain from unmaintained deprecated xpack to new
  xpack version
- update picolibc
- build picolibc also for MSP430
@maribu
Copy link
Member Author

maribu commented Feb 25, 2023

I did some basic testing. The docker image is a bit smaller (10.7 GB vs 14.1 GB) and the new RISC-V toolchain generates smaller binaries. I think the new picolibc version is what was left to switch to picolibc by default. My limited test set showed no compilation failure for a few boards and tests. I think this is promising.

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.

1 participant