Bug 850389 - Part 2: Move XPIDL variables into moz.build (auto); rs=jcranmer
authorGregory Szorc <gps@mozilla.com>
Wed, 13 Mar 2013 08:26:23 -0700
changeset 15123 fef8c51030cce56c417c583b86b97a44038f7cce
parent 15122 ea8f59513b2d3fc8337e3363ca4bd3609e2b3f73
child 15124 10b5d6673cdaffd3e698f546cdb6674f757ecc9a
push id898
push userbugzilla@standard8.plus.com
push dateMon, 13 May 2013 17:03:31 +0000
treeherdercomm-beta@3106694b14de [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjcranmer
bugs850389
Bug 850389 - Part 2: Move XPIDL variables into moz.build (auto); rs=jcranmer
calendar/base/public/Makefile.in
calendar/base/public/moz.build
calendar/base/src/Makefile.in
calendar/base/src/moz.build
calendar/providers/caldav/public/Makefile.in
calendar/providers/caldav/public/moz.build
calendar/providers/gdata/public/Makefile.in
calendar/providers/gdata/public/moz.build
calendar/providers/wcap/public/Makefile.in
calendar/providers/wcap/public/moz.build
chat/components/public/Makefile.in
chat/components/public/moz.build
db/mork/public/Makefile.in
db/mork/public/moz.build
ldap/xpcom/public/Makefile.in
ldap/xpcom/public/moz.build
mail/components/Makefile.in
mail/components/activity/Makefile.in
mail/components/activity/moz.build
mail/components/cloudfile/Makefile.in
mail/components/cloudfile/moz.build
mail/components/migration/public/Makefile.in
mail/components/migration/public/moz.build
mail/components/moz.build
mail/components/search/public/Makefile.in
mail/components/search/public/moz.build
mail/components/shell/public/Makefile.in
mail/components/shell/public/moz.build
mail/steel/Makefile.in
mail/steel/moz.build
mailnews/addrbook/public/Makefile.in
mailnews/addrbook/public/moz.build
mailnews/base/public/Makefile.in
mailnews/base/public/moz.build
mailnews/base/search/public/Makefile.in
mailnews/base/search/public/moz.build
mailnews/base/search/src/Makefile.in
mailnews/base/search/src/moz.build
mailnews/compose/public/Makefile.in
mailnews/compose/public/moz.build
mailnews/db/msgdb/public/Makefile.in
mailnews/db/msgdb/public/moz.build
mailnews/extensions/fts3/public/Makefile.in
mailnews/extensions/fts3/public/moz.build
mailnews/extensions/mailviews/public/Makefile.in
mailnews/extensions/mailviews/public/moz.build
mailnews/extensions/smime/public/Makefile.in
mailnews/extensions/smime/public/moz.build
mailnews/imap/public/Makefile.in
mailnews/imap/public/moz.build
mailnews/import/public/Makefile.in
mailnews/import/public/moz.build
mailnews/local/public/Makefile.in
mailnews/local/public/moz.build
mailnews/mapi/mapihook/public/Makefile.in
mailnews/mapi/mapihook/public/moz.build
mailnews/mime/public/Makefile.in
mailnews/mime/public/moz.build
mailnews/news/public/Makefile.in
mailnews/news/public/moz.build
suite/common/public/Makefile.in
suite/common/public/moz.build
suite/feeds/public/Makefile.in
suite/feeds/public/moz.build
suite/profile/migration/public/Makefile.in
suite/profile/migration/public/moz.build
suite/shell/public/Makefile.in
suite/shell/public/moz.build
suite/smile/public/Makefile.in
suite/smile/public/moz.build
--- a/calendar/base/public/Makefile.in
+++ b/calendar/base/public/Makefile.in
@@ -5,58 +5,11 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= calbase
-XPIDL_MODULE	= calbase
-
-
-XPIDLSRCS = calICalendarACLManager.idl \
-            calIAlarm.idl \
-            calIAlarmService.idl \
-            calIAttachment.idl \
-            calIAttendee.idl \
-            calICalendar.idl \
-            calICalendarManager.idl \
-            calICalendarProvider.idl \
-            calICalendarSearchProvider.idl \
-            calICalendarView.idl \
-            calICalendarViewController.idl \
-            calIChangeLog.idl \
-            calIDateTime.idl \
-            calIDateTimeFormatter.idl \
-            calIDuration.idl \
-            calIDeletedItems.idl \
-            calIErrors.idl \
-            calIEvent.idl \
-            calIFreeBusyProvider.idl \
-            calIIcsParser.idl \
-            calIIcsSerializer.idl \
-            calIICSService.idl \
-            calIImportExport.idl \
-            calIItemBase.idl \
-            calIItipItem.idl \
-            calIItipTransport.idl \
-            calIOperation.idl \
-            calIPeriod.idl \
-            calIPrintFormatter.idl \
-            calIRecurrenceInfo.idl \
-            calIRecurrenceDate.idl \
-            calIRecurrenceItem.idl \
-            calIRecurrenceRule.idl \
-            calIRelation.idl \
-            calIStartupService.idl \
-            calIStatusObserver.idl \
-            calITimezone.idl \
-            calITimezoneProvider.idl \
-            calITodo.idl \
-            calITransactionManager.idl \
-            calIWeekInfoService.idl \
-            calISchedulingSupport.idl \
-            $(NULL)
-
 EXPORTS		= calBaseCID.h
 
 include $(topsrcdir)/config/rules.mk
--- a/calendar/base/public/moz.build
+++ b/calendar/base/public/moz.build
@@ -1,5 +1,52 @@
 # 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/.
 
+XPIDL_SOURCES += [
+    'calIAlarm.idl',
+    'calIAlarmService.idl',
+    'calIAttachment.idl',
+    'calIAttendee.idl',
+    'calICalendar.idl',
+    'calICalendarACLManager.idl',
+    'calICalendarManager.idl',
+    'calICalendarProvider.idl',
+    'calICalendarSearchProvider.idl',
+    'calICalendarView.idl',
+    'calICalendarViewController.idl',
+    'calIChangeLog.idl',
+    'calIDateTime.idl',
+    'calIDateTimeFormatter.idl',
+    'calIDeletedItems.idl',
+    'calIDuration.idl',
+    'calIErrors.idl',
+    'calIEvent.idl',
+    'calIFreeBusyProvider.idl',
+    'calIICSService.idl',
+    'calIIcsParser.idl',
+    'calIIcsSerializer.idl',
+    'calIImportExport.idl',
+    'calIItemBase.idl',
+    'calIItipItem.idl',
+    'calIItipTransport.idl',
+    'calIOperation.idl',
+    'calIPeriod.idl',
+    'calIPrintFormatter.idl',
+    'calIRecurrenceDate.idl',
+    'calIRecurrenceInfo.idl',
+    'calIRecurrenceItem.idl',
+    'calIRecurrenceRule.idl',
+    'calIRelation.idl',
+    'calISchedulingSupport.idl',
+    'calIStartupService.idl',
+    'calIStatusObserver.idl',
+    'calITimezone.idl',
+    'calITimezoneProvider.idl',
+    'calITodo.idl',
+    'calITransactionManager.idl',
+    'calIWeekInfoService.idl',
+]
+
+XPIDL_MODULE = 'calbase'
+
--- a/calendar/base/src/Makefile.in
+++ b/calendar/base/src/Makefile.in
@@ -14,21 +14,16 @@ MODULE           = calbase
 LIBRARY_NAME     = calbase_s
 MODULE_NAME      = calBaseModule
 FORCE_STATIC_LIB = 1
 GRE_MODULE       = 1
 FORCE_USE_PIC   = 1 # Force use of PIC
 USE_STATIC_LIBS = 1
 
 
-XPIDL_MODULE	= calbaseinternal
-XPIDLSRCS = \
-	calInternalInterfaces.idl \
-	$(NULL)
-
 CPPSRCS = calDateTime.cpp \
 	  calDuration.cpp \
 	  calPeriod.cpp \
 	  calICSService.cpp \
 	  calTimezone.cpp \
 	  calRecurrenceRule.cpp \
 	  calUtils.cpp \
 	  $(NULL)
--- a/calendar/base/src/moz.build
+++ b/calendar/base/src/moz.build
@@ -1,5 +1,11 @@
 # 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/.
 
+XPIDL_SOURCES += [
+    'calInternalInterfaces.idl',
+]
+
+XPIDL_MODULE = 'calbaseinternal'
+
--- a/calendar/providers/caldav/public/Makefile.in
+++ b/calendar/providers/caldav/public/Makefile.in
@@ -5,14 +5,9 @@
 DEPTH           = @DEPTH@
 topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE          = caldav
-XPIDL_MODULE    = caldav
-
-XPIDLSRCS       = calICalDavCalendar.idl \
-                  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/calendar/providers/caldav/public/moz.build
+++ b/calendar/providers/caldav/public/moz.build
@@ -1,5 +1,11 @@
 # 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/.
 
+XPIDL_SOURCES += [
+    'calICalDavCalendar.idl',
+]
+
+XPIDL_MODULE = 'caldav'
+
--- a/calendar/providers/gdata/public/Makefile.in
+++ b/calendar/providers/gdata/public/Makefile.in
@@ -5,15 +5,9 @@
 DEPTH           = @DEPTH@
 topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE          = gdata
-XPIDL_MODULE    = gdata
-XPIDLSRCS       = calIGoogleCalendar.idl \
-                  calIGoogleSession.idl \
-                  calIGoogleRequest.idl \
-                  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/calendar/providers/gdata/public/moz.build
+++ b/calendar/providers/gdata/public/moz.build
@@ -1,4 +1,13 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'calIGoogleCalendar.idl',
+    'calIGoogleRequest.idl',
+    'calIGoogleSession.idl',
+]
+
+XPIDL_MODULE = 'gdata'
+
--- a/calendar/providers/wcap/public/Makefile.in
+++ b/calendar/providers/wcap/public/Makefile.in
@@ -5,16 +5,9 @@
 DEPTH           = @DEPTH@
 topsrcdir       = @top_srcdir@
 srcdir          = @srcdir@
 VPATH           = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE          = wcap
-XPIDL_MODULE    = wcap
-
-XPIDLSRCS       = calIWcapCalendar.idl \
-                  calIWcapSession.idl \
-                  calIWcapErrors.idl \
-                  $(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/calendar/providers/wcap/public/moz.build
+++ b/calendar/providers/wcap/public/moz.build
@@ -1,4 +1,13 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'calIWcapCalendar.idl',
+    'calIWcapErrors.idl',
+    'calIWcapSession.idl',
+]
+
+XPIDL_MODULE = 'wcap'
+
--- a/chat/components/public/Makefile.in
+++ b/chat/components/public/Makefile.in
@@ -6,28 +6,9 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= chat
 
-XPIDLSRCS	= \
-		imIAccount.idl \
-		imIAccountsService.idl \
-		imICommandsService.idl \
-		imIContactsService.idl \
-		imIConversationsService.idl \
-		imICoreService.idl \
-		imILogger.idl \
-		imIStatusInfo.idl \
-		imITagsService.idl \
-		imIUserStatusInfo.idl \
-		prplIConversation.idl \
-		prplIMessage.idl \
-		prplIPref.idl \
-		prplIProtocol.idl \
-		prplIRequest.idl \
-		prplITooltipInfo.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/chat/components/public/moz.build
+++ b/chat/components/public/moz.build
@@ -1,4 +1,24 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'imIAccount.idl',
+    'imIAccountsService.idl',
+    'imICommandsService.idl',
+    'imIContactsService.idl',
+    'imIConversationsService.idl',
+    'imICoreService.idl',
+    'imILogger.idl',
+    'imIStatusInfo.idl',
+    'imITagsService.idl',
+    'imIUserStatusInfo.idl',
+    'prplIConversation.idl',
+    'prplIMessage.idl',
+    'prplIPref.idl',
+    'prplIProtocol.idl',
+    'prplIRequest.idl',
+    'prplITooltipInfo.idl',
+]
+
--- a/db/mork/public/Makefile.in
+++ b/db/mork/public/Makefile.in
@@ -6,14 +6,12 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= mork
-XPIDL_MODULE	= msgmdb
-
 EXPORTS		= mdb.h
 
 include $(topsrcdir)/config/rules.mk
 
--- a/db/mork/public/moz.build
+++ b/db/mork/public/moz.build
@@ -1,4 +1,7 @@
 # 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/.
+
+XPIDL_MODULE = 'msgmdb'
+
--- a/ldap/xpcom/public/Makefile.in
+++ b/ldap/xpcom/public/Makefile.in
@@ -6,31 +6,14 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= mozldap
-XPIDL_MODULE	= mozldap
-
-XPIDLSRCS	= 	\
-			nsILDAPConnection.idl \
-			nsILDAPOperation.idl \
-			nsILDAPMessage.idl \
-			nsILDAPMessageListener.idl \
-			nsILDAPURL.idl \
-			nsILDAPErrors.idl \
-			nsILDAPServer.idl \
-			nsILDAPService.idl \
-			nsILDAPBERValue.idl \
-			nsILDAPControl.idl \
-			nsILDAPBERElement.idl \
-			nsILDAPModification.idl \
-			$(NULL)
-
 ifdef MOZ_PREF_EXTENSIONS
 XPIDLSRCS += nsILDAPSyncQuery.idl
 endif
 
 include $(topsrcdir)/config/rules.mk
 
--- a/ldap/xpcom/public/moz.build
+++ b/ldap/xpcom/public/moz.build
@@ -1,4 +1,22 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsILDAPBERElement.idl',
+    'nsILDAPBERValue.idl',
+    'nsILDAPConnection.idl',
+    'nsILDAPControl.idl',
+    'nsILDAPErrors.idl',
+    'nsILDAPMessage.idl',
+    'nsILDAPMessageListener.idl',
+    'nsILDAPModification.idl',
+    'nsILDAPOperation.idl',
+    'nsILDAPServer.idl',
+    'nsILDAPService.idl',
+    'nsILDAPURL.idl',
+]
+
+XPIDL_MODULE = 'mozldap'
+
--- a/mail/components/Makefile.in
+++ b/mail/components/Makefile.in
@@ -6,22 +6,16 @@
 DEPTH   = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = mailcomps
-XPIDL_MODULE = mailcompsbase
-
-XPIDLSRCS = \
-      nsIMailGlue.idl \
-      $(NULL)
-
 EXTRA_COMPONENTS = \
 	nsMailDefaultHandler.js \
 	mailContentHandler.js \
 	aboutRedirector.js \
 	mailGlue.js \
 	mailComponents.manifest \
 	$(NULL)
 
--- a/mail/components/activity/Makefile.in
+++ b/mail/components/activity/Makefile.in
@@ -13,17 +13,12 @@ MODULE    = activity
 
 EXTRA_COMPONENTS = \
   nsActivity.js \
   nsActivityManager.js \
   nsActivityManagerUI.js \
   activityComponents.manifest \
   $(NULL)
 
-XPIDLSRCS = nsIActivity.idl \
-            nsIActivityManager.idl \
-            nsIActivityManagerUI.idl \
-            $(NULL)
-
 libs:: $(wildcard $(srcdir)/modules/*.js)
 	$(INSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/modules/activity
 
 include $(topsrcdir)/config/rules.mk
--- a/mail/components/activity/moz.build
+++ b/mail/components/activity/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIActivity.idl',
+    'nsIActivityManager.idl',
+    'nsIActivityManagerUI.idl',
+]
+
--- a/mail/components/cloudfile/Makefile.in
+++ b/mail/components/cloudfile/Makefile.in
@@ -17,12 +17,9 @@ EXTRA_COMPONENTS = \
   nsBox.js \
   cloudFileComponents.manifest \
   $(NULL)
 
 EXTRA_JS_MODULES = \
   cloudFileAccounts.js \
   $(NULL)
 
-XPIDLSRCS = nsIMsgCloudFileProvider.idl \
-            $(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/mail/components/cloudfile/moz.build
+++ b/mail/components/cloudfile/moz.build
@@ -1,4 +1,9 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMsgCloudFileProvider.idl',
+]
+
--- a/mail/components/migration/public/Makefile.in
+++ b/mail/components/migration/public/Makefile.in
@@ -5,16 +5,12 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= mailprofilemigration
-XPIDL_MODULE	= mailprofilemigration
-
 EXPORTS = nsMailMigrationCID.h
 
-XPIDLSRCS	= nsIMailProfileMigrator.idl
-
 include $(topsrcdir)/config/rules.mk
 
--- a/mail/components/migration/public/moz.build
+++ b/mail/components/migration/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMailProfileMigrator.idl',
+]
+
+XPIDL_MODULE = 'mailprofilemigration'
+
--- a/mail/components/moz.build
+++ b/mail/components/moz.build
@@ -24,8 +24,14 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('win
 
 if CONFIG['MOZ_SAFE_BROWSING']:
     DIRS += ['phishing']
 
 TEST_DIRS += ['test']
 
 DIRS += ['build']
 
+XPIDL_SOURCES += [
+    'nsIMailGlue.idl',
+]
+
+XPIDL_MODULE = 'mailcompsbase'
+
--- a/mail/components/search/public/Makefile.in
+++ b/mail/components/search/public/Makefile.in
@@ -5,13 +5,9 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = mailwinsearch
-XPIDL_MODULE = mailwinsearch
-
-XPIDLSRCS = nsIMailWinSearchHelper.idl
-
 include $(topsrcdir)/config/rules.mk
--- a/mail/components/search/public/moz.build
+++ b/mail/components/search/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMailWinSearchHelper.idl',
+]
+
+XPIDL_MODULE = 'mailwinsearch'
+
--- a/mail/components/shell/public/Makefile.in
+++ b/mail/components/shell/public/Makefile.in
@@ -6,13 +6,9 @@
 DEPTH   = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = shellservice
-XPIDL_MODULE  = shellservice
-
-XPIDLSRCS = nsIShellService.idl nsIWindowsShellService.idl
-
 include $(topsrcdir)/config/rules.mk
--- a/mail/components/shell/public/moz.build
+++ b/mail/components/shell/public/moz.build
@@ -1,4 +1,12 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIShellService.idl',
+    'nsIWindowsShellService.idl',
+]
+
+XPIDL_MODULE = 'shellservice'
+
--- a/mail/steel/Makefile.in
+++ b/mail/steel/Makefile.in
@@ -5,20 +5,16 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 relativesrcdir = @relativesrcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
-XPIDL_MODULE  = steel
-
-XPIDLSRCS = steelIApplication.idl
-
 EXTRA_PP_COMPONENTS = steelApplication.js \
                       steelApplication.manifest
 
 ifdef ENABLE_TESTS
 XPCSHELL_TESTS = test
 
 # Uncomment this when we need it for more general tests.
 #XPCSHELL_TESTS += unit
--- a/mail/steel/moz.build
+++ b/mail/steel/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'steelIApplication.idl',
+]
+
+XPIDL_MODULE = 'steel'
+
--- a/mailnews/addrbook/public/Makefile.in
+++ b/mailnews/addrbook/public/Makefile.in
@@ -7,43 +7,16 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= addrbook
 
-XPIDLSRCS	= \
-		nsIAbListener.idl \
-		nsIAbItem.idl \
-		nsIAbCollection.idl \
-		nsIAbCard.idl \
-		nsIAbDirectory.idl \
-		nsIAbMDBDirectory.idl \
-		nsIAddrDBAnnouncer.idl \
-		nsIAddrDBListener.idl \
-		nsIAddrDatabase.idl \
-		nsIAbManager.idl \
-		nsIAbAddressCollector.idl \
-		nsIAddbookUrl.idl \
-		nsIAbDirFactory.idl	\
-		nsIAbDirFactoryService.idl	\
-                nsIAbDirectoryQueryProxy.idl \
-		nsIAbDirectoryQuery.idl	\
-		nsIAbBooleanExpression.idl \
-		nsIAbDirectorySearch.idl \
-		nsIAbView.idl \
-		nsIMsgVCardService.idl \
-		nsIAbLDIFService.idl \
-		nsIAbLDAPAttributeMap.idl \
-		nsIAbDirSearchListener.idl \
-		nsIAbAutoCompleteResult.idl \
-		$(NULL)
-
 ifdef MOZ_LDAP_XPCOM
 ifndef MOZ_INCOMPLETE_TOOLKIT_LDAP_AUTOCOMPLETE
 XPIDLSRCS       += \
 		nsILDAPAutoCompleteSession.idl \
 		nsILDAPAutoCompFormatter.idl \
 		nsIAbLDAPAutoCompFormatter.idl \
 		$(NULL)
 endif
--- a/mailnews/addrbook/public/moz.build
+++ b/mailnews/addrbook/public/moz.build
@@ -1,4 +1,32 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIAbAddressCollector.idl',
+    'nsIAbAutoCompleteResult.idl',
+    'nsIAbBooleanExpression.idl',
+    'nsIAbCard.idl',
+    'nsIAbCollection.idl',
+    'nsIAbDirFactory.idl',
+    'nsIAbDirFactoryService.idl',
+    'nsIAbDirSearchListener.idl',
+    'nsIAbDirectory.idl',
+    'nsIAbDirectoryQuery.idl',
+    'nsIAbDirectoryQueryProxy.idl',
+    'nsIAbDirectorySearch.idl',
+    'nsIAbItem.idl',
+    'nsIAbLDAPAttributeMap.idl',
+    'nsIAbLDIFService.idl',
+    'nsIAbListener.idl',
+    'nsIAbMDBDirectory.idl',
+    'nsIAbManager.idl',
+    'nsIAbView.idl',
+    'nsIAddbookUrl.idl',
+    'nsIAddrDBAnnouncer.idl',
+    'nsIAddrDBListener.idl',
+    'nsIAddrDatabase.idl',
+    'nsIMsgVCardService.idl',
+]
+
--- a/mailnews/base/public/Makefile.in
+++ b/mailnews/base/public/Makefile.in
@@ -15,68 +15,10 @@ MODULE		= msgbase
 EXPORTS		= \
 		MailNewsTypes.h \
 		msgCore.h \
 		nsMsgBaseCID.h \
 		nsMsgHeaderMasks.h \
 		nsMsgLocalFolderHdrs.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-                MailNewsTypes2.idl \
-		nsICopyMessageListener.idl \
-		nsICopyMsgStreamListener.idl \
-		nsIMessenger.idl \
-		nsIFolderListener.idl \
-		nsIFolderLookupService.idl \
-		nsIMsgAccount.idl \
-		nsIMsgAccountManager.idl \
-		nsIMsgFolder.idl \
-		nsIMsgFolderCache.idl \
-		nsIMsgFolderCacheElement.idl \
-		nsIMsgFolderCompactor.idl \
-		nsIMsgIdentity.idl \
-		nsIMsgIncomingServer.idl \
-		nsIMsgKeyArray.idl \
-		nsIMsgMailSession.idl \
-		nsIMsgMessageService.idl \
-		nsIMsgTagService.idl \
-		nsIMsgThread.idl \
-		nsIUrlListener.idl \
-		nsIMsgBiffManager.idl \
-		nsIStatusBarBiffManager.idl \
-		nsIMsgPurgeService.idl \
-		nsIMsgCopyService.idl \
-		nsIMsgCopyServiceListener.idl \
-		nsIMsgFolderListener.idl \
-		nsIMsgFolderNotificationService.idl \
-		nsIMsgStatusFeedback.idl \
-		nsIMsgMailNewsUrl.idl \
-		nsIMsgWindow.idl \
-		nsIMsgProtocolInfo.idl \
-		nsIMsgRDFDataSource.idl \
-		nsIIncomingServerListener.idl \
-		nsIMsgHdr.idl \
-		nsIMessengerMigrator.idl	\
-		nsIMessengerWindowService.idl	\
-		nsIMsgPrintEngine.idl \
-		nsISubscribableServer.idl \
-		nsIMsgDBView.idl \
-		nsIMsgOfflineManager.idl \
-		nsIMsgProgress.idl \
-		nsIMessengerOSIntegration.idl \
-		nsIMsgMdnGenerator.idl	        \
-		nsISpamSettings.idl	        \
-		nsIMapiRegistry.idl \
-		nsIMsgCustomColumnHandler.idl \
-		nsIMsgShutdown.idl \
-		nsMsgFolderFlags.idl \
-		nsMsgMessageFlags.idl \
-		nsIStopwatch.idl \
-		nsIMsgUserFeedbackListener.idl \
-		nsIMsgAsyncPrompter.idl \
-		nsIMsgPluggableStore.idl \
-		mozINewMailNotificationService.idl \
-		mozINewMailListener.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
--- a/mailnews/base/public/moz.build
+++ b/mailnews/base/public/moz.build
@@ -1,4 +1,63 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'MailNewsTypes2.idl',
+    'mozINewMailListener.idl',
+    'mozINewMailNotificationService.idl',
+    'nsICopyMessageListener.idl',
+    'nsICopyMsgStreamListener.idl',
+    'nsIFolderListener.idl',
+    'nsIFolderLookupService.idl',
+    'nsIIncomingServerListener.idl',
+    'nsIMapiRegistry.idl',
+    'nsIMessenger.idl',
+    'nsIMessengerMigrator.idl',
+    'nsIMessengerOSIntegration.idl',
+    'nsIMessengerWindowService.idl',
+    'nsIMsgAccount.idl',
+    'nsIMsgAccountManager.idl',
+    'nsIMsgAsyncPrompter.idl',
+    'nsIMsgBiffManager.idl',
+    'nsIMsgCopyService.idl',
+    'nsIMsgCopyServiceListener.idl',
+    'nsIMsgCustomColumnHandler.idl',
+    'nsIMsgDBView.idl',
+    'nsIMsgFolder.idl',
+    'nsIMsgFolderCache.idl',
+    'nsIMsgFolderCacheElement.idl',
+    'nsIMsgFolderCompactor.idl',
+    'nsIMsgFolderListener.idl',
+    'nsIMsgFolderNotificationService.idl',
+    'nsIMsgHdr.idl',
+    'nsIMsgIdentity.idl',
+    'nsIMsgIncomingServer.idl',
+    'nsIMsgKeyArray.idl',
+    'nsIMsgMailNewsUrl.idl',
+    'nsIMsgMailSession.idl',
+    'nsIMsgMdnGenerator.idl',
+    'nsIMsgMessageService.idl',
+    'nsIMsgOfflineManager.idl',
+    'nsIMsgPluggableStore.idl',
+    'nsIMsgPrintEngine.idl',
+    'nsIMsgProgress.idl',
+    'nsIMsgProtocolInfo.idl',
+    'nsIMsgPurgeService.idl',
+    'nsIMsgRDFDataSource.idl',
+    'nsIMsgShutdown.idl',
+    'nsIMsgStatusFeedback.idl',
+    'nsIMsgTagService.idl',
+    'nsIMsgThread.idl',
+    'nsIMsgUserFeedbackListener.idl',
+    'nsIMsgWindow.idl',
+    'nsISpamSettings.idl',
+    'nsIStatusBarBiffManager.idl',
+    'nsIStopwatch.idl',
+    'nsISubscribableServer.idl',
+    'nsIUrlListener.idl',
+    'nsMsgFolderFlags.idl',
+    'nsMsgMessageFlags.idl',
+]
+
--- a/mailnews/base/search/public/Makefile.in
+++ b/mailnews/base/search/public/Makefile.in
@@ -6,45 +6,19 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgbase
-XPIDL_MODULE	= msgsearch
-
 EXPORTS		= \
 		nsMsgBodyHandler.h \
 		nsMsgResultElement.h \
 		nsMsgSearchBoolExpression.h \
 		nsMsgSearchScopeTerm.h \
 		nsMsgSearchTerm.h \
 		nsMsgSearchAdapter.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIMsgFilter.idl \
-		nsIMsgFilterHitNotify.idl \
-		nsIMsgFilterList.idl \
-                nsIMsgFilterPlugin.idl \
-		nsIMsgFilterService.idl \
-		nsIMsgSearchTerm.idl \
-		nsIMsgSearchValue.idl	\
-		nsIMsgSearchAdapter.idl \
-		nsIMsgSearchSession.idl \
-		nsIMsgSearchScopeTerm.idl \
-		nsIMsgSearchNotify.idl \
-		nsIMsgSearchValidityTable.idl \
-		nsIMsgSearchValidityManager.idl \
-		nsMsgFilterCore.idl \
-		nsMsgSearchCore.idl \
-		nsIMsgFilterCustomAction.idl \
-		nsIMsgTraitService.idl \
-		nsIMsgSearchCustomTerm.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
--- a/mailnews/base/search/public/moz.build
+++ b/mailnews/base/search/public/moz.build
@@ -1,4 +1,32 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMsgFilter.idl',
+    'nsIMsgFilterCustomAction.idl',
+    'nsIMsgFilterHitNotify.idl',
+    'nsIMsgFilterList.idl',
+    'nsIMsgFilterPlugin.idl',
+    'nsIMsgFilterService.idl',
+    'nsIMsgSearchAdapter.idl',
+    'nsIMsgSearchCustomTerm.idl',
+    'nsIMsgSearchNotify.idl',
+    'nsIMsgSearchScopeTerm.idl',
+    'nsIMsgSearchSession.idl',
+    'nsIMsgSearchTerm.idl',
+    'nsIMsgSearchValidityManager.idl',
+    'nsIMsgSearchValidityTable.idl',
+    'nsIMsgSearchValue.idl',
+    'nsIMsgTraitService.idl',
+    'nsMsgFilterCore.idl',
+    'nsMsgSearchCore.idl',
+]
+
+XPIDL_MODULE = 'msgsearch'
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/mailnews/base/search/src/Makefile.in
+++ b/mailnews/base/search/src/Makefile.in
@@ -6,17 +6,16 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgbase
-XPIDL_MODULE	= msgsearch
 LIBRARY_NAME	= msgsearch_s
 ifndef MOZ_INCOMPLETE_EXTERNAL_LINKAGE
 MOZILLA_INTERNAL_API = 1
 LIBXUL_LIBRARY = 1
 endif
 EXPORT_DIR	= $(DIST)/bin/isp
 
 
--- a/mailnews/base/search/src/moz.build
+++ b/mailnews/base/search/src/moz.build
@@ -1,4 +1,7 @@
 # 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/.
+
+XPIDL_MODULE = 'msgsearch'
+
--- a/mailnews/compose/public/Makefile.in
+++ b/mailnews/compose/public/Makefile.in
@@ -12,36 +12,10 @@ include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgcompose
 
 EXPORTS		= \
 		nsMsgCompCID.h \
 		nsMsgAttachmentData.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIMsgAttachment.idl \
-		nsIMsgComposeProgressParams.idl \
-		nsIMsgComposeParams.idl \
-		nsIMsgComposeService.idl \
-		nsIMsgCompose.idl \
-		nsIMsgCompFields.idl \
-		nsIMsgQuote.idl \
-		nsIMsgQuotingOutputStreamListener.idl \
-		nsIMsgSendListener.idl \
-		nsIMsgSendLaterListener.idl \
-		nsIMsgSend.idl \
-		nsIMsgSendLater.idl \
-		nsIMsgSendReport.idl \
-		nsISmtpServer.idl \
-		nsISmtpUrl.idl \
-		nsISmtpService.idl \
-		nsIURLFetcher.idl \
-		nsIMsgComposeSecure.idl \
-		nsIMsgCompUtils.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  -I$(topsrcdir)/mailnews/mime/public \
-  $(NULL)
--- a/mailnews/compose/public/moz.build
+++ b/mailnews/compose/public/moz.build
@@ -1,4 +1,32 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMsgAttachment.idl',
+    'nsIMsgCompFields.idl',
+    'nsIMsgCompUtils.idl',
+    'nsIMsgCompose.idl',
+    'nsIMsgComposeParams.idl',
+    'nsIMsgComposeProgressParams.idl',
+    'nsIMsgComposeSecure.idl',
+    'nsIMsgComposeService.idl',
+    'nsIMsgQuote.idl',
+    'nsIMsgQuotingOutputStreamListener.idl',
+    'nsIMsgSend.idl',
+    'nsIMsgSendLater.idl',
+    'nsIMsgSendLaterListener.idl',
+    'nsIMsgSendListener.idl',
+    'nsIMsgSendReport.idl',
+    'nsISmtpServer.idl',
+    'nsISmtpService.idl',
+    'nsISmtpUrl.idl',
+    'nsIURLFetcher.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+    '-I$(topsrcdir)/mailnews/mime/public',
+]
+
--- a/mailnews/db/msgdb/public/Makefile.in
+++ b/mailnews/db/msgdb/public/Makefile.in
@@ -18,22 +18,10 @@ EXPORTS		= \
 		nsMsgDatabase.h \
 		nsMailDatabase.h \
 		nsImapMailDatabase.h \
 		nsNewsDatabase.h \
 		nsDBFolderInfo.h \
 		nsMsgThread.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIDBFolderInfo.idl \
-		nsIDBChangeListener.idl \
-		nsIDBChangeAnnouncer.idl \
-		nsIMsgDatabase.idl \
-		nsINewsDatabase.idl \
-		nsIMsgOfflineImapOperation.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
--- a/mailnews/db/msgdb/public/moz.build
+++ b/mailnews/db/msgdb/public/moz.build
@@ -1,4 +1,18 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIDBChangeAnnouncer.idl',
+    'nsIDBChangeListener.idl',
+    'nsIDBFolderInfo.idl',
+    'nsIMsgDatabase.idl',
+    'nsIMsgOfflineImapOperation.idl',
+    'nsINewsDatabase.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/mailnews/extensions/fts3/public/Makefile.in
+++ b/mailnews/extensions/fts3/public/Makefile.in
@@ -7,13 +7,9 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= fts3tok
 
-XPIDLSRCS	= \
-		nsIFts3Tokenizer.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/mailnews/extensions/fts3/public/moz.build
+++ b/mailnews/extensions/fts3/public/moz.build
@@ -1,4 +1,9 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIFts3Tokenizer.idl',
+]
+
--- a/mailnews/extensions/mailviews/public/Makefile.in
+++ b/mailnews/extensions/mailviews/public/Makefile.in
@@ -7,15 +7,10 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= mailview
 
-XPIDLSRCS	= \
-		nsIMsgMailView.idl \
-		nsIMsgMailViewList.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
--- a/mailnews/extensions/mailviews/public/moz.build
+++ b/mailnews/extensions/mailviews/public/moz.build
@@ -1,4 +1,10 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMsgMailView.idl',
+    'nsIMsgMailViewList.idl',
+]
+
--- a/mailnews/extensions/smime/public/Makefile.in
+++ b/mailnews/extensions/smime/public/Makefile.in
@@ -7,17 +7,10 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgsmime
 
-XPIDLSRCS	= \
-		nsIMsgSMIMECompFields.idl \
-		nsIMsgSMIMEHeaderSink.idl \
-		nsISMimeJSHelper.idl \
-		nsIEncryptedSMIMEURIsSrvc.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
--- a/mailnews/extensions/smime/public/moz.build
+++ b/mailnews/extensions/smime/public/moz.build
@@ -1,4 +1,12 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIEncryptedSMIMEURIsSrvc.idl',
+    'nsIMsgSMIMECompFields.idl',
+    'nsIMsgSMIMEHeaderSink.idl',
+    'nsISMimeJSHelper.idl',
+]
+
--- a/mailnews/imap/public/Makefile.in
+++ b/mailnews/imap/public/Makefile.in
@@ -12,33 +12,10 @@ include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgimap
 
 EXPORTS		= \
 		nsMsgImapCID.h \
 		nsIIMAPHostSessionList.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIImapUrl.idl	      \
-		nsIImapService.idl    \
-		nsIImapServerSink.idl \
-		nsIImapMessageSink.idl \
-		nsIImapProtocolSink.idl \
-		nsIImapIncomingServer.idl \
-		nsIImapFlagAndUidState.idl \
-		nsIImapMockChannel.idl \
-		nsIImapProtocol.idl \
-		nsIMailboxSpec.idl \
-		nsIImapMailFolderSink.idl \
-		nsIMsgImapMailFolder.idl \
-		nsIImapHeaderXferInfo.idl \
-		nsIAutoSyncState.idl \
-		nsIAutoSyncManager.idl \
-		nsIAutoSyncFolderStrategy.idl \
-		nsIAutoSyncMsgStrategy.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
--- a/mailnews/imap/public/moz.build
+++ b/mailnews/imap/public/moz.build
@@ -1,4 +1,29 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIAutoSyncFolderStrategy.idl',
+    'nsIAutoSyncManager.idl',
+    'nsIAutoSyncMsgStrategy.idl',
+    'nsIAutoSyncState.idl',
+    'nsIImapFlagAndUidState.idl',
+    'nsIImapHeaderXferInfo.idl',
+    'nsIImapIncomingServer.idl',
+    'nsIImapMailFolderSink.idl',
+    'nsIImapMessageSink.idl',
+    'nsIImapMockChannel.idl',
+    'nsIImapProtocol.idl',
+    'nsIImapProtocolSink.idl',
+    'nsIImapServerSink.idl',
+    'nsIImapService.idl',
+    'nsIImapUrl.idl',
+    'nsIMailboxSpec.idl',
+    'nsIMsgImapMailFolder.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/mailnews/import/public/Makefile.in
+++ b/mailnews/import/public/Makefile.in
@@ -7,28 +7,10 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= import
 
-XPIDLSRCS	= \
-		nsIImportService.idl  				\
-		nsIImportModule.idl					\
-		nsIImportMail.idl					\
-		nsIImportMailboxDescriptor.idl		\
-		nsIImportGeneric.idl				\
-		nsIImportAddressBooks.idl			\
-		nsIImportABDescriptor.idl			\
-		nsIImportSettings.idl				\
-		nsIImportMimeEncode.idl				\
-		nsIImportFieldMap.idl				\
-		nsIImportFilters.idl				\
-                $(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  -I$(topsrcdir)/mailnews/compose/public \
-  $(NULL)
--- a/mailnews/import/public/moz.build
+++ b/mailnews/import/public/moz.build
@@ -1,4 +1,24 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIImportABDescriptor.idl',
+    'nsIImportAddressBooks.idl',
+    'nsIImportFieldMap.idl',
+    'nsIImportFilters.idl',
+    'nsIImportGeneric.idl',
+    'nsIImportMail.idl',
+    'nsIImportMailboxDescriptor.idl',
+    'nsIImportMimeEncode.idl',
+    'nsIImportModule.idl',
+    'nsIImportService.idl',
+    'nsIImportSettings.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+    '-I$(topsrcdir)/mailnews/compose/public',
+]
+
--- a/mailnews/local/public/Makefile.in
+++ b/mailnews/local/public/Makefile.in
@@ -11,41 +11,13 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msglocal
 
 EXPORTS		= \
 		nsMsgLocalCID.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIPop3IncomingServer.idl \
-		nsIPop3Service.idl \
-		nsIMailboxService.idl \
-		nsIPop3Sink.idl \
-		nsIPop3URL.idl \
-		nsIMailboxUrl.idl \
-		nsIMsgParseMailMsgState.idl \
-		nsINoIncomingServer.idl \
-		nsINoneService.idl	\
-		nsIMsgLocalMailFolder.idl \
-		nsILocalMailIncomingServer.idl \
-		nsIPop3Protocol.idl \
-		nsIRssIncomingServer.idl \
-		nsIRssService.idl \
-		nsINewsBlogFeedDownloader.idl \
-		$(NULL)
-
-#ifdef MOZ_MOVEMAIL
-XPIDLSRCS	+= \
-		nsIMovemailService.idl \
-		nsIMovemailIncomingServer.idl
-#endif
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
-
 ifdef MOZ_MOVEMAIL
 DEFINES	+= -DHAVE_MOVEMAIL
 endif
--- a/mailnews/local/public/moz.build
+++ b/mailnews/local/public/moz.build
@@ -1,4 +1,29 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsILocalMailIncomingServer.idl',
+    'nsIMailboxService.idl',
+    'nsIMailboxUrl.idl',
+    'nsIMovemailIncomingServer.idl',
+    'nsIMovemailService.idl',
+    'nsIMsgLocalMailFolder.idl',
+    'nsIMsgParseMailMsgState.idl',
+    'nsINewsBlogFeedDownloader.idl',
+    'nsINoIncomingServer.idl',
+    'nsINoneService.idl',
+    'nsIPop3IncomingServer.idl',
+    'nsIPop3Protocol.idl',
+    'nsIPop3Service.idl',
+    'nsIPop3Sink.idl',
+    'nsIPop3URL.idl',
+    'nsIRssIncomingServer.idl',
+    'nsIRssService.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/mailnews/mapi/mapihook/public/Makefile.in
+++ b/mailnews/mapi/mapihook/public/Makefile.in
@@ -6,15 +6,9 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgMapi
-XPIDL_MODULE	= mapihook
-
-XPIDLSRCS	= \
-		nsIMapiSupport.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/mailnews/mapi/mapihook/public/moz.build
+++ b/mailnews/mapi/mapihook/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMapiSupport.idl',
+]
+
+XPIDL_MODULE = 'mapihook'
+
--- a/mailnews/mime/public/Makefile.in
+++ b/mailnews/mime/public/Makefile.in
@@ -14,24 +14,10 @@ MODULE		= mime
 
 EXPORTS		= \
                 nsMsgMimeCID.h \
 		nsIMimeObjectClassAccess.h \
 		nsMailHeaders.h \
 		nsIMimeContentTypeHandler.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIMimeStreamConverter.idl \
-		nsIMimeEmitter.idl \
-		nsIMsgHeaderParser.idl \
-		nsIMimeMiscStatus.idl \
-		nsIMimeHeaders.idl \
-		nsIMimeConverter.idl \
-		nsISimpleMimeConverter.idl \
-		nsIPgpMimeProxy.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
--- a/mailnews/mime/public/moz.build
+++ b/mailnews/mime/public/moz.build
@@ -1,4 +1,20 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMimeConverter.idl',
+    'nsIMimeEmitter.idl',
+    'nsIMimeHeaders.idl',
+    'nsIMimeMiscStatus.idl',
+    'nsIMimeStreamConverter.idl',
+    'nsIMsgHeaderParser.idl',
+    'nsIPgpMimeProxy.idl',
+    'nsISimpleMimeConverter.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/mailnews/news/public/Makefile.in
+++ b/mailnews/news/public/Makefile.in
@@ -11,26 +11,10 @@ VPATH		= @srcdir@
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgnews
 
 EXPORTS		= \
 		nsMsgNewsCID.h \
 		$(NULL)
 
-XPIDLSRCS	= \
-		nsIMsgOfflineNewsState.idl \
-		nsINNTPArticleList.idl \
-		nsINNTPNewsgroupList.idl \
-		nsINNTPProtocol.idl \
-		nsINntpIncomingServer.idl \
-		nsINntpService.idl \
-		nsINNTPNewsgroupPost.idl \
-		nsINntpUrl.idl \
-		nsIMsgNewsFolder.idl \
-		nsINewsDownloadDialogArgs.idl \
-		$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
-XPIDL_FLAGS += \
-  -I$(topsrcdir)/mailnews/base/public \
-  $(NULL)
--- a/mailnews/news/public/moz.build
+++ b/mailnews/news/public/moz.build
@@ -1,4 +1,22 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIMsgNewsFolder.idl',
+    'nsIMsgOfflineNewsState.idl',
+    'nsINNTPArticleList.idl',
+    'nsINNTPNewsgroupList.idl',
+    'nsINNTPNewsgroupPost.idl',
+    'nsINNTPProtocol.idl',
+    'nsINewsDownloadDialogArgs.idl',
+    'nsINntpIncomingServer.idl',
+    'nsINntpService.idl',
+    'nsINntpUrl.idl',
+]
+
+XPIDL_FLAGS += [
+    '-I$(topsrcdir)/mailnews/base/public',
+]
+
--- a/suite/common/public/Makefile.in
+++ b/suite/common/public/Makefile.in
@@ -6,20 +6,10 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= suitecommon
-XPIDL_MODULE	= suitecommon
-
-XPIDLSRCS = \
-	nsISessionStartup.idl \
-	nsISessionStore.idl \
-	nsISidebarPanel.idl \
-	nsISuiteGlue.idl \
-	nsISuiteDownloadManagerUI.idl \
-	$(NULL)
-
 include $(topsrcdir)/config/rules.mk
 
--- a/suite/common/public/moz.build
+++ b/suite/common/public/moz.build
@@ -1,4 +1,15 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsISessionStartup.idl',
+    'nsISessionStore.idl',
+    'nsISidebarPanel.idl',
+    'nsISuiteDownloadManagerUI.idl',
+    'nsISuiteGlue.idl',
+]
+
+XPIDL_MODULE = 'suitecommon'
+
--- a/suite/feeds/public/Makefile.in
+++ b/suite/feeds/public/Makefile.in
@@ -6,17 +6,9 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= suitefeeds
-XPIDL_MODULE	= suitefeeds
-
-XPIDLSRCS = \
-	nsIFeedResultService.idl \
-	nsIFeedWriter.idl \
-	nsIWebContentConverterRegistrar.idl \
-	$(NULL)
-
 include $(topsrcdir)/config/rules.mk
--- a/suite/feeds/public/moz.build
+++ b/suite/feeds/public/moz.build
@@ -1,4 +1,13 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIFeedResultService.idl',
+    'nsIFeedWriter.idl',
+    'nsIWebContentConverterRegistrar.idl',
+]
+
+XPIDL_MODULE = 'suitefeeds'
+
--- a/suite/profile/migration/public/Makefile.in
+++ b/suite/profile/migration/public/Makefile.in
@@ -5,14 +5,10 @@
 DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= suitemigration
-XPIDL_MODULE	= suitemigration
-
-XPIDLSRCS	= nsISuiteProfileMigrator.idl
-
 include $(topsrcdir)/config/rules.mk
 
--- a/suite/profile/migration/public/moz.build
+++ b/suite/profile/migration/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsISuiteProfileMigrator.idl',
+]
+
+XPIDL_MODULE = 'suitemigration'
+
--- a/suite/shell/public/Makefile.in
+++ b/suite/shell/public/Makefile.in
@@ -5,17 +5,13 @@
 DEPTH   = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH   = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE = shellservice
-XPIDL_MODULE  = shellservice
-
-XPIDLSRCS = nsIShellService.idl
-
 ifneq (,$(filter WINNT,$(OS_ARCH)))
 XPIDLSRCS += nsIWindowsShellService.idl
 endif
 
 include $(topsrcdir)/config/rules.mk
--- a/suite/shell/public/moz.build
+++ b/suite/shell/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'nsIShellService.idl',
+]
+
+XPIDL_MODULE = 'shellservice'
+
--- a/suite/smile/public/Makefile.in
+++ b/suite/smile/public/Makefile.in
@@ -5,13 +5,9 @@
 DEPTH     = @DEPTH@
 topsrcdir = @top_srcdir@
 srcdir    = @srcdir@
 VPATH     = @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE        = smile
-XPIDL_MODULE  = smile
-
-XPIDLSRCS = smileIApplication.idl
-
 include $(topsrcdir)/config/rules.mk
--- a/suite/smile/public/moz.build
+++ b/suite/smile/public/moz.build
@@ -1,4 +1,11 @@
 # 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/.
+
+XPIDL_SOURCES += [
+    'smileIApplication.idl',
+]
+
+XPIDL_MODULE = 'smile'
+