aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/c.py5
-rw-r--r--mesonbuild/compilers/compilers.py2
-rw-r--r--mesonbuild/compilers/fortran.py13
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):