From a4827650faa141b91199c2d84fe26000b897c002 Mon Sep 17 00:00:00 2001 From: "Michael Hirsch, Ph.D" Date: Sun, 10 Mar 2019 03:56:38 -0400 Subject: BUGFIX: match submodule output names by compiler --- mesonbuild/compilers/fortran.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'mesonbuild/compilers') diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index 15234ee..d09b442 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -180,7 +180,17 @@ class FortranCompiler(Compiler): return parameter_list def module_name_to_filename(self, module_name: str) -> str: - return module_name.lower() + '.mod' + if '_' in module_name: # submodule + if self.id in ('gcc', 'intel'): + filename = module_name.lower() + '.smod' + elif self.id in ('pgi', 'flang'): + filename = module_name.lower() + '.mod' + else: + filename = module_name.lower() + '.mod' + else: # module + filename = module_name.lower() + '.mod' + + return filename def get_std_shared_lib_link_args(self): return CCompiler.get_std_shared_lib_link_args(self) -- cgit v1.1 From df74f8b7a9b86fe27ccd10cebf02034ec530851a Mon Sep 17 00:00:00 2001 From: "Michael Hirsch, Ph.D" Date: Sun, 10 Mar 2019 04:07:36 -0400 Subject: more efficient submodule filenaming --- mesonbuild/compilers/fortran.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'mesonbuild/compilers') diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py index d09b442..a16f2b5 100644 --- a/mesonbuild/compilers/fortran.py +++ b/mesonbuild/compilers/fortran.py @@ -181,12 +181,13 @@ class FortranCompiler(Compiler): def module_name_to_filename(self, module_name: str) -> str: if '_' in module_name: # submodule + s = module_name.lower() if self.id in ('gcc', 'intel'): - filename = module_name.lower() + '.smod' + filename = s.replace('_', '@') + '.smod' elif self.id in ('pgi', 'flang'): - filename = module_name.lower() + '.mod' + filename = s.replace('_', '-') + '.mod' else: - filename = module_name.lower() + '.mod' + filename = s + '.mod' else: # module filename = module_name.lower() + '.mod' -- cgit v1.1