(port_set, settings, cflags_only=False)
| 507 | |
| 508 | |
| 509 | def resolve_dependencies(port_set, settings, cflags_only=False): |
| 510 | def add_deps(node): |
| 511 | sig = signature(node.process_dependencies) |
| 512 | if len(sig.parameters) == 2: |
| 513 | # The optional second parameter here is useful for ports that want |
| 514 | # to mutate linker-only settings. Modifying these settings during the |
| 515 | # compile phase (or in a compile-only) command generates errors. |
| 516 | node.process_dependencies(settings, cflags_only) |
| 517 | else: |
| 518 | node.process_dependencies(settings) |
| 519 | for d in node.deps: |
| 520 | d, _ = split_port_options(d) |
| 521 | if d not in ports_by_name: |
| 522 | utils.exit_with_error(f'unknown dependency `{d}` for port `{node.name}`') |
| 523 | dep = get_port_by_name(d) |
| 524 | if dep not in port_set: |
| 525 | port_set.add(dep) |
| 526 | add_deps(dep) |
| 527 | |
| 528 | for port in port_set.copy(): |
| 529 | add_deps(port) |
| 530 | |
| 531 | |
| 532 | def handle_use_port_error(arg, message): |
no test coverage detected