mfbt/moz.build

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 # -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
michael@0 2 # vim: set filetype=python:
michael@0 3 # This Source Code Form is subject to the terms of the Mozilla Public
michael@0 4 # License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
michael@0 6
michael@0 7 TEST_DIRS += ['tests']
michael@0 8
michael@0 9 LIBRARY_NAME = 'mfbt'
michael@0 10
michael@0 11 EXPORTS.mozilla = [
michael@0 12 'Alignment.h',
michael@0 13 'AllocPolicy.h',
michael@0 14 'Array.h',
michael@0 15 'ArrayUtils.h',
michael@0 16 'Assertions.h',
michael@0 17 'Atomics.h',
michael@0 18 'Attributes.h',
michael@0 19 'BinarySearch.h',
michael@0 20 'BloomFilter.h',
michael@0 21 'Casting.h',
michael@0 22 'ChaosMode.h',
michael@0 23 'Char16.h',
michael@0 24 'CheckedInt.h',
michael@0 25 'Compiler.h',
michael@0 26 'Compression.h',
michael@0 27 'Constants.h',
michael@0 28 'DebugOnly.h',
michael@0 29 'decimal/Decimal.h',
michael@0 30 'Endian.h',
michael@0 31 'EnumeratedArray.h',
michael@0 32 'EnumSet.h',
michael@0 33 'FloatingPoint.h',
michael@0 34 'GuardObjects.h',
michael@0 35 'HashFunctions.h',
michael@0 36 'IntegerPrintfMacros.h',
michael@0 37 'IntegerTypeTraits.h',
michael@0 38 'Likely.h',
michael@0 39 'LinkedList.h',
michael@0 40 'MacroArgs.h',
michael@0 41 'MacroForEach.h',
michael@0 42 'MathAlgorithms.h',
michael@0 43 'Maybe.h',
michael@0 44 'MemoryChecking.h',
michael@0 45 'MemoryReporting.h',
michael@0 46 'Move.h',
michael@0 47 'MSIntTypes.h',
michael@0 48 'NullPtr.h',
michael@0 49 'NumericLimits.h',
michael@0 50 'PodOperations.h',
michael@0 51 'Poison.h',
michael@0 52 'Range.h',
michael@0 53 'RangedPtr.h',
michael@0 54 'RefCountType.h',
michael@0 55 'ReentrancyGuard.h',
michael@0 56 'RefPtr.h',
michael@0 57 'RollingMean.h',
michael@0 58 'Scoped.h',
michael@0 59 'SHA1.h',
michael@0 60 'SplayTree.h',
michael@0 61 'TemplateLib.h',
michael@0 62 'ThreadLocal.h',
michael@0 63 'TypedEnum.h',
michael@0 64 'TypedEnumBits.h',
michael@0 65 'TypedEnumInternal.h',
michael@0 66 'Types.h',
michael@0 67 'TypeTraits.h',
michael@0 68 'Vector.h',
michael@0 69 'WeakPtr.h',
michael@0 70 ]
michael@0 71
michael@0 72 if CONFIG['OS_ARCH'] == 'WINNT':
michael@0 73 EXPORTS.mozilla += [
michael@0 74 'WindowsVersion.h',
michael@0 75 ]
michael@0 76
michael@0 77 UNIFIED_SOURCES = [
michael@0 78 'double-conversion/bignum-dtoa.cc',
michael@0 79 'double-conversion/bignum.cc',
michael@0 80 'double-conversion/cached-powers.cc',
michael@0 81 'double-conversion/diy-fp.cc',
michael@0 82 'double-conversion/double-conversion.cc',
michael@0 83 'double-conversion/fast-dtoa.cc',
michael@0 84 'double-conversion/fixed-dtoa.cc',
michael@0 85 'double-conversion/strtod.cc',
michael@0 86 'FloatingPoint.cpp',
michael@0 87 'HashFunctions.cpp',
michael@0 88 'Poison.cpp',
michael@0 89 'SHA1.cpp',
michael@0 90 ]
michael@0 91
michael@0 92 DEFINES['IMPL_MFBT'] = True
michael@0 93
michael@0 94 # Compression.cpp cannot be built in unified mode because it pulls in Windows system headers.
michael@0 95 # Decimal.cpp doesn't build in unified mode with gcc.
michael@0 96 SOURCES += [
michael@0 97 'Compression.cpp',
michael@0 98 'decimal/Decimal.cpp',
michael@0 99 ]
michael@0 100
michael@0 101 DISABLE_STL_WRAPPING = True
michael@0 102
michael@0 103 # Suppress warnings in third-party code.
michael@0 104 if CONFIG['GNU_CXX']:
michael@0 105 # TODO: Remove this LZ4 warning suppression after bug 993267 is fixed.
michael@0 106 SOURCES['Compression.cpp'].flags += ['-Wno-unused-function']

mercurial