Source code

Revision control

Copy as Markdown

Other Tools

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# 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 += [
"nsIAvailableMemoryWatcherBase.idl",
"nsIConsoleListener.idl",
"nsIConsoleMessage.idl",
"nsIConsoleService.idl",
"nsICycleCollectorListener.idl",
"nsIDebug2.idl",
"nsIException.idl",
"nsIInterfaceRequestor.idl",
"nsIMemoryInfoDumper.idl",
"nsIMemoryReporter.idl",
"nsISecurityConsoleMessage.idl",
"nsISupports.idl",
"nsIUUIDGenerator.idl",
"nsIVersionComparator.idl",
"nsIWeakReference.idl",
"nsrootidl.idl",
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
XPIDL_SOURCES += [
"nsIMacPreferencesReader.idl",
]
EXPORTS.mozilla += [
"MacHelpers.h",
"nsMacPreferencesReader.h",
]
UNIFIED_SOURCES += [
"MacHelpers.mm",
"nsMacPreferencesReader.mm",
]
if CONFIG["OS_ARCH"] == "Darwin":
EXPORTS += [
"CFTypeRefPtr.h",
"nsObjCExceptions.h",
]
EXPORTS.mozilla += [
"DarwinObjectPtr.h",
"MacStringHelpers.h",
]
UNIFIED_SOURCES += [
"MacStringHelpers.mm",
"nsObjCExceptions.mm",
]
XPIDL_MODULE = "xpcom_base"
XPCOM_MANIFESTS += [
"components.conf",
]
EXPORTS += [
"!ErrorList.h",
"!ErrorNamesInternal.h",
"CodeAddressService.h",
"nsAlgorithm.h",
"nsAutoRef.h",
"nsCom.h",
"nsCOMPtr.h",
"nscore.h",
"nsCRTGlue.h",
"nsCycleCollectionNoteChild.h",
"nsCycleCollectionNoteRootCallback.h",
"nsCycleCollectionParticipant.h",
"nsCycleCollectionTraversalCallback.h",
"nsCycleCollector.h",
"nsDebug.h",
"nsDebugImpl.h",
"nsDumpUtils.h",
"nsError.h",
"nsGZFileWriter.h",
"nsIClassInfoImpl.h",
"nsID.h",
"nsIDUtils.h",
"nsIInterfaceRequestorUtils.h",
"nsINIParser.h",
"nsInterfaceRequestorAgg.h",
"nsISizeOf.h",
"nsISupportsImpl.h",
"nsISupportsUtils.h",
"nsIWeakReferenceUtils.h",
"nsMaybeWeakPtr.h",
"nsMemory.h",
"nsMemoryReporterManager.h",
"nsQueryObject.h",
"nsSystemInfo.h",
"nsTraceRefcnt.h",
"nsVersionComparator.h",
"nsWeakReference.h",
]
if CONFIG["OS_ARCH"] == "WINNT":
EXPORTS += [
"nsWindowsHelpers.h",
]
if CONFIG["CC_TYPE"] not in ("gcc", "clang"):
OS_LIBS += [
"wscapi",
]
EXPORTS.mozilla += [
"AppShutdown.h",
"AutoRestore.h",
"AvailableMemoryTracker.h",
"AvailableMemoryWatcher.h",
"ClearOnShutdown.h",
"CountingAllocatorBase.h",
"CycleCollectedJSContext.h",
"CycleCollectedJSRuntime.h",
"CycleCollectorStats.h",
"Debug.h",
"DebuggerOnGCRunnable.h",
"DeferredFinalize.h",
"EnumeratedArrayCycleCollection.h",
"ErrorNames.h",
"GkRustUtils.h",
"HoldDropJSObjects.h",
"IntentionalCrash.h",
"JSObjectHolder.h",
"JSONStringWriteFuncs.h",
"Logging.h",
"MemoryInfo.h",
"MemoryMapping.h",
"MemoryReportingProcess.h",
"MemoryTelemetry.h",
"nsMemoryInfoDumper.h",
"NSPRLogModulesParser.h",
"OwningNonNull.h",
"RLBoxSandboxPool.h",
"RLBoxUtils.h",
"ShutdownPhase.h",
"SizeOfState.h",
"StaticLocalPtr.h",
"StaticMonitor.h",
"StaticMutex.h",
"StaticPtr.h",
]
SOURCES += [
# nsDebugImpl isn't unified because we disable PGO so that NS_ABORT_OOM isn't
# optimized away oddly.
"nsDebugImpl.cpp",
# nsDumpUtils.cpp includes SpecialSystemDirectory.h which includes
# nsLocalFileMac.h which upsets other files in this dir that have a different
# idea about what `TextRange` means.
"nsDumpUtils.cpp",
]
SOURCES["nsDebugImpl.cpp"].no_pgo = True
UNIFIED_SOURCES += [
"AppShutdown.cpp",
"AvailableMemoryTracker.cpp",
"AvailableMemoryWatcher.cpp",
"ClearOnShutdown.cpp",
"CycleCollectedJSContext.cpp",
"CycleCollectedJSRuntime.cpp",
"CycleCollectorStats.cpp",
"Debug.cpp",
"DebuggerOnGCRunnable.cpp",
"DeferredFinalize.cpp",
"ErrorNames.cpp",
"GkRustUtils.cpp",
"HoldDropJSObjects.cpp",
"JSObjectHolder.cpp",
"LogCommandLineHandler.cpp",
"Logging.cpp",
"LogModulePrefWatcher.cpp",
"MemoryTelemetry.cpp",
"nsClassInfoImpl.cpp",
"nsCOMPtr.cpp",
"nsConsoleMessage.cpp",
"nsConsoleService.cpp",
"nsCRTGlue.cpp",
"nsCycleCollectionParticipant.cpp",
"nsCycleCollector.cpp",
"nsCycleCollectorTraceJSHelpers.cpp",
"nsGZFileWriter.cpp",
"nsID.cpp",
"nsIInterfaceRequestorUtils.cpp",
"nsINIParser.cpp",
"nsInterfaceRequestorAgg.cpp",
"nsISupportsImpl.cpp",
"nsMemoryImpl.cpp",
"nsMemoryInfoDumper.cpp",
"nsMemoryReporterManager.cpp",
"NSPRLogModulesParser.cpp",
"nsSecurityConsoleMessage.cpp",
"nsSystemInfo.cpp",
"nsTraceRefcnt.cpp",
"nsUUIDGenerator.cpp",
"nsVersionComparator.cpp",
"nsVersionComparatorImpl.cpp",
"nsWeakReference.cpp",
"RLBoxSandboxPool.cpp",
]
if CONFIG["OS_TARGET"] in ("Linux", "Android"):
UNIFIED_SOURCES += [
"MemoryMapping.cpp",
]
if CONFIG["OS_TARGET"] == "WINNT":
UNIFIED_SOURCES += [
"AvailableMemoryWatcherWin.cpp",
"MemoryInfo.cpp",
]
if CONFIG["OS_TARGET"] == "Darwin":
UNIFIED_SOURCES += [
"AvailableMemoryWatcherMac.cpp",
]
EXPORTS.mozilla += [
"MemoryPressureLevelMac.h",
]
if CONFIG["OS_TARGET"] == "Linux":
UNIFIED_SOURCES += [
"AvailableMemoryWatcherLinux.cpp",
]
EXPORTS.mozilla += [
"AvailableMemoryWatcherUtils.h",
]
if CONFIG["MOZ_PHC"]:
DEFINES["MOZ_PHC"] = True
GeneratedFile("ErrorList.h", script="ErrorList.py", entry_point="error_list_h")
GeneratedFile(
"ErrorNamesInternal.h", script="ErrorList.py", entry_point="error_names_internal_h"
)
GeneratedFile("error_list.rs", script="ErrorList.py", entry_point="error_list_rs")
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
SOURCES += [
"nsMacUtilsImpl.cpp",
]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows":
SOURCES += [
"nsCrashOnException.cpp",
]
if CONFIG["COMPILE_ENVIRONMENT"]:
EXPORTS.mozilla += [
"!gk_rust_utils_ffi_generated.h",
]
CbindgenHeader("gk_rust_utils_ffi_generated.h", inputs=["/xpcom/rust/gkrust_utils"])
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"../build",
"/dom/base",
"/mfbt",
"/netwerk/base",
"/xpcom/ds",
]
if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
if CONFIG["MOZ_PHC"]:
EXPORTS.mozilla += [
"PHCManager.h",
]
DEFINES["MOZ_PHC"] = 1
UNIFIED_SOURCES += ["PHCManager.cpp"]
with Files("PHCManager.*"):
BUG_COMPONENT = ("Core", "Memory Allocator")