bug 870370: move EXTRA_COMPONENTS to moz.build (file batch #2). r=mshal
authorJoey Armstrong <joey@mozilla.com>
Mon, 10 Jun 2013 11:19:28 -0400
changeset 146017 1857f54eb73022f1d37634aae88df2b64dc05ea3
parent 146016 f92a6ad158c7877638a65e319289709699f7c52e
child 146018 1c15d9da2ae67dfc5bfbd2a4a8a463b92094b77f
push id2697
push userbbajaj@mozilla.com
push dateMon, 05 Aug 2013 18:49:53 +0000
treeherdermozilla-beta@dfec938c7b63 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmshal
bugs870370
milestone24.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
bug 870370: move EXTRA_COMPONENTS to moz.build (file batch #2). r=mshal
dom/activities/src/Makefile.in
dom/activities/src/moz.build
dom/alarm/Makefile.in
dom/alarm/moz.build
dom/apps/src/Makefile.in
dom/apps/src/moz.build
dom/base/Makefile.in
dom/base/moz.build
dom/contacts/Makefile.in
dom/contacts/moz.build
dom/identity/Makefile.in
dom/identity/moz.build
dom/media/Makefile.in
dom/media/moz.build
dom/messages/Makefile.in
dom/messages/moz.build
dom/network/src/Makefile.in
dom/network/src/moz.build
dom/permission/Makefile.in
dom/permission/moz.build
dom/push/src/Makefile.in
dom/push/src/moz.build
dom/settings/Makefile.in
dom/settings/moz.build
toolkit/components/Makefile.in
toolkit/components/console/Makefile.in
toolkit/components/console/moz.build
toolkit/components/contentprefs/Makefile.in
toolkit/components/contentprefs/moz.build
toolkit/components/downloads/Makefile.in
toolkit/components/downloads/moz.build
toolkit/components/feeds/Makefile.in
toolkit/components/feeds/moz.build
toolkit/components/filepicker/Makefile.in
toolkit/components/filepicker/moz.build
toolkit/components/jsdownloads/src/Makefile.in
toolkit/components/jsdownloads/src/moz.build
toolkit/components/moz.build
toolkit/components/passwordmgr/Makefile.in
toolkit/components/passwordmgr/moz.build
toolkit/components/places/Makefile.in
toolkit/components/places/moz.build
toolkit/components/prompts/src/Makefile.in
toolkit/components/prompts/src/moz.build
toolkit/components/satchel/Makefile.in
toolkit/components/satchel/moz.build
toolkit/components/search/Makefile.in
toolkit/components/search/moz.build
toolkit/components/telemetry/Makefile.in
toolkit/components/telemetry/moz.build
toolkit/components/thumbnails/Makefile.in
toolkit/components/thumbnails/moz.build
toolkit/components/url-classifier/Makefile.in
toolkit/components/url-classifier/moz.build
toolkit/components/urlformatter/Makefile.in
toolkit/components/urlformatter/moz.build
toolkit/mozapps/downloads/Makefile.in
toolkit/mozapps/downloads/moz.build
toolkit/mozapps/extensions/Makefile.in
toolkit/mozapps/extensions/moz.build
toolkit/mozapps/handling/Makefile.in
toolkit/mozapps/handling/moz.build
toolkit/mozapps/update/Makefile.in
toolkit/mozapps/update/moz.build
--- a/dom/activities/src/Makefile.in
+++ b/dom/activities/src/Makefile.in
@@ -11,17 +11,17 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME     = dom_activities_s
 LIBXUL_LIBRARY   = 1
 FORCE_STATIC_LIB = 1
 FAIL_ON_WARNINGS := 1
 
 include $(topsrcdir)/dom/dom-config.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   ActivityOptions.js \
   ActivityProxy.js \
   ActivityRequestHandler.js \
   ActivityWrapper.js \
   Activities.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES =   \
--- a/dom/activities/src/moz.build
+++ b/dom/activities/src/moz.build
@@ -9,8 +9,15 @@ MODULE = 'dom'
 EXPORTS.mozilla.dom += [
     'Activity.h',
 ]
 
 CPP_SOURCES += [
     'Activity.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'Activities.manifest',
+    'ActivityOptions.js',
+    'ActivityProxy.js',
+    'ActivityRequestHandler.js',
+    'ActivityWrapper.js',
+]
--- a/dom/alarm/Makefile.in
+++ b/dom/alarm/Makefile.in
@@ -11,17 +11,17 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME        = domalarm_s
 LIBXUL_LIBRARY      = 1
 FORCE_STATIC_LIB    = 1
 FAIL_ON_WARNINGS := 1
 
 include $(topsrcdir)/dom/dom-config.mk
 
-EXTRA_COMPONENTS =       \
+DISABLED_EXTRA_COMPONENTS =       \
   AlarmsManager.js       \
   AlarmsManager.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   AlarmDB.jsm      \
   AlarmService.jsm \
   $(NULL)
--- a/dom/alarm/moz.build
+++ b/dom/alarm/moz.build
@@ -22,8 +22,12 @@ MODULE = 'dom'
 EXPORTS.mozilla.dom.alarm += [
     'AlarmHalService.h',
 ]
 
 CPP_SOURCES += [
     'AlarmHalService.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'AlarmsManager.js',
+    'AlarmsManager.manifest',
+]
--- a/dom/apps/src/Makefile.in
+++ b/dom/apps/src/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   AppsService.js \
   AppsService.manifest \
   Webapps.manifest \
   $(NULL)
 
 EXTRA_PP_COMPONENTS = \
   Webapps.js \
   $(NULL)
--- a/dom/apps/src/moz.build
+++ b/dom/apps/src/moz.build
@@ -1,6 +1,11 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+EXTRA_COMPONENTS += [
+    'AppsService.js',
+    'AppsService.manifest',
+    'Webapps.manifest',
+]
--- a/dom/base/Makefile.in
+++ b/dom/base/Makefile.in
@@ -10,17 +10,17 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= jsdombase_s
 MSVC_ENABLE_PGO := 1
 LIBXUL_LIBRARY	= 1
 FORCE_STATIC_LIB = 1
 FAIL_ON_WARNINGS := 1
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   SiteSpecificUserAgent.js \
   SiteSpecificUserAgent.manifest \
   ConsoleAPI.js \
   ConsoleAPI.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = ConsoleAPIStorage.jsm \
   $(NULL)
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -92,8 +92,14 @@ CPP_SOURCES += [
     'nsQueryContentEventResult.cpp',
     'nsScreen.cpp',
     'nsScriptNameSpaceManager.cpp',
     'nsStructuredCloneContainer.cpp',
     'nsWindowMemoryReporter.cpp',
     'nsWindowRoot.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'ConsoleAPI.js',
+    'ConsoleAPI.manifest',
+    'SiteSpecificUserAgent.js',
+    'SiteSpecificUserAgent.manifest',
+]
--- a/dom/contacts/Makefile.in
+++ b/dom/contacts/Makefile.in
@@ -6,17 +6,17 @@ DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 VPATH += $(srcdir)/fallback
 
-EXTRA_COMPONENTS =        \
+DISABLED_EXTRA_COMPONENTS =        \
   ContactManager.js       \
   ContactManager.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES =   \
   ContactService.jsm \
   ContactDB.jsm      \
   $(NULL)
--- a/dom/contacts/moz.build
+++ b/dom/contacts/moz.build
@@ -1,7 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'ContactManager.js',
+    'ContactManager.manifest',
+]
--- a/dom/identity/Makefile.in
+++ b/dom/identity/Makefile.in
@@ -6,17 +6,17 @@ DEPTH            = @DEPTH@
 topsrcdir        = @top_srcdir@
 srcdir           = @srcdir@
 VPATH            = @srcdir@
 
 relativesrcdir   = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
     nsDOMIdentity.js \
     nsIDService.js \
     Identity.manifest \
     $(NULL)
 
 EXTRA_PP_JS_MODULES = \
     DOMIdentity.jsm \
     $(NULL)
--- a/dom/identity/moz.build
+++ b/dom/identity/moz.build
@@ -1,7 +1,13 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'Identity.manifest',
+    'nsDOMIdentity.js',
+    'nsIDService.js',
+]
--- a/dom/media/Makefile.in
+++ b/dom/media/Makefile.in
@@ -12,17 +12,17 @@ include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME     = dom_media_s
 LIBXUL_LIBRARY   = 1
 FORCE_STATIC_LIB = 1
 FAIL_ON_WARNINGS := 1
 
 include $(topsrcdir)/dom/dom-config.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   PeerConnection.js \
   PeerConnection.manifest \
   $(NULL)
 
 ifdef MOZ_WEBRTC
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/media/webrtc/trunk/webrtc \
   -I$(topsrcdir)/media/webrtc/signaling/src/common \
--- a/dom/media/moz.build
+++ b/dom/media/moz.build
@@ -22,8 +22,12 @@ MODULE = 'dom'
 EXPORTS.mozilla += [
     'MediaManager.h',
 ]
 
 CPP_SOURCES += [
     'MediaManager.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'PeerConnection.js',
+    'PeerConnection.manifest',
+]
--- a/dom/messages/Makefile.in
+++ b/dom/messages/Makefile.in
@@ -6,17 +6,17 @@ DEPTH            = @DEPTH@
 topsrcdir        = @top_srcdir@
 srcdir           = @srcdir@
 VPATH            = @srcdir@
 
 relativesrcdir   = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   SystemMessageManager.js \
   SystemMessageInternal.js \
   SystemMessageManager.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES += \
   SystemMessagePermissionsChecker.jsm \
   $(NULL)
--- a/dom/messages/moz.build
+++ b/dom/messages/moz.build
@@ -1,7 +1,13 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 PARALLEL_DIRS += ['interfaces']
+
+EXTRA_COMPONENTS += [
+    'SystemMessageInternal.js',
+    'SystemMessageManager.js',
+    'SystemMessageManager.manifest',
+]
--- a/dom/network/src/Makefile.in
+++ b/dom/network/src/Makefile.in
@@ -9,24 +9,24 @@ VPATH            = $(srcdir)
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME     = dom_network_s
 LIBXUL_LIBRARY   = 1
 FORCE_STATIC_LIB = 1
 FAIL_ON_WARNINGS := 1
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
 	TCPSocket.js \
 	TCPSocketParentIntermediary.js \
 	TCPSocket.manifest \
 	$(NULL)
 
 ifdef MOZ_B2G_RIL
-EXTRA_COMPONENTS += \
+DISABLED_EXTRA_COMPONENTS += \
   NetworkStatsManager.manifest \
   NetworkStatsManager.js \
   $(NULL)
 
 EXTRA_JS_MODULES =   \
   NetworkStatsService.jsm \
   NetworkStatsDB.jsm \
   $(NULL)
--- a/dom/network/src/moz.build
+++ b/dom/network/src/moz.build
@@ -18,8 +18,20 @@ CPP_SOURCES += [
     'TCPSocketParent.cpp',
     'Utils.cpp',
 ]
 
 if CONFIG['MOZ_B2G_RIL']:
     CPP_SOURCES += [
         'MobileConnection.cpp',
     ]
+
+EXTRA_COMPONENTS += [
+    'TCPSocket.js',
+    'TCPSocket.manifest',
+    'TCPSocketParentIntermediary.js',
+]
+
+if CONFIG['MOZ_B2G_RIL']:
+    EXTRA_COMPONENTS += [
+        'NetworkStatsManager.js',
+        'NetworkStatsManager.manifest',
+    ]
--- a/dom/permission/Makefile.in
+++ b/dom/permission/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS =        \
+DISABLED_EXTRA_COMPONENTS =        \
   PermissionSettings.js       \
   PermissionSettings.manifest \
   PermissionPromptService.js \
   PermissionPromptService.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES =   \
   PermissionPromptHelper.jsm \
--- a/dom/permission/moz.build
+++ b/dom/permission/moz.build
@@ -1,7 +1,14 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'PermissionPromptService.js',
+    'PermissionPromptService.manifest',
+    'PermissionSettings.js',
+    'PermissionSettings.manifest',
+]
--- a/dom/push/src/Makefile.in
+++ b/dom/push/src/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   Push.js \
   Push.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   PushService.jsm \
   $(NULL)
 
--- a/dom/push/src/moz.build
+++ b/dom/push/src/moz.build
@@ -1,5 +1,10 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+EXTRA_COMPONENTS += [
+    'Push.js',
+    'Push.manifest',
+]
--- a/dom/settings/Makefile.in
+++ b/dom/settings/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS =         \
+DISABLED_EXTRA_COMPONENTS =         \
   SettingsManager.js       \
   SettingsManager.manifest \
   SettingsService.js \
   SettingsService.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES =   \
   SettingsQueue.jsm  \
--- a/dom/settings/moz.build
+++ b/dom/settings/moz.build
@@ -1,7 +1,14 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'SettingsManager.js',
+    'SettingsManager.manifest',
+    'SettingsService.js',
+    'SettingsService.manifest',
+]
--- a/toolkit/components/Makefile.in
+++ b/toolkit/components/Makefile.in
@@ -4,14 +4,14 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(topsrcdir)/config/config.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsDefaultCLH.manifest \
   nsDefaultCLH.js \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/console/Makefile.in
+++ b/toolkit/components/console/Makefile.in
@@ -5,14 +5,14 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   jsconsole-clhandler.js \
   jsconsole-clhandler.manifest \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/console/moz.build
+++ b/toolkit/components/console/moz.build
@@ -1,7 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'jsconsole-clhandler.js',
+    'jsconsole-clhandler.manifest',
+]
--- a/toolkit/components/contentprefs/Makefile.in
+++ b/toolkit/components/contentprefs/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsContentPrefService.js \
   nsContentPrefService.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   ContentPrefInstance.jsm \
   ContentPrefService2.jsm \
   ContentPrefStore.jsm \
--- a/toolkit/components/contentprefs/moz.build
+++ b/toolkit/components/contentprefs/moz.build
@@ -3,8 +3,12 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
 
 MODULE = 'contentprefs'
 
+EXTRA_COMPONENTS += [
+    'nsContentPrefService.js',
+    'nsContentPrefService.manifest',
+]
--- a/toolkit/components/downloads/Makefile.in
+++ b/toolkit/components/downloads/Makefile.in
@@ -15,17 +15,17 @@ FORCE_STATIC_LIB = 1
 LIBXUL_LIBRARY = 1
 
 # definition of MOZ_SUITE is only added via config.mk
 include $(topsrcdir)/config/config.mk
 
 ifndef MOZ_SUITE
 # XXX - Until Suite builds off XULRunner we can't guarantee our implementation
 # of nsIDownloadManagerUI overrides toolkit's.
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsDownloadManagerUI.js \
   nsDownloadManagerUI.manifest \
   $(NULL)
 endif
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(TK_CFLAGS)
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
@@ -19,8 +19,16 @@ CPP_SOURCES += [
     'SQLFunctions.cpp',
     'nsDownloadManager.cpp',
 ]
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     CPP_SOURCES += [
         'nsDownloadScanner.cpp',
     ]
+
+# XXX - Until Suite builds off XULRunner we can't guarantee our implementation
+# of nsIDownloadManagerUI overrides toolkit's.
+if not CONFIG['MOZ_SUITE']:
+    EXTRA_COMPONENTS += [
+        'nsDownloadManagerUI.js',
+        'nsDownloadManagerUI.manifest',
+    ]
--- a/toolkit/components/feeds/Makefile.in
+++ b/toolkit/components/feeds/Makefile.in
@@ -10,17 +10,17 @@ VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = feed_s
 MOZILLA_INTERNAL_API = 1
 FORCE_STATIC_LIB = 1
 LIBXUL_LIBRARY = 1
 
-EXTRA_COMPONENTS = FeedProcessor.js FeedProcessor.manifest
+DISABLED_EXTRA_COMPONENTS = FeedProcessor.js FeedProcessor.manifest
 
 include $(topsrcdir)/config/rules.mk
 
 ABS_SRCDIR := $(call core_abspath,$(srcdir))
 ifeq ($(OS_ARCH),WINNT)
 
 ABS_DEPTH := $(call core_abspath,$(DEPTH))
 
--- a/toolkit/components/feeds/moz.build
+++ b/toolkit/components/feeds/moz.build
@@ -16,8 +16,12 @@ XPIDL_SOURCES += [
     'nsIFeedPerson.idl',
     'nsIFeedProcessor.idl',
     'nsIFeedResult.idl',
     'nsIFeedTextConstruct.idl',
 ]
 
 MODULE = 'feeds'
 
+EXTRA_COMPONENTS += [
+    'FeedProcessor.js',
+    'FeedProcessor.manifest',
+]
--- a/toolkit/components/filepicker/Makefile.in
+++ b/toolkit/components/filepicker/Makefile.in
@@ -13,14 +13,14 @@ include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_XUL
 ifeq (,$(filter android qt os2 cocoa windows,$(MOZ_WIDGET_TOOLKIT)))
 LIBRARY_NAME = fileview
 EXPORT_LIBRARY = 1
 IS_COMPONENT = 1
 MODULE_NAME = nsFileViewModule
 LIBXUL_LIBRARY = 1
-EXTRA_COMPONENTS = nsFilePicker.js
+DISABLED_EXTRA_COMPONENTS = nsFilePicker.js
 EXTRA_PP_COMPONENTS = nsFilePicker.manifest
 endif
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/filepicker/moz.build
+++ b/toolkit/components/filepicker/moz.build
@@ -8,9 +8,11 @@ if CONFIG['MOZ_XUL'] and \
     CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('android', 'qt', 'os2', 'cocoa', 'windows'):
         MODULE = 'filepicker'
         XPIDL_SOURCES += [
             'nsIFileView.idl',
         ]
         CPP_SOURCES += [
             'nsFileView.cpp',
         ]
-
+        EXTRA_COMPONENTS += [
+            'nsFilePicker.js',
+        ]
--- a/toolkit/components/jsdownloads/src/Makefile.in
+++ b/toolkit/components/jsdownloads/src/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   Downloads.manifest \
   DownloadLegacy.js \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   Downloads.jsm \
   DownloadCore.jsm \
   DownloadList.jsm \
--- a/toolkit/components/jsdownloads/src/moz.build
+++ b/toolkit/components/jsdownloads/src/moz.build
@@ -1,6 +1,10 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+EXTRA_COMPONENTS += [
+    'DownloadLegacy.js',
+    'Downloads.manifest',
+]
--- a/toolkit/components/moz.build
+++ b/toolkit/components/moz.build
@@ -67,8 +67,13 @@ if CONFIG['MOZ_TOOLKIT_SEARCH']:
 
 if CONFIG['MOZ_URL_CLASSIFIER']:
     PARALLEL_DIRS += ['url-classifier']
 
 if CONFIG['MOZ_CAPTIVEDETECT']:
     PARALLEL_DIRS += ['captivedetect']
 
 DIRS += ['build']
+
+EXTRA_COMPONENTS += [
+    'nsDefaultCLH.js',
+    'nsDefaultCLH.manifest',
+]
--- a/toolkit/components/passwordmgr/Makefile.in
+++ b/toolkit/components/passwordmgr/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   crypto-SDR.js \
   nsLoginInfo.js \
   nsLoginManager.js \
   nsLoginManagerPrompter.js \
   passwordmgr.manifest \
   storage-Legacy.js \
   $(NULL)
 
--- a/toolkit/components/passwordmgr/moz.build
+++ b/toolkit/components/passwordmgr/moz.build
@@ -13,8 +13,16 @@ XPIDL_SOURCES += [
     'nsILoginManagerIEMigrationHelper.idl',
     'nsILoginManagerPrompter.idl',
     'nsILoginManagerStorage.idl',
     'nsILoginMetaInfo.idl',
 ]
 
 MODULE = 'loginmgr'
 
+EXTRA_COMPONENTS += [
+    'crypto-SDR.js',
+    'nsLoginInfo.js',
+    'nsLoginManager.js',
+    'nsLoginManagerPrompter.js',
+    'passwordmgr.manifest',
+    'storage-Legacy.js',
+]
--- a/toolkit/components/places/Makefile.in
+++ b/toolkit/components/places/Makefile.in
@@ -14,27 +14,27 @@ LIBRARY_NAME  = places
 MSVC_ENABLE_PGO := 1
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
 MODULE_NAME = nsPlacesModule
 IS_COMPONENT = 1
 
 LOCAL_INCLUDES += -I$(srcdir)/../build
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   toolkitplaces.manifest \
   nsLivemarkService.js \
   nsTaggingService.js \
   nsPlacesExpiration.js \
   PlacesCategoriesStarter.js \
   ColorAnalyzer.js \
   $(NULL)
 
 ifdef MOZ_XUL
-EXTRA_COMPONENTS += nsPlacesAutoComplete.js nsPlacesAutoComplete.manifest
+DISABLED_EXTRA_COMPONENTS += nsPlacesAutoComplete.js nsPlacesAutoComplete.manifest
 endif
 
 EXTRA_JS_MODULES = \
   PlacesDBUtils.jsm \
   ColorAnalyzer_worker.js \
   ColorConversion.js \
   ClusterLib.js \
   BookmarkJSONUtils.jsm \
--- a/toolkit/components/places/moz.build
+++ b/toolkit/components/places/moz.build
@@ -48,8 +48,23 @@ if CONFIG['MOZ_PLACES']:
         'AsyncFaviconHelpers.cpp',
         'PlaceInfo.cpp',
         'VisitInfo.cpp',
         'Database.cpp',
     ]
 
 MODULE = 'places'
 
+
+if CONFIG['MOZ_PLACES']:
+    EXTRA_COMPONENTS += [
+        'ColorAnalyzer.js',
+        'PlacesCategoriesStarter.js',
+        'nsLivemarkService.js',
+        'nsPlacesExpiration.js',
+        'nsTaggingService.js',
+        'toolkitplaces.manifest',
+    ]
+    if CONFIG['MOZ_XUL']:
+        EXTRA_COMPONENTS += [
+            'nsPlacesAutoComplete.js',
+            'nsPlacesAutoComplete.manifest',
+        ]
--- a/toolkit/components/prompts/src/Makefile.in
+++ b/toolkit/components/prompts/src/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
     nsPrompter.js \
     nsPrompter.manifest \
     $(NULL)
 
 EXTRA_JS_MODULES = \
     CommonDialog.jsm \
     $(NULL)
 
--- a/toolkit/components/prompts/src/moz.build
+++ b/toolkit/components/prompts/src/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'prompter'
 
+EXTRA_COMPONENTS += [
+    'nsPrompter.js',
+    'nsPrompter.manifest',
+]
--- a/toolkit/components/satchel/Makefile.in
+++ b/toolkit/components/satchel/Makefile.in
@@ -14,17 +14,17 @@ MODULE_NAME = satchel
 IS_COMPONENT = 1
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../build \
   $(NULL)
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsFormAutoComplete.js \
   FormHistoryStartup.js \
   nsInputListAutoComplete.js \
   satchel.manifest \
   $(NULL)
 
 EXTRA_PP_COMPONENTS = \
 	nsFormHistory.js \
--- a/toolkit/components/satchel/moz.build
+++ b/toolkit/components/satchel/moz.build
@@ -14,8 +14,14 @@ XPIDL_SOURCES += [
 ]
 
 MODULE = 'satchel'
 
 CPP_SOURCES += [
     'nsFormFillController.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'FormHistoryStartup.js',
+    'nsFormAutoComplete.js',
+    'nsInputListAutoComplete.js',
+    'satchel.manifest',
+]
--- a/toolkit/components/search/Makefile.in
+++ b/toolkit/components/search/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   toolkitsearch.manifest \
   nsSearchSuggestions.js \
   $(NULL)
 
 EXTRA_PP_COMPONENTS = \
   nsSearchService.js \
   $(NULL)
 
--- a/toolkit/components/search/moz.build
+++ b/toolkit/components/search/moz.build
@@ -1,7 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
+
+EXTRA_COMPONENTS += [
+    'nsSearchSuggestions.js',
+    'toolkitsearch.manifest',
+]
--- a/toolkit/components/telemetry/Makefile.in
+++ b/toolkit/components/telemetry/Makefile.in
@@ -21,17 +21,17 @@ FAIL_ON_WARNINGS = 1
 
 LIBRARY_NAME = telemetry
 MSVC_ENABLE_PGO := 1
 
 EXTRA_PP_COMPONENTS = \
   TelemetryPing.js \
   $(NULL)
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   TelemetryPing.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   TelemetryStopwatch.jsm \
   $(NULL)
 
 LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/build
--- a/toolkit/components/telemetry/moz.build
+++ b/toolkit/components/telemetry/moz.build
@@ -18,8 +18,11 @@ EXPORTS.mozilla += [
     'Telemetry.h',
     'TelemetryHistogramEnums.h',
 ]
 
 CPP_SOURCES += [
     'Telemetry.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'TelemetryPing.manifest',
+]
--- a/toolkit/components/thumbnails/Makefile.in
+++ b/toolkit/components/thumbnails/Makefile.in
@@ -4,17 +4,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
 	BrowserPageThumbs.manifest \
 	PageThumbsProtocol.js \
 	$(NULL)
 
 EXTRA_JS_MODULES = \
 	BackgroundPageThumbs.jsm \
 	PageThumbsWorker.js \
 	PageThumbs.jsm \
--- a/toolkit/components/thumbnails/moz.build
+++ b/toolkit/components/thumbnails/moz.build
@@ -1,7 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['test']
+
+EXTRA_COMPONENTS += [
+    'BrowserPageThumbs.manifest',
+    'PageThumbsProtocol.js',
+]
--- a/toolkit/components/url-classifier/Makefile.in
+++ b/toolkit/components/url-classifier/Makefile.in
@@ -16,17 +16,17 @@ LIBXUL_LIBRARY = 1
 FORCE_STATIC_LIB = 1
 FAIL_ON_WARNINGS = 1
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../build \
   $(SQLITE_CFLAGS) \
   $(NULL)
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsUrlClassifierHashCompleter.js \
   nsURLClassifier.manifest \
   $(NULL)
 
 # Same as JS components that are run through the pre-processor.
 EXTRA_PP_COMPONENTS = \
   nsUrlClassifierLib.js \
   nsUrlClassifierListManager.js \
--- a/toolkit/components/url-classifier/moz.build
+++ b/toolkit/components/url-classifier/moz.build
@@ -26,8 +26,12 @@ CPP_SOURCES += [
     'nsCheckSummedOutputStream.cpp',
     'nsUrlClassifierDBService.cpp',
     'nsUrlClassifierPrefixSet.cpp',
     'nsUrlClassifierProxies.cpp',
     'nsUrlClassifierStreamUpdater.cpp',
     'nsUrlClassifierUtils.cpp',
 ]
 
+EXTRA_COMPONENTS += [
+    'nsURLClassifier.manifest',
+    'nsUrlClassifierHashCompleter.js',
+]
--- a/toolkit/components/urlformatter/Makefile.in
+++ b/toolkit/components/urlformatter/Makefile.in
@@ -5,14 +5,14 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsURLFormatter.manifest \
   nsURLFormatter.js \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/urlformatter/moz.build
+++ b/toolkit/components/urlformatter/moz.build
@@ -7,8 +7,12 @@
 TEST_DIRS += ['tests']
 
 XPIDL_SOURCES += [
     'nsIURLFormatter.idl',
 ]
 
 MODULE = 'urlformatter'
 
+EXTRA_COMPONENTS += [
+    'nsURLFormatter.js',
+    'nsURLFormatter.manifest',
+]
--- a/toolkit/mozapps/downloads/Makefile.in
+++ b/toolkit/mozapps/downloads/Makefile.in
@@ -5,17 +5,17 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(topsrcdir)/config/config.mk
 
-EXTRA_COMPONENTS = nsHelperAppDlg.manifest
+DISABLED_EXTRA_COMPONENTS = nsHelperAppDlg.manifest
 EXTRA_PP_COMPONENTS = nsHelperAppDlg.js
 
 EXTRA_JS_MODULES = \
   DownloadLastDir.jsm \
   DownloadPaths.jsm \
   DownloadUtils.jsm \
   $(NULL)
 
--- a/toolkit/mozapps/downloads/moz.build
+++ b/toolkit/mozapps/downloads/moz.build
@@ -3,8 +3,11 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 TEST_DIRS += ['tests']
 
 MODULE = 'helperAppDlg'
 
+EXTRA_COMPONENTS += [
+    'nsHelperAppDlg.manifest',
+]
--- a/toolkit/mozapps/extensions/Makefile.in
+++ b/toolkit/mozapps/extensions/Makefile.in
@@ -25,17 +25,17 @@ else ifdef MOZ_DEBUG
 DEFINES += -DMOZ_EM_DEBUG=1
 endif
 
 EXTRA_PP_COMPONENTS = \
   nsBlocklistService.js \
   extensions.manifest \
   $(NULL)
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   addonManager.js \
   amContentHandler.js \
   amWebInstallListener.js \
   $(NULL)
 
 EXTRA_PP_JS_MODULES = \
   AddonManager.jsm \
   XPIProvider.jsm \
--- a/toolkit/mozapps/extensions/moz.build
+++ b/toolkit/mozapps/extensions/moz.build
@@ -9,8 +9,13 @@ TEST_DIRS += ['test']
 XPIDL_SOURCES += [
     'amIInstallTrigger.idl',
     'amIWebInstallListener.idl',
     'amIWebInstaller.idl',
 ]
 
 MODULE = 'extensions'
 
+EXTRA_COMPONENTS += [
+    'addonManager.js',
+    'amContentHandler.js',
+    'amWebInstallListener.js',
+]
--- a/toolkit/mozapps/handling/Makefile.in
+++ b/toolkit/mozapps/handling/Makefile.in
@@ -4,11 +4,11 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = nsContentDispatchChooser.js nsContentDispatchChooser.manifest
+DISABLED_EXTRA_COMPONENTS = nsContentDispatchChooser.js nsContentDispatchChooser.manifest
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/mozapps/handling/moz.build
+++ b/toolkit/mozapps/handling/moz.build
@@ -1,8 +1,12 @@
 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 MODULE = 'contentDispatchChooser'
 
+EXTRA_COMPONENTS += [
+    'nsContentDispatchChooser.js',
+    'nsContentDispatchChooser.manifest',
+]
--- a/toolkit/mozapps/update/Makefile.in
+++ b/toolkit/mozapps/update/Makefile.in
@@ -4,27 +4,27 @@
 
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-EXTRA_COMPONENTS = \
+DISABLED_EXTRA_COMPONENTS = \
   nsUpdateTimerManager.js \
   nsUpdateTimerManager.manifest \
   $(NULL)
 
 ifdef MOZ_UPDATER
 
 EXTRA_PP_COMPONENTS += \
   nsUpdateService.js \
   nsUpdateServiceStub.js \
   $(NULL)
 
-EXTRA_COMPONENTS += \
+DISABLED_EXTRA_COMPONENTS += \
   nsUpdateService.manifest \
   $(NULL)
 
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/mozapps/update/moz.build
+++ b/toolkit/mozapps/update/moz.build
@@ -28,8 +28,17 @@ if CONFIG['MOZ_UPDATER']:
         TEST_DIRS += ['test_svc']
 
     XPIDL_SOURCES += [
         'nsIUpdateService.idl',
     ]
 
 MODULE = 'update'
 
+EXTRA_COMPONENTS += [
+    'nsUpdateTimerManager.js',
+    'nsUpdateTimerManager.manifest',
+]
+
+if CONFIG['MOZ_UPDATER']:
+    EXTRA_COMPONENTS += [
+        'nsUpdateService.manifest',
+    ]