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.zip meson-63d2f0bf0736cdd3e7f13ecb720030684c8f987f.tar.gz meson-63d2f0bf0736cdd3e7f13ecb720030684c8f987f.tar.bz2 |
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 3f1e4ce..5a5db22 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): |