summaryrefslogtreecommitdiffstats
path: root/xpcom/base/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'xpcom/base/moz.build')
-rw-r--r--xpcom/base/moz.build261
1 files changed, 261 insertions, 0 deletions
diff --git a/xpcom/base/moz.build b/xpcom/base/moz.build
new file mode 100644
index 0000000000..f685758b6f
--- /dev/null
+++ b/xpcom/base/moz.build
@@ -0,0 +1,261 @@
+# -*- 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",
+ "nsIMessageLoop.idl",
+ "nsISecurityConsoleMessage.idl",
+ "nsISupports.idl",
+ "nsIUUIDGenerator.idl",
+ "nsIVersionComparator.idl",
+ "nsIWeakReference.idl",
+ "nsrootidl.idl",
+]
+
+if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
+ XPIDL_SOURCES += [
+ "nsIMacPreferencesReader.idl",
+ ]
+ EXPORTS += [
+ "nsObjCExceptions.h",
+ ]
+ EXPORTS.mozilla += [
+ "MacHelpers.h",
+ "MacStringHelpers.h",
+ "nsMacPreferencesReader.h",
+ ]
+ UNIFIED_SOURCES += [
+ "MacHelpers.mm",
+ "MacStringHelpers.mm",
+ "nsMacPreferencesReader.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",
+ "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",
+ "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",
+ "nsMessageLoop.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"]