From 64bc15535ed6786e8f742d714b0ffca41a166e89 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Wed, 20 Nov 2013 11:35:34 -0500 Subject: [PATCH] Bug 939608 - Part 2: Build xpconnect in unified mode; r=bholley --HG-- extra : rebase_source : d4baf7ddb95bb0217357b9eb9fabd2e08d37548a --- js/xpconnect/loader/moz.build | 2 ++ js/xpconnect/src/moz.build | 8 ++++++-- js/xpconnect/tests/components/native/moz.build | 2 +- js/xpconnect/wrappers/moz.build | 6 +++++- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/js/xpconnect/loader/moz.build b/js/xpconnect/loader/moz.build index af7d6b10a8d7..38fa13e1275d 100644 --- a/js/xpconnect/loader/moz.build +++ b/js/xpconnect/loader/moz.build @@ -4,6 +4,8 @@ # 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/. +# These files cannot be built in unified mode because they rely on plarena.h +# and they want to force NSPR logging. SOURCES += [ 'mozJSComponentLoader.cpp', 'mozJSLoaderUtils.cpp', diff --git a/js/xpconnect/src/moz.build b/js/xpconnect/src/moz.build index f429b521bd45..7cf3c7416ac0 100644 --- a/js/xpconnect/src/moz.build +++ b/js/xpconnect/src/moz.build @@ -13,13 +13,12 @@ EXPORTS += [ 'xpcpublic.h', ] -SOURCES += [ +UNIFIED_SOURCES += [ 'nsCxPusher.cpp', 'nsScriptError.cpp', 'nsXPConnect.cpp', 'Sandbox.cpp', 'XPCCallContext.cpp', - 'XPCComponents.cpp', 'XPCContext.cpp', 'XPCConvert.cpp', 'XPCDebug.cpp', @@ -48,6 +47,11 @@ SOURCES += [ 'XPCWrapper.cpp', ] +# XPCComponents.cpp cannot be built in unified mode because it uses plarena.h. +SOURCES += [ + 'XPCComponents.cpp', +] + GENERATED_SOURCES += [ 'DictionaryHelpers.cpp', 'dom_quickstubs.cpp', diff --git a/js/xpconnect/tests/components/native/moz.build b/js/xpconnect/tests/components/native/moz.build index a1d17d666102..bb6c4e8040de 100644 --- a/js/xpconnect/tests/components/native/moz.build +++ b/js/xpconnect/tests/components/native/moz.build @@ -6,7 +6,7 @@ NO_DIST_INSTALL = True -SOURCES += [ +UNIFIED_SOURCES += [ 'xpctest_attributes.cpp', 'xpctest_module.cpp', 'xpctest_params.cpp', diff --git a/js/xpconnect/wrappers/moz.build b/js/xpconnect/wrappers/moz.build index a12a03ef6f97..0166a091f40c 100644 --- a/js/xpconnect/wrappers/moz.build +++ b/js/xpconnect/wrappers/moz.build @@ -8,12 +8,16 @@ EXPORTS += [ 'WrapperFactory.h', ] -SOURCES += [ +UNIFIED_SOURCES += [ 'AccessCheck.cpp', 'ChromeObjectWrapper.cpp', 'FilteringWrapper.cpp', 'WaiveXrayWrapper.cpp', 'WrapperFactory.cpp', +] + +# XrayWrapper needs to be built separately becaue of template instantiations. +SOURCES += [ 'XrayWrapper.cpp', ]