6.1.2.2. AxivionCompiler

Use Axivion C/C++ compiler and linker directly on source files without build system

This rule calls cafeCC in order to compile and link one or more source files into one IR file depending on the options specified.

Options

The following places define options that affect this rule: BuildSystemIntegration, Project-GlobalOptions

abort_on_error

abort_on_error : bool = True

If set to true and the build step returns a non-zero exit-code, the build is aborted. Otherwise a non-zero exit-code is logged but the build continues.
 

cwd

cwd : bauhaus.analysis.config.ProjectRelativePath | None = None

Directory for execution of cafeCC. Defaults to /Project/directory if left unspecified.
 

environment

environment : dict[str, str] = {}

Environment for extending the call of cafeCC. These entries are added to the environment and existing ones will be overwritten.
 

ir

ir : bauhaus.analysis.config.PlainPath | None = None

Name of the resulting IR. If left unspecified, the one specified as /Project/ir will be used.

If specified, it is interpreted relative to /Project/directory (or cwd if set).

 

options

options : str | None = None

Additional options for cafeCC according to the selected compiler profile (e.g. -Iinc -DHAVE_FOO=1 -std=c++11 etc.).
 

source_files

source_files : list[bauhaus.analysis.config.FileGlobPattern] = []

Source file names (interpreted relative to /Project/directory, or cwd if set).

The globbing patterns use Python glob.glob(..., recursive=True), so that ** can be used for recursive directory matching.