mozglue/misc/moz.build
author Emilio Cobos Álvarez <emilio@crisal.io>
Tue, 02 Jul 2019 18:50:04 +0000
changeset 480995 6525ac41c35455512bc1b681df331a5b74cb75cc
parent 476169 efa9757078d03a4cd36e5ead44703e6184d64add
child 494257 70ffff30551a818138732ae12d4253a6ed3e6e44
permissions -rw-r--r--
Bug 1562789 - SmallPointerArray should support moves, and have an IsEmpty() helper. r=froydnj This also implicitly deletes its copy-assignment operator and copy-constructor, which is great since it's a huge footgun. Differential Revision: https://phabricator.services.mozilla.com/D36549

# -*- 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']