fab.tools.tool_box module#

This file contains the ToolBox class.

class fab.tools.tool_box.ToolBox#

Bases: object

This class implements the tool box. It stores one tool for each category to be used in a FAB build.

add_tool(tool, silent_replace=False)#

Adds a tool for a given category.

Parameters:
  • tool (Tool) – the tool to add.

  • silent_replace (bool) – if set, no warning will be printed if an existing tool is replaced. (default: False)

Raises:

RuntimeError – if the tool to be added is not available.

Return type:

None

get_tool(category, mpi=None, openmp=None)#

Returns the tool for the specified category.

Parameters:
  • category (Category) – the name of the category in which to look for the tool.

  • mpi (Optional[bool]) – if no compiler or linker is explicitly specified in this tool box, use the MPI and OpenMP setting to find an appropriate default from the tool repository. (default: None)

  • mpi – if no compiler or linker is explicitly specified in this tool box, use the MPI and OpenMP setting to find an appropriate default from the tool repository.

Raises:

KeyError – if the category is not known.

Return type:

Tool