michael@0: # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- michael@0: # vim: set filetype=python: michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: TEST_DIRS += ['tests'] michael@0: michael@0: LIBRARY_NAME = 'mfbt' michael@0: michael@0: EXPORTS.mozilla = [ michael@0: 'Alignment.h', michael@0: 'AllocPolicy.h', michael@0: 'Array.h', michael@0: 'ArrayUtils.h', michael@0: 'Assertions.h', michael@0: 'Atomics.h', michael@0: 'Attributes.h', michael@0: 'BinarySearch.h', michael@0: 'BloomFilter.h', michael@0: 'Casting.h', michael@0: 'ChaosMode.h', michael@0: 'Char16.h', michael@0: 'CheckedInt.h', michael@0: 'Compiler.h', michael@0: 'Compression.h', michael@0: 'Constants.h', michael@0: 'DebugOnly.h', michael@0: 'decimal/Decimal.h', michael@0: 'Endian.h', michael@0: 'EnumeratedArray.h', michael@0: 'EnumSet.h', michael@0: 'FloatingPoint.h', michael@0: 'GuardObjects.h', michael@0: 'HashFunctions.h', michael@0: 'IntegerPrintfMacros.h', michael@0: 'IntegerTypeTraits.h', michael@0: 'Likely.h', michael@0: 'LinkedList.h', michael@0: 'MacroArgs.h', michael@0: 'MacroForEach.h', michael@0: 'MathAlgorithms.h', michael@0: 'Maybe.h', michael@0: 'MemoryChecking.h', michael@0: 'MemoryReporting.h', michael@0: 'Move.h', michael@0: 'MSIntTypes.h', michael@0: 'NullPtr.h', michael@0: 'NumericLimits.h', michael@0: 'PodOperations.h', michael@0: 'Poison.h', michael@0: 'Range.h', michael@0: 'RangedPtr.h', michael@0: 'RefCountType.h', michael@0: 'ReentrancyGuard.h', michael@0: 'RefPtr.h', michael@0: 'RollingMean.h', michael@0: 'Scoped.h', michael@0: 'SHA1.h', michael@0: 'SplayTree.h', michael@0: 'TemplateLib.h', michael@0: 'ThreadLocal.h', michael@0: 'TypedEnum.h', michael@0: 'TypedEnumBits.h', michael@0: 'TypedEnumInternal.h', michael@0: 'Types.h', michael@0: 'TypeTraits.h', michael@0: 'Vector.h', michael@0: 'WeakPtr.h', michael@0: ] michael@0: michael@0: if CONFIG['OS_ARCH'] == 'WINNT': michael@0: EXPORTS.mozilla += [ michael@0: 'WindowsVersion.h', michael@0: ] michael@0: michael@0: UNIFIED_SOURCES = [ michael@0: 'double-conversion/bignum-dtoa.cc', michael@0: 'double-conversion/bignum.cc', michael@0: 'double-conversion/cached-powers.cc', michael@0: 'double-conversion/diy-fp.cc', michael@0: 'double-conversion/double-conversion.cc', michael@0: 'double-conversion/fast-dtoa.cc', michael@0: 'double-conversion/fixed-dtoa.cc', michael@0: 'double-conversion/strtod.cc', michael@0: 'FloatingPoint.cpp', michael@0: 'HashFunctions.cpp', michael@0: 'Poison.cpp', michael@0: 'SHA1.cpp', michael@0: ] michael@0: michael@0: DEFINES['IMPL_MFBT'] = True michael@0: michael@0: # Compression.cpp cannot be built in unified mode because it pulls in Windows system headers. michael@0: # Decimal.cpp doesn't build in unified mode with gcc. michael@0: SOURCES += [ michael@0: 'Compression.cpp', michael@0: 'decimal/Decimal.cpp', michael@0: ] michael@0: michael@0: DISABLE_STL_WRAPPING = True michael@0: michael@0: # Suppress warnings in third-party code. michael@0: if CONFIG['GNU_CXX']: michael@0: # TODO: Remove this LZ4 warning suppression after bug 993267 is fixed. michael@0: SOURCES['Compression.cpp'].flags += ['-Wno-unused-function']