Skip to content
/ tcb Public

Toolchain builder. Uses github.com/staffano/meta-crosstools, docker and go to build toolchains.

License

Notifications You must be signed in to change notification settings

staffano/tcb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tcb

This is a tool for building toolchains based on gcc. The toolchains are built using bitbake which means we need a linux environment to run in. By running in a Docker container we are able to execute these builds independently of the user operating system, as long as there is a docker engine available. Finally, by using go as the client interface we can provide the same client tool for both windows and linux environments.

Configuration

We are able to build a range of compilers based on different versions of gcc, libc, kernel and target, host, build-triplets. tcb uses <name>.conf files inside the meta-crosstools/conf/toolchains/ directory to identify the kind of compilers it can build.

So, in order to build the native-mingw configuration, which is a cross-compiler from x86_64-pc-linux-gnu to x86_64-w64-mingw32, one would issue:

>tcb install native-mingw

By default tcb will clone the https://github.com/staffano/meta-crosstools repository to use as the backbone builder, but this can be overridden by the builder.repo.url flag to the tcb command. For all commands and flags avaialable to the tcb command, please use

>tcb --help

Example

List available toolchains

>tcb ls

Build all toolchains from scratch

Note that this will consume a lot of disk space and patience...

>go get github.com/staffano/tcb
>go install github.com/staffano/tcb
>go install all

Clean up

Sometimes stuff will end up in a strange state and the easiest path to make a clean restart.

>docker volume rm bb-build-vol
>docker system prune -a
>rm -rf ~/tcb_workspace

License

See LICENSE.

About

Toolchain builder. Uses github.com/staffano/meta-crosstools, docker and go to build toolchains.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages