From 8d41406e69d994afd9384367625852c023ac1246 Mon Sep 17 00:00:00 2001 From: Mike Shal Date: Mon, 21 Nov 2016 15:51:33 -0500 Subject: [PATCH] Bug 1416062 - xpidl/ipdl/webidl outputs should be in the installed-files group for tup; r=chmanchester Since these processes generate header files that will be used for compilation, they should output to the installed-files group. We can use the installed-idls group to separate installing things into dist/idl from the actual XPIDL processing. MozReview-Commit-ID: K2zQz0HGOrb --HG-- extra : rebase_source : 879e8cb4172c9ec0724d42b1ba7e5c240c0827c0 --- python/mozbuild/mozbuild/backend/tup.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python/mozbuild/mozbuild/backend/tup.py b/python/mozbuild/mozbuild/backend/tup.py index 8aeab66a9b7c..3a3ccc99de60 100644 --- a/python/mozbuild/mozbuild/backend/tup.py +++ b/python/mozbuild/mozbuild/backend/tup.py @@ -141,8 +141,9 @@ class TupOnly(CommonBackend, PartialBackend): '*.rs', ) - # This is a 'group' dependency - All rules that list this as an output + # These are 'group' dependencies - All rules that list these as an output # will be built before any rules that list this as an input. + self._installed_idls = '$(MOZ_OBJ_ROOT)/' self._installed_files = '$(MOZ_OBJ_ROOT)/' def _get_backend_file(self, relativedir): @@ -382,7 +383,7 @@ class TupOnly(CommonBackend, PartialBackend): dist_idl_backend_file = self._get_backend_file('dist/idl') for idl in manager.idls.values(): - dist_idl_backend_file.symlink_rule(idl['source'], output_group=self._installed_files) + dist_idl_backend_file.symlink_rule(idl['source'], output_group=self._installed_idls) backend_file = self._get_backend_file('xpcom/xpidl') backend_file.export_shell() @@ -409,11 +410,12 @@ class TupOnly(CommonBackend, PartialBackend): inputs=[ '$(MOZ_OBJ_ROOT)/xpcom/idl-parser/xpidl/xpidllex.py', '$(MOZ_OBJ_ROOT)/xpcom/idl-parser/xpidl/xpidlyacc.py', - self._installed_files, + self._installed_idls, ], display='XPIDL %s' % module, cmd=cmd, outputs=outputs, + extra_outputs=[self._installed_files], ) for manifest, entries in manager.interface_manifests.items(): @@ -491,6 +493,7 @@ class TupOnly(CommonBackend, PartialBackend): display='IPDL code generation', cmd=cmd, outputs=outputs, + extra_outputs=[self._installed_files], check_unchanged=True, ) @@ -522,6 +525,7 @@ class TupOnly(CommonBackend, PartialBackend): cmd=cmd, inputs=webidls.all_non_static_basenames(), outputs=outputs, + extra_outputs=[self._installed_files], check_unchanged=True, )