aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 9a41fab..9b3fdc7 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -1540,8 +1540,8 @@ class ModuleHolder(InterpreterObject, ObjectHolder):
# because the Build object contains dicts and lists.
num_targets = len(self.interpreter.build.targets)
state = ModuleState(
- build_to_src=os.path.relpath(self.interpreter.environment.get_source_dir(),
- self.interpreter.environment.get_build_dir()),
+ build_to_src=mesonlib.relpath(self.interpreter.environment.get_source_dir(),
+ self.interpreter.environment.get_build_dir()),
subproject=self.interpreter.subproject,
subdir=self.interpreter.subdir,
current_lineno=self.interpreter.current_lineno,
@@ -2182,14 +2182,7 @@ external dependencies (including libraries) must go to "dependencies".''')
raise InterpreterException('Program or command {!r} not found '
'or not executable'.format(cmd))
cmd = prog
- try:
- cmd_path = os.path.relpath(cmd.get_path(), start=srcdir)
- except ValueError:
- # On Windows a relative path can't be evaluated for
- # paths on two different drives (i.e. c:\foo and f:\bar).
- # The only thing left to is is to use the original absolute
- # path.
- cmd_path = cmd.get_path()
+ cmd_path = mesonlib.relpath(cmd.get_path(), start=srcdir)
if not cmd_path.startswith('..') and cmd_path not in self.build_def_files:
self.build_def_files.append(cmd_path)
expanded_args = []
@@ -2206,7 +2199,7 @@ external dependencies (including libraries) must go to "dependencies".''')
if not os.path.isabs(a):
a = os.path.join(builddir if in_builddir else srcdir, self.subdir, a)
if os.path.isfile(a):
- a = os.path.relpath(a, start=srcdir)
+ a = mesonlib.relpath(a, start=srcdir)
if not a.startswith('..'):
if a not in self.build_def_files:
self.build_def_files.append(a)