A Toolchain is simply a set of binary packages.
A package simply has a name and a path. It may also be associated to a toolchain file, relative to its path
A toolchain is a set of packages
If has a name that will later be used as ‘build config’ by the toc object.
It has a configuration in ~/.config/qi/toolchains/<name.cfg> looking like:
[package foo]
path = '~/.cache/share/qi/ .... '
toolchain_file = '...'
[package naoqi-sdk]
path = 'path/to/naoqi-sdk'
thus added packages are stored permanentely.
The name of the toolchain
The path to the generated toolchain file. Usually in .cache/qi/toolchains/<name>/toolchain-<name>.cmake)) It sets CMAKE_FIND_ROOT_PATH and includes the necessary toolchain files, for instance:
# Autogenerted file
include("/path/to/a/ctc/cross-config.cmake")
list(INSERT CMAKE_FIND_ROOT_PATH 0 "/path/to/a/ctc")
list(INSERT CMAKE_FIND_ROOT_PATH 0 "/path/to/a/package")
Get the path to a package
Remove a package from this toolchain
Remove self.
Clean cache, remove all packages, remove self from configuration
Parse an xml feed, adding packages to self while doing so See Parsing toolchain feeds and qitoolchain.feed for details