xpcom/threads/moz.build
author Ted Mielczarek <ted@mielczarek.org>
Wed, 27 Jan 2016 09:39:53 -0500
changeset 319829 62a0d8c93da2ca24f3f87642a2989c4741f214d4
parent 318673 9087dd73457a98ccf303d0e2613135f31fc172c9
child 330531 18132498bc40463a9a0aef248bf14496a4ddd50c
permissions -rw-r--r--
bug 1069556 - sync to Breakpad c53ed143108948eb7e2d7ee77dc8c0d92050ce7c. r=glandium, benwa This commit contains a few things: * Update our copy of google-breakpad to upstream c53ed143108948eb7e2d7ee77dc8c0d92050ce7c * Get rid of all but one local patch, fold a few related local patches into one * Misc build fixup to sync with upstream--adding a few new moz.build files, source files * The final bits of unhooking Breakpad from the profiler: ** Revert to only building toolkit/crashreporter if MOZ_CRASHREPORTER. ** Stop building bits of Breakpad that we only needed for the profiler. ** Remove a few bits of profiler code that were used to interface with Breakpad. ** Remove toolkit/crashreporter/breakpad-logging, which was only used to suppress Breakpad logging for the in-process stackwalker. * Upstream removed their Android-compat sys/ucontext.h because the Android NDK added it, but the bionic we're using for Gonk builds is too old, so add a copy of the previous version of those files to toolkit/crashreporter/gonk-include to keep Gonk building. * Consolidate moz.build files under toolkit/crashreporter/google-breakpad/client/linux

# -*- Mode: python; c-basic-offset: 4; 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 += [
    'nsICancelableRunnable.idl',
    'nsIEnvironment.idl',
    'nsIEventTarget.idl',
    'nsIProcess.idl',
    'nsIRunnable.idl',
    'nsISupportsPriority.idl',
    'nsIThread.idl',
    'nsIThreadInternal.idl',
    'nsIThreadManager.idl',
    'nsIThreadPool.idl',
    'nsITimer.idl',
]

XPIDL_MODULE = 'xpcom_threads'

EXPORTS += [
    'nsEventQueue.h',
    'nsMemoryPressure.h',
    'nsProcess.h',
    'nsThread.h',
]

EXPORTS.mozilla += [
    'AbstractThread.h',
    'BackgroundHangMonitor.h',
    'HangAnnotations.h',
    'HangMonitor.h',
    'LazyIdleThread.h',
    'MozPromise.h',
    'SharedThreadPool.h',
    'StateMirroring.h',
    'StateWatching.h',
    'SyncRunnable.h',
    'TaskDispatcher.h',
    'TaskQueue.h',
]

UNIFIED_SOURCES += [
    'AbstractThread.cpp',
    'BackgroundHangMonitor.cpp',
    'HangAnnotations.cpp',
    'HangMonitor.cpp',
    'LazyIdleThread.cpp',
    'nsEnvironment.cpp',
    'nsEventQueue.cpp',
    'nsMemoryPressure.cpp',
    'nsProcessCommon.cpp',
    'nsThread.cpp',
    'nsThreadManager.cpp',
    'nsThreadPool.cpp',
    'nsTimerImpl.cpp',
    'SharedThreadPool.cpp',
    'TaskQueue.cpp',
    'ThreadStackHelper.cpp',
    'TimerThread.cpp',
]

LOCAL_INCLUDES += [
    '../build',
    '/caps',
    '/tools/profiler',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    # Gonk's bionic doesn't have ucontext.h
    LOCAL_INCLUDES += [
        '/toolkit/crashreporter/gonk-include',
    ]


# 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')

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wshadow']