Bug 1094303 - Move XPT buildlist into misc tier; r=glandium
authorGregory Szorc <gps@mozilla.com>
Wed, 05 Nov 2014 09:20:35 -0800
changeset 216504 a6605d017665252c46ea7cee666fc1c29dce154a
parent 216503 750dab541df34b6291e3106652c837841eb2cabc
child 216505 c38c0e99ea32f5ddb29382e7d156185924220c41
push idunknown
push userunknown
push dateunknown
reviewersglandium
bugs1094303
milestone36.0a1
Bug 1094303 - Move XPT buildlist into misc tier; r=glandium buildlist invocations are slow and can occur in parallel since the underlying program obtains a lock on the modified file. Moving the XPT-related buildlist invocation from the serial libs tier to the parallel misc tier decreased my no-op build time on OS X from 43.5s to 37.0s.
config/rules.mk
python/mozbuild/mozbuild/frontend/context.py
--- a/config/rules.mk
+++ b/config/rules.mk
@@ -1156,20 +1156,21 @@ endif
 ################################################################################
 # Install a linked .xpt into the appropriate place.
 # This should ideally be performed by the non-recursive idl make file. Some day.
 ifdef XPT_NAME #{
 
 ifndef NO_DIST_INSTALL
 _XPT_NAME_FILES := $(DEPTH)/config/makefiles/xpidl/xpt/$(XPT_NAME)
 _XPT_NAME_DEST := $(FINAL_TARGET)/components
+_XPT_NAME_TARGET := misc
 INSTALL_TARGETS += _XPT_NAME
 
 ifndef NO_INTERFACES_MANIFEST
-libs:: $(call mkdir_deps,$(FINAL_TARGET)/components)
+misc:: $(call mkdir_deps,$(FINAL_TARGET)/components)
 	$(call py_action,buildlist,$(FINAL_TARGET)/components/interfaces.manifest 'interfaces $(XPT_NAME)')
 	$(call py_action,buildlist,$(FINAL_TARGET)/chrome.manifest 'manifest components/interfaces.manifest')
 endif
 endif
 
 endif #} XPT_NAME
 
 ################################################################################
--- a/python/mozbuild/mozbuild/frontend/context.py
+++ b/python/mozbuild/mozbuild/frontend/context.py
@@ -884,17 +884,17 @@ VARIABLES = {
 
     # IDL Generation.
     'XPIDL_SOURCES': (StrictOrderingOnAppendList, list,
         """XPCOM Interface Definition Files (xpidl).
 
         This is a list of files that define XPCOM interface definitions.
         Entries must be files that exist. Entries are almost certainly ``.idl``
         files.
-        """, 'libs'),
+        """, 'misc'),
 
     'XPIDL_MODULE': (unicode, unicode,
         """XPCOM Interface Definition Module Name.
 
         This is the name of the ``.xpt`` file that is created by linking
         ``XPIDL_SOURCES`` together. If unspecified, it defaults to be the same
         as ``MODULE``.
         """, None),