backout bug 886526 because it probably made us use a lot more memory to link on windows
authorTrevor Saunders <trev.saunders@gmail.com>
Mon, 29 Jul 2013 11:03:21 -0400
changeset 140428 a81349b61b4e2044f049572e57d727c5d434c727
parent 140427 f18ba2a7e24c6a2752050c482ae2adaab5a739e4
child 140429 905805f269ba4af34a7dc8096a61c56a36623ddf
push id1970
push userryanvm@gmail.com
push dateTue, 30 Jul 2013 17:12:32 +0000
treeherderfx-team@72240998c094 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs886526
milestone25.0a1
backout bug 886526 because it probably made us use a lot more memory to link on windows
config/config.mk
docshell/build/Makefile.in
dom/media/bridge/Makefile.in
dom/plugins/base/Makefile.in
dom/src/jsurl/Makefile.in
editor/composer/src/Makefile.in
editor/txmgr/src/Makefile.in
editor/txtsvc/src/Makefile.in
embedding/browser/build/Makefile.in
embedding/components/build/Makefile.in
extensions/auth/Makefile.in
extensions/cookie/Makefile.in
extensions/gio/Makefile.in
extensions/permissions/Makefile.in
extensions/pref/autoconfig/src/Makefile.in
extensions/spellcheck/src/Makefile.in
extensions/universalchardet/src/xpcom/Makefile.in
gfx/src/Makefile.in
gfx/tests/gtest/Makefile.in
image/build/Makefile.in
image/decoders/Makefile.in
image/decoders/icon/Makefile.in
image/encoders/bmp/Makefile.in
image/encoders/ico/Makefile.in
image/encoders/jpeg/Makefile.in
image/encoders/png/Makefile.in
image/src/Makefile.in
intl/build/Makefile.in
intl/chardet/src/Makefile.in
intl/uconv/src/Makefile.in
intl/uconv/util/Makefile.in
js/ductwork/debugger/Makefile.in
js/jsd/Makefile.in
js/src/config/config.mk
layout/build/Makefile.in
layout/tools/layout-debug/src/Makefile.in
mobile/android/components/build/Makefile.in
modules/libjar/Makefile.in
modules/libjar/zipwriter/src/Makefile.in
modules/libpref/src/Makefile.in
netwerk/build/Makefile.in
parser/htmlparser/src/Makefile.in
rdf/build/Makefile.in
security/manager/boot/src/Makefile.in
security/manager/pki/src/Makefile.in
security/manager/ssl/src/Makefile.in
services/crypto/component/Makefile.in
startupcache/Makefile.in
storage/build/Makefile.in
storage/src/Makefile.in
testing/gtest/Makefile.in
toolkit/components/autocomplete/Makefile.in
toolkit/components/build/Makefile.in
toolkit/components/commandlines/Makefile.in
toolkit/components/ctypes/Makefile.in
toolkit/components/diskspacewatcher/Makefile.in
toolkit/components/filepicker/Makefile.in
toolkit/components/mediasniffer/Makefile.in
toolkit/components/perf/Makefile.in
toolkit/components/places/Makefile.in
toolkit/components/reflect/Makefile.in
toolkit/components/remote/Makefile.in
toolkit/components/satchel/Makefile.in
toolkit/components/statusfilter/Makefile.in
toolkit/components/telemetry/Makefile.in
toolkit/devtools/server/Makefile.in
toolkit/identity/Makefile.in
toolkit/library/Makefile.in
toolkit/system/androidproxy/Makefile.in
toolkit/system/osxproxy/Makefile.in
toolkit/system/unixproxy/Makefile.in
toolkit/system/windowsproxy/Makefile.in
tools/profiler/Makefile.in
view/src/Makefile.in
widget/android/Makefile.in
widget/cocoa/Makefile.in
widget/gonk/Makefile.in
widget/gtk2/Makefile.in
widget/os2/Makefile.in
widget/qt/Makefile.in
widget/windows/Makefile.in
widget/windows/winrt/Makefile.in
xpcom/glue/tests/gtest/Makefile.in
xpfe/appshell/src/Makefile.in
xpfe/components/autocomplete/src/Makefile.in
xpfe/components/build/Makefile.in
xpfe/components/windowds/Makefile.in
--- a/config/config.mk
+++ b/config/config.mk
@@ -230,20 +230,19 @@ endif
 #
 _ENABLE_PIC=1
 
 # Determine if module being compiled is destined
 # to be merged into libxul
 
 ifdef LIBXUL_LIBRARY
 ifdef IS_COMPONENT
-$(error IS_COMPONENT is set, but is not compatible with LIBXUL_LIBRARY)
+ifndef MODULE_NAME
+$(error Component makefile does not specify MODULE_NAME.)
 endif
-ifdef MODULE_NAME
-$(error MODULE_NAME is $(MODULE_NAME) but MODULE_NAME and LIBXUL_LIBRARY are not compatible)
 endif
 ifdef FORCE_STATIC_LIB
 $(error Makefile sets FORCE_STATIC_LIB which was already implied by LIBXUL_LIBRARY)
 endif
 FORCE_STATIC_LIB=1
 ifneq ($(SHORT_LIBNAME),)
 $(error SHORT_LIBNAME is $(SHORT_LIBNAME) but SHORT_LIBNAME is not compatable with LIBXUL_LIBRARY)
 endif
--- a/docshell/build/Makefile.in
+++ b/docshell/build/Makefile.in
@@ -3,16 +3,18 @@
 # 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/.
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
+IS_COMPONENT = 1
+MODULE_NAME	= docshell_provider
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY	= 1
 
 
 SHARED_LIBRARY_LIBS= \
--- a/dom/media/bridge/Makefile.in
+++ b/dom/media/bridge/Makefile.in
@@ -4,17 +4,19 @@
 
 DEPTH   = ../../..
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME   = peerconnection
 
+IS_COMPONENT   = 1
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 
 LOCAL_INCLUDES += \
   -I$(topsrcdir)/media/mtransport \
   -I$(topsrcdir)/media/webrtc/signaling/include \
   -I$(topsrcdir)/media/webrtc/signaling/src/sipcc/include \
   -I$(topsrcdir)/media/webrtc/signaling/src/peerconnection \
--- a/dom/plugins/base/Makefile.in
+++ b/dom/plugins/base/Makefile.in
@@ -8,16 +8,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= gkplugin
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT    = 1
+MODULE_NAME	= nsPluginModule
 LIBXUL_LIBRARY = 1
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
 LOCAL_INCLUDES += -I$(topsrcdir)/dom/plugins/base/android
 else
 # android_npapi.h extends the NPNVariable and NPPVariable enums
 # using #defines, which results in Wswitch warnings in gcc-4.6.
 # Therefore, enable FAIL_ON_WARNINGS only on non-Android platforms.
--- a/dom/src/jsurl/Makefile.in
+++ b/dom/src/jsurl/Makefile.in
@@ -6,16 +6,17 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 FAIL_ON_WARNINGS := 1
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= javascript__protocol
 LIBXUL_LIBRARY	= 1
 
 LOCAL_INCLUDES += \
 		-I$(srcdir) \
 		-I$(topsrcdir)/dom/base \
 		-I$(topsrcdir)/netwerk/base/src \
 
 ifdef BUILD_DEBUG_GC
--- a/editor/composer/src/Makefile.in
+++ b/editor/composer/src/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsComposerModule
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 
 include $(topsrcdir)/config/rules.mk
 
 INCLUDES        += \
 	$(NULL)
--- a/editor/txmgr/src/Makefile.in
+++ b/editor/txmgr/src/Makefile.in
@@ -7,13 +7,15 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 FAIL_ON_WARNINGS = 1
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsTransactionManagerModule
 LIBXUL_LIBRARY	= 1
 
 
 include $(topsrcdir)/config/rules.mk
 
--- a/editor/txtsvc/src/Makefile.in
+++ b/editor/txtsvc/src/Makefile.in
@@ -6,13 +6,14 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 FAIL_ON_WARNINGS = 1
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= nsTextServicesModule
 LIBXUL_LIBRARY	= 1
 
 
 include $(topsrcdir)/config/rules.mk
 
--- a/embedding/browser/build/Makefile.in
+++ b/embedding/browser/build/Makefile.in
@@ -5,16 +5,18 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
+MODULE_NAME	= Browser_Embedding_Module
 EXPORT_LIBRARY	= 1
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 
 SHARED_LIBRARY_LIBS= \
 		../webBrowser/$(LIB_PREFIX)nsWebBrowser_s.$(LIB_SUFFIX) \
 		$(NULL)
--- a/embedding/components/build/Makefile.in
+++ b/embedding/components/build/Makefile.in
@@ -5,16 +5,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= embedcomponents
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 SHARED_LIBRARY_LIBS = \
 	../windowwatcher/src/$(LIB_PREFIX)windowwatcher_s.$(LIB_SUFFIX) \
 	../appstartup/src/$(LIB_PREFIX)appstartupnotifier_s.$(LIB_SUFFIX) \
 	../find/src/$(LIB_PREFIX)find_s.$(LIB_SUFFIX) \
 	../webbrowserpersist/src/$(LIB_PREFIX)webbrowserpersist_s.$(LIB_SUFFIX) \
--- a/extensions/auth/Makefile.in
+++ b/extensions/auth/Makefile.in
@@ -5,17 +5,19 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
 EXPORT_LIBRARY	= 1
+MODULE_NAME	= nsAuthModule
 LIBXUL_LIBRARY = 1
 
 
 ifeq ($(OS_ARCH),WINNT)
 LOCAL_INCLUDES	+= -DUSE_SSPI
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/extensions/cookie/Makefile.in
+++ b/extensions/cookie/Makefile.in
@@ -8,14 +8,16 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= cookie
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsCookieModule
 LIBXUL_LIBRARY = 1
 
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
--- a/extensions/gio/Makefile.in
+++ b/extensions/gio/Makefile.in
@@ -5,15 +5,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
 EXPORT_LIBRARY	= 1
+MODULE_NAME	= nsGIOModule
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 LOCAL_INCLUDES	= $(MOZ_GIO_CFLAGS)
 
 include $(topsrcdir)/config/rules.mk
--- a/extensions/permissions/Makefile.in
+++ b/extensions/permissions/Makefile.in
@@ -5,12 +5,14 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsPermissionsModule
 LIBXUL_LIBRARY = 1
 
 
 include $(topsrcdir)/config/rules.mk
--- a/extensions/pref/autoconfig/src/Makefile.in
+++ b/extensions/pref/autoconfig/src/Makefile.in
@@ -6,16 +6,18 @@ DEPTH            = @DEPTH@
 topsrcdir        = @top_srcdir@
 srcdir           = @srcdir@
 VPATH            = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME     = autoconfig
 EXPORT_LIBRARY   = 1
+IS_COMPONENT     = 1
+MODULE_NAME      = nsAutoConfigModule
 LIBXUL_LIBRARY   = 1
 
 
 include $(topsrcdir)/config/config.mk
 
 AUTOCFG_JS_EXPORTS = \
 		$(srcdir)/prefcalls.js \
 		$(NULL)
--- a/extensions/spellcheck/src/Makefile.in
+++ b/extensions/spellcheck/src/Makefile.in
@@ -4,17 +4,19 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME     = mozSpellCheckerModule
 EXPORT_LIBRARY  = 1
+IS_COMPONENT	= 1
 LIBXUL_LIBRARY  = 1
 
 
 SHARED_LIBRARY_LIBS += ../hunspell/src/$(LIB_PREFIX)hunspell_s.$(LIB_SUFFIX)
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES += \
--- a/extensions/universalchardet/src/xpcom/Makefile.in
+++ b/extensions/universalchardet/src/xpcom/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsUniversalCharDetModule
 LIBXUL_LIBRARY = 1
 
 LOCAL_INCLUDES = -I$(srcdir)/../base
 
 SHARED_LIBRARY_LIBS = \
 		../base/$(LIB_PREFIX)universalchardet_s.$(LIB_SUFFIX) \
 		$(NULL)
 
--- a/gfx/src/Makefile.in
+++ b/gfx/src/Makefile.in
@@ -5,19 +5,21 @@
 
 DEPTH       = @DEPTH@
 topsrcdir   = @top_srcdir@
 srcdir      = @srcdir@
 VPATH       = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME    = nsGfxModule
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
+IS_COMPONENT   = 1
 FAIL_ON_WARNINGS = 1
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(MOZ_CAIRO_CFLAGS) $(MOZ_PIXMAN_CFLAGS) $(TK_CFLAGS)
 
 ifdef MOZ_WIDGET_GTK
 CXXFLAGS += $(MOZ_PANGO_CFLAGS)
--- a/gfx/tests/gtest/Makefile.in
+++ b/gfx/tests/gtest/Makefile.in
@@ -7,17 +7,19 @@ DEPTH          = @DEPTH@
 topsrcdir      = @top_srcdir@
 srcdir         = @srcdir@
 VPATH          = @srcdir@ $(srcdir)/$(DEPTH)/gfx/2d/unittest
 relativesrcdir = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 # Create a GTest library
+MODULE_NAME    = gfxtest
 LIBXUL_LIBRARY = 1
+IS_COMPONENT   = 1
 EXPORT_LIBRARY = 1
 
 LOCAL_INCLUDES = \
   -I$(topsrcdir)/gfx/layers \
   -I$(topsrcdir)/gfx/2d \
   -I$(topsrcdir)/gfx/2d/unittest \
   $(NULL)
 
--- a/image/build/Makefile.in
+++ b/image/build/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsImageLib2Module
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 LOCAL_INCLUDES	= \
 		-I. \
 		-I$(srcdir)/../src \
 		-I$(srcdir)/../encoders/ico \
 		-I$(srcdir)/../encoders/png \
--- a/image/decoders/Makefile.in
+++ b/image/decoders/Makefile.in
@@ -5,16 +5,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = nsDecodersModule
 LIBXUL_LIBRARY  = 1
 FAIL_ON_WARNINGS = 1
 
 CSRCS   = iccjpeg.c \
           $(NULL)
 
 # Decoders need RasterImage.h
 LOCAL_INCLUDES += -I$(topsrcdir)/image/src/
--- a/image/decoders/icon/Makefile.in
+++ b/image/decoders/icon/Makefile.in
@@ -5,16 +5,18 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
+MODULE_NAME	= nsIconDecoderModule
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 ifdef MOZ_WIDGET_GTK
 PLATFORM = gtk
 endif
 
--- a/image/encoders/bmp/Makefile.in
+++ b/image/encoders/bmp/Makefile.in
@@ -4,16 +4,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= imgEncoderBMPModule
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 LOCAL_INCLUDES += -I$(topsrcdir)/image/src/
 
 include $(topsrcdir)/config/rules.mk
 
 
--- a/image/encoders/ico/Makefile.in
+++ b/image/encoders/ico/Makefile.in
@@ -4,16 +4,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= imgEncoderICOModule
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 # Decoders need RasterImage.h
 LOCAL_INCLUDES += -I$(topsrcdir)/image/src/
 LOCAL_INCLUDES += -I$(topsrcdir)/image/encoders/bmp/
 LOCAL_INCLUDES += -I$(topsrcdir)/image/encoders/png/
 
--- a/image/encoders/jpeg/Makefile.in
+++ b/image/encoders/jpeg/Makefile.in
@@ -4,14 +4,15 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= imgEncoderJPEGModule
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 include $(topsrcdir)/config/rules.mk
 
 
--- a/image/encoders/png/Makefile.in
+++ b/image/encoders/png/Makefile.in
@@ -4,16 +4,17 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= imgEncoderPNGModule
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 DEFINES		+= -DMOZ_PNG_WRITE \
 	-DMOZ_PNG_READ \
 	$(NULL)
 
 LOCAL_INCLUDES += -I$(topsrcdir)/image/src/
--- a/image/src/Makefile.in
+++ b/image/src/Makefile.in
@@ -6,16 +6,17 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= imglib2_s
+MODULE_NAME	= nsImageLib2Module
 LIBXUL_LIBRARY  = 1
 FAIL_ON_WARNINGS = 1
 
 # We need to instantiate the decoders
 LOCAL_INCLUDES += -I$(topsrcdir)/image/decoders
 
 # For URI-related functionality
 LOCAL_INCLUDES += -I$(topsrcdir)/netwerk/base/src
--- a/intl/build/Makefile.in
+++ b/intl/build/Makefile.in
@@ -5,16 +5,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsI18nModule
 LIBXUL_LIBRARY = 1
 
 # see also intl/locale/src/Makefile.in
 ifneq (,$(filter os2 windows, $(MOZ_WIDGET_TOOLKIT)))
 LOCALE_DIR		= $(MOZ_WIDGET_TOOLKIT)
 else
 ifeq ($(OS_ARCH), Darwin)
 LOCALE_DIR		= mac
--- a/intl/chardet/src/Makefile.in
+++ b/intl/chardet/src/Makefile.in
@@ -6,12 +6,14 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
+MODULE_NAME = nsChardetModule
 LIBXUL_LIBRARY  = 1
 
 
 include $(topsrcdir)/config/rules.mk
--- a/intl/uconv/src/Makefile.in
+++ b/intl/uconv/src/Makefile.in
@@ -7,16 +7,18 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY  = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsUConvModule
 LIBXUL_LIBRARY = 1
 
 LOCAL_INCLUDES	= -I$(srcdir)/../util \
 		  -I$(srcdir)/../ucvlatin \
 		  -I$(srcdir)/../ucvibm \
 		  -I$(srcdir)/../ucvja \
 		  -I$(srcdir)/../ucvtw2 \
 		  -I$(srcdir)/../ucvtw \
--- a/intl/uconv/util/Makefile.in
+++ b/intl/uconv/util/Makefile.in
@@ -9,16 +9,18 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 
+MODULE_NAME	= nsUCUtil
+
 CSRCS		= \
 		ugen.c \
 		uscan.c \
 		umap.c \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
--- a/js/ductwork/debugger/Makefile.in
+++ b/js/ductwork/debugger/Makefile.in
@@ -5,17 +5,20 @@
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 relativesrcdir = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = jsdebugger
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 
 EXTRA_DSO_LDOPTS += \
   $(MOZ_COMPONENT_LIBS) \
   $(MOZ_JS_LIBS) \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/js/jsd/Makefile.in
+++ b/js/jsd/Makefile.in
@@ -9,18 +9,20 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 VPATH		= @srcdir@
 srcdir		= @srcdir@
 relativesrcdir  = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT = 1
 LIBXUL_LIBRARY = 1
 
+MODULE_NAME = JavaScript_Debugger
 EXPORT_LIBRARY = 1
 
 # REQUIRES	= java js
 
 ifdef JS_THREADSAFE
 DEFINES         += -DJS_THREADSAFE
 endif
 
--- a/js/src/config/config.mk
+++ b/js/src/config/config.mk
@@ -230,20 +230,19 @@ endif
 #
 _ENABLE_PIC=1
 
 # Determine if module being compiled is destined
 # to be merged into libxul
 
 ifdef LIBXUL_LIBRARY
 ifdef IS_COMPONENT
-$(error IS_COMPONENT is set, but is not compatible with LIBXUL_LIBRARY)
+ifndef MODULE_NAME
+$(error Component makefile does not specify MODULE_NAME.)
 endif
-ifdef MODULE_NAME
-$(error MODULE_NAME is $(MODULE_NAME) but MODULE_NAME and LIBXUL_LIBRARY are not compatible)
 endif
 ifdef FORCE_STATIC_LIB
 $(error Makefile sets FORCE_STATIC_LIB which was already implied by LIBXUL_LIBRARY)
 endif
 FORCE_STATIC_LIB=1
 ifneq ($(SHORT_LIBNAME),)
 $(error SHORT_LIBNAME is $(SHORT_LIBNAME) but SHORT_LIBNAME is not compatable with LIBXUL_LIBRARY)
 endif
--- a/layout/build/Makefile.in
+++ b/layout/build/Makefile.in
@@ -13,16 +13,18 @@ include $(DEPTH)/config/autoconf.mk
 # Solaris sh blows
 ifeq ($(OS_ARCH),SunOS)
 SHELL := ksh
 endif
 
 LIBRARY_NAME	= gklayout
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsLayoutModule
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 
 SHARED_LIBRARY_LIBS = \
 	../base/$(LIB_PREFIX)gkbase_s.$(LIB_SUFFIX) \
 	../forms/$(LIB_PREFIX)gkforms_s.$(LIB_SUFFIX) \
 	../generic/$(LIB_PREFIX)gkgeneric_s.$(LIB_SUFFIX) \
--- a/layout/tools/layout-debug/src/Makefile.in
+++ b/layout/tools/layout-debug/src/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsLayoutDebugModule
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 
 include $(topsrcdir)/config/rules.mk
 
 libs::
 
--- a/mobile/android/components/build/Makefile.in
+++ b/mobile/android/components/build/Makefile.in
@@ -4,18 +4,20 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME     = nsBrowserCompsModule
 LIBXUL_LIBRARY  = 1
 
+IS_COMPONENT	= 1
 EXPORT_LIBRARY  = 1
 
 ifdef MOZ_ANDROID_HISTORY
 LOCAL_INCLUDES += \
 	-I$(topsrcdir)/docshell/base \
 	-I$(topsrcdir)/content/base/src \
 	$(NULL)
 endif
--- a/modules/libjar/Makefile.in
+++ b/modules/libjar/Makefile.in
@@ -8,15 +8,17 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= jar$(VERSION_NUMBER)
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsJarModule
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
--- a/modules/libjar/zipwriter/src/Makefile.in
+++ b/modules/libjar/zipwriter/src/Makefile.in
@@ -5,12 +5,14 @@
 DEPTH                 = @DEPTH@
 topsrcdir             = @top_srcdir@
 srcdir                = @srcdir@
 VPATH                 = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MSVC_ENABLE_PGO := 1
+MODULE_NAME           = ZipWriterModule
 EXPORT_LIBRARY        = 1
 LIBXUL_LIBRARY        = 1
+IS_COMPONENT          = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/modules/libpref/src/Makefile.in
+++ b/modules/libpref/src/Makefile.in
@@ -8,16 +8,18 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= pref
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsPrefModule
 LIBXUL_LIBRARY = 1
 
 DEFINES += -DOS_ARCH=$(OS_ARCH) \
            -DMOZ_WIDGET_TOOLKIT=$(MOZ_WIDGET_TOOLKIT) \
            $(NULL)
 
 include $(topsrcdir)/config/config.mk
 include $(topsrcdir)/config/rules.mk
--- a/netwerk/build/Makefile.in
+++ b/netwerk/build/Makefile.in
@@ -8,16 +8,18 @@ topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME   = necko
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT   = 1
+MODULE_NAME    = necko
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS := 1
 
 SHARED_LIBRARY_LIBS = \
   ../base/src/$(LIB_PREFIX)neckobase_s.$(LIB_SUFFIX) \
   ../dns/$(LIB_PREFIX)neckodns_s.$(LIB_SUFFIX) \
   ../socket/$(LIB_PREFIX)neckosocket_s.$(LIB_SUFFIX) \
   ../streamconv/src/$(LIB_PREFIX)nkconv_s.$(LIB_SUFFIX) \
--- a/parser/htmlparser/src/Makefile.in
+++ b/parser/htmlparser/src/Makefile.in
@@ -5,16 +5,18 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT   = 1
+MODULE_NAME	   = nsParserModule
 LIBXUL_LIBRARY = 1
 
 
 SHARED_LIBRARY_LIBS = \
 		$(DEPTH)/parser/xml/src/$(LIB_PREFIX)saxp.$(LIB_SUFFIX) \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/rdf/build/Makefile.in
+++ b/rdf/build/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY  = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsRDFModule
 LIBXUL_LIBRARY = 1
 
 # XXX Note dependencies on implementation headers for factory functions
 
 SHARED_LIBRARY_LIBS = \
 		../base/src/$(LIB_PREFIX)rdfbase_s.$(LIB_SUFFIX) \
 		../datasource/src/$(LIB_PREFIX)rdfdatasource_s.$(LIB_SUFFIX) \
 		$(NULL)
--- a/security/manager/boot/src/Makefile.in
+++ b/security/manager/boot/src/Makefile.in
@@ -5,16 +5,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MSVC_ENABLE_PGO := 1
+IS_COMPONENT	= 1
+MODULE_NAME	= BOOT
 EXPORT_LIBRARY	= 1
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 DEFINES += -D__STDC_CONSTANT_MACROS
 
 include $(topsrcdir)/config/rules.mk
 
--- a/security/manager/pki/src/Makefile.in
+++ b/security/manager/pki/src/Makefile.in
@@ -6,16 +6,18 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
+MODULE_NAME	= PKI
 EXPORT_LIBRARY	= 1
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS = 1
 
 INCLUDES	+= \
 		-I$(DIST)/public/nss \
 		$(NULL)
 
--- a/security/manager/ssl/src/Makefile.in
+++ b/security/manager/ssl/src/Makefile.in
@@ -6,16 +6,18 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT	= 1
+MODULE_NAME	= NSS
 EXPORT_LIBRARY	= 1
 LIBXUL_LIBRARY	= 1
 CSRCS += md4.c
 
 DEFINES += \
   -DNSS_ENABLE_ECC \
   -DDLL_PREFIX=\"$(DLL_PREFIX)\" \
   -DDLL_SUFFIX=\"$(DLL_SUFFIX)\" \
--- a/services/crypto/component/Makefile.in
+++ b/services/crypto/component/Makefile.in
@@ -7,12 +7,14 @@ topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 FAIL_ON_WARNINGS := 1
 
 EXPORT_LIBRARY := 1
+IS_COMPONENT := 1
+MODULE_NAME := nsServicesCryptoModule
 LIBXUL_LIBRARY := 1
 MOZILLA_INTERNAL_API := 1
 
 include $(topsrcdir)/config/rules.mk
--- a/startupcache/Makefile.in
+++ b/startupcache/Makefile.in
@@ -5,12 +5,14 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = StartupCacheModule
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
+IS_COMPONENT = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/storage/build/Makefile.in
+++ b/storage/build/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH=@DEPTH@
 topsrcdir=@top_srcdir@
 srcdir=@srcdir@
 VPATH=@srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
+MODULE_NAME = mozStorageModule
 LIBXUL_LIBRARY = 1
 
 
 LOCAL_INCLUDES = \
 	$(SQLITE_CFLAGS) \
 	-I$(srcdir)/../src
 
 SHARED_LIBRARY_LIBS = \
--- a/storage/src/Makefile.in
+++ b/storage/src/Makefile.in
@@ -5,16 +5,17 @@
 
 DEPTH   = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME      = mozStorageModule
 LIBXUL_LIBRARY = 1
 
 # Don't use the jemalloc allocator on Android, because we can't guarantee
 # that Gecko will configure sqlite before it is first used (bug 730495).
 #
 # Note: On Windows our sqlite build assumes we use jemalloc.  If you disable
 # MOZ_STORAGE_MEMORY on Windows, you will also need to change the "ifdef
 # MOZ_MEMORY" options in db/sqlite3/src/Makefile.in.
--- a/testing/gtest/Makefile.in
+++ b/testing/gtest/Makefile.in
@@ -12,18 +12,20 @@ VPATH = \
   $(srcdir) \
   $(srcdir)/gtest/src \
   $(srcdir)/mozilla \
   $(srcdir)/gmock/src \
   $(NULL)
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = gtest
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
+IS_COMPONENT = 1
 
 LOCAL_INCLUDES += \
   -I$(srcdir)/gtest \
   -I$(srcdir)/gtest/include \
   -I$(srcdir)/gmock \
   -I$(srcdir)/gmock/include \
   $(NULL)
 
--- a/toolkit/components/autocomplete/Makefile.in
+++ b/toolkit/components/autocomplete/Makefile.in
@@ -4,13 +4,15 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = tkAutoCompleteModule
+IS_COMPONENT = 1
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/build/Makefile.in
+++ b/toolkit/components/build/Makefile.in
@@ -7,16 +7,18 @@ DEPTH=@DEPTH@
 topsrcdir=@top_srcdir@
 srcdir=@srcdir@
 VPATH=@srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = toolkitcomps
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
+MODULE_NAME = nsToolkitCompsModule
 LIBXUL_LIBRARY = 1
 
 include $(topsrcdir)/config/config.mk
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../alerts \
   -I$(srcdir)/../downloads \
   -I$(srcdir)/../feeds \
--- a/toolkit/components/commandlines/Makefile.in
+++ b/toolkit/components/commandlines/Makefile.in
@@ -5,11 +5,13 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
+MODULE_NAME = CommandLineModule
 LIBXUL_LIBRARY = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/ctypes/Makefile.in
+++ b/toolkit/components/ctypes/Makefile.in
@@ -4,16 +4,19 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = jsctypes
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 
 LOCAL_INCLUDES := \
   -I$(topsrcdir)/js/xpconnect/loader \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/diskspacewatcher/Makefile.in
+++ b/toolkit/components/diskspacewatcher/Makefile.in
@@ -6,12 +6,14 @@ DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME   = diskspacewatcher
 EXPORT_LIBRARY = 1
+IS_COMPONENT   = 1
+MODULE_NAME    = DiskSpaceWatcherModule
 LIBXUL_LIBRARY = 1
 
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
--- a/toolkit/components/filepicker/Makefile.in
+++ b/toolkit/components/filepicker/Makefile.in
@@ -9,13 +9,15 @@ topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_XUL
 ifeq (,$(filter android qt os2 cocoa windows,$(MOZ_WIDGET_TOOLKIT)))
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
+MODULE_NAME = nsFileViewModule
 LIBXUL_LIBRARY = 1
 endif
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/mediasniffer/Makefile.in
+++ b/toolkit/components/mediasniffer/Makefile.in
@@ -7,10 +7,12 @@ topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME = mediasniffer
 LIBXUL_LIBRARY  = 1
 EXPORT_LIBRARY = 1
+MODULE_NAME = nsMediaSnifferModule
+IS_COMPONENT = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/perf/Makefile.in
+++ b/toolkit/components/perf/Makefile.in
@@ -4,18 +4,21 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = jsperf
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 FAIL_ON_WARNINGS = 1
 
 LOCAL_INCLUDES := \
   -I$(topsrcdir)/js/xpconnect/loader \
   $(NULL)
 
 ifdef ENABLE_TESTS
 MOCHITEST_CHROME_FILES = \
--- a/toolkit/components/places/Makefile.in
+++ b/toolkit/components/places/Makefile.in
@@ -9,16 +9,18 @@ VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_PLACES
 LIBRARY_NAME  = places
 MSVC_ENABLE_PGO := 1
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+MODULE_NAME = nsPlacesModule
+IS_COMPONENT = 1
 
 LOCAL_INCLUDES += -I$(srcdir)/../build
 
 
 ifdef MOZ_XUL
 endif
 
 EXTRA_PP_JS_MODULES = \
--- a/toolkit/components/reflect/Makefile.in
+++ b/toolkit/components/reflect/Makefile.in
@@ -4,17 +4,20 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = jsreflect
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 
 EXTRA_DSO_LDOPTS += \
     $(MOZ_COMPONENT_LIBS) \
     $(MOZ_JS_LIBS) \
     $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/remote/Makefile.in
+++ b/toolkit/components/remote/Makefile.in
@@ -6,15 +6,17 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY = 1
+IS_COMPONENT   = 1
+MODULE_NAME    = RemoteServiceModule
 
 LIBXUL_LIBRARY = 1
 
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(TK_CFLAGS)
 
--- a/toolkit/components/satchel/Makefile.in
+++ b/toolkit/components/satchel/Makefile.in
@@ -4,16 +4,18 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = satchel
+IS_COMPONENT = 1
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
 
 LOCAL_INCLUDES = \
   -I$(srcdir)/../build \
   $(NULL)
 
 
--- a/toolkit/components/statusfilter/Makefile.in
+++ b/toolkit/components/statusfilter/Makefile.in
@@ -6,11 +6,12 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBXUL_LIBRARY = 1
+MODULE_NAME	= nsBrowserModule
 
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/components/telemetry/Makefile.in
+++ b/toolkit/components/telemetry/Makefile.in
@@ -7,18 +7,21 @@ DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 USE_RCS_MK := 1
 include $(topsrcdir)/config/makefiles/rcs.mk
 
+MODULE_NAME = telemetry
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 FAIL_ON_WARNINGS = 1
 
 LIBRARY_NAME = telemetry
 MSVC_ENABLE_PGO := 1
 
 
 LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/build
 LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/threads
--- a/toolkit/devtools/server/Makefile.in
+++ b/toolkit/devtools/server/Makefile.in
@@ -4,18 +4,21 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = jsinspector
+
 LIBXUL_LIBRARY = 1
 EXPORT_LIBRARY = 1
+IS_COMPONENT = 1
 
 EXTRA_DSO_LDOPTS += \
     $(MOZ_COMPONENT_LIBS) \
     $(MOZ_JS_LIBS) \
     $(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
--- a/toolkit/identity/Makefile.in
+++ b/toolkit/identity/Makefile.in
@@ -6,12 +6,14 @@ DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 FAIL_ON_WARNINGS := 1
 
+MODULE_NAME = identity
 LIBXUL_LIBRARY = 1
+IS_COMPONENT = 1
 EXPORT_LIBRARY = 1
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/library/Makefile.in
+++ b/toolkit/library/Makefile.in
@@ -53,16 +53,17 @@ SHARED_LIBRARY_LIBS += \
 endif
 
 ifdef MOZ_XUL
 SHARED_LIBRARY_LIBS += $(DEPTH)/accessible/src/xul/$(LIB_PREFIX)accessibility_xul_s.$(LIB_SUFFIX)
 endif
 endif
 
 SHARED_LIBRARY_LIBS += \
+  $(foreach component,$(COMPONENT_LIBS),$(DEPTH)/staticlib/components/$(LIB_PREFIX)$(component).$(LIB_SUFFIX)) \
   $(foreach lib,$(STATIC_LIBS),$(DEPTH)/staticlib/$(LIB_PREFIX)$(lib).$(LIB_SUFFIX)) \
   $(NULL)
 
 ifeq ($(OS_ARCH)_$(GNU_CC),WINNT_)
 RCINCLUDE = xulrunner.rc
 
 LOCAL_INCLUDES += -I$(topsrcdir)/widget/windows
 LOCAL_INCLUDES += -I$(topsrcdir)/xpcom/base
@@ -129,17 +130,17 @@ endif
 STATIC_LIBS += \
   xpcom_core \
   ucvutil_s \
   chromium_s \
   snappy_s \
   $(NULL)
 
 # component libraries
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   necko \
   uconv \
   i18n \
   chardet \
   jar$(VERSION_NUMBER) \
   startupcache \
   pref \
   htmlpars \
@@ -165,189 +166,190 @@ STATIC_LIBS += \
   jsdebugger \
   storagecomps \
   rdf \
   windowds \
   diskspacewatcher \
   $(NULL)
 
 ifdef BUILD_CTYPES
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   jsctypes \
   $(NULL)
 endif
 
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   jsperf \
   gkplugin \
   $(NULL)
 
 ifdef MOZ_XUL
 ifdef MOZ_ENABLE_GTK
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   unixproxy \
   $(NULL)
 endif
 endif
 
 ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   osxproxy \
   $(NULL)
 endif
 
 ifdef MOZ_XUL
 ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
-STATIC_LIBS += \
+COMPONENT_LIBS += \
         unixproxy \
         $(NULL)
 endif
 endif
 
 ifneq (,$(filter windows,$(MOZ_WIDGET_TOOLKIT)))
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   windowsproxy \
   $(NULL)
 endif
 
 ifneq (,$(filter android,$(MOZ_WIDGET_TOOLKIT)))
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   androidproxy \
   $(NULL)
 endif
 
 ifdef MOZ_JSDEBUGGER
 DEFINES += -DMOZ_JSDEBUGGER
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   jsd \
   $(NULL)
 endif
 
 ifdef MOZ_PREF_EXTENSIONS
 DEFINES += -DMOZ_PREF_EXTENSIONS
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   autoconfig \
   $(NULL)
 endif
 
 ifdef MOZ_AUTH_EXTENSION
-STATIC_LIBS += auth
+COMPONENT_LIBS += auth
 DEFINES += -DMOZ_AUTH_EXTENSION
 endif
 
 ifdef MOZ_PERMISSIONS
-STATIC_LIBS += cookie permissions
+COMPONENT_LIBS += cookie permissions
 DEFINES += -DMOZ_PERMISSIONS
 endif
 
 ifdef MOZ_UNIVERSALCHARDET
-STATIC_LIBS += universalchardet
+COMPONENT_LIBS += universalchardet
 DEFINES += -DMOZ_UNIVERSALCHARDET
 endif
 
 ifeq (,$(filter android gonk qt os2 cocoa windows,$(MOZ_WIDGET_TOOLKIT)))
 ifdef MOZ_XUL
-STATIC_LIBS += fileview
+COMPONENT_LIBS += fileview
 DEFINES += -DMOZ_FILEVIEW
 endif
 endif
 
 ifdef MOZ_PLACES
-STATIC_LIBS += \
+COMPONENT_LIBS += \
 	places \
 	$(NULL)
 endif
 
 ifdef MOZ_XUL
-STATIC_LIBS += \
+COMPONENT_LIBS += \
 	tkautocomplete \
 	satchel \
 	pippki \
 	$(NULL)
 endif
 
 ifdef MOZ_ENABLE_GTK3
-STATIC_LIBS += widget_gtk3
+COMPONENT_LIBS += widget_gtk3
 endif
 
 ifdef MOZ_ENABLE_GTK2
-STATIC_LIBS += widget_gtk2
+COMPONENT_LIBS += widget_gtk2
 endif
 
 ifdef MOZ_ENABLE_GTK2
 ifdef MOZ_X11
 STATIC_LIBS += gtkxtbin
 endif
 endif
 
 # Platform-specific icon channel stuff - supported mostly-everywhere
 ifneq (,$(filter windows os2 mac cocoa gtk2 gtk3 qt android,$(MOZ_WIDGET_TOOLKIT)))
 DEFINES += -DICON_DECODER
-STATIC_LIBS += imgicon
+COMPONENT_LIBS += imgicon
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),android)
-STATIC_LIBS += widget_android skia_npapi
+COMPONENT_LIBS += widget_android
+STATIC_LIBS += skia_npapi
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),gonk)
-STATIC_LIBS += widget_gonk
+COMPONENT_LIBS += widget_gonk
 endif
 
 STATIC_LIBS += thebes gl ycbcr
 
 ifdef MOZ_ENABLE_PROFILER_SPS
-STATIC_LIBS += profiler
+COMPONENT_LIBS += profiler
 endif
 
 ifeq (windows,$(MOZ_WIDGET_TOOLKIT))
-STATIC_LIBS += widget_windows
+COMPONENT_LIBS += widget_windows
 ifdef MOZ_METRO
-STATIC_LIBS += widget_winrt
+COMPONENT_LIBS += widget_winrt
 endif
 endif
 ifeq (os2,$(MOZ_WIDGET_TOOLKIT))
-STATIC_LIBS += wdgtos2
+COMPONENT_LIBS += wdgtos2
 endif
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
-STATIC_LIBS += widget_mac
+COMPONENT_LIBS += widget_mac
 endif
 ifeq (qt,$(MOZ_WIDGET_TOOLKIT))
-STATIC_LIBS += widget_qt
+COMPONENT_LIBS += widget_qt
 endif
 
 ifdef MOZ_ENABLE_XREMOTE
-STATIC_LIBS += remoteservice
+COMPONENT_LIBS += remoteservice
 endif
 
 ifdef MOZ_SPELLCHECK
 DEFINES += -DMOZ_SPELLCHECK
-STATIC_LIBS += spellchecker
+COMPONENT_LIBS += spellchecker
 endif
 
 ifdef MOZ_ZIPWRITER
 DEFINES += -DMOZ_ZIPWRITER
-STATIC_LIBS += zipwriter
+COMPONENT_LIBS += zipwriter
 endif
 
-STATIC_LIBS += services-crypto
+COMPONENT_LIBS += services-crypto
 
 ifdef MOZ_DEBUG
 ifdef ENABLE_TESTS
-STATIC_LIBS += gkdebug
+COMPONENT_LIBS += gkdebug
 endif
 endif
 
 ifdef MOZ_GIO_COMPONENT
 DEFINES += -DMOZ_GIO_COMPONENT
-STATIC_LIBS += nkgio
+COMPONENT_LIBS += nkgio
 endif
 
 ifdef MOZ_APP_COMPONENT_LIBS
-STATIC_LIBS += $(MOZ_APP_COMPONENT_LIBS)
+COMPONENT_LIBS += $(MOZ_APP_COMPONENT_LIBS)
 endif
 
 ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
 OS_LIBS += -framework OpenGL -lcups
 endif
 
 EXTRA_DSO_LDOPTS += \
   $(LIBS_DIR) \
@@ -389,17 +391,17 @@ endif
 ifdef MOZ_DMD
 EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,dmd,$(DIST)/lib)
 endif
 
 EXTRA_DSO_LDOPTS += $(call EXPAND_LIBNAME_PATH,gkmedias,$(DIST)/lib)
 
 ifdef MOZ_WEBRTC
 ifdef MOZ_PEERCONNECTION
-STATIC_LIBS += peerconnection
+COMPONENT_LIBS += peerconnection
 endif
 ifdef MOZ_WEBRTC_SIGNALING
 EXTRA_DSO_LDOPTS += \
   $(DEPTH)/media/mtransport/build/$(LIB_PREFIX)mtransport.$(LIB_SUFFIX) \
   $(DEPTH)/media/webrtc/signaling/signaling_ecc/$(LIB_PREFIX)ecc.$(LIB_SUFFIX) \
   $(DEPTH)/media/webrtc/signaling/signaling_sipcc/$(LIB_PREFIX)sipcc.$(LIB_SUFFIX) \
   $(NULL)
 endif
@@ -702,17 +704,17 @@ gtestxul: $(GTEST_LIB)
 
 $(GTEST_LIB): $(FINAL_TARGET)/dependentlibs.list.gtest
 	$(MKDIR) -p $(EFFECTIVE_LIB_PREFIX)gtest
 	$(MAKE) libs SHARED_LIBRARY_NAME=gtest/$(EFFECTIVE_LIB_PREFIX)$(LIBRARY_NAME) FINAL_TARGET=$(FINAL_TARGET)/gtest SDK_LIBRARY= IMPORT_LIB_DEST=$(IMPORT_LIB_DEST)/gtest LINK_GTEST=true
 endif
 
 ifdef LINK_GTEST
 
-STATIC_LIBS += \
+COMPONENT_LIBS += \
   gtest \
   gfxtest \
   $(NULL)
 endif
 
 $(FINAL_TARGET)/dependentlibs.list: dependentlibs.py $(SHARED_LIBRARY) $(wildcard $(if $(wildcard $(FINAL_TARGET)/dependentlibs.list),$(addprefix $(FINAL_TARGET)/,$(shell cat $(FINAL_TARGET)/dependentlibs.list))))
 	$(PYTHON) $< $(SHARED_LIBRARY) -L $(FINAL_TARGET) $(if $(TOOLCHAIN_PREFIX),$(addprefix -p ,$(TOOLCHAIN_PREFIX))) > $@
 
--- a/toolkit/system/androidproxy/Makefile.in
+++ b/toolkit/system/androidproxy/Makefile.in
@@ -5,12 +5,14 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsAndroidProxyModule
 LIBXUL_LIBRARY  = 1
 
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/system/osxproxy/Makefile.in
+++ b/toolkit/system/osxproxy/Makefile.in
@@ -5,12 +5,14 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsOSXProxyModule
 LIBXUL_LIBRARY  = 1
 
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/system/unixproxy/Makefile.in
+++ b/toolkit/system/unixproxy/Makefile.in
@@ -5,15 +5,17 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsUnixProxyModule
 LIBXUL_LIBRARY  = 1
 
 ifdef MOZ_ENABLE_LIBPROXY
 CXXFLAGS += $(MOZ_LIBPROXY_CFLAGS)
 endif # MOZ_ENABLE_LIBPROXY
 
 include $(topsrcdir)/config/rules.mk
--- a/toolkit/system/windowsproxy/Makefile.in
+++ b/toolkit/system/windowsproxy/Makefile.in
@@ -5,12 +5,14 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsWindowsProxyModule
 LIBXUL_LIBRARY  = 1
 
 
 include $(topsrcdir)/config/rules.mk
--- a/tools/profiler/Makefile.in
+++ b/tools/profiler/Makefile.in
@@ -18,18 +18,20 @@ LOCAL_INCLUDES += \
   -I$(topsrcdir)/ipc/chromium/src \
   -I$(topsrcdir)/toolkit/crashreporter/google-breakpad/src \
   $(NULL)
 
 ifneq (,$(filter armeabi,$(ANDROID_CPU_ARCH)))
 DEFINES += -DARCH_ARMV6
 endif
 
+MODULE_NAME     = nsProfilerModule
 EXPORT_LIBRARY  = 1
 LIBXUL_LIBRARY  = 1
+IS_COMPONENT    = 1
 ifndef _MSC_VER
 FAIL_ON_WARNINGS = 1
 endif # !_MSC_VER
 
 # Uncomment for better debugging in opt builds
 #MOZ_OPTIMIZE_FLAGS += -O0 -g
 
 ifeq ($(OS_TARGET),Darwin)
--- a/view/src/Makefile.in
+++ b/view/src/Makefile.in
@@ -6,16 +6,17 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MSVC_ENABLE_PGO := 1
+MODULE_NAME	= nsViewModule
 LIBXUL_LIBRARY	= 1
 FAIL_ON_WARNINGS := 1
 
 DEFINES += -D_IMPL_NS_LAYOUT
 
 include $(topsrcdir)/config/rules.mk
 
 LOCAL_INCLUDES  = \
--- a/widget/android/Makefile.in
+++ b/widget/android/Makefile.in
@@ -6,16 +6,18 @@ DEPTH           = @DEPTH@
 topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME    = widget_android
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsWidgetAndroidModule
 LIBXUL_LIBRARY  = 1
 FAIL_ON_WARNINGS := 1
 
 ifdef MOZ_ONLY_TOUCH_EVENTS
 DEFINES += -DMOZ_ONLY_TOUCH_EVENTS
 endif
 ifdef MOZ_WEBSMS_BACKEND
 DEFINES += -DMOZ_WEBSMS_BACKEND
--- a/widget/cocoa/Makefile.in
+++ b/widget/cocoa/Makefile.in
@@ -6,16 +6,18 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
+MODULE_NAME	= nsWidgetMacModule
 LIBXUL_LIBRARY = 1
 
 
 
 CMMSRCS = \
   nsBidiKeyboard.mm \
   nsClipboard.mm \
   nsMenuX.mm \
--- a/widget/gonk/Makefile.in
+++ b/widget/gonk/Makefile.in
@@ -19,16 +19,18 @@ VPATH           = \
   $(srcdir) \
   $(srcdir)/libui \
   $(NULL)
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME    = widget_gonk
 EXPORT_LIBRARY  = 1
+IS_COMPONENT    = 1
+MODULE_NAME     = nsWidgetGonkModule
 LIBXUL_LIBRARY  = 1
 
 SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a
 
 include $(topsrcdir)/config/rules.mk
 include $(topsrcdir)/ipc/chromium/chromium-config.mk
 
 DEFINES += -DHAVE_OFF64_T -DSK_BUILD_FOR_ANDROID_NDK
--- a/widget/gtk2/Makefile.in
+++ b/widget/gtk2/Makefile.in
@@ -6,22 +6,25 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_ENABLE_GTK2
+MODULE_NAME	= nsWidgetGtk2Module
 LIBRARY_NAME	= widget_gtk2
 else
+MODULE_NAME	= nsWidgetGtk3Module
 LIBRARY_NAME	= widget_gtk3
 endif
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
 LIBXUL_LIBRARY = 1
 FAIL_ON_WARNINGS = 1
 
 NATIVE_THEME_SUPPORT = 1
 
 
 
 CSRCS		= \
--- a/widget/os2/Makefile.in
+++ b/widget/os2/Makefile.in
@@ -6,17 +6,19 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
 RESFILE		= widget.res
+MODULE_NAME	= nsWidgetOS2Module
 LIBXUL_LIBRARY = 1
 
 
 SHARED_LIBRARY_LIBS = \
 	../xpwidgets/$(LIB_PREFIX)xpwidgets_s.$(LIB_SUFFIX) \
 	$(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/widget/qt/Makefile.in
+++ b/widget/qt/Makefile.in
@@ -7,16 +7,18 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= widget_qt
 EXPORT_LIBRARY = 1
+IS_COMPONENT    = 1
+MODULE_NAME	= nsWidgetQtModule
 LIBXUL_LIBRARY	= 1
 
 SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a
 
 # If not primary toolkit, install in secondary path
 ifneq (qt,$(MOZ_WIDGET_TOOLKIT))
 INACTIVE_COMPONENT = 1
 endif
--- a/widget/windows/Makefile.in
+++ b/widget/windows/Makefile.in
@@ -8,17 +8,19 @@ topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= widget_windows
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY	= 1
+IS_COMPONENT	= 1
 RESFILE		= widget.res
+MODULE_NAME	= nsWidgetWinModule
 LIBXUL_LIBRARY = 1
 
 DEFINES		+= -DMOZ_UNICODE 
 
 ifdef MOZ_ENABLE_D3D9_LAYER
 DEFINES		+= -DMOZ_ENABLE_D3D9_LAYER
 endif
 
--- a/widget/windows/winrt/Makefile.in
+++ b/widget/windows/winrt/Makefile.in
@@ -6,16 +6,18 @@ DEPTH		= ../../..
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME		= widget_winrt
 EXPORT_LIBRARY	= 1
+IS_COMPONENT		= 1
+MODULE_NAME			= WidgetWinRTModule
 LIBXUL_LIBRARY	= 1
 
 DEFINES		+= -DMOZ_UNICODE
 
 ifdef MOZ_ENABLE_D3D9_LAYER
 DEFINES		+= -DMOZ_ENABLE_D3D9_LAYER
 endif
 
--- a/xpcom/glue/tests/gtest/Makefile.in
+++ b/xpcom/glue/tests/gtest/Makefile.in
@@ -5,15 +5,18 @@
 
 DEPTH = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir = @srcdir@
 VPATH = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME = xpcom_glue_gtest
 EXPORT_LIBRARY = 1
 LIBXUL_LIBRARY = 1
+IS_COMPONENT = 1
 
-LOCAL_INCLUDES = \ -I$(srcdir)/../.. \
+LOCAL_INCLUDES = \
+  -I$(srcdir)/../.. \
   $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/xpfe/appshell/src/Makefile.in
+++ b/xpfe/appshell/src/Makefile.in
@@ -5,16 +5,18 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+IS_COMPONENT=1
+MODULE_NAME	= appshell
 MSVC_ENABLE_PGO := 1
 EXPORT_LIBRARY  = 1
 LIBXUL_LIBRARY	= 1
 
 LOCAL_INCLUDES += -I$(topsrcdir)/dom/base
 
 include $(topsrcdir)/config/rules.mk
 
--- a/xpfe/components/autocomplete/src/Makefile.in
+++ b/xpfe/components/autocomplete/src/Makefile.in
@@ -5,12 +5,14 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME	= xpAutoComplete
 EXPORT_LIBRARY	= 1
 LIBXUL_LIBRARY  = 1
+IS_COMPONENT	= 1
 
 include $(topsrcdir)/config/rules.mk
--- a/xpfe/components/build/Makefile.in
+++ b/xpfe/components/build/Makefile.in
@@ -7,16 +7,18 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 LIBRARY_NAME	= appcomps
 EXPORT_LIBRARY = 1
+IS_COMPONENT	= 1
+MODULE_NAME	= application
 LIBXUL_LIBRARY	= 1
 
 
 include $(topsrcdir)/config/config.mk
 
 # General includes
 SHARED_LIBRARY_LIBS += ../directory/$(LIB_PREFIX)directory_s.$(LIB_SUFFIX)
 LOCAL_INCLUDES += -I$(srcdir)/../directory
--- a/xpfe/components/windowds/Makefile.in
+++ b/xpfe/components/windowds/Makefile.in
@@ -5,13 +5,15 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
+MODULE_NAME      = nsWindowDataSourceModule
 LIBXUL_LIBRARY   = 1
+IS_COMPONENT     = 1
 EXPORT_LIBRARY   = 1
 
 
 include $(topsrcdir)/config/rules.mk