summaryrefslogtreecommitdiff
path: root/mesonbuild/backend/backends.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/backend/backends.py')
-rw-r--r--mesonbuild/backend/backends.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py
index a6f3fabb6..159cabbbd 100644
--- a/mesonbuild/backend/backends.py
+++ b/mesonbuild/backend/backends.py
@@ -500,7 +500,12 @@ class Backend:
objs, d = self._flatten_object_list(obj.target, obj.objlist, proj_dir_to_build_root)
obj_list.extend(objs)
deps.extend(d)
- obj_list.extend(self._determine_ext_objs(obj, proj_dir_to_build_root))
+ new_objs = self._determine_ext_objs(obj)
+ if proj_dir_to_build_root:
+ for o in new_objs:
+ obj_list.append(os.path.join(proj_dir_to_build_root, o))
+ else:
+ obj_list.extend(new_objs)
deps.append(obj.target)
else:
raise MesonException('Unknown data type in object list.')
@@ -884,7 +889,7 @@ class Backend:
return os.path.join(targetdir, ret)
return ret
- def _determine_ext_objs(self, extobj: 'build.ExtractedObjects', proj_dir_to_build_root: str) -> T.List[str]:
+ def _determine_ext_objs(self, extobj: 'build.ExtractedObjects') -> T.List[str]:
result: T.List[str] = []
targetdir = self.get_target_private_dir(extobj.target)
@@ -910,7 +915,7 @@ class Backend:
compiler = extobj.target.compilers[lang]
if compiler.get_argument_syntax() == 'msvc':
objname = self.get_msvc_pch_objname(lang, pch)
- result.append(os.path.join(proj_dir_to_build_root, targetdir, objname))
+ result.append(os.path.join(targetdir, objname))
# extobj could contain only objects and no sources
if not sources:
@@ -937,8 +942,7 @@ class Backend:
for osrc in sources:
compiler = get_compiler_for_source(extobj.target.compilers.values(), osrc)
objname = self.object_filename_from_source(extobj.target, compiler, osrc, targetdir)
- objpath = os.path.join(proj_dir_to_build_root, objname)
- result.append(objpath)
+ result.append(objname)
return result