Working with the SCons builder
SCons is also a multiplatform build system written in Python, with its configuration files also written in the same language. It also includes support for Microsoft Visual Studio among other features.
Getting ready
SCons parses the SConstruct
files, and by default it does not propagate the environment into the build system. This is to avoid build issues caused by environment differences. This is a complication for Yocto, as it configures the environment with the cross-compilation toolchain settings.
SCons does not define a standard way to support cross-compilation, so every project will implement it differently. For a simple example as the hello world program, we can just initialize the CC
and PATH
variables from the external environment as follows:
import os env = Environment(CC = os.environ['CC'], ENV = {'PATH': os.environ['PATH']}) env.Program("helloworld", "helloworld.c")
How to do it...
The Yocto build system also contains classes with the...