aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/backend
diff options
context:
space:
mode:
authorMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-06-20 12:31:32 -0400
committerMichael Hirsch, Ph.D <scivision@users.noreply.github.com>2019-06-20 12:31:32 -0400
commit2a7ef98affbdba7a8ea0493fe2376a896e7d848b (patch)
treeaf16bec2267967fbd62748efb6f99f700ab1c1f2 /mesonbuild/backend
parentd3294b58c4b61601bde01fa250f5f1485a3ff0b8 (diff)
downloadmeson-2a7ef98affbdba7a8ea0493fe2376a896e7d848b.zip
meson-2a7ef98affbdba7a8ea0493fe2376a896e7d848b.tar.gz
meson-2a7ef98affbdba7a8ea0493fe2376a896e7d848b.tar.bz2
BUGFIX syntax
Diffstat (limited to 'mesonbuild/backend')
-rw-r--r--mesonbuild/backend/ninjabackend.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py
index 9f9574d..cee2060 100644
--- a/mesonbuild/backend/ninjabackend.py
+++ b/mesonbuild/backend/ninjabackend.py
@@ -38,7 +38,10 @@ from ..mesonlib import get_compiler_for_source, has_path_sep
from .backends import CleanTrees
from ..build import InvalidArguments
-FORTRAN_SUBMOD_PAT = r"\s*submodule\s*\((\w+:?\w+)\)\s*(\w+)\s*$"
+FORTRAN_INCLUDE_PAT = r"#?include\s*['\"](\w+\.\w+)['\"]\s*$"
+FORTRAN_MODULE_PAT = r"\s*\bmodule\b\s+(\w+)"
+FORTRAN_SUBMOD_PAT = r"\s*submodule\s*\((\w+:?\w+)\)\s*(\w+)"
+FORTRAN_USE_PAT = r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)"
if mesonlib.is_windows():
quote_func = lambda s: '"{}"'.format(s)
@@ -1820,7 +1823,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
self.fortran_deps[target.get_basename()] = {}
return
- modre = re.compile(r"\s*\bmodule\b\s+(\w+)\s*$", re.IGNORECASE)
+ modre = re.compile(FORTRAN_MODULE_PAT, re.IGNORECASE)
submodre = re.compile(FORTRAN_SUBMOD_PAT, re.IGNORECASE)
module_files = {}
submodule_files = {}
@@ -1860,7 +1863,7 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47485'''))
self.fortran_deps[target.get_basename()] = {**module_files, **submodule_files}
- def get_fortran_deps(self, compiler: FortranCompiler, src: str, target) -> List[str]:
+ def get_fortran_deps(self, compiler: FortranCompiler, src: Path, target) -> List[str]:
"""
Find all module and submodule needed by a Fortran target
"""
@@ -2750,7 +2753,7 @@ def load(build_dir):
return obj
-def _scan_fortran_file_deps(src: str, srcdir: Path, dirname: Path, tdeps, compiler) -> List[str]:
+def _scan_fortran_file_deps(src: Path, srcdir: Path, dirname: Path, tdeps, compiler) -> List[str]:
"""
scan a Fortran file for dependencies. Needs to be distinct from target
to allow for recursion induced by `include` statements.er
@@ -2767,8 +2770,8 @@ def _scan_fortran_file_deps(src: str, srcdir: Path, dirname: Path, tdeps, compil
* `submodre` is for Fortran >= 2008 `submodule`
"""
- incre = re.compile(r"#?include\s*['\"](\w+\.\w+)['\"]\s*$", re.IGNORECASE)
- usere = re.compile(r"\s*use,?\s*(?:non_intrinsic)?\s*(?:::)?\s*(\w+)", re.IGNORECASE)
+ incre = re.compile(FORTRAN_INCLUDE_PAT, re.IGNORECASE)
+ usere = re.compile(FORTRAN_USE_PAT, re.IGNORECASE)
submodre = re.compile(FORTRAN_SUBMOD_PAT, re.IGNORECASE)
mod_files = []
@@ -2816,7 +2819,7 @@ def _scan_fortran_file_deps(src: str, srcdir: Path, dirname: Path, tdeps, compil
parents = submodmatch.group(1).lower().split(':')
assert len(parents) in (1, 2), (
'submodule ancestry must be specified as'
- ' ancestor:parent but Meson found {}'.parents)
+ ' ancestor:parent but Meson found {}'.format(parents))
ancestor_child = '_'.join(parents)
if ancestor_child not in tdeps: