# -*- 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 += [ 'nsIEnvironment.idl', 'nsIEventTarget.idl', 'nsIIdlePeriod.idl', 'nsINamed.idl', 'nsIProcess.idl', 'nsIRunnable.idl', 'nsISupportsPriority.idl', 'nsIThread.idl', 'nsIThreadInternal.idl', 'nsIThreadManager.idl', 'nsIThreadPool.idl', 'nsITimer.idl', ] XPIDL_MODULE = 'xpcom_threads' EXPORTS += [ 'MainThreadUtils.h', 'nsEventQueue.h', 'nsICancelableRunnable.h', 'nsIIncrementalRunnable.h', 'nsMemoryPressure.h', 'nsProcess.h', 'nsProxyRelease.h', 'nsThread.h', 'nsThreadUtils.h', ] EXPORTS.mozilla += [ 'AbstractThread.h', 'BackgroundHangMonitor.h', 'BlockingResourceBase.h', 'CondVar.h', 'DeadlockDetector.h', 'HangAnnotations.h', 'HangMonitor.h', 'LazyIdleThread.h', 'MainThreadIdlePeriod.h', 'Monitor.h', 'MozPromise.h', 'Mutex.h', 'ReentrantMonitor.h', 'SharedThreadPool.h', 'StateMirroring.h', 'StateWatching.h', 'SyncRunnable.h', 'SystemGroup.h', 'TaskCategory.h', 'TaskDispatcher.h', 'TaskQueue.h', 'ThrottledEventQueue.h', ] UNIFIED_SOURCES += [ 'AbstractThread.cpp', 'BackgroundHangMonitor.cpp', 'BlockingResourceBase.cpp', 'HangAnnotations.cpp', 'HangMonitor.cpp', 'LazyIdleThread.cpp', 'MainThreadIdlePeriod.cpp', 'nsEnvironment.cpp', 'nsEventQueue.cpp', 'nsMemoryPressure.cpp', 'nsProcessCommon.cpp', 'nsProxyRelease.cpp', 'nsThread.cpp', 'nsThreadManager.cpp', 'nsThreadPool.cpp', 'nsThreadUtils.cpp', 'nsTimerImpl.cpp', 'SharedThreadPool.cpp', 'SystemGroup.cpp', 'TaskQueue.cpp', 'ThreadStackHelper.cpp', 'ThrottledEventQueue.cpp', 'TimerThread.cpp', ] LOCAL_INCLUDES += [ '../build', '/caps', '/tools/profiler', ] # BHR disabled for Release builds because of bug 965392. # BHR disabled for debug builds because of bug 979069. # BHR disabled on gonk because of bug 1180533 # BHR disabled for TSan builds because of bug 1121216. if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('release') and \ not CONFIG['MOZ_DEBUG'] and \ not CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and \ not CONFIG['MOZ_TSAN']: DEFINES['MOZ_ENABLE_BACKGROUND_HANG_MONITOR'] = 1 FINAL_LIBRARY = 'xul' include('/ipc/chromium/chromium-config.mozbuild')