diff options
| author | Xavier Claessens <xavier.claessens@collabora.com> | 2017-12-04 15:29:35 -0500 |
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-12-16 12:51:08 +0200 |
| commit | 63d2f0bf0736cdd3e7f13ecb720030684c8f987f (patch) | |
| tree | 6c6626d77381e9c3237084bdb769ff6bffe22768 | |
| parent | 54d0faa3ddc66ddfd2198b9cf18da0e4eb2c37dd (diff) | |
| download | meson-63d2f0bf0736cdd3e7f13ecb720030684c8f987f.tar.gz | |
Do not extract object for header sources
Closes #2716
| -rw-r--r-- | mesonbuild/backend/backends.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 3f1e4ced7..5a5db22c2 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -346,6 +346,11 @@ class Backend: assert isinstance(source, mesonlib.File) build_dir = self.environment.get_build_dir() rel_src = source.rel_to_builddir(self.build_to_src) + + if (not self.environment.is_source(rel_src) or + self.environment.is_header(rel_src)) and not is_unity: + return None + # foo.vala files compile down to foo.c and then foo.c.o, not foo.vala.o if rel_src.endswith(('.vala', '.gs')): # See description in generate_vala_compile for this logic. @@ -393,8 +398,9 @@ class Backend: return [objpath] for osrc in extobj.srclist: objname = self.object_filename_from_source(extobj.target, osrc, False) - objpath = os.path.join(proj_dir_to_build_root, targetdir, objname) - result.append(objpath) + if objname: + objpath = os.path.join(proj_dir_to_build_root, targetdir, objname) + result.append(objpath) return result def get_pch_include_args(self, compiler, target): |
