summaryrefslogtreecommitdiff
path: root/mesonbuild/dependencies/coarrays.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/dependencies/coarrays.py')
-rw-r--r--mesonbuild/dependencies/coarrays.py12
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