mozglue/misc/moz.build
author Gerald Squelart <gsquelart@mozilla.com>
Thu, 04 Jul 2019 04:38:16 +0000
changeset 481213 8fed7bc35767fdfab4bac0908ae9b21c08f49e1f
parent 476169 efa9757078d03a4cd36e5ead44703e6184d64add
child 494257 70ffff30551a818138732ae12d4253a6ed3e6e44
permissions -rw-r--r--
Bug 1559000 - mozglue's AutoProfilerLabel doesn't need to know about ProfilingStack - r=mstange `ProfilingStack*` happens to be the information that the current Gecko Profiler entry function wants to forward to the exit function, but AutoProfilerLabel does not really need to know about that. Changing it to `void*`, so that we can later use different entry/exit functions that use different context types. Differential Revision: https://phabricator.services.mozilla.com/D34806

# -*- 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/.

FINAL_LIBRARY = 'mozglue'

EXPORTS.mozilla += [
    'AutoProfilerLabel.h',
    'decimal/Decimal.h',
    'PlatformConditionVariable.h',
    'PlatformMutex.h',
    'Printf.h',
    'StackWalk.h',
    'TimeStamp.h',
]

EXPORTS.mozilla.glue += [
    'Debug.h',
]

if CONFIG['OS_ARCH'] == 'WINNT':
    EXPORTS.mozilla += [
        'StackWalk_windows.h',
        'TimeStamp_windows.h',
    ]

SOURCES += [
    'AutoProfilerLabel.cpp',
    'Printf.cpp',
    'StackWalk.cpp',
    'TimeStamp.cpp',
]

OS_LIBS += CONFIG['REALTIME_LIBS']

if CONFIG['OS_ARCH'] == 'WINNT':
    DIRS += [
        'interceptor',
    ]
    EXPORTS += [
        'nsWindowsDllInterceptor.h',
    ]
    EXPORTS.mozilla += [
        'DynamicallyLinkedFunctionPtr.h',
        'ImportDir.h',
        'NativeNt.h',
        'WindowsMapRemoteView.h',
        'WindowsProcessMitigations.h',
    ]
    SOURCES += [
        'TimeStamp_windows.cpp',
        'WindowsMapRemoteView.cpp',
        'WindowsProcessMitigations.cpp',
    ]
    OS_LIBS += ['dbghelp']
elif CONFIG['HAVE_CLOCK_MONOTONIC']:
    SOURCES += [
        'TimeStamp_posix.cpp',
    ]
elif CONFIG['OS_ARCH'] == 'Darwin':
    SOURCES += [
        'TimeStamp_darwin.cpp',
    ]
elif CONFIG['COMPILE_ENVIRONMENT']:
    error('No TimeStamp implementation on this platform.  Build will not succeed')

if CONFIG['OS_ARCH'] == 'WINNT':
    SOURCES += [
        'ConditionVariable_windows.cpp',
        'Mutex_windows.cpp',
    ]
else:
    SOURCES += [
        'ConditionVariable_posix.cpp',
        'Mutex_posix.cpp',
    ]

SOURCES += [
    'decimal/Decimal.cpp',
]

if CONFIG['CC_TYPE'] == 'clang':
    # Suppress warnings from third-party V8 Decimal code.
    SOURCES['decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough']