1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7XPIDL_SOURCES += [
8    'nsIEnvironment.idl',
9    'nsIEventTarget.idl',
10    'nsIIdlePeriod.idl',
11    'nsINamed.idl',
12    'nsIProcess.idl',
13    'nsIRunnable.idl',
14    'nsISerialEventTarget.idl',
15    'nsISupportsPriority.idl',
16    'nsIThread.idl',
17    'nsIThreadInternal.idl',
18    'nsIThreadManager.idl',
19    'nsIThreadPool.idl',
20    'nsITimer.idl',
21]
22
23XPIDL_MODULE = 'xpcom_threads'
24
25XPCOM_MANIFESTS += [
26    'components.conf',
27]
28
29EXPORTS += [
30    'MainThreadUtils.h',
31    'nsICancelableRunnable.h',
32    'nsIIdleRunnable.h',
33    'nsMemoryPressure.h',
34    'nsProcess.h',
35    'nsProxyRelease.h',
36    'nsThread.h',
37    'nsThreadManager.h',
38    'nsThreadPool.h',
39    'nsThreadUtils.h',
40]
41
42EXPORTS.mozilla += [
43    'AbstractEventQueue.h',
44    'AbstractThread.h',
45    'BlockingResourceBase.h',
46    'CondVar.h',
47    'CPUUsageWatcher.h',
48    'DataMutex.h',
49    'DeadlockDetector.h',
50    'EventQueue.h',
51    'IdlePeriodState.h',
52    'IdleTaskRunner.h',
53    'LazyIdleThread.h',
54    'MainThreadIdlePeriod.h',
55    'Monitor.h',
56    'MozPromise.h',
57    'MozPromiseInlines.h',
58    'Mutex.h',
59    'PerformanceCounter.h',
60    'PrioritizedEventQueue.h',
61    'Queue.h',
62    'RecursiveMutex.h',
63    'ReentrantMonitor.h',
64    'RWLock.h',
65    'SchedulerGroup.h',
66    'SharedThreadPool.h',
67    'StateMirroring.h',
68    'StateWatching.h',
69    'SynchronizedEventQueue.h',
70    'SyncRunnable.h',
71    'TaskCategory.h',
72    'TaskDispatcher.h',
73    'TaskQueue.h',
74    'ThreadBound.h',
75    'ThreadEventQueue.h',
76    'ThrottledEventQueue.h',
77]
78
79SOURCES += [
80    'IdleTaskRunner.cpp',
81    'ThreadDelay.cpp',
82]
83
84UNIFIED_SOURCES += [
85    'AbstractThread.cpp',
86    'BlockingResourceBase.cpp',
87    'CPUUsageWatcher.cpp',
88    'EventQueue.cpp',
89    'IdlePeriodState.cpp',
90    'InputEventStatistics.cpp',
91    'LazyIdleThread.cpp',
92    'MainThreadIdlePeriod.cpp',
93    'nsEnvironment.cpp',
94    'nsMemoryPressure.cpp',
95    'nsProcessCommon.cpp',
96    'nsProxyRelease.cpp',
97    'nsThread.cpp',
98    'nsThreadManager.cpp',
99    'nsThreadPool.cpp',
100    'nsThreadUtils.cpp',
101    'nsTimerImpl.cpp',
102    'PerformanceCounter.cpp',
103    'PrioritizedEventQueue.cpp',
104    'RecursiveMutex.cpp',
105    'RWLock.cpp',
106    'SchedulerGroup.cpp',
107    'SharedThreadPool.cpp',
108    'SynchronizedEventQueue.cpp',
109    'TaskQueue.cpp',
110    'ThreadEventQueue.cpp',
111    'ThreadEventTarget.cpp',
112    'ThreadLocalVariables.cpp',
113    'ThrottledEventQueue.cpp',
114    'TimerThread.cpp',
115]
116
117LOCAL_INCLUDES += [
118    '../build',
119    '/caps',
120    '/tools/profiler',
121]
122
123FINAL_LIBRARY = 'xul'
124
125include('/ipc/chromium/chromium-config.mozbuild')
126