Bug 940204 - Use FINAL_LIBRARY in comm-central, r=Standard8
authorJoshua Cranmer <Pidgeot18@gmail.com>
Mon, 16 Dec 2013 18:32:52 -0600
changeset 17086 1f890b59ac387094c867dd8653e7172567699218
parent 17085 8d82423a804fb0b5cfd97d18645ab0ffd6304723
child 17087 4ddaf8f98984a62ae8734cdc2ee003ace2e67d5e
push id1103
push usermbanner@mozilla.com
push dateTue, 18 Mar 2014 07:44:06 +0000
treeherdercomm-beta@50c6279a0af0 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersStandard8
bugs940204
Bug 940204 - Use FINAL_LIBRARY in comm-central, r=Standard8 A CLOSED TREE for SeaMonkey though.
calendar/base/backend/libical/build/Makefile.in
calendar/base/backend/libical/moz.build
calendar/libical/src/libical/moz.build
config/config.mk
db/mork/build/Makefile.in
db/mork/build/moz.build
db/mork/src/moz.build
ldap/xpcom/src/moz.build
mail/components/build/Makefile.in
mail/components/build/moz.build
mail/components/migration/src/Makefile.in
mail/components/migration/src/moz.build
mail/components/search/Makefile.in
mail/components/search/moz.build
mail/components/shell/Makefile.in
mail/components/shell/moz.build
mail/configure.in
mail/confvars.sh
mailnews/addrbook/src/moz.build
mailnews/base/search/src/moz.build
mailnews/base/src/moz.build
mailnews/base/util/moz.build
mailnews/build/Makefile.in
mailnews/build/moz.build
mailnews/compose/src/moz.build
mailnews/db/msgdb/src/moz.build
mailnews/extensions/bayesian-spam-filter/src/moz.build
mailnews/extensions/fts3/src/moz.build
mailnews/extensions/mailviews/src/moz.build
mailnews/extensions/mdn/src/moz.build
mailnews/extensions/smime/src/moz.build
mailnews/imap/src/moz.build
mailnews/import/applemail/src/moz.build
mailnews/import/build/Makefile.in
mailnews/import/build/moz.build
mailnews/import/eudora/src/moz.build
mailnews/import/oexpress/moz.build
mailnews/import/outlook/src/moz.build
mailnews/import/src/moz.build
mailnews/import/text/src/moz.build
mailnews/import/vcard/src/moz.build
mailnews/import/winlivemail/moz.build
mailnews/local/src/moz.build
mailnews/mapi/mapihook/src/moz.build
mailnews/mime/cthandlers/glue/moz.build
mailnews/mime/cthandlers/pgpmime/moz.build
mailnews/mime/cthandlers/vcard/moz.build
mailnews/mime/emitters/moz.build
mailnews/mime/src/moz.build
mailnews/news/src/moz.build
suite/build/Makefile.in
suite/configure.in
suite/confvars.sh
suite/feeds/src/moz.build
suite/profile/migration/src/moz.build
suite/profile/moz.build
suite/shell/src/moz.build
--- a/calendar/base/backend/libical/build/Makefile.in
+++ b/calendar/base/backend/libical/build/Makefile.in
@@ -5,29 +5,23 @@
 
 DEPTH   = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-SHORT_LIBNAME = calbscmp
 MODULE_NAME = calBaseModule
 USE_STATIC_LIBS = 1
 NO_COMPONENTS_MANIFEST = 1
 
 LOCAL_INCLUDES = \
 	-I$(srcdir)/..
 
-SHARED_LIBRARY_LIBS = \
-    $(DEPTH)/calendar/base/backend/libical/$(LIB_PREFIX)calbase_s.$(LIB_SUFFIX) \
-    $(DEPTH)/calendar/libical/src/libical/$(LIB_PREFIX)mozical.$(LIB_SUFFIX) \
-    $(NULL)
-
 ifdef JS_SHARED_LIBRARY 
 EXTRA_DSO_LDOPTS += $(MOZ_JS_LIBS)
 else
 EXTRA_DSO_LDOPTS += $(XPCOM_LIBS)
 endif
 
 EXTRA_DSO_LDOPTS += \
 	$(LIBS_DIR) \
--- a/calendar/base/backend/libical/moz.build
+++ b/calendar/base/backend/libical/moz.build
@@ -18,12 +18,10 @@ SOURCES += [
     'calDuration.cpp',
     'calICSService.cpp',
     'calPeriod.cpp',
     'calRecurrenceRule.cpp',
     'calTimezone.cpp',
     'calUtils.cpp',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'calbasecomps'
 
-LIBRARY_NAME = 'calbase_s'
-
--- a/calendar/libical/src/libical/moz.build
+++ b/calendar/libical/src/libical/moz.build
@@ -23,12 +23,10 @@ SOURCES += [
     'icaltimezone.c',
     'icaltypes.c',
     'icalvalue.c',
     'pvl.c',
     'sspm.c',
     'vsnprintf.c',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'calbasecomps'
 
-LIBRARY_NAME = 'mozical'
-
--- a/config/config.mk
+++ b/config/config.mk
@@ -37,16 +37,17 @@ endif
   ANDROID_GENERATED_RESFILES \
   ANDROID_RESFILES \
   CMMSRCS \
   CPP_UNIT_TESTS \
   DIRS \
   DIST_SUBDIR \
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
+  FINAL_LIBRARY \
   FINAL_TARGET \
   GTEST_CMMSRCS \
   GTEST_CPPSRCS \
   GTEST_CSRCS \
   HOST_CSRCS \
   HOST_LIBRARY_NAME \
   IS_COMPONENT \
   JS_MODULES_PATH \
@@ -281,16 +282,23 @@ ifdef MOZ_GLUE_PROGRAM_LDFLAGS
 DEFINES += -DMOZ_GLUE_IN_PROGRAM
 else
 MOZ_GLUE_PROGRAM_LDFLAGS=$(MOZ_GLUE_LDFLAGS)
 endif
 
 # Determine if module being compiled is destined 
 # to be merged into libxul
 
+ifeq ($(FINAL_LIBRARY),xul)
+  ifdef LIBXUL_LIBRARY
+    $(error FINAL_LIBRARY is "xul", LIBXUL_LIBRARY is implied)
+  endif
+  LIBXUL_LIBRARY := 1
+endif
+
 ifdef LIBXUL_LIBRARY
 ifdef IS_COMPONENT
 $(error IS_COMPONENT is set, but is not compatible with LIBXUL_LIBRARY)
 endif
 ifdef MODULE_NAME
 $(error MODULE_NAME is $(MODULE_NAME) but MODULE_NAME and LIBXUL_LIBRARY are not compatible)
 endif
 FORCE_STATIC_LIB=1
--- a/db/mork/build/Makefile.in
+++ b/db/mork/build/Makefile.in
@@ -7,21 +7,17 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 VPATH		= @srcdir@
 srcdir		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
 MODULE_NAME	= nsMorkModule
-endif
 
-SHARED_LIBRARY_LIBS = ../src/$(LIB_PREFIX)msgmork_s.$(LIB_SUFFIX)
-
-ifdef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
 EXTRA_DSO_LDOPTS += \
 	$(XPCOM_GLUE_LDOPTS) \
 	$(NSPR_LIBS) \
 	$(NULL)
 endif
 
 include $(topsrcdir)/config/rules.mk
 
--- a/db/mork/build/moz.build
+++ b/db/mork/build/moz.build
@@ -11,14 +11,14 @@ EXPORTS += [
 SOURCES += [
     'nsMorkFactory.cpp',
 ]
 
 if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
     IS_COMPONENT = True
     FORCE_SHARED_LIB = True
 else:
-    LIBXUL_LIBRARY = True
+    FINAL_LIBRARY = 'xul'
 
 EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'mork'
 
--- a/db/mork/src/moz.build
+++ b/db/mork/src/moz.build
@@ -46,15 +46,10 @@ SOURCES += [
     'morkYarn.cpp',
     'morkZone.cpp',
     'orkinHeap.cpp',
 ]
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     SOURCES += ['morkSearchRowCursor.cpp']
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mork'
 
-LIBRARY_NAME = 'msgmork_s'
-
--- a/ldap/xpcom/src/moz.build
+++ b/ldap/xpcom/src/moz.build
@@ -25,14 +25,14 @@ EXTRA_COMPONENTS += [
     'ldapComponents.manifest',
     'nsLDAPProtocolHandler.js',
 ]
 
 if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
     IS_COMPONENT = True
     FORCE_SHARED_LIB = True
 else:
-    LIBXUL_LIBRARY = True
+    FINAL_LIBRARY = 'xul'
 
 EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'mozldap'
 
--- a/mail/components/build/Makefile.in
+++ b/mail/components/build/Makefile.in
@@ -4,42 +4,25 @@
 
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-# NOTE: if we switch away from LIBXUL_LIBRARY at any stage
-# we need to clear the EMBED_MANIFEST_AT flag. (See Bug 714495)
-
-SHORT_LIBNAME	= mailcmp
-
 ifeq ($(OS_ARCH),WINNT)
 OS_LIBS += $(call EXPAND_LIBNAME,ole32 shell32)
 endif
 
 LOCAL_INCLUDES = \
 	-I$(srcdir)/../migration/src \
 	-I$(srcdir)/../shell \
 	-I$(srcdir)/../history \
 	$(NULL)
 
 ifneq (,$(filter windows, $(MOZ_WIDGET_TOOLKIT)))
 LOCAL_INCLUDES += \
 	-I$(srcdir)/../search \
 	$(NULL)
 endif
 
-SHARED_LIBRARY_LIBS = \
-	../migration/src/$(LIB_PREFIX)profilemigration_s.$(LIB_SUFFIX) \
-	$(NULL)
-
-ifneq (,$(filter windows cocoa gtk2 qt, $(MOZ_WIDGET_TOOLKIT)))
-SHARED_LIBRARY_LIBS += ../shell/$(LIB_PREFIX)shellservice_s.$(LIB_SUFFIX)
-endif
-
-ifneq (,$(filter windows, $(MOZ_WIDGET_TOOLKIT)))
-SHARED_LIBRARY_LIBS += ../search/$(LIB_PREFIX)winsearch_s.$(LIB_SUFFIX)
-endif
-
 include $(topsrcdir)/config/rules.mk
--- a/mail/components/build/moz.build
+++ b/mail/components/build/moz.build
@@ -2,13 +2,15 @@
 # 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/.
 
 SOURCES += [
     'nsMailComps.cpp',
 ]
 
-LIBXUL_LIBRARY = True
+# NOTE: if we switch away from LIBXUL_LIBRARY at any stage
+# we need to clear the EMBED_MANIFEST_AT flag. (See Bug 714495)
+FINAL_LIBRARY = 'xul'
 EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'mailcomps'
 
deleted file mode 100644
--- a/mail/components/migration/src/Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-# 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/.
-
-DEPTH=@DEPTH@
-topsrcdir=@top_srcdir@
-srcdir=@srcdir@
-VPATH=@srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-MODULE_NAME = nsMailProfileMigratorModule
-MOZILLA_INTERNAL_API = 1
-
-include $(topsrcdir)/config/rules.mk
--- a/mail/components/migration/src/moz.build
+++ b/mail/components/migration/src/moz.build
@@ -19,12 +19,10 @@ if CONFIG['OS_ARCH'] == 'WINNT':
     ]
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     SOURCES += [
         'nsEudoraProfileMigrator.cpp',
         'nsProfileMigratorBase.cpp',
     ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'mailcomps'
 
-LIBRARY_NAME = 'profilemigration_s'
-
deleted file mode 100644
--- a/mail/components/search/Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-# 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/.
-
-DEPTH     = @DEPTH@
-topsrcdir = @top_srcdir@
-srcdir    = @srcdir@
-VPATH     = @srcdir@
-
-include $(DEPTH)/config/autoconf.mk
-
-# If on Windows, build Windows Search integration
-ifneq (,$(filter windows, $(MOZ_WIDGET_TOOLKIT)))
-MODULE_NAME = nsMailWinSearchHelperModule
-ifneq ($(MOZ_WIDGET_TOOLKIT), gtk2)
-MOZILLA_INTERNAL_API = 1
-endif
-endif
-
-include $(topsrcdir)/config/rules.mk
--- a/mail/components/search/moz.build
+++ b/mail/components/search/moz.build
@@ -5,17 +5,16 @@
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     DIRS += ['mdimporter']
     EXTRA_PP_JS_MODULES += ['SpotlightIntegration.js']
 elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
     DIRS += ['wsenable']
     SOURCES += ['nsMailWinSearchHelper.cpp']
     EXTRA_PP_JS_MODULES += ['WinSearchIntegration.js']
-    FORCE_STATIC_LIB = True
-    LIBRARY_NAME = 'winsearch_s'
+    FINAL_LIBRARY = 'mailcomps'
 
 DIRS += ['public']
 
 EXTRA_PP_JS_MODULES += [
     'SearchIntegration.js',
 ]
 
--- a/mail/components/shell/Makefile.in
+++ b/mail/components/shell/Makefile.in
@@ -6,14 +6,11 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 DEFINES += -DMOZ_APP_NAME=\"$(MOZ_APP_NAME)\"
 
-MODULE_NAME = nsMailShellModule
-MOZILLA_INTERNAL_API = 1
-
 include $(topsrcdir)/config/rules.mk
 
 CXXFLAGS += $(TK_CFLAGS)
--- a/mail/components/shell/moz.build
+++ b/mail/components/shell/moz.build
@@ -18,12 +18,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk2
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     SOURCES += ['nsMailMacIntegration.cpp']
 
 EXTRA_COMPONENTS += [
     'nsSetDefaultMail.js',
     'shell.manifest',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'mailcomps'
 
-LIBRARY_NAME = 'shellservice_s'
-
--- a/mail/configure.in
+++ b/mail/configure.in
@@ -9,17 +9,16 @@ AC_DEFINE(MOZ_THUNDERBIRD)
 AC_SUBST(MOZ_THUNDERBIRD)
 AC_SUBST(MOZ_COMPOSER)
 AC_SUBST(THUNDERBIRD_VERSION)
 
 dnl Optional parts of the build.
 AC_SUBST(MOZ_MORK)
 if test "$MOZ_MORK"; then
   AC_DEFINE(MOZ_MORK)
-  MORK_COMPONENT=mork
   MORK_MODULE="MODULE(nsMorkModule)"
 fi
 if test "$OS_ARCH" != "WINNT" -a "$OS_ARCH" != "OS2"; then
   MOZ_MOVEMAIL=1
   HAVE_MOVEMAIL=1
   AC_DEFINE(HAVE_MOVEMAIL)
 fi
 AC_SUBST(MOZ_MOVEMAIL)
@@ -66,17 +65,16 @@ if test "$MOZ_LDAP_XPCOM"; then
             LDAP_LIBS='$(DIST)/lib/$(LIB_PREFIX)nsldap32v60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)nsldappr32v60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)nsldif32v60.${IMPORT_LIB_SUFFIX}'
         fi
     elif test "$OS_ARCH" = "OS2"; then
             LDAP_LIBS='$(DIST)/lib/$(LIB_PREFIX)ldap60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)prldap60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)ldif60.${IMPORT_LIB_SUFFIX}'
     else
         LDAP_LIBS='-L${DIST}/bin -L${DIST}/lib -lldap60 -lprldap60 -lldif60'
     fi
 
-    LDAP_COMPONENT=mozldap
     LDAP_MODULE="MODULE(nsLDAPProtocolModule)"
 fi
 
 AC_SUBST(MOZ_LDAP_XPCOM)
 AC_SUBST(LDAP_CFLAGS)
 AC_SUBST(LDAP_LIBS)
 
 dnl =========================================================
@@ -90,22 +88,20 @@ fi
 MOZ_ARG_DISABLE_BOOL(mapi,
 [  --disable-mapi          Disable MAPI support],
     MOZ_MAPI_SUPPORT= )
 
 AC_SUBST(MOZ_MAPI_SUPPORT)
 
 if test -n "$MOZ_MAPI_SUPPORT"; then
     AC_DEFINE(MOZ_MAPI_SUPPORT)
-    MAIL_COMPONENT="$MAIL_COMPONENT msgMapi"
     MAIL_MODULE="$MAIL_MODULE MODULE(msgMapiModule)"
 fi
 
 if test -z "$MOZ_INCOMPLETE_EXTERNAL_LINKAGE"; then
-  MOZ_APP_COMPONENT_LIBS="mailcomps $MAIL_COMPONENT $LDAP_COMPONENT $MORK_COMPONENT"
   MOZ_APP_COMPONENT_MODULES="MODULE(nsMailCompsModule) $MAIL_MODULE $LDAP_MODULE $MORK_MODULE"
   MOZ_APP_EXTRA_LIBS="$LDAP_LIBS"
 fi
 
 # Check for PBBUILD on OS X.
 case "$target_os" in
 darwin*)
   for name in pbbuild xcodebuild pbxbuild; do
--- a/mail/confvars.sh
+++ b/mail/confvars.sh
@@ -22,17 +22,16 @@ fi
 # Disable Accessibility on Mac for now as unit tests fail (bug 862238).
 if test "$OS_ARCH" = "Darwin"; then
   ACCESSIBILITY=
 fi
 
 MOZ_SAFE_BROWSING=1
 MOZ_MEDIA_NAVIGATOR=1
 MOZ_MORK=1
-MAIL_COMPONENT="mail import"
 MAIL_MODULE="MODULE(nsMailModule) MODULE(nsImportServiceModule)"
 
 MOZ_APP_VERSION_TXT=${_topsrcdir}/$MOZ_BUILD_APP/config/version.txt
 MOZ_APP_VERSION=`cat $MOZ_APP_VERSION_TXT`
 THUNDERBIRD_VERSION=$MOZ_APP_VERSION
 
 MOZ_UA_BUILDID=20100101
 
--- a/mailnews/addrbook/src/moz.build
+++ b/mailnews/addrbook/src/moz.build
@@ -83,15 +83,10 @@ EXTRA_COMPONENTS += [
     'nsAbAutoCompleteSearch.js',
     'nsAbLDAPAttributeMap.js',
 ]
 
 EXTRA_PP_COMPONENTS += [
     'nsAddrbook.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'addrbook_s'
-
--- a/mailnews/base/search/src/moz.build
+++ b/mailnews/base/search/src/moz.build
@@ -17,15 +17,10 @@ SOURCES += [
     'nsMsgSearchValue.cpp',
 ]
 
 EXTRA_COMPONENTS += [
     'nsMsgTraitService.js',
     'nsMsgTraitService.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgsearch_s'
-
--- a/mailnews/base/src/moz.build
+++ b/mailnews/base/src/moz.build
@@ -72,15 +72,10 @@ EXTRA_COMPONENTS += [
     'newMailNotificationService.js',
     'nsMailNewsCommandLineHandler.js',
 ]
 
 EXTRA_JS_MODULES += [
     'virtualFolderWrapper.js',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgbase_s'
-
--- a/mailnews/base/util/moz.build
+++ b/mailnews/base/util/moz.build
@@ -59,16 +59,13 @@ EXTRA_JS_MODULES += [
     'mailnewsMigrator.js',
     'mailServices.js',
     'msgDBCacheManager.js',
     'StringBundle.js',
     'templateUtils.js',
     'traceHelper.js',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
 LIBRARY_NAME = 'msgbsutl_s'
 
 DEFINES['_IMPL_NS_MSG_BASE'] = True
--- a/mailnews/build/Makefile.in
+++ b/mailnews/build/Makefile.in
@@ -9,38 +9,16 @@ srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
 MODULE_NAME	= nsMailModule
 endif
 
-SHARED_LIBRARY_LIBS = \
-	        ../base/util/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX) \
-		../base/src/$(LIB_PREFIX)msgbase_s.$(LIB_SUFFIX) \
-		../base/search/src/$(LIB_PREFIX)msgsearch_s.$(LIB_SUFFIX) \
-		../local/src//$(LIB_PREFIX)msglocal_s.$(LIB_SUFFIX) \
-	        ../compose/src/$(LIB_PREFIX)msgcompose_s.$(LIB_SUFFIX) \
-	        ../db/msgdb/src/$(LIB_PREFIX)msgdb_s.$(LIB_SUFFIX) \
-	        ../imap/src/$(LIB_PREFIX)msgimap_s.$(LIB_SUFFIX) \
-	        ../addrbook/src/$(LIB_PREFIX)addrbook_s.$(LIB_SUFFIX) \
-	        ../news/src/$(LIB_PREFIX)msgnews_s.$(LIB_SUFFIX) \
-	        ../mime/src/$(LIB_PREFIX)mime_s.$(LIB_SUFFIX) \
-	        ../mime/emitters/$(LIB_PREFIX)emitterutil_s.$(LIB_SUFFIX) \
-	        ../extensions/bayesian-spam-filter/src/$(LIB_PREFIX)bayesflt_s.$(LIB_SUFFIX) \
-	        ../extensions/fts3/src/$(LIB_PREFIX)fts3tok_s.$(LIB_SUFFIX) \
-	        ../extensions/mailviews/src/$(LIB_PREFIX)mailview_s.$(LIB_SUFFIX) \
-                ../extensions/mdn/src/$(LIB_PREFIX)msgmdn_s.$(LIB_SUFFIX) \
-                ../extensions/smime/src/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \
-                ../mime/cthandlers/vcard/$(LIB_PREFIX)vcard_s.$(LIB_SUFFIX) \
-                ../mime/cthandlers/glue/$(LIB_PREFIX)mimecthglue_s.$(LIB_SUFFIX) \
-                ../mime/cthandlers/pgpmime/$(LIB_PREFIX)pgpmime_s.$(LIB_SUFFIX) \
-                $(NULL)
-
 EXTRA_DSO_LDOPTS = \
 	$(LIBS_DIR) \
 	$(MOZ_JS_LIBS) \
 	$(XPCOM_GLUE_LDOPTS) \
 	$(call EXPAND_LIBNAME_PATH,unicharutil_external_s,$(LIBXUL_DIST)/lib) \
 	$(call EXPAND_LIBNAME_PATH,rdfutil_external_s,$(LIBXUL_DIST)/lib) \
 	$(NSPR_LIBS) \
 	$(XPCOM_LIBS) \
--- a/mailnews/build/moz.build
+++ b/mailnews/build/moz.build
@@ -6,16 +6,16 @@
 SOURCES += [
     'nsMailModule.cpp',
 ]
 
 if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
     IS_COMPONENT = True
     FORCE_SHARED_LIB = True
 else:
-    LIBXUL_LIBRARY = True
+    FINAL_LIBRARY = 'xul'
 
 EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'mail'
 
 if CONFIG['MOZ_LDAP_XPCOM']:
     DEFINES['MOZ_LDAP_XPCOM'] = True
--- a/mailnews/compose/src/moz.build
+++ b/mailnews/compose/src/moz.build
@@ -37,15 +37,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'coco
         'nsMsgAppleEncode.cpp',
     ]
 
 EXTRA_COMPONENTS += [
     'nsSMTPProtocolHandler.js',
     'nsSMTPProtocolHandler.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgcompose_s'
-
--- a/mailnews/db/msgdb/src/moz.build
+++ b/mailnews/db/msgdb/src/moz.build
@@ -9,15 +9,10 @@ SOURCES += [
     'nsMailDatabase.cpp',
     'nsMsgDatabase.cpp',
     'nsMsgHdr.cpp',
     'nsMsgOfflineImapOperation.cpp',
     'nsMsgThread.cpp',
     'nsNewsDatabase.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgdb_s'
-
--- a/mailnews/extensions/bayesian-spam-filter/src/moz.build
+++ b/mailnews/extensions/bayesian-spam-filter/src/moz.build
@@ -2,15 +2,10 @@
 # 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/.
 
 SOURCES += [
     'nsBayesianFilter.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'bayesflt_s'
-
--- a/mailnews/extensions/fts3/src/moz.build
+++ b/mailnews/extensions/fts3/src/moz.build
@@ -8,15 +8,10 @@ SOURCES += [
     'Normalize.c',
 ]
 
 SOURCES += [
     'nsFts3Tokenizer.cpp',
     'nsGlodaRankerFunction.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'fts3tok_s'
-
--- a/mailnews/extensions/mailviews/src/moz.build
+++ b/mailnews/extensions/mailviews/src/moz.build
@@ -2,15 +2,10 @@
 # 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/.
 
 SOURCES += [
     'nsMsgMailViewList.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'mailview_s'
-
--- a/mailnews/extensions/mdn/src/moz.build
+++ b/mailnews/extensions/mdn/src/moz.build
@@ -7,15 +7,10 @@ SOURCES += [
     'nsMsgMdnGenerator.cpp',
 ]
 
 EXTRA_COMPONENTS += [
     'mdn-service.js',
     'mdn-service.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgmdn_s'
-
--- a/mailnews/extensions/smime/src/moz.build
+++ b/mailnews/extensions/smime/src/moz.build
@@ -9,15 +9,10 @@ SOURCES += [
     'nsSMimeJSHelper.cpp',
 ]
 
 EXTRA_COMPONENTS += [
     'smime-service.js',
     'smime-service.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgsmime_s'
-
--- a/mailnews/imap/src/moz.build
+++ b/mailnews/imap/src/moz.build
@@ -24,15 +24,10 @@ SOURCES += [
     'nsImapService.cpp',
     'nsImapStringBundle.cpp',
     'nsImapUndoTxn.cpp',
     'nsImapUrl.cpp',
     'nsImapUtils.cpp',
     'nsSyncRunnableHelpers.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgimap_s'
-
--- a/mailnews/import/applemail/src/moz.build
+++ b/mailnews/import/applemail/src/moz.build
@@ -6,15 +6,10 @@
 SOURCES += [
     'nsAppleMailImport.cpp',
 ]
 
 SOURCES += [
     'nsEmlxHelperUtils.mm',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'applmail_s'
-
--- a/mailnews/import/build/Makefile.in
+++ b/mailnews/import/build/Makefile.in
@@ -7,43 +7,19 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 ifdef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
 MODULE_NAME	= nsImportServiceModule
-endif
-
-
-SHARED_LIBRARY_LIBS = \
-		../src/$(LIB_PREFIX)import_s.$(LIB_SUFFIX) \
-		../text/src/$(LIB_PREFIX)imptext_s.$(LIB_SUFFIX) \
-		../vcard/src/$(LIB_PREFIX)impvcard_s.$(LIB_SUFFIX) \
-		$(NULL)
-
-ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
-SHARED_LIBRARY_LIBS += ../eudora/src/$(LIB_PREFIX)impEudra_s.$(LIB_SUFFIX)
-SHARED_LIBRARY_LIBS += ../applemail/src/$(LIB_PREFIX)applmail_s.$(LIB_SUFFIX)
+SHARED_LIBRARY_LIBS = ../../base/util/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX)
 endif
 
-ifeq ($(OS_ARCH),WINNT)
-SHARED_LIBRARY_LIBS += ../eudora/src/$(LIB_PREFIX)impEudra_s.$(LIB_SUFFIX)
-
-ifdef MOZ_MAPI_SUPPORT
-SHARED_LIBRARY_LIBS += ../outlook/src/$(LIB_PREFIX)impOutlk_s.$(LIB_SUFFIX)
-endif
-
-ifndef GNU_CC
-SHARED_LIBRARY_LIBS += ../oexpress/$(LIB_PREFIX)importOE_s.$(LIB_SUFFIX)
-SHARED_LIBRARY_LIBS += ../winlivemail/$(LIB_PREFIX)importWM_s.$(LIB_SUFFIX)
-endif
-
-endif
 
 LOCAL_INCLUDES += -I$(srcdir)/../src \
 	-I$(srcdir)/../text/src \
   -I$(srcdir)/../vcard/src \
 	$(NULL)
 
 ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
 LOCAL_INCLUDES += -I$(srcdir)/../eudora/src \
@@ -59,18 +35,16 @@ LOCAL_INCLUDES += -I$(srcdir)/../oexpres
 	-I$(srcdir)/../winlivemail  \
 	$(NULL)
 endif
 ifdef MOZ_MAPI_SUPPORT
 LOCAL_INCLUDES	+= -I$(srcdir)/../outlook/src
 endif
 endif
 
-EXTRA_DSO_LDOPTS += ../../base/util/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX)
-
 EXTRA_DSO_LDOPTS += \
 	$(LIBS_DIR) \
 	$(MOZ_JS_LIBS) \
 	$(XPCOM_GLUE_LDOPTS) \
 	$(call EXPAND_LIBNAME_PATH,unicharutil_external_s,$(LIBXUL_DIST)/lib) \
 	$(MOZDEPTH)/rdf/util/src/$(LIB_PREFIX)rdfutil_external_s.$(LIB_SUFFIX) \
 	$(NSPR_LIBS) \
 	$(XPCOM_LIBS) \
--- a/mailnews/import/build/moz.build
+++ b/mailnews/import/build/moz.build
@@ -6,13 +6,13 @@
 SOURCES += [
     'nsImportModule.cpp',
 ]
 
 if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
     IS_COMPONENT = True
     FORCE_SHARED_LIB = True
 else:
-    LIBXUL_LIBRARY = True
+    FINAL_LIBRARY = 'xul'
     EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'import'
 
--- a/mailnews/import/eudora/src/moz.build
+++ b/mailnews/import/eudora/src/moz.build
@@ -15,15 +15,10 @@ SOURCES += [
 ]
 
 if CONFIG['OS_ARCH'] == 'WINNT':
     SOURCES += ['nsEudoraWin32.cpp']
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     SOURCES += ['nsEudoraMac.cpp']
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'impEudra_s'
-
--- a/mailnews/import/oexpress/moz.build
+++ b/mailnews/import/oexpress/moz.build
@@ -10,15 +10,10 @@ SOURCES += [
     'nsOEMailbox.cpp',
     'nsOERegUtil.cpp',
     'nsOEScanBoxes.cpp',
     'nsOESettings.cpp',
     'nsOEStringBundle.cpp',
     'WabObject.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'importOE_s'
-
--- a/mailnews/import/outlook/src/moz.build
+++ b/mailnews/import/outlook/src/moz.build
@@ -11,15 +11,10 @@ SOURCES += [
     'nsOutlookImport.cpp',
     'nsOutlookMail.cpp',
     'nsOutlookSettings.cpp',
     'nsOutlookStringBundle.cpp',
     'rtfDecoder.cpp',
     'rtfMailDecoder.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'impOutlk_s'
-
--- a/mailnews/import/src/moz.build
+++ b/mailnews/import/src/moz.build
@@ -16,15 +16,10 @@ SOURCES += [
     'nsImportMailboxDescriptor.cpp',
     'nsImportMimeEncode.cpp',
     'nsImportScanFile.cpp',
     'nsImportService.cpp',
     'nsImportStringBundle.cpp',
     'nsImportTranslator.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'import_s'
-
--- a/mailnews/import/text/src/moz.build
+++ b/mailnews/import/text/src/moz.build
@@ -3,15 +3,10 @@
 # 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/.
 
 SOURCES += [
     'nsTextAddress.cpp',
     'nsTextImport.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'imptext_s'
-
--- a/mailnews/import/vcard/src/moz.build
+++ b/mailnews/import/vcard/src/moz.build
@@ -3,15 +3,10 @@
 # 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/.
 
 SOURCES += [
     'nsVCardAddress.cpp',
     'nsVCardImport.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'impvcard_s'
-
--- a/mailnews/import/winlivemail/moz.build
+++ b/mailnews/import/winlivemail/moz.build
@@ -5,15 +5,10 @@
 
 SOURCES += [
     'nsWMImport.cpp',
     'nsWMSettings.cpp',
     'nsWMStringBundle.cpp',
     'nsWMUtils.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'import'
 
-LIBRARY_NAME = 'importWM_s'
-
--- a/mailnews/local/src/moz.build
+++ b/mailnews/local/src/moz.build
@@ -27,15 +27,10 @@ SOURCES += [
 ]
 
 if CONFIG['MOZ_MOVEMAIL']:
     SOURCES += [
         'nsMovemailIncomingServer.cpp',
         'nsMovemailService.cpp',
     ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msglocal_s'
-
--- a/mailnews/mapi/mapihook/src/moz.build
+++ b/mailnews/mapi/mapihook/src/moz.build
@@ -12,11 +12,11 @@ SOURCES += [
     'msgMapiMain.cpp',
     'msgMapiSupport.cpp',
     'Registry.cpp',
 ]
 
 if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
     IS_COMPONENT = True
 else:
-    LIBXUL_LIBRARY = True
+    FINAL_LIBRARY = 'xul'
     EXPORT_LIBRARY = True
 
--- a/mailnews/mime/cthandlers/glue/moz.build
+++ b/mailnews/mime/cthandlers/glue/moz.build
@@ -7,17 +7,14 @@ EXPORTS += [
     'nsMimeContentTypeHandler.h',
 ]
 
 SOURCES += [
     'mimexpcom.cpp',
     'nsMimeContentTypeHandler.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
 EXPORT_LIBRARY = True
 
 LIBRARY_NAME = 'mimecthglue_s'
 
--- a/mailnews/mime/cthandlers/pgpmime/moz.build
+++ b/mailnews/mime/cthandlers/pgpmime/moz.build
@@ -6,17 +6,12 @@
 EXPORTS += [
     'nsPgpMimeProxy.h',
 ]
 
 SOURCES += [
     'nsPgpMimeProxy.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    IS_COMPONENT = True
-else:
-    LIBXUL_LIBRARY = True
-
-EXPORT_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
 LIBRARY_NAME = 'pgpmime_s'
 
--- a/mailnews/mime/cthandlers/vcard/moz.build
+++ b/mailnews/mime/cthandlers/vcard/moz.build
@@ -2,15 +2,10 @@
 # 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/.
 
 SOURCES += [
     'mimevcrd.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'vcard_s'
-
--- a/mailnews/mime/emitters/moz.build
+++ b/mailnews/mime/emitters/moz.build
@@ -12,15 +12,10 @@ SOURCES += [
     'nsMimeBaseEmitter.cpp',
     'nsMimeHtmlEmitter.cpp',
     'nsMimePlainEmitter.cpp',
     'nsMimeRawEmitter.cpp',
     'nsMimeRebuffer.cpp',
     'nsMimeXmlEmitter.cpp',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'emitterutil_s'
-
--- a/mailnews/mime/src/moz.build
+++ b/mailnews/mime/src/moz.build
@@ -70,16 +70,11 @@ SOURCES += [
     'nsStreamConverter.cpp',
 ]
 
 EXTRA_COMPONENTS += [
     'mimeJSComponents.js',
     'msgMime.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
-
-LIBRARY_NAME = 'mime_s'
+FINAL_LIBRARY = 'mail'
 
 DEFINES['ENABLE_SMIME'] = True
--- a/mailnews/news/src/moz.build
+++ b/mailnews/news/src/moz.build
@@ -18,15 +18,10 @@ SOURCES += [
     'nsNntpUrl.cpp',
 ]
 
 EXTRA_COMPONENTS += [
     'nsNewsAutoCompleteSearch.js',
     'nsNewsAutoCompleteSearch.manifest',
 ]
 
-if CONFIG['MOZ_INCOMPLETE_EXTERNAL_LINKAGE']:
-    FORCE_STATIC_LIB = True
-else:
-    LIBXUL_LIBRARY = True
+FINAL_LIBRARY = 'mail'
 
-LIBRARY_NAME = 'msgnews_s'
-
--- a/suite/build/Makefile.in
+++ b/suite/build/Makefile.in
@@ -19,27 +19,16 @@ endif
 
 LOCAL_INCLUDES += \
 		-I$(topsrcdir)/suite/profile \
 		-I$(topsrcdir)/suite/profile/migration/src \
 		-I$(topsrcdir)/suite/shell/src \
 		-I$(topsrcdir)/suite/feeds/src \
 		$(NULL)
 
-SHARED_LIBRARY_LIBS = \
-	../profile/$(LIB_PREFIX)suiteprofile_s.$(LIB_SUFFIX) \
-	../profile/migration/src/$(LIB_PREFIX)suitemigration_s.$(LIB_SUFFIX) \
-	../feeds/src/$(LIB_PREFIX)suitefeeds_s.$(LIB_SUFFIX) \
-	$(NULL)
-
-# We need to link the windows shell service into seamonkey.exe.
-ifneq (,$(filter windows cocoa gtk2, $(MOZ_WIDGET_TOOLKIT)))
-SHARED_LIBRARY_LIBS += ../shell/src/$(LIB_PREFIX)shellservice_s.$(LIB_SUFFIX)
-endif
-
 EXTRA_DSO_LDOPTS += \
 	$(LIBS_DIR) \
 	$(call EXPAND_LIBNAME_PATH,unicharutil_external_s,$(LIBXUL_DIST)/lib) \
 	$(MOZ_JS_LIBS) \
 	$(XPCOM_STATICRUNTIME_GLUE_LDOPTS) \
 	$(MOZ_COMPONENT_LIBS) \
 	$(TK_LIBS) \
 	$(NULL)
--- a/suite/configure.in
+++ b/suite/configure.in
@@ -9,17 +9,16 @@ AC_DEFINE(MOZ_SUITE)
 AC_SUBST(MOZ_SUITE)
 AC_SUBST(MOZ_COMPOSER)
 AC_SUBST(SEAMONKEY_VERSION)
 
 dnl Optional parts of the build.
 AC_SUBST(MOZ_MORK)
 if test "$MOZ_MORK"; then
   AC_DEFINE(MOZ_MORK)
-  MORK_COMPONENT=mork
   MORK_MODULE="MODULE(nsMorkModule)"
 fi
 if test "$OS_ARCH" != "WINNT" -a "$OS_ARCH" != "OS2"; then
   MOZ_MOVEMAIL=1
   HAVE_MOVEMAIL=1
   AC_DEFINE(HAVE_MOVEMAIL)
 fi
 AC_SUBST(MOZ_MOVEMAIL)
@@ -66,17 +65,16 @@ if test "$MOZ_LDAP_XPCOM"; then
             LDAP_LIBS='$(DIST)/lib/$(LIB_PREFIX)nsldap32v60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)nsldappr32v60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)nsldif32v60.${IMPORT_LIB_SUFFIX}'
         fi
     elif test "$OS_ARCH" = "OS2"; then
             LDAP_LIBS='$(DIST)/lib/$(LIB_PREFIX)ldap60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)prldap60.${IMPORT_LIB_SUFFIX} $(DIST)/lib/$(LIB_PREFIX)ldif60.${IMPORT_LIB_SUFFIX}'
     else
         LDAP_LIBS='-L${DIST}/bin -L${DIST}/lib -lldap60 -lprldap60 -lldif60'
     fi
 
-    LDAP_COMPONENT=mozldap
     LDAP_MODULE="MODULE(nsLDAPProtocolModule)"
 fi
 
 AC_SUBST(MOZ_LDAP_XPCOM)
 AC_SUBST(LDAP_CFLAGS)
 AC_SUBST(LDAP_LIBS)
 
 dnl =========================================================
@@ -90,22 +88,20 @@ fi
 MOZ_ARG_DISABLE_BOOL(mapi,
 [  --disable-mapi          Disable MAPI support],
     MOZ_MAPI_SUPPORT= )
 
 AC_SUBST(MOZ_MAPI_SUPPORT)
 
 if test -n "$MOZ_MAPI_SUPPORT"; then
     AC_DEFINE(MOZ_MAPI_SUPPORT)
-    MAIL_COMPONENT="$MAIL_COMPONENT msgMapi"
     MAIL_MODULE="$MAIL_MODULE MODULE(msgMapiModule)"
 fi
 
 if test -z "$MOZ_INCOMPLETE_EXTERNAL_LINKAGE"; then
-  MOZ_APP_COMPONENT_LIBS="$MAIL_COMPONENT $LDAP_COMPONENT $MORK_COMPONENT"
   MOZ_APP_COMPONENT_MODULES="$MAIL_MODULE $LDAP_MODULE $MORK_MODULE"
   MOZ_APP_EXTRA_LIBS="$LDAP_LIBS"
 fi
 
 # if we're building the LDAP XPCOM component, we need to build
 # the c-sdk first.
 if test -n "$COMPILE_ENVIRONMENT" -a -n "$MOZ_LDAP_XPCOM"; then
     # Save configure args so we can restore them after configuring LDAP.
--- a/suite/confvars.sh
+++ b/suite/confvars.sh
@@ -20,17 +20,16 @@ MOZ_UPDATER=1
 # of values.
 ACCEPTED_MAR_CHANNEL_IDS=seamonkey-comm-central
 # The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t "
 MAR_CHANNEL_ID=seamonkey-comm-central
 MOZ_HELP_VIEWER=1
 MOZ_MEDIA_NAVIGATOR=1
 MOZ_MORK=1
 MOZ_STATIC_BUILD_UNSUPPORTED=1
-MAIL_COMPONENT="mail import"
 MAIL_MODULE="MODULE(nsMailModule) MODULE(nsImportServiceModule)"
 MOZ_SERVICES_COMMON=1
 MOZ_SERVICES_CRYPTO=1
 MOZ_SERVICES_SYNC=1
 MOZ_URL_CLASSIFIER=1
 
 MOZ_APP_VERSION_TXT=${_topsrcdir}/$MOZ_BUILD_APP/config/version.txt
 MOZ_APP_VERSION=`cat $MOZ_APP_VERSION_TXT`
--- a/suite/feeds/src/moz.build
+++ b/suite/feeds/src/moz.build
@@ -9,12 +9,10 @@ SOURCES += [
 
 EXTRA_COMPONENTS += [
     'FeedConverter.js',
     'FeedWriter.js',
     'SuiteFeeds.manifest',
     'WebContentConverter.js',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'suite'
 
-LIBRARY_NAME = 'suitefeeds_s'
-
--- a/suite/profile/migration/src/moz.build
+++ b/suite/profile/migration/src/moz.build
@@ -12,12 +12,10 @@ SOURCES += [
 EXTRA_COMPONENTS += [
     'SuiteProfileMigrator.manifest',
 ]
 
 EXTRA_PP_COMPONENTS += [
     'SuiteProfileMigrator.js',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'suite'
 
-LIBRARY_NAME = 'suitemigration_s'
-
--- a/suite/profile/moz.build
+++ b/suite/profile/moz.build
@@ -7,12 +7,10 @@ PARALLEL_DIRS += [
     'migration/public',
     'migration/src',
 ]
 
 SOURCES += [
     'nsSuiteDirectoryProvider.cpp',
 ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'suite'
 
-LIBRARY_NAME = 'suiteprofile_s'
-
--- a/suite/shell/src/moz.build
+++ b/suite/shell/src/moz.build
@@ -11,12 +11,10 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gt
     SOURCES += ['nsGNOMEShellService.cpp']
 
 if SOURCES:
     EXTRA_COMPONENTS += [
         'nsSetDefault.js',
         'nsSetDefault.manifest',
     ]
 
-FORCE_STATIC_LIB = True
+FINAL_LIBRARY = 'suite'
 
-LIBRARY_NAME = 'shellservice_s'
-