Bug 1649121: part 58) Change `DetermineLastNode` to return the found node. r=masayuki
[gecko.git] / mfbt / moz.build
blob4d06f43a5213911b872053f4a400556df442e7e4
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 with Files("**"):
8     BUG_COMPONENT = ("Core", "MFBT")
10 Library('mfbt')
12 EXPORTS += [
13     '../third_party/rust/encoding_c_mem/include/encoding_rs_mem.h',
16 EXPORTS.mozilla = [
17     'Algorithm.h',
18     'Alignment.h',
19     'AllocPolicy.h',
20     'AlreadyAddRefed.h',
21     'Array.h',
22     'ArrayUtils.h',
23     'Assertions.h',
24     'Atomics.h',
25     'Attributes.h',
26     'BinarySearch.h',
27     'BloomFilter.h',
28     'Buffer.h',
29     'BufferList.h',
30     'Casting.h',
31     'ChaosMode.h',
32     'Char16.h',
33     'CheckedInt.h',
34     'CompactPair.h',
35     'Compiler.h',
36     'Compression.h',
37     'DbgMacro.h',
38     'DebugOnly.h',
39     'DefineEnum.h',
40     'DoublyLinkedList.h',
41     'EndianUtils.h',
42     'EnumeratedArray.h',
43     'EnumeratedRange.h',
44     'EnumSet.h',
45     'EnumTypeTraits.h',
46     'fallible.h',
47     'FastBernoulliTrial.h',
48     'FloatingPoint.h',
49     'FStream.h',
50     'FunctionRef.h',
51     'FunctionTypeTraits.h',
52     'HashFunctions.h',
53     'HashTable.h',
54     'HelperMacros.h',
55     'InitializedOnce.h',
56     'IntegerPrintfMacros.h',
57     'IntegerRange.h',
58     'IntegerTypeTraits.h',
59     'JSONWriter.h',
60     'JsRust.h',
61     'Latin1.h',
62     'Likely.h',
63     'LinkedList.h',
64     'MacroArgs.h',
65     'MacroForEach.h',
66     'MathAlgorithms.h',
67     'Maybe.h',
68     'MaybeOneOf.h',
69     'MemoryChecking.h',
70     'MemoryReporting.h',
71     'NonDereferenceable.h',
72     'NotNull.h',
73     'Opaque.h',
74     'OperatorNewExtensions.h',
75     'Path.h',
76     'PodOperations.h',
77     'Poison.h',
78     'RandomNum.h',
79     'Range.h',
80     'RangedArray.h',
81     'RangedPtr.h',
82     'ReentrancyGuard.h',
83     'RefCounted.h',
84     'RefCountType.h',
85     'RefPtr.h',
86     'Result.h',
87     'ResultExtensions.h',
88     'ReverseIterator.h',
89     'RollingMean.h',
90     'Saturate.h',
91     'Scoped.h',
92     'ScopeExit.h',
93     'SegmentedVector.h',
94     'SHA1.h',
95     'SharedLibrary.h',
96     'SmallPointerArray.h',
97     'Span.h',
98     'SplayTree.h',
99     'Sprintf.h',
100     'SPSCQueue.h',
101     'StaticAnalysisFunctions.h',
102     'TaggedAnonymousMemory.h',
103     'Tainting.h',
104     'TemplateLib.h',
105     'TextUtils.h',
106     'ThreadLocal.h',
107     'ThreadSafeWeakPtr.h',
108     'ToString.h',
109     'Tuple.h',
110     'TypedEnumBits.h',
111     'Types.h',
112     'TypeTraits.h',
113     'UniquePtr.h',
114     'UniquePtrExtensions.h',
115     'Unused.h',
116     'Utf8.h',
117     'Variant.h',
118     'Vector.h',
119     'WeakPtr.h',
120     'WrappingOperations.h',
121     'XorShift128PlusRNG.h',
124 EXPORTS["double-conversion"] = [
125     'double-conversion/double-conversion/double-conversion.h',
126     'double-conversion/double-conversion/double-to-string.h',
127     'double-conversion/double-conversion/string-to-double.h',
128     'double-conversion/double-conversion/utils.h',
131 LOCAL_INCLUDES += [
132     '/mfbt/double-conversion',
135 if CONFIG['OS_ARCH'] == 'WINNT':
136     EXPORTS.mozilla += [
137         'WindowsVersion.h',
138     ]
140 if CONFIG['MOZ_TSAN']:
141     EXPORTS.mozilla += [
142         'TsanOptions.h',
143     ]
145 UNIFIED_SOURCES += [
146     'Assertions.cpp',
147     'ChaosMode.cpp',
148     'double-conversion/double-conversion/bignum-dtoa.cc',
149     'double-conversion/double-conversion/bignum.cc',
150     'double-conversion/double-conversion/cached-powers.cc',
151     'double-conversion/double-conversion/double-to-string.cc',
152     'double-conversion/double-conversion/fast-dtoa.cc',
153     'double-conversion/double-conversion/fixed-dtoa.cc',
154     'double-conversion/double-conversion/string-to-double.cc',
155     'double-conversion/double-conversion/strtod.cc',
156     'FloatingPoint.cpp',
157     'HashFunctions.cpp',
158     'JSONWriter.cpp',
159     'Poison.cpp',
160     'RandomNum.cpp',
161     'SHA1.cpp',
162     'TaggedAnonymousMemory.cpp',
163     'UniquePtrExtensions.cpp',
164     'Unused.cpp',
165     'Utf8.cpp',
168 if CONFIG['MOZ_BUILD_APP'] not in (
169         'memory',
170         'tools/crashreporter',
171         'tools/update-packaging',
172         'tools/update-programs',
173     ):
174     # Building MFBT tests adds a large overhead when building.
175     TEST_DIRS += ['tests']
177 DEFINES['IMPL_MFBT'] = True
179 SOURCES += [
180     'Compression.cpp',
181     'lz4/lz4.c',
182     'lz4/lz4frame.c',
183     'lz4/lz4hc.c',
184     'lz4/xxhash.c',
187 DisableStlWrapping()
189 if CONFIG['MOZ_NEEDS_LIBATOMIC']:
190     OS_LIBS += ['atomic']
192 DEFINES['LZ4LIB_VISIBILITY'] = ''