diff options
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r-- | mesonbuild/compilers/c.py | 5 | ||||
-rw-r--r-- | mesonbuild/compilers/compilers.py | 2 | ||||
-rw-r--r-- | mesonbuild/compilers/fortran.py | 13 |
3 files changed, 15 insertions, 5 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index a8be2b0..c0cd0bc 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -19,6 +19,7 @@ import subprocess import functools import itertools from pathlib import Path +from typing import List from .. import mlog from .. import coredata @@ -456,7 +457,7 @@ class CCompiler(Compiler): return self.compiles(code, env, extra_args=extra_args, dependencies=dependencies, mode='link') - def run(self, code, env, *, extra_args=None, dependencies=None): + def run(self, code: str, env, *, extra_args=None, dependencies=None): if self.is_cross and self.exe_wrapper is None: raise CrossNoRunException('Can not run test applications in this cross environment.') with self._build_wrapper(code, env, extra_args, dependencies, mode='link', want_output=True) as p: @@ -978,7 +979,7 @@ class CCompiler(Compiler): return [f.as_posix()] @staticmethod - def _get_file_from_list(files): + def _get_file_from_list(files: List[str]) -> str: for f in files: if os.path.isfile(f): return f diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py index b1f3cc2..97e2b94 100644 --- a/mesonbuild/compilers/compilers.py +++ b/mesonbuild/compilers/compilers.py @@ -1795,7 +1795,7 @@ class ArmclangCompiler: EnvironmentException('armlink version string not found') # Using the regular expression from environment.search_version, # which is used for searching compiler version - version_regex = '(?<!(\d|\.))(\d{1,2}(\.\d+)+(-[a-zA-Z0-9]+)?)' + version_regex = r'(?<!(\d|\.))(\d{1,2}(\.\d+)+(-[a-zA-Z0-9]+)?)' linker_ver = re.search(version_regex, ver_str) if linker_ver: linker_ver = linker_ver.group(0) diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index e7486db..c29c4bd 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -11,6 +11,8 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. +from typing import List +import subprocess, os from .c import CCompiler from .compilers import ( @@ -29,7 +31,7 @@ from .compilers import ( ) from mesonbuild.mesonlib import EnvironmentException, is_osx -import subprocess, os + class FortranCompiler(Compiler): library_dirs_cache = CCompiler.library_dirs_cache @@ -228,7 +230,7 @@ end program prog dependencies=dependencies) def run(self, code, env, *, extra_args=None, dependencies=None): - return CCompiler.run(self, code, env, extra_args, dependencies) + return CCompiler.run(self, code, env, extra_args=extra_args, dependencies=dependencies) def _get_patterns(self, *args, **kwargs): return CCompiler._get_patterns(self, *args, **kwargs) @@ -263,6 +265,13 @@ end program prog def has_multi_arguments(self, args, env): return CCompiler.has_multi_arguments(self, args, env) + @classmethod + def _get_trials_from_pattern(cls, pattern, directory, libname): + return CCompiler._get_trials_from_pattern(pattern, directory, libname) + + @staticmethod + def _get_file_from_list(files) -> List[str]: + return CCompiler._get_file_from_list(files) class GnuFortranCompiler(GnuCompiler, FortranCompiler): def __init__(self, exelist, version, compiler_type, is_cross, exe_wrapper=None, defines=None, **kwargs): |