aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/compilers.py
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2018-06-03 18:10:54 +0530
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2018-06-05 10:50:22 +0000
commitad0121d259c2155e81b5eb75ef40ace47e5244f8 (patch)
treec2023d99da7b1e1d3d2252cee3d285d47e2c2446 /mesonbuild/compilers/compilers.py
parentbc4dd5e20163ef01f7fe3e518599f8bbd84c6f90 (diff)
downloadmeson-ad0121d259c2155e81b5eb75ef40ace47e5244f8.zip
meson-ad0121d259c2155e81b5eb75ef40ace47e5244f8.tar.gz
meson-ad0121d259c2155e81b5eb75ef40ace47e5244f8.tar.bz2
Add prog/lib dirs from the mingw cross-compiler to PATH
These directories contain DLLs that the executable may need, such as libstdc++-6.dll, libwinpthread, etc.
Diffstat (limited to 'mesonbuild/compilers/compilers.py')
-rw-r--r--mesonbuild/compilers/compilers.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/mesonbuild/compilers/compilers.py b/mesonbuild/compilers/compilers.py
index c5f7df3..9bd9bb2 100644
--- a/mesonbuild/compilers/compilers.py
+++ b/mesonbuild/compilers/compilers.py
@@ -1172,13 +1172,27 @@ class ElbrusCompiler(GnuCompiler):
env = os.environ.copy()
env['LC_ALL'] = 'C'
stdo = Popen_safe(self.exelist + ['--print-search-dirs'], env=env)[1]
+ paths = []
for line in stdo.split('\n'):
if line.startswith('libraries:'):
# lcc does not include '=' in --print-search-dirs output.
libstr = line.split(' ', 1)[1]
- return libstr.split(':')
- return []
+ paths = [os.path.realpath(p) for p in libstr.split(':')]
+ break
+ return paths
+ def get_program_dirs(self):
+ env = os.environ.copy()
+ env['LC_ALL'] = 'C'
+ stdo = Popen_safe(self.exelist + ['--print-search-dirs'], env=env)[1]
+ paths = []
+ for line in stdo.split('\n'):
+ if line.startswith('programs:'):
+ # lcc does not include '=' in --print-search-dirs output.
+ libstr = line.split(' ', 1)[1]
+ paths = [os.path.realpath(p) for p in libstr.split(':')]
+ break
+ return paths
class ClangCompiler: