Bug 465339 Add xpidl specific includes and rearrange some include files to allow mailnews to be built in a parallel fashion without needing to build mailnews/base separately before the rest of mailnews. r=Neil
authorMark Banner <bugzilla@standard8.plus.com>
Wed, 14 Nov 2012 12:13:54 +0000
changeset 11511 5fb3a7d5847c170214ae0b59438195435c7f0329
parent 11510 b9c56e02f6d6ea8aedd1ae56e655a790d299a04e
child 11512 4991059f9bbbef2ffc8d58dc8897749a41024555
push id8601
push userbugzilla@standard8.plus.com
push dateWed, 14 Nov 2012 12:14:19 +0000
treeherdercomm-central@5fb3a7d5847c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersNeil
bugs465339
Bug 465339 Add xpidl specific includes and rearrange some include files to allow mailnews to be built in a parallel fashion without needing to build mailnews/base separately before the rest of mailnews. r=Neil
bridge/bridge.mk
mailnews/Makefile.in
mailnews/base/Makefile.in
mailnews/base/search/public/Makefile.in
mailnews/base/search/public/nsIMsgFilter.idl
mailnews/base/search/public/nsIMsgFilterCustomAction.idl
mailnews/base/search/public/nsIMsgFilterHitNotify.idl
mailnews/base/search/public/nsIMsgFilterList.idl
mailnews/base/search/public/nsIMsgFilterService.idl
mailnews/base/search/public/nsIMsgSearchAdapter.idl
mailnews/base/search/public/nsIMsgSearchSession.idl
mailnews/base/search/public/nsMsgFilterCore.idl
mailnews/base/search/public/nsMsgSearchAdapter.h
mailnews/base/search/public/nsMsgSearchCore.idl
mailnews/base/search/src/nsMsgFilterService.cpp
mailnews/base/search/src/nsMsgLocalSearch.cpp
mailnews/base/search/src/nsMsgLocalSearch.h
mailnews/base/search/src/nsMsgSearchValue.cpp
mailnews/base/util/nsMsgDBFolder.cpp
mailnews/base/util/nsMsgIncomingServer.cpp
mailnews/base/util/nsMsgMailNewsUrl.h
mailnews/compose/public/Makefile.in
mailnews/db/msgdb/public/Makefile.in
mailnews/extensions/mailviews/src/nsMsgMailViewList.cpp
mailnews/extensions/mailviews/src/nsMsgMailViewList.h
mailnews/imap/public/Makefile.in
mailnews/import/eudora/src/nsEudoraFilters.cpp
mailnews/import/public/Makefile.in
mailnews/local/public/Makefile.in
mailnews/local/src/nsParseMailbox.h
mailnews/mime/public/Makefile.in
mailnews/news/public/Makefile.in
mailnews/news/src/nsNNTPNewsgroupList.cpp
--- a/bridge/bridge.mk
+++ b/bridge/bridge.mk
@@ -9,11 +9,10 @@ APP_LIBXUL_STATICDIRS += $(DEPTH)$(SUBDI
 APP_LIBXUL_DIRS += $(DEPTH)$(SUBDIR)/ldap/xpcom
 endif
 
 ifneq (,$(MOZ_MORK)$(filter mork,$(MOZ_APP_COMPONENT_LIBS)))
 APP_LIBXUL_DIRS += $(DEPTH)$(SUBDIR)/db/mork
 endif
 
 APP_LIBXUL_DIRS += \
-  $(DEPTH)$(SUBDIR)/mailnews/base \
   $(DEPTH)$(SUBDIR)/mailnews \
   $(NULL)
--- a/mailnews/Makefile.in
+++ b/mailnews/Makefile.in
@@ -10,22 +10,23 @@ VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE       = mailnews
 
 # If adding to these, consider if you need to add to XPCSHELL_TEST_DIRS below.
 PARALLEL_DIRS	+= \
 	addrbook \
-	base/search/src \
+	base \
 	compose \
 	db/gloda \
 	db/msgdb \
 	extensions\
 	imap \
+	import \
 	local \
 	mime \
 	news \
 	$(NULL)
 
 ifdef ENABLE_TESTS
 PARALLEL_DIRS += \
   test/performance/bloat \
@@ -33,17 +34,17 @@ PARALLEL_DIRS += \
 endif
 
 ifeq ($(OS_ARCH),WINNT)
 ifndef GNU_CC
 PARALLEL_DIRS += mapi/mapiDLL mapi/mapihook
 endif
 endif
 
-DIRS += import build
+DIRS += build
 
 PREF_JS_EXPORTS = $(srcdir)/mailnews.js
 
 DEFINES += -DOS_ARCH=$(OS_ARCH) \
            -DMOZ_WIDGET_TOOLKIT=$(MOZ_WIDGET_TOOLKIT) \
            $(NULL)
 
 include $(topsrcdir)/config/rules.mk
--- a/mailnews/base/Makefile.in
+++ b/mailnews/base/Makefile.in
@@ -7,18 +7,16 @@ DEPTH		= @DEPTH@
 topsrcdir	= @top_srcdir@
 srcdir		= @srcdir@
 VPATH		= @srcdir@
 
 include $(DEPTH)/config/autoconf.mk
 
 MODULE		= msgbase
 
-PARALLEL_DIRS	= public src util ispdata
-
-DIRS		= search/public
+PARALLEL_DIRS	= public src util ispdata search/public search/src
 
 ifdef ENABLE_TESTS
 TOOL_DIRS += test
 endif
 
 include $(topsrcdir)/config/rules.mk
 
--- a/mailnews/base/search/public/Makefile.in
+++ b/mailnews/base/search/public/Makefile.in
@@ -40,8 +40,11 @@ XPIDLSRCS	= \
 		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/nsIMsgFilter.idl
+++ b/mailnews/base/search/public/nsIMsgFilter.idl
@@ -6,18 +6,19 @@
 
 #include "nsISupports.idl"
 #include "nsMsgFilterCore.idl"
 #include "nsIMsgSearchScopeTerm.idl"
 #include "nsIMsgSearchValue.idl"
 #include "nsIMsgSearchTerm.idl"
 #include "nsISupportsArray.idl"
 
-interface nsOutputStream;
+interface nsIOutputStream;
 interface nsIMsgFilterCustomAction;
+interface nsIMsgFilterList;
 
 [scriptable, uuid(190A2A18-D245-473a-A402-9F0814598C7F)]
 interface nsIMsgRuleAction : nsISupports {
 
   attribute nsMsgRuleActionType type;
 
   // target priority.. throws an exception if the action is not priority
   attribute nsMsgPriorityValue priority;
--- a/mailnews/base/search/public/nsIMsgFilterCustomAction.idl
+++ b/mailnews/base/search/public/nsIMsgFilterCustomAction.idl
@@ -1,14 +1,18 @@
 /* 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/. */
 
 #include "nsMsgFilterCore.idl"
 
+interface nsIArray;
+interface nsIMsgCopyServiceListener;
+interface nsIMsgWindow;
+
 /**
  * describes a custom action added to a message filter
  */
 [scriptable,uuid(4699C41E-3671-436e-B6AE-4FD8106747E4)]
 interface nsIMsgFilterCustomAction : nsISupports
 {
   /* globally unique string to identify this filter action.
    * recommended form: ExtensionName@example.com#ActionName
--- a/mailnews/base/search/public/nsIMsgFilterHitNotify.idl
+++ b/mailnews/base/search/public/nsIMsgFilterHitNotify.idl
@@ -1,16 +1,16 @@
 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
 #include "nsISupports.idl"
-#include "nsMsgFilterCore.idl"
-#include "nsIMsgFilter.idl"
+
+interface nsIMsgFilter;
 interface nsIMsgWindow;
 
 ///////////////////////////////////////////////////////////////////////////////
 // nsIMsgFilterHitNotify is an interface designed to make evaluating filters
 // easier. Clients typically open a filter list and ask the filter list to
 // evaluate the filters for a particular message, and pass in an
 // interface pointer to be notified of hits. The filter list will call the
 // ApplyFilterHit method on the interface pointer in case of hits, along with
--- a/mailnews/base/search/public/nsIMsgFilterList.idl
+++ b/mailnews/base/search/public/nsIMsgFilterList.idl
@@ -1,19 +1,21 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* 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/. */
 
 #include "nsISupports.idl"
+#include "nsIMsgFilterHitNotify.idl"
 #include "nsMsgFilterCore.idl"
-#include "nsIMsgFilter.idl"
-#include "nsIMsgFilterHitNotify.idl"
 
+interface nsIFile;
 interface nsIOutputStream;
+interface nsIMsgFilter;
+interface nsIMsgFolder;
 
 ///////////////////////////////////////////////////////////////////////////////
 // The Msg Filter List is an interface designed to make accessing filter lists
 // easier. Clients typically open a filter list and either enumerate the filters,
 // or add new filters, or change the order around...
 //
 ///////////////////////////////////////////////////////////////////////////////
 
--- a/mailnews/base/search/public/nsIMsgFilterService.idl
+++ b/mailnews/base/search/public/nsIMsgFilterService.idl
@@ -9,16 +9,17 @@
 interface nsIMsgFilterList;
 interface nsIMsgWindow;
 interface nsIMsgFilterCustomAction;
 interface nsISimpleEnumerator;
 interface nsIFile;
 interface nsIMsgFolder;
 interface nsISupportsArray;
 interface nsIMsgSearchCustomTerm;
+interface nsIArray;
 
 [scriptable, uuid(C1A5F1BB-4D6C-447a-B70F-A12BE767DC0A)]
 interface nsIMsgFilterService : nsISupports {
 
     nsIMsgFilterList OpenFilterList(in nsIFile filterFile, in nsIMsgFolder rootFolder, in nsIMsgWindow msgWindow);
     void CloseFilterList(in nsIMsgFilterList filterList);
 
     void SaveFilterList(in nsIMsgFilterList filterList,
--- a/mailnews/base/search/public/nsIMsgSearchAdapter.idl
+++ b/mailnews/base/search/public/nsIMsgSearchAdapter.idl
@@ -1,16 +1,15 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
 
 #include "nsISupports.idl"
-#include "nsMsgSearchCore.idl"
 #include "nsIMsgSearchScopeTerm.idl"
 
 [ptr] native nsMsgResultElement(nsMsgResultElement);
 
 %{C++
 class nsMsgResultElement;
 %}
 
--- a/mailnews/base/search/public/nsIMsgSearchSession.idl
+++ b/mailnews/base/search/public/nsIMsgSearchSession.idl
@@ -1,22 +1,24 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
 #include "nsISupports.idl"
-#include "nsMsgSearchCore.idl"
 #include "nsIMsgSearchValue.idl"
 
 interface nsIMsgSearchAdapter;
 interface nsIMsgSearchTerm;
 interface nsIMsgSearchNotify;
 interface nsIMsgHdr;
 interface nsIMsgDatabase;
+interface nsISupportsArray;
+interface nsIMsgWindow;
+interface nsIInputStream;
 
 //////////////////////////////////////////////////////////////////////////////
 // The Msg Search Session is an interface designed to make constructing
 // searches easier. Clients typically build up search terms, and then run
 // the search
 //////////////////////////////////////////////////////////////////////////////
 
 [scriptable, uuid(1ed69bbf-7983-4602-9a9b-2f2263a78878)]
--- a/mailnews/base/search/public/nsMsgFilterCore.idl
+++ b/mailnews/base/search/public/nsMsgFilterCore.idl
@@ -1,17 +1,15 @@
 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
-#include "MailNewsTypes2.idl"
 #include "nsMsgSearchCore.idl"
 
-
 typedef long nsMsgFilterTypeType;
 
 [scriptable,uuid(7d368017-e7b4-446c-98ee-e3e256741947)]
 interface nsMsgFilterType {
     /* these longs are all actually of type nsMsgFilterTypeType */
   const long None             = 0x00;
   const long InboxRule        = 0x01;
   const long InboxJavaScript  = 0x02;
--- a/mailnews/base/search/public/nsMsgSearchAdapter.h
+++ b/mailnews/base/search/public/nsMsgSearchAdapter.h
@@ -2,17 +2,18 @@
 /* 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/. */
 
 #ifndef _nsMsgSearchAdapter_H_
 #define _nsMsgSearchAdapter_H_
 
 #include "nsMsgSearchCore.h"
-
+#include "nsCOMPtr.h"
+#include "nsStringGlue.h"
 #include "nsIMsgSearchAdapter.h"
 #include "nsIMsgSearchValidityTable.h"
 #include "nsIMsgSearchValidityManager.h"
 #include "nsIMsgSearchTerm.h"
 #include "nsINntpIncomingServer.h"
 
 class nsIMsgSearchScopeTerm;
 
--- a/mailnews/base/search/public/nsMsgSearchCore.idl
+++ b/mailnews/base/search/public/nsMsgSearchCore.idl
@@ -1,16 +1,17 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* 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/. */
 
+#include "nsISupports.idl"
 #include "MailNewsTypes2.idl"
-#include "nsIMsgFolder.idl"
 
+interface nsIMsgFolder;
 interface nsIMsgHeaderParser;
 
 %{C++
 #include "nsIMsgHeaderParser.h"
 %}
 interface nsIMsgDatabase;
 interface nsIMsgDBHdr;
 
--- a/mailnews/base/search/src/nsMsgFilterService.cpp
+++ b/mailnews/base/search/src/nsMsgFilterService.cpp
@@ -34,16 +34,17 @@
 #include "nsArrayUtils.h"
 #include "nsCOMArray.h"
 #include "nsIMsgFilterCustomAction.h"
 #include "nsArrayEnumerator.h"
 #include "nsMsgMessageFlags.h"
 #include "nsIMsgWindow.h"
 #include "nsIMsgSearchCustomTerm.h"
 #include "nsAutoPtr.h"
+#include "nsIMsgFilter.h"
 
 NS_IMPL_ISUPPORTS1(nsMsgFilterService, nsIMsgFilterService)
 
 nsMsgFilterService::nsMsgFilterService()
 {
 }
 
 nsMsgFilterService::~nsMsgFilterService()
--- a/mailnews/base/search/src/nsMsgLocalSearch.cpp
+++ b/mailnews/base/search/src/nsMsgLocalSearch.cpp
@@ -18,16 +18,17 @@
 #include "nsMsgBaseCID.h"
 #include "nsMsgSearchValue.h"
 #include "nsIMsgLocalMailFolder.h"
 #include "nsIMsgWindow.h"
 #include "nsIMsgHdr.h"
 #include "nsIMsgFilterPlugin.h"
 #include "nsMsgMessageFlags.h"
 #include "nsMsgUtils.h"
+#include "nsIMsgFolder.h"
 
 extern "C"
 {
     extern int MK_MSG_SEARCH_STATUS;
     extern int MK_MSG_CANT_SEARCH_IF_NO_SUMMARY;
     extern int MK_MSG_SEARCH_HITS_NOT_IN_DB;
 }
 
--- a/mailnews/base/search/src/nsMsgLocalSearch.h
+++ b/mailnews/base/search/src/nsMsgLocalSearch.h
@@ -3,21 +3,23 @@
  * 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/. */
 
 #ifndef _nsMsgLocalSearch_H
 #define _nsMsgLocalSearch_H
 
 // inherit interface here
 #include "nsIMsgSearchAdapter.h"
+#include "nsIUrlListener.h"
 
 // inherit base implementation
 #include "nsMsgSearchAdapter.h"
 #include "nsISimpleEnumerator.h"
 
+
 class nsIMsgDBHdr;
 class nsIMsgSearchScopeTerm;
 class nsIMsgFolder;
 class nsMsgSearchBoolExpression;
 
 class nsMsgSearchOfflineMail : public nsMsgSearchAdapter, public nsIUrlListener
 {
 public:
--- a/mailnews/base/search/src/nsMsgSearchValue.cpp
+++ b/mailnews/base/search/src/nsMsgSearchValue.cpp
@@ -1,16 +1,18 @@
 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
 /* 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/. */
 
 #include "MailNewsTypes.h"
 #include "nsMsgSearchValue.h"
+#include "nsIMsgFolder.h"
 #include "nsISupportsObsolete.h"
+#include "nsStringGlue.h"
 
 nsMsgSearchValueImpl::nsMsgSearchValueImpl(nsMsgSearchValue *aInitialValue)
 {
     mValue = *aInitialValue;
     if (IS_STRING_ATTRIBUTE(aInitialValue->attribute) && aInitialValue->string)
         mValue.string = NS_strdup(aInitialValue->string);
     else
         mValue.string = 0;
--- a/mailnews/base/util/nsMsgDBFolder.cpp
+++ b/mailnews/base/util/nsMsgDBFolder.cpp
@@ -63,16 +63,17 @@
 #include "nsIPK11Token.h"
 #include "nsMsgLocalFolderHdrs.h"
 #define oneHour 3600000000U
 #include "nsMsgUtils.h"
 #include "nsIMsgFilterService.h"
 #include "nsDirectoryServiceUtils.h"
 #include "mozilla/Services.h"
 #include "nsMimeTypes.h"
+#include "nsIMsgFilter.h"
 
 static PRTime gtimeOfLastPurgeCheck;    //variable to know when to check for purge_threshhold
 
 #define PREF_MAIL_PROMPT_PURGE_THRESHOLD "mail.prompt_purge_threshhold"
 #define PREF_MAIL_PURGE_THRESHOLD "mail.purge_threshhold"
 #define PREF_MAIL_PURGE_THRESHOLD_MB "mail.purge_threshhold_mb"
 #define PREF_MAIL_PURGE_MIGRATED "mail.purge_threshold_migrated"
 #define PREF_MAIL_PURGE_ASK "mail.purge.ask"
--- a/mailnews/base/util/nsMsgIncomingServer.cpp
+++ b/mailnews/base/util/nsMsgIncomingServer.cpp
@@ -40,16 +40,17 @@
 #include "nsILoginManager.h"
 #include "nsIMsgAccountManager.h"
 #include "nsIMsgMdnGenerator.h"
 #include "nsMsgFolderFlags.h"
 #include "nsMsgUtils.h"
 #include "nsMsgMessageFlags.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "mozilla/Services.h"
+#include "nsIMsgFilter.h"
 
 #define PORT_NOT_SET -1
 
 nsMsgIncomingServer::nsMsgIncomingServer():
     m_rootFolder(0),
     m_numMsgsDownloaded(0),
     m_biffState(nsIMsgFolder::nsMsgBiffState_Unknown),
     m_serverBusy(false),
--- a/mailnews/base/util/nsMsgMailNewsUrl.h
+++ b/mailnews/base/util/nsMsgMailNewsUrl.h
@@ -18,16 +18,17 @@
 #include "nsIURL.h"
 #include "nsILoadGroup.h"
 #include "nsIMsgSearchSession.h"
 #include "nsICacheEntryDescriptor.h"
 #include "nsICacheSession.h"
 #include "nsISupportsArray.h"
 #include "nsIMimeMiscStatus.h"
 #include "nsWeakReference.h"
+#include "nsStringGlue.h"
 
 ///////////////////////////////////////////////////////////////////////////////////
 // Okay, I found that all of the mail and news url interfaces needed to support
 // several common interfaces (in addition to those provided through nsIURI). 
 // So I decided to group them all in this implementation so we don't have to
 // duplicate the code.
 //
 //////////////////////////////////////////////////////////////////////////////////
--- a/mailnews/compose/public/Makefile.in
+++ b/mailnews/compose/public/Makefile.in
@@ -37,10 +37,11 @@ XPIDLSRCS	= \
 		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/db/msgdb/public/Makefile.in
+++ b/mailnews/db/msgdb/public/Makefile.in
@@ -29,8 +29,11 @@ XPIDLSRCS	= \
 		nsIDBChangeAnnouncer.idl \
 		nsIMsgDatabase.idl \
 		nsINewsDatabase.idl \
 		nsIMsgOfflineImapOperation.idl \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
+XPIDL_FLAGS += \
+  -I$(topsrcdir)/mailnews/base/public \
+  $(NULL)
--- a/mailnews/extensions/mailviews/src/nsMsgMailViewList.cpp
+++ b/mailnews/extensions/mailviews/src/nsMsgMailViewList.cpp
@@ -9,16 +9,17 @@
 #include "nsIMsgFilterService.h"
 #include "nsIMsgMailSession.h"
 #include "nsMsgBaseCID.h"
 #include "nsAppDirectoryServiceDefs.h"
 #include "nsDirectoryServiceUtils.h"
 #include "nsIFile.h"
 #include "nsComponentManagerUtils.h"
 #include "mozilla/Services.h"
+#include "nsIMsgFilter.h"
 
 #define kDefaultViewPeopleIKnow "People I Know"
 #define kDefaultViewRecent "Recent Mail"
 #define kDefaultViewFiveDays "Last 5 Days"
 #define kDefaultViewNotJunk "Not Junk"
 #define kDefaultViewHasAttachments "Has Attachments"
  
 nsMsgMailView::nsMsgMailView()
--- a/mailnews/extensions/mailviews/src/nsMsgMailViewList.h
+++ b/mailnews/extensions/mailviews/src/nsMsgMailViewList.h
@@ -7,17 +7,17 @@
 #ifndef _nsMsgMailViewList_H_
 #define _nsMsgMailViewList_H_
 
 #include "nscore.h"
 #include "nsIMsgMailViewList.h"
 #include "nsCOMPtr.h"
 #include "nsISupportsArray.h"
 #include "nsIStringBundle.h"
-
+#include "nsStringGlue.h"
 #include "nsIMsgFilterList.h"
 
 // a mail View is just a name and an array of search terms
 class nsMsgMailView : public nsIMsgMailView
 {
 public:
   NS_DECL_ISUPPORTS
   NS_DECL_NSIMSGMAILVIEW
--- a/mailnews/imap/public/Makefile.in
+++ b/mailnews/imap/public/Makefile.in
@@ -34,8 +34,11 @@ XPIDLSRCS	= \
 		nsIAutoSyncState.idl \
 		nsIAutoSyncManager.idl \
 		nsIAutoSyncFolderStrategy.idl \
 		nsIAutoSyncMsgStrategy.idl \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
+XPIDL_FLAGS += \
+  -I$(topsrcdir)/mailnews/base/public \
+  $(NULL)
--- a/mailnews/import/eudora/src/nsEudoraFilters.cpp
+++ b/mailnews/import/eudora/src/nsEudoraFilters.cpp
@@ -15,17 +15,17 @@
 #include "nsMsgBaseCID.h"
 #include "nsMsgUtils.h"
 #include "nsIPrefBranch.h"
 #include "nsIPrefService.h"
 #include "nsIMsgFilterList.h"
 #include "nsIMsgAccountManager.h"
 #include "nsIStringBundle.h"
 #include "mozilla/Services.h"
-
+#include "nsIMsgfilter.h"
 #include "nsEudoraFilters.h"
 #include "nsEudoraStringBundle.h"
 
 #include "nsNetUtil.h"
 #include "nsILineInputStream.h"
 #include "EudoraDebugLog.h"
 
 #if defined(XP_WIN) || defined(XP_OS2)
--- a/mailnews/import/public/Makefile.in
+++ b/mailnews/import/public/Makefile.in
@@ -20,11 +20,15 @@ XPIDLSRCS	= \
 		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/local/public/Makefile.in
+++ b/mailnews/local/public/Makefile.in
@@ -37,11 +37,15 @@ XPIDLSRCS	= \
 #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/src/nsParseMailbox.h
+++ b/mailnews/local/src/nsParseMailbox.h
@@ -17,17 +17,17 @@
 #include "nsCOMPtr.h"
 #include "nsCOMArray.h"
 #include "nsIDBChangeListener.h"
 #include "nsIWeakReference.h"
 #include "nsIWeakReferenceUtils.h"
 #include "nsIMsgWindow.h"
 #include "nsImapMoveCoalescer.h"
 #include "nsAutoPtr.h"
-
+#include "nsStringGlue.h"
 #include "nsIMsgFilterList.h"
 #include "nsIMsgFilterHitNotify.h"
 #include "nsIMsgFolderNotificationService.h"
 
 class nsByteArray;
 class nsOutputFileStream;
 class nsIOFileStream;
 class nsInputFileStream;
--- a/mailnews/mime/public/Makefile.in
+++ b/mailnews/mime/public/Makefile.in
@@ -27,8 +27,11 @@ XPIDLSRCS	= \
 		nsIMimeHeaders.idl \
 		nsIMimeConverter.idl \
 		nsISimpleMimeConverter.idl \
 		nsIPgpMimeProxy.idl \
 		$(NULL)
 
 include $(topsrcdir)/config/rules.mk
 
+XPIDL_FLAGS += \
+  -I$(topsrcdir)/mailnews/base/public \
+  $(NULL)
--- a/mailnews/news/public/Makefile.in
+++ b/mailnews/news/public/Makefile.in
@@ -26,8 +26,11 @@ XPIDLSRCS	= \
 		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/src/nsNNTPNewsgroupList.cpp
+++ b/mailnews/news/src/nsNNTPNewsgroupList.cpp
@@ -19,17 +19,17 @@
 #include "nsIMsgStatusFeedback.h"
 #include "nsCOMPtr.h"
 #include "nsIDOMWindow.h"
 #include "nsIMsgMailNewsUrl.h"
 #include "nsIMsgAccountManager.h"
 #include "nsIMsgIncomingServer.h"
 #include "nsINntpIncomingServer.h"
 #include "nsMsgBaseCID.h"
-
+#include "nsIMsgFilter.h"
 #include "nsNNTPNewsgroupList.h"
 
 #include "nsINNTPArticleList.h"
 #include "nsMsgKeySet.h"
 
 #include "nntpCore.h"
 #include "nsIStringBundle.h"