def get_linker(function): try: return linkers[function] except KeyError: logger.warning('could not find a linker with the function `{}`.\n' 'The available linkers are:\n {}\n' 'New linkers can be added using `add-linker`', function, '\n '.join(str(comp) for comp in compilers.values()))
def __init__(self, interface_file, *dependencies): _Target.__init__(self, interface_file, *dependencies) self.interface_file = interface_file if interface_file[-2:] != ".i": logger.warning( "{} should be initialized with an interface file as the first argument; expected it to end " "with `.i`" ) self.args = [] self.cpp = False self.target_language = None
def load(config_dict): '''Loads the compilers from a dict, which was read from a YAML stream.''' from bs import compilers_and_linkers global instances if 'builders' not in config_dict: logger.warning('No builders defined in configuration.\n{}', Add.help) else: for builder_function, builder_params in config_dict['builders'].items(): builder = Builder(builder_function) builder.compiler = compilers_and_linkers.get_compiler(builder_params.get('compiler.function', builder_function)) builder.linker = compilers_and_linkers.get_linker(builder_params.get('linker.function', builder_function))
def load(config_dict): '''Loads the compilers from a dict, which was read from a YAML stream.''' global instances if 'compilers' not in config_dict: logger.warning('No compilers defined in configuration.') else: comps = config_dict['compilers'] for comp_name, comp_params in comps.items(): compiler = Compiler(comp_params['function'], comp_params['command']) compiler.__dict__.update(comp_params) if 'linkers' not in config_dict: logger.warning('No linkers defined in configuration.') else: comps = config_dict['linkers'] for comp_name, comp_params in comps.items(): linker = Linker(comp_params['function'], comp_params['command']) linker.__dict__.update(comp_params)