- Shell 100%
| build.sh | ||
| config.powerpc-none-eabi | ||
| Dockerfile-buildtools | ||
| Dockerfile-crosstool | ||
| Dockerfile-toolchain | ||
| README.md | ||
🛠️🐋 Crosstool-docker
Crosstool-docker is a framework for building docker images with crosstool-ng toolchains installed.
The image name is roobre/crosstool-ng by default, but can be overridden by setting DOCKER_BASENAME.
build.sh will create the following docker images:
-
roobre/crosstool-ng:buildtools:buildtoolsimage is an alpine-based image containing most tools needed for compiling C and C++ code. Apart from GCC and libs, it also includes:- git, wget and curl, for fetching packages and repos
- astyle, clang-analyzer, clang-extra-tools and valgrind, for static analysis and linting
- doxygen, for generating docs
- reviewdog, for commenting on CI pull requests
-
roobre/crosstool-ng:crosstool:crosstoolis thebuildtoolsimage plus the installation of crosstool-ng itself. This image is used to generate the target toolchain based on config files. -
roobre/crosstool-ng:*: Images containing toolchains are created fromconfig.*files present in the WD when invocatingbuild.sh. Said script will copy eachconfig.*inside thecrosstoolimage, and run crosstool-ng to produce a toolchain using it. This toolchain will be installed into what will be the final image, based onbuildtools, and tagged asroobre/crosstool-ng:*, where*is the suffix of eachconfig.*file.- The resulting image will not have crosstool-ng installed, only the produced toolchain.
TODO
- Create a
configs/dir, for better organization. - Provide a better way of generating config files for crosstool-ng.