aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/compilers/cpp.py18
-rw-r--r--mesonbuild/compilers/fortran.py12
2 files changed, 10 insertions, 20 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 8baa727..e6410c8 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -251,11 +251,9 @@ class ClangCPPCompiler(ClangCompiler, CPPCompiler):
# be passed to a different compiler with a different set of default
# search paths, such as when using Clang for C/C++ and gfortran for
# fortran,
- search_dir = self._get_search_dirs(env)
search_dirs: T.List[str] = []
- if search_dir is not None:
- for d in search_dir.split()[-1][len('libraries: ='):].split(':'):
- search_dirs.append(f'-L{d}')
+ for d in self.get_compiler_dirs(env, 'libraries'):
+ search_dirs.append(f'-L{d}')
return search_dirs + ['-lstdc++']
@@ -270,11 +268,9 @@ class AppleClangCPPCompiler(ClangCPPCompiler):
# be passed to a different compiler with a different set of default
# search paths, such as when using Clang for C/C++ and gfortran for
# fortran,
- search_dir = self._get_search_dirs(env)
search_dirs: T.List[str] = []
- if search_dir is not None:
- for d in search_dir.split()[-1][len('libraries: ='):].split(':'):
- search_dirs.append(f'-L{d}')
+ for d in self.get_compiler_dirs(env, 'libraries'):
+ search_dirs.append(f'-L{d}')
return search_dirs + ['-lc++']
@@ -430,11 +426,9 @@ class GnuCPPCompiler(GnuCompiler, CPPCompiler):
# be passed to a different compiler with a different set of default
# search paths, such as when using Clang for C/C++ and gfortran for
# fortran,
- search_dir = self._get_search_dirs(env)
search_dirs: T.List[str] = []
- if search_dir is not None:
- for d in search_dir.split()[-1][len('libraries: ='):].split(':'):
- search_dirs.append(f'-L{d}')
+ for d in self.get_compiler_dirs(env, 'libraries'):
+ search_dirs.append(f'-L{d}')
return ['-lstdc++']
diff --git a/mesonbuild/compilers/fortran.py b/mesonbuild/compilers/fortran.py
index ba2454d..a5d4b6a 100644
--- a/mesonbuild/compilers/fortran.py
+++ b/mesonbuild/compilers/fortran.py
@@ -215,11 +215,9 @@ class GnuFortranCompiler(GnuCompiler, FortranCompiler):
# be passed to a different compiler with a different set of default
# search paths, such as when using Clang for C/C++ and gfortran for
# fortran,
- search_dir = self._get_search_dirs(env)
search_dirs: T.List[str] = []
- if search_dir is not None:
- for d in search_dir.split()[-1][len('libraries: ='):].split(':'):
- search_dirs.append(f'-L{d}')
+ for d in self.get_compiler_dirs(env, 'libraries'):
+ search_dirs.append(f'-L{d}')
return search_dirs + ['-lgfortran', '-lm']
def has_header(self, hname: str, prefix: str, env: 'Environment', *,
@@ -482,11 +480,9 @@ class FlangFortranCompiler(ClangCompiler, FortranCompiler):
# search paths, such as when using Clang for C/C++ and gfortran for
# fortran,
# XXX: Untested....
- search_dir = self._get_search_dirs(env)
search_dirs: T.List[str] = []
- if search_dir is not None:
- for d in search_dir.split()[-1][len('libraries: ='):].split(':'):
- search_dirs.append(f'-L{d}')
+ for d in self.get_compiler_dirs(env, 'libraries'):
+ search_dirs.append(f'-L{d}')
return search_dirs + ['-lflang', '-lpgmath']
class ArmLtdFlangFortranCompiler(FlangFortranCompiler):