1
0
mirror of https://github.com/roytam1/UXP.git synced 2026-05-26 13:58:49 +00:00
Files
UXP/mfbt/moz.build
T
Moonchild d4341ea07a Issue #2895 - Part 1: Replace XorShift128+ with Xoroshiro128++
Surrounding structures remain the same because the bit width remains 128.
The more complicated algorithm requires more temp registers in LRandom
to account for intermediate result placeholders in the JITed version of
this algorithm.
2026-01-13 23:49:11 +08:00

145 lines
3.3 KiB
INI

# -*- 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/.
TEST_DIRS += ['tests']
# On win we build two mfbt libs - mfbt linked to crt dlls here and in
# staticruntime we build a statically linked mfbt lib.
if CONFIG['OS_ARCH'] == 'WINNT':
DIRS += ['staticruntime']
Library('mfbt')
EXPORTS.mozilla = [
'Alignment.h',
'AllocPolicy.h',
'AlreadyAddRefed.h',
'Array.h',
'ArrayUtils.h',
'Assertions.h',
'Atomics.h',
'Attributes.h',
'BinarySearch.h',
'BloomFilter.h',
'BufferList.h',
'Casting.h',
'ChaosMode.h',
'Char16.h',
'CheckedInt.h',
'Compiler.h',
'Compression.h',
'DebugOnly.h',
'decimal/Decimal.h',
'double-conversion/double-conversion.h',
'double-conversion/utils.h',
'EndianUtils.h',
'EnumeratedArray.h',
'EnumeratedRange.h',
'EnumSet.h',
'EnumTypeTraits.h',
'FastBernoulliTrial.h',
'FloatingPoint.h',
'Function.h',
'FunctionRef.h',
'GuardObjects.h',
'HashFunctions.h',
'IndexSequence.h',
'IntegerPrintfMacros.h',
'IntegerRange.h',
'IntegerTypeTraits.h',
'JSONWriter.h',
'Likely.h',
'LinkedList.h',
'MacroArgs.h',
'MacroForEach.h',
'MathAlgorithms.h',
'Maybe.h',
'MaybeOneOf.h',
'MemoryChecking.h',
'MemoryReporting.h',
'Move.h',
'NotNull.h',
'NullPtr.h',
'Opaque.h',
'OperatorNewExtensions.h',
'Pair.h',
'PodOperations.h',
'Poison.h',
'Range.h',
'RangedArray.h',
'RangedPtr.h',
'ReentrancyGuard.h',
'RefCounted.h',
'RefCountType.h',
'RefPtr.h',
'Result.h',
'ReverseIterator.h',
'RollingMean.h',
'Saturate.h',
'Scoped.h',
'ScopeExit.h',
'SegmentedVector.h',
'SHA1.h',
'SizePrintfMacros.h',
'Span.h',
'SplayTree.h',
'Sprintf.h',
'StaticAnalysisFunctions.h',
'TaggedAnonymousMemory.h',
'TemplateLib.h',
'TextUtils.h',
'ThreadLocal.h',
'ToString.h',
'Tuple.h',
'TypedEnumBits.h',
'Types.h',
'TypeTraits.h',
'UniquePtr.h',
'UniquePtrExtensions.h',
'Unused.h',
'Variant.h',
'Vector.h',
'WeakPtr.h',
'WrappingOperations.h',
'Xoroshiro128PlusPlusRNG.h',
]
if CONFIG['OS_ARCH'] == 'WINNT':
EXPORTS.mozilla += [
'WindowsVersion.h',
]
elif CONFIG['OS_ARCH'] == 'Linux':
EXPORTS.mozilla += [
'LinuxSignal.h',
]
include('objs.mozbuild')
UNIFIED_SOURCES += mfbt_src_cppsrcs
DEFINES['IMPL_MFBT'] = True
SOURCES += mfbt_nonunified_src_cppsrcs
DISABLE_STL_WRAPPING = True
# Suppress warnings in third-party LZ4 code.
# TODO: Remove these suppressions after bug 993267 is fixed.
if CONFIG['GNU_CXX']:
SOURCES['/mfbt/Compression.cpp'].flags += ['-Wno-unused-function']
CXXFLAGS += ['-Wno-error=shadow']
if CONFIG['CLANG_CXX']:
# Suppress warnings from third-party V8 Decimal code.
SOURCES['/mfbt/decimal/Decimal.cpp'].flags += ['-Wno-implicit-fallthrough']
if CONFIG['_MSC_VER']:
# Error 4804 is "'>' : unsafe use of type 'bool' in operation"
SOURCES['/mfbt/Compression.cpp'].flags += ['-wd4804']
if CONFIG['MOZ_NEEDS_LIBATOMIC']:
OS_LIBS += ['atomic']