Bug 1799258 - Support outByIn.size()<2 in SampleOutByIn. r=bradwerth
[gecko.git] / mfbt / moz.build
blob154ccb8c49dbe3b33182c934165a289aa1784931
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     "AtomicBitfields.h",
25     "Atomics.h",
26     "Attributes.h",
27     "BinarySearch.h",
28     "BitSet.h",
29     "BloomFilter.h",
30     "Buffer.h",
31     "BufferList.h",
32     "Casting.h",
33     "ChaosMode.h",
34     "Char16.h",
35     "CheckedInt.h",
36     "CompactPair.h",
37     "Compiler.h",
38     "Compression.h",
39     "DbgMacro.h",
40     "DebugOnly.h",
41     "DefineEnum.h",
42     "DoublyLinkedList.h",
43     "EndianUtils.h",
44     "EnumeratedArray.h",
45     "EnumeratedRange.h",
46     "EnumSet.h",
47     "EnumTypeTraits.h",
48     "fallible.h",
49     "FastBernoulliTrial.h",
50     "FloatingPoint.h",
51     "FStream.h",
52     "FunctionRef.h",
53     "FunctionTypeTraits.h",
54     "Fuzzing.h",
55     "HashFunctions.h",
56     "HashTable.h",
57     "HelperMacros.h",
58     "InitializedOnce.h",
59     "IntegerRange.h",
60     "IntegerTypeTraits.h",
61     "JSONWriter.h",
62     "JsRust.h",
63     "Latin1.h",
64     "Likely.h",
65     "LinkedList.h",
66     "MacroArgs.h",
67     "MacroForEach.h",
68     "MathAlgorithms.h",
69     "Maybe.h",
70     "MaybeOneOf.h",
71     "MaybeStorageBase.h",
72     "MemoryChecking.h",
73     "MemoryReporting.h",
74     "MoveOnlyFunction.h",
75     "MruCache.h",
76     "NonDereferenceable.h",
77     "NotNull.h",
78     "Opaque.h",
79     "OperatorNewExtensions.h",
80     "PairHash.h",
81     "Path.h",
82     "PodOperations.h",
83     "Poison.h",
84     "RandomNum.h",
85     "Range.h",
86     "RangedArray.h",
87     "RangedPtr.h",
88     "ReentrancyGuard.h",
89     "RefCounted.h",
90     "RefCountType.h",
91     "RefPtr.h",
92     "Result.h",
93     "ResultExtensions.h",
94     "ResultVariant.h",
95     "ReverseIterator.h",
96     "RollingMean.h",
97     "Saturate.h",
98     "Scoped.h",
99     "ScopeExit.h",
100     "SegmentedVector.h",
101     "SHA1.h",
102     "SharedLibrary.h",
103     "SmallPointerArray.h",
104     "Span.h",
105     "SplayTree.h",
106     "SPSCQueue.h",
107     "StaticAnalysisFunctions.h",
108     "TaggedAnonymousMemory.h",
109     "Tainting.h",
110     "TemplateLib.h",
111     "TextUtils.h",
112     "ThreadLocal.h",
113     "ThreadSafety.h",
114     "ThreadSafeWeakPtr.h",
115     "ToString.h",
116     "Tuple.h",
117     "TypedEnumBits.h",
118     "Types.h",
119     "TypeTraits.h",
120     "UniquePtr.h",
121     "UniquePtrExtensions.h",
122     "Unused.h",
123     "Utf8.h",
124     "Variant.h",
125     "Vector.h",
126     "WeakPtr.h",
127     "WrappingOperations.h",
128     "XorShift128PlusRNG.h",
131 EXPORTS["double-conversion"] = [
132     "double-conversion/double-conversion/double-conversion.h",
133     "double-conversion/double-conversion/double-to-string.h",
134     "double-conversion/double-conversion/string-to-double.h",
135     "double-conversion/double-conversion/utils.h",
138 EXPORTS.function2 += [
139     "/third_party/function2/include/function2/function2.hpp",
142 LOCAL_INCLUDES += [
143     "/mfbt/double-conversion",
146 if CONFIG["OS_ARCH"] == "WINNT":
147     EXPORTS.mozilla += [
148         "WindowsVersion.h",
149     ]
151 if CONFIG["OS_ARCH"] == "WASI":
152     EXPORTS.mozilla += [
153         "WasiAtomic.h",
154     ]
156 if CONFIG["MOZ_TSAN"]:
157     EXPORTS.mozilla += [
158         "TsanOptions.h",
159     ]
161 UNIFIED_SOURCES += [
162     "Assertions.cpp",
163     "ChaosMode.cpp",
164     "Compression.cpp",
165     "double-conversion/double-conversion/bignum-dtoa.cc",
166     "double-conversion/double-conversion/bignum.cc",
167     "double-conversion/double-conversion/cached-powers.cc",
168     "double-conversion/double-conversion/double-to-string.cc",
169     "double-conversion/double-conversion/fast-dtoa.cc",
170     "double-conversion/double-conversion/fixed-dtoa.cc",
171     "double-conversion/double-conversion/string-to-double.cc",
172     "double-conversion/double-conversion/strtod.cc",
173     "FloatingPoint.cpp",
174     "HashFunctions.cpp",
175     "JSONWriter.cpp",
176     "Poison.cpp",
177     "RandomNum.cpp",
178     "SHA1.cpp",
179     "TaggedAnonymousMemory.cpp",
180     "UniquePtrExtensions.cpp",
181     "Unused.cpp",
182     "Utf8.cpp",
185 if CONFIG["MOZ_BUILD_APP"] not in (
186     "memory",
187     "tools/update-programs",
189     # Building MFBT tests adds a large overhead when building.
190     TEST_DIRS += ["tests"]
192 DEFINES["IMPL_MFBT"] = True
194 SOURCES += [
195     "lz4/lz4.c",
196     "lz4/lz4file.c",
197     "lz4/lz4frame.c",
198     "lz4/lz4hc.c",
199     "lz4/xxhash.c",
202 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
204 DisableStlWrapping()
206 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
207     OS_LIBS += ["atomic"]
209 DEFINES["LZ4LIB_VISIBILITY"] = ""
211 REQUIRES_UNIFIED_BUILD = True