Bug 941866 - Exclude files which rely on the known bad patterns from unified builds; r=BenWa
authorEhsan Akhgari <ehsan@mozilla.com>
Thu, 21 Nov 2013 16:36:59 -0500
changeset 172524 852de77cd9f723d156ef77f09596aa2328a167b2
parent 172523 358497b9c7137178ac7ee227025b720a44bf3064
child 172525 24ad61f6e52404af6184c4f5ee24a9a2204b23ae
push id445
push userffxbld
push dateMon, 10 Mar 2014 22:05:19 +0000
treeherdermozilla-release@dc38b741b04e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersBenWa
bugs941866
milestone28.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 941866 - Exclude files which rely on the known bad patterns from unified builds; r=BenWa
image/decoders/moz.build
modules/libjar/moz.build
netwerk/cache2/moz.build
netwerk/protocol/http/moz.build
netwerk/protocol/websocket/moz.build
netwerk/protocol/wyciwyg/moz.build
startupcache/moz.build
xpcom/build/moz.build
--- a/image/decoders/moz.build
+++ b/image/decoders/moz.build
@@ -20,20 +20,25 @@ elif CONFIG['OS_ARCH'] == 'OS2':
 
 if toolkit == 'cocoa':
     DIRS += ['icon/mac', 'icon']
 elif toolkit == 'android':
     DIRS += ['icon/android', 'icon']
 
 UNIFIED_SOURCES += [
     'EXIF.cpp',
-    'nsBMPDecoder.cpp',
     'nsGIFDecoder2.cpp',
     'nsICODecoder.cpp',
     'nsIconDecoder.cpp',
+]
+
+# These files cannot be built in unified mode because they want to force NSPR
+# logging.
+SOURCES += [
+    'nsBMPDecoder.cpp',
     'nsJPEGDecoder.cpp',
     'nsPNGDecoder.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 SOURCES += [
     'iccjpeg.c',
--- a/modules/libjar/moz.build
+++ b/modules/libjar/moz.build
@@ -21,22 +21,26 @@ LIBRARY_NAME	= 'jar'
 
 EXPORTS += [
     'nsJARURI.h',
     'nsZipArchive.h',
     'zipstruct.h',
 ]
 
 UNIFIED_SOURCES += [
+    'nsJARProtocolHandler.cpp',
+    'nsJARURI.cpp',
+]
+
+# These files cannot be built in unified mode because they rely on plarena.h.
+SOURCES += [
     'nsJAR.cpp',
     'nsJARChannel.cpp',
     'nsJARFactory.cpp',
     'nsJARInputStream.cpp',
-    'nsJARProtocolHandler.cpp',
-    'nsJARURI.cpp',
     'nsZipArchive.cpp',
 ]
 
 FAIL_ON_WARNINGS = True
 
 MSVC_ENABLE_PGO = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
--- a/netwerk/cache2/moz.build
+++ b/netwerk/cache2/moz.build
@@ -16,29 +16,35 @@ XPIDL_SOURCES += [
 XPIDL_MODULE = 'necko_cache2'
 
 EXPORTS += [
     'CacheObserver.h',
     'CacheStorageService.h',
 ]
 
 UNIFIED_SOURCES += [
+    'CacheEntriesEnumerator.cpp',
+    'CacheHashUtils.cpp',
+    'CacheIOThread.cpp',
+    'CacheObserver.cpp',
+]
+
+# AppCacheStorage.cpp cannot be built in unified mode because it uses plarena.h.
+# The rest of these files cannot be built in unified mode because they rely oni
+# including prlog.h after nsCache.h.
+SOURCES += [
     'AppCacheStorage.cpp',
-    'CacheEntriesEnumerator.cpp',
     'CacheEntry.cpp',
     'CacheFile.cpp',
     'CacheFileChunk.cpp',
     'CacheFileInputStream.cpp',
     'CacheFileIOManager.cpp',
     'CacheFileMetadata.cpp',
     'CacheFileOutputStream.cpp',
-    'CacheHashUtils.cpp',
-    'CacheIOThread.cpp',
     'CacheLog.cpp',
-    'CacheObserver.cpp',
     'CacheStorage.cpp',
     'CacheStorageService.cpp',
     'OldWrappers.cpp',
 ]
 
 LOCAL_INCLUDES += [
     '../base/src',
 ]
--- a/netwerk/protocol/http/moz.build
+++ b/netwerk/protocol/http/moz.build
@@ -32,17 +32,21 @@ EXPORTS.mozilla.net += [
     'HttpBaseChannel.h',
     'HttpChannelChild.h',
     'HttpChannelParent.h',
     'HttpInfo.h',
     'PHttpChannelParams.h',
     'PSpdyPush.h',
 ]
 
-UNIFIED_SOURCES += [
+# ASpdySession.cpp and nsHttpAuthCache cannot be built in unified mode because
+# they use plarena.h.
+# The rest of these files cannot be built in unified mode because they want to
+# force NSPR logging.
+SOURCES += [
     'ASpdySession.cpp',
     'ConnectionDiagnostics.cpp',
     'HttpBaseChannel.cpp',
     'HttpChannelChild.cpp',
     'HttpChannelParent.cpp',
     'HttpChannelParentListener.cpp',
     'HttpInfo.cpp',
     'nsHttp.cpp',
--- a/netwerk/protocol/websocket/moz.build
+++ b/netwerk/protocol/websocket/moz.build
@@ -13,17 +13,19 @@ XPIDL_MODULE = 'necko_websocket'
 
 EXPORTS.mozilla.net += [
     'BaseWebSocketChannel.h',
     'WebSocketChannel.h',
     'WebSocketChannelChild.h',
     'WebSocketChannelParent.h',
 ]
 
-UNIFIED_SOURCES += [
+# These files cannot be built in unified mode because they want to force NSPR
+# logging.
+SOURCES += [
     'BaseWebSocketChannel.cpp',
     'WebSocketChannel.cpp',
     'WebSocketChannelChild.cpp',
     'WebSocketChannelParent.cpp',
 ]
 
 IPDL_SOURCES += [
     'PWebSocket.ipdl',
--- a/netwerk/protocol/wyciwyg/moz.build
+++ b/netwerk/protocol/wyciwyg/moz.build
@@ -10,17 +10,19 @@ XPIDL_SOURCES += [
 
 XPIDL_MODULE = 'necko_wyciwyg'
 
 EXPORTS.mozilla.net += [
     'WyciwygChannelChild.h',
     'WyciwygChannelParent.h',
 ]
 
-UNIFIED_SOURCES += [
+# These files cannot be built in unified mode because they want to force NSPR
+# logging.
+SOURCES += [
     'nsWyciwyg.cpp',
     'nsWyciwygChannel.cpp',
     'nsWyciwygProtocolHandler.cpp',
     'WyciwygChannelChild.cpp',
     'WyciwygChannelParent.cpp',
 ]
 
 IPDL_SOURCES += [
--- a/startupcache/moz.build
+++ b/startupcache/moz.build
@@ -13,15 +13,16 @@ XPIDL_SOURCES += [
 
 XPIDL_MODULE = 'startupcache'
 
 EXPORTS.mozilla.scache += [
     'StartupCache.h',
     'StartupCacheUtils.h',
 ]
 
-UNIFIED_SOURCES += [
+# These files cannot be built in unified mode because they rely on plarena.h.
+SOURCES += [
     'StartupCache.cpp',
     'StartupCacheModule.cpp',
     'StartupCacheUtils.cpp',
 ]
 
 FINAL_LIBRARY = 'xul'
--- a/xpcom/build/moz.build
+++ b/xpcom/build/moz.build
@@ -43,23 +43,28 @@ else:
     SOURCES += ['PoisonIOInterposerStub.cpp']
 
 include('../glue/objs.mozbuild')
 
 UNIFIED_SOURCES += xpcom_gluens_src_cppsrcs
 UNIFIED_SOURCES += xpcom_glue_src_cppsrcs
 
 UNIFIED_SOURCES += [
-    'FileLocation.cpp',
     'FrozenFunctions.cpp',
     'LateWriteChecks.cpp',
     'nsXPComInit.cpp',
     'nsXPCOMStrings.cpp',
+    'Services.cpp',
+]
+
+# FileLocation.cpp and Omnijar.cpp cannot be built in unified mode because they
+# use plarena.h.
+SOURCES += [
+    'FileLocation.cpp',
     'Omnijar.cpp',
-    'Services.cpp',
 ]
 
 MSVC_ENABLE_PGO = True
 
 LIBRARY_NAME = 'xpcom_core'
 
 include('/ipc/chromium/chromium-config.mozbuild')