qitoolchain.toolchain – Handling binary packages

A Toolchain is simply a set of binary packages.

qitoolchain.toolchain.Package

class qitoolchain.toolchain.Package(name, path[, toolchain_file=None)

A package simply has a name and a path. It may also be associated to a toolchain file, relative to its path

qitoolchain.toolchain.Toolchain

class qitoolchain.toolchain.Toolchain(name)

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.

name

The name of the toolchain

packages

A list of Package instances

toolchain_file

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(package_name)

Get the path to a package

add_package(package)

Add a package to this toolchain

Parameters:package – A Package instance
remove_package(name)

Remove a package from this toolchain

remove()

Remove self.

Clean cache, remove all packages, remove self from configuration

parse_feed(feed)

Parse an xml feed, adding packages to self while doing so See Parsing toolchain feeds and qitoolchain.feed for details