diff options
Diffstat (limited to 'mesonbuild/dependencies/coarrays.py')
| -rw-r--r-- | mesonbuild/dependencies/coarrays.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/mesonbuild/dependencies/coarrays.py b/mesonbuild/dependencies/coarrays.py index 0c8750ced..d75eb5857 100644 --- a/mesonbuild/dependencies/coarrays.py +++ b/mesonbuild/dependencies/coarrays.py @@ -6,6 +6,7 @@ from __future__ import annotations import functools import typing as T +from ..mesonlib import MachineChoice from .base import DependencyMethods, detect_compiler, SystemDependency from .cmake import CMakeDependency from .detect import packages @@ -15,15 +16,15 @@ from .factory import factory_methods if T.TYPE_CHECKING: from . factory import DependencyGenerator from ..environment import Environment - from ..mesonlib import MachineChoice from .base import DependencyObjectKWs @factory_methods({DependencyMethods.PKGCONFIG, DependencyMethods.CMAKE, DependencyMethods.SYSTEM}) def coarray_factory(env: 'Environment', - for_machine: 'MachineChoice', kwargs: DependencyObjectKWs, methods: T.List[DependencyMethods]) -> T.List['DependencyGenerator']: + kwargs['language'] = 'fortran' + for_machine = kwargs.get('native', MachineChoice.HOST) fcid = detect_compiler('coarray', env, for_machine, 'fortran').get_id() candidates: T.List['DependencyGenerator'] = [] @@ -32,13 +33,13 @@ def coarray_factory(env: 'Environment', if DependencyMethods.PKGCONFIG in methods: for pkg in ['caf-openmpi', 'caf']: candidates.append(functools.partial( - PkgConfigDependency, pkg, env, kwargs, language='fortran')) + PkgConfigDependency, pkg, env, kwargs)) if DependencyMethods.CMAKE in methods: if not kwargs.get('modules'): kwargs['modules'] = ['OpenCoarrays::caf_mpi'] candidates.append(functools.partial( - CMakeDependency, 'OpenCoarrays', env, kwargs, language='fortran')) + CMakeDependency, 'OpenCoarrays', env, kwargs)) if DependencyMethods.SYSTEM in methods: candidates.append(functools.partial(CoarrayDependency, 'coarray', env, kwargs)) @@ -57,7 +58,8 @@ class CoarrayDependency(SystemDependency): low-level MPI calls. """ def __init__(self, name: str, environment: 'Environment', kwargs: DependencyObjectKWs) -> None: - super().__init__(name, environment, kwargs, language='fortran') + kwargs['language'] = 'fortran' + super().__init__(name, environment, kwargs) kwargs['required'] = False kwargs['silent'] = True |
