mfbt/moz.build
author Razvan Maries <rmaries@mozilla.com>
Sun, 31 May 2020 09:58:41 +0300
changeset 533149 8b62adf33598b50a04bc44eec167827dd9ede178
parent 528510 74707e8ecf389cde739b71b0c0978f4260ca669e
permissions -rw-r--r--
Backed out 6 changesets (bug 1631593) for perma failures on browser_aboutCertError_exception. CLOSED TREE Backed out changeset f176af77900a (bug 1631593) Backed out changeset 74b6fa2a1409 (bug 1631593) Backed out changeset 7fbc8e2c4a4a (bug 1631593) Backed out changeset 77ff0aee23f6 (bug 1631593) Backed out changeset 90bde53721ac (bug 1631593) Backed out changeset ea777b1a9380 (bug 1631593)

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

with Files("**"):
    BUG_COMPONENT = ("Core", "MFBT")

Library('mfbt')

EXPORTS += [
    '../third_party/rust/encoding_c_mem/include/encoding_rs_mem.h',
]

EXPORTS.mozilla = [
    'Algorithm.h',
    'Alignment.h',
    'AllocPolicy.h',
    'AlreadyAddRefed.h',
    'Array.h',
    'ArrayUtils.h',
    'Assertions.h',
    'Atomics.h',
    'Attributes.h',
    'BinarySearch.h',
    'BloomFilter.h',
    'Buffer.h',
    'BufferList.h',
    'Casting.h',
    'ChaosMode.h',
    'Char16.h',
    'CheckedInt.h',
    'CompactPair.h',
    'Compiler.h',
    'Compression.h',
    'DbgMacro.h',
    'DebugOnly.h',
    'DefineEnum.h',
    'DoublyLinkedList.h',
    'EndianUtils.h',
    'EnumeratedArray.h',
    'EnumeratedRange.h',
    'EnumSet.h',
    'EnumTypeTraits.h',
    'fallible.h',
    'FastBernoulliTrial.h',
    'FloatingPoint.h',
    'FStream.h',
    'FunctionRef.h',
    'FunctionTypeTraits.h',
    'GuardObjects.h',
    'HashFunctions.h',
    'HashTable.h',
    'HelperMacros.h',
    'InitializedOnce.h',
    'IntegerPrintfMacros.h',
    'IntegerRange.h',
    'IntegerTypeTraits.h',
    'JSONWriter.h',
    'JsRust.h',
    'Latin1.h',
    'Likely.h',
    'LinkedList.h',
    'MacroArgs.h',
    'MacroForEach.h',
    'MathAlgorithms.h',
    'Maybe.h',
    'MaybeOneOf.h',
    'MemoryChecking.h',
    'MemoryReporting.h',
    'NonDereferenceable.h',
    'NotNull.h',
    'Opaque.h',
    'OperatorNewExtensions.h',
    'Path.h',
    'PodOperations.h',
    'Poison.h',
    'RandomNum.h',
    'Range.h',
    'RangedArray.h',
    'RangedPtr.h',
    'ReentrancyGuard.h',
    'RefCounted.h',
    'RefCountType.h',
    'RefPtr.h',
    'Result.h',
    'ResultExtensions.h',
    'ReverseIterator.h',
    'RollingMean.h',
    'Saturate.h',
    'Scoped.h',
    'ScopeExit.h',
    'SegmentedVector.h',
    'SHA1.h',
    'SharedLibrary.h',
    'SmallPointerArray.h',
    'Span.h',
    'SplayTree.h',
    'Sprintf.h',
    'SPSCQueue.h',
    'StaticAnalysisFunctions.h',
    'TaggedAnonymousMemory.h',
    'Tainting.h',
    'TemplateLib.h',
    'TextUtils.h',
    'ThreadLocal.h',
    'ThreadSafeWeakPtr.h',
    'ToString.h',
    'Tuple.h',
    'TypedEnumBits.h',
    'Types.h',
    'TypeTraits.h',
    'UniquePtr.h',
    'UniquePtrExtensions.h',
    'Unused.h',
    'Utf8.h',
    'Variant.h',
    'Vector.h',
    'WeakPtr.h',
    'WrappingOperations.h',
    'XorShift128PlusRNG.h',
]

EXPORTS["double-conversion"] = [
    'double-conversion/double-conversion/double-conversion.h',
    'double-conversion/double-conversion/double-to-string.h',
    'double-conversion/double-conversion/string-to-double.h',
    'double-conversion/double-conversion/utils.h',
]

LOCAL_INCLUDES += [
    '/mfbt/double-conversion',
]

if CONFIG['OS_ARCH'] == 'WINNT':
    EXPORTS.mozilla += [
        'WindowsVersion.h',
    ]
elif CONFIG['OS_ARCH'] == 'Linux' or CONFIG['OS_ARCH'] == 'FreeBSD':
    EXPORTS.mozilla += [
        'LinuxSignal.h',
    ]

if CONFIG['MOZ_TSAN']:
    EXPORTS.mozilla += [
        'TsanOptions.h',
    ]

UNIFIED_SOURCES += [
    'Assertions.cpp',
    'ChaosMode.cpp',
    'double-conversion/double-conversion/bignum-dtoa.cc',
    'double-conversion/double-conversion/bignum.cc',
    'double-conversion/double-conversion/cached-powers.cc',
    'double-conversion/double-conversion/double-to-string.cc',
    'double-conversion/double-conversion/fast-dtoa.cc',
    'double-conversion/double-conversion/fixed-dtoa.cc',
    'double-conversion/double-conversion/string-to-double.cc',
    'double-conversion/double-conversion/strtod.cc',
    'FloatingPoint.cpp',
    'HashFunctions.cpp',
    'JSONWriter.cpp',
    'Poison.cpp',
    'RandomNum.cpp',
    'SHA1.cpp',
    'TaggedAnonymousMemory.cpp',
    'UniquePtrExtensions.cpp',
    'Unused.cpp',
    'Utf8.cpp',
]

if CONFIG['MOZ_BUILD_APP'] not in ('memory', 'tools/crashreporter', 'tools/update-packaging'):
    # Building MFBT tests adds a large overhead when building
    # tools/crashreporter.
    TEST_DIRS += ['tests']

DEFINES['IMPL_MFBT'] = True

SOURCES += [
    'Compression.cpp',
    'lz4/lz4.c',
    'lz4/lz4frame.c',
    'lz4/lz4hc.c',
    'lz4/xxhash.c',
]

DisableStlWrapping()

if CONFIG['MOZ_NEEDS_LIBATOMIC']:
    OS_LIBS += ['atomic']

DEFINES['LZ4LIB_VISIBILITY'] = ''