# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # 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', 'nsIProcess.idl', 'nsIRunnable.idl', 'nsISupportsPriority.idl', 'nsIThread.idl', 'nsIThreadInternal.idl', 'nsIThreadManager.idl', 'nsIThreadPool.idl', 'nsITimer.idl', ] XPIDL_MODULE = 'xpcom_threads' EXPORTS += [ 'nsEventQueue.h', 'nsICancelableRunnable.h', 'nsIIncrementalRunnable.h', 'nsMemoryPressure.h', 'nsProcess.h', 'nsThread.h', ] EXPORTS.mozilla += [ 'AbstractThread.h', 'BackgroundHangMonitor.h', 'HangAnnotations.h', 'HangMonitor.h', 'LazyIdleThread.h', 'MainThreadIdlePeriod.h', 'MozPromise.h', 'SharedThreadPool.h', 'StateMirroring.h', 'StateWatching.h', 'SyncRunnable.h', 'TaskDispatcher.h', 'TaskQueue.h', 'ThrottledEventQueue.h', ] UNIFIED_SOURCES += [ 'AbstractThread.cpp', 'BackgroundHangMonitor.cpp', 'HangAnnotations.cpp', 'HangMonitor.cpp', 'LazyIdleThread.cpp', 'MainThreadIdlePeriod.cpp', 'nsEnvironment.cpp', 'nsEventQueue.cpp', 'nsMemoryPressure.cpp', 'nsProcessCommon.cpp', 'nsThread.cpp', 'nsThreadManager.cpp', 'nsThreadPool.cpp', 'nsTimerImpl.cpp', 'SharedThreadPool.cpp', 'TaskQueue.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 for TSan builds because of bug 1121216. if CONFIG['MOZ_UPDATE_CHANNEL'] not in ('release') and \ not CONFIG['MOZ_DEBUG'] and \ not CONFIG['MOZ_TSAN']: DEFINES['MOZ_ENABLE_BACKGROUND_HANG_MONITOR'] = 1 FINAL_LIBRARY = 'xul' include('/ipc/chromium/chromium-config.mozbuild')