6.1.2.3. AxivionLinker

Use Axivion C/C++ linker directly, with no build system

This rule calls irlink in order to link individual IR files into an output IR file depending on the options specified.

Typical use-cases for this rule are multi-binary projects (i.e. if option /Project/advanced.multi_binary is activated). After the individual targets have been built using the original build system, you can use this rule to link all the separate binaries into one IR file.

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 irlink. Defaults to /Project/directory if left unspecified.
 

environment

environment : dict[str, str] = {}

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

input_files

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

Input 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.

 

ir

ir : bauhaus.analysis.config.PlainPath = 'None (value must be set)'

Name of the resulting IR (interpreted relative to /Project/directory, or cwd if set).

 

options

options : str | None = None

Additional options for irlink (e.g. -i1000 -I50 -w).
 

plugin_files

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

Plugin 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.

Use this option to pass files to the linker that are not linked in statically in the original build but are loaded dynamically with functionality such as LoadLibrary on Windows or dlopen on POSIX.