fune/xpcom/threads/moz.build
Bryce Seager van Dyk 81bb119e14 Bug 1767897 - Add EventTargetCapability. r=xpcom-reviewers,nika
Add helper class that works with Clang's thread safety analysis to ensure
event target asserts are called.

The Media codebase has a lot of code that expects access to members to only
happen on a specific target, and something like this would be useful to ensure
that asserts are run as expected, as well as warning users who write new code
that me be doing off-target work.

Differential Revision: https://phabricator.services.mozilla.com/D145527
2022-05-10 04:36:05 +00:00

136 lines
3.1 KiB
Python

# -*- 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 += [
"nsIDirectTaskDispatcher.idl",
"nsIEnvironment.idl",
"nsIEventTarget.idl",
"nsIIdlePeriod.idl",
"nsINamed.idl",
"nsIProcess.idl",
"nsIRunnable.idl",
"nsISerialEventTarget.idl",
"nsISupportsPriority.idl",
"nsIThread.idl",
"nsIThreadInternal.idl",
"nsIThreadManager.idl",
"nsIThreadPool.idl",
"nsIThreadShutdown.idl",
"nsITimer.idl",
]
XPIDL_MODULE = "xpcom_threads"
XPCOM_MANIFESTS += [
"components.conf",
]
EXPORTS += [
"MainThreadUtils.h",
"nsICancelableRunnable.h",
"nsIDiscardableRunnable.h",
"nsIIdleRunnable.h",
"nsITargetShutdownTask.h",
"nsMemoryPressure.h",
"nsProcess.h",
"nsProxyRelease.h",
"nsThread.h",
"nsThreadManager.h",
"nsThreadPool.h",
"nsThreadUtils.h",
]
EXPORTS.mozilla += [
"AbstractThread.h",
"BlockingResourceBase.h",
"CondVar.h",
"CPUUsageWatcher.h",
"DataMutex.h",
"DeadlockDetector.h",
"DelayedRunnable.h",
"EventQueue.h",
"EventTargetCapability.h",
"IdlePeriodState.h",
"IdleTaskRunner.h",
"InputTaskManager.h",
"LazyIdleThread.h",
"MainThreadIdlePeriod.h",
"Monitor.h",
"MozPromise.h",
"MozPromiseInlines.h",
"Mutex.h",
"PerformanceCounter.h",
"Queue.h",
"RecursiveMutex.h",
"ReentrantMonitor.h",
"RWLock.h",
"SchedulerGroup.h",
"SharedThreadPool.h",
"SpinEventLoopUntil.h",
"StateMirroring.h",
"StateWatching.h",
"SynchronizedEventQueue.h",
"SyncRunnable.h",
"TaskCategory.h",
"TaskController.h",
"TaskDispatcher.h",
"TaskQueue.h",
"ThreadBound.h",
"ThreadEventQueue.h",
"ThrottledEventQueue.h",
"VsyncTaskManager.h",
]
SOURCES += [
"IdleTaskRunner.cpp",
"ThreadDelay.cpp",
]
UNIFIED_SOURCES += [
"AbstractThread.cpp",
"BlockingResourceBase.cpp",
"CPUUsageWatcher.cpp",
"DelayedRunnable.cpp",
"EventQueue.cpp",
"IdlePeriodState.cpp",
"InputEventStatistics.cpp",
"InputTaskManager.cpp",
"LazyIdleThread.cpp",
"MainThreadIdlePeriod.cpp",
"nsEnvironment.cpp",
"nsMemoryPressure.cpp",
"nsProcessCommon.cpp",
"nsProxyRelease.cpp",
"nsThread.cpp",
"nsThreadManager.cpp",
"nsThreadPool.cpp",
"nsThreadUtils.cpp",
"nsTimerImpl.cpp",
"PerformanceCounter.cpp",
"RecursiveMutex.cpp",
"RWLock.cpp",
"SchedulerGroup.cpp",
"SharedThreadPool.cpp",
"SynchronizedEventQueue.cpp",
"TaskController.cpp",
"TaskQueue.cpp",
"ThreadEventQueue.cpp",
"ThreadEventTarget.cpp",
"ThreadLocalVariables.cpp",
"ThrottledEventQueue.cpp",
"TimerThread.cpp",
"VsyncTaskManager.cpp",
]
LOCAL_INCLUDES += [
"../build",
"/caps",
"/tools/profiler",
]
FINAL_LIBRARY = "xul"
include("/ipc/chromium/chromium-config.mozbuild")