Bug 1760868 [wpt PR 33305] - Update admins for wpt-live and wpt-pr-bot on GCP, a...
[gecko.git] / mfbt / moz.build
blobcb8b5515999af2c3550cae704480906c2efda2b8
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     "NonDereferenceable.h",
75     "NotNull.h",
76     "Opaque.h",
77     "OperatorNewExtensions.h",
78     "PairHash.h",
79     "Path.h",
80     "PodOperations.h",
81     "Poison.h",
82     "RandomNum.h",
83     "Range.h",
84     "RangedArray.h",
85     "RangedPtr.h",
86     "ReentrancyGuard.h",
87     "RefCounted.h",
88     "RefCountType.h",
89     "RefPtr.h",
90     "Result.h",
91     "ResultExtensions.h",
92     "ResultVariant.h",
93     "ReverseIterator.h",
94     "RollingMean.h",
95     "Saturate.h",
96     "Scoped.h",
97     "ScopeExit.h",
98     "SegmentedVector.h",
99     "SHA1.h",
100     "SharedLibrary.h",
101     "SmallPointerArray.h",
102     "Span.h",
103     "SplayTree.h",
104     "SPSCQueue.h",
105     "StaticAnalysisFunctions.h",
106     "TaggedAnonymousMemory.h",
107     "Tainting.h",
108     "TemplateLib.h",
109     "TextUtils.h",
110     "ThreadLocal.h",
111     "ThreadSafety.h",
112     "ThreadSafeWeakPtr.h",
113     "ToString.h",
114     "Tuple.h",
115     "TypedEnumBits.h",
116     "Types.h",
117     "TypeTraits.h",
118     "UniquePtr.h",
119     "UniquePtrExtensions.h",
120     "Unused.h",
121     "Utf8.h",
122     "Variant.h",
123     "Vector.h",
124     "WeakPtr.h",
125     "WrappingOperations.h",
126     "XorShift128PlusRNG.h",
129 EXPORTS["double-conversion"] = [
130     "double-conversion/double-conversion/double-conversion.h",
131     "double-conversion/double-conversion/double-to-string.h",
132     "double-conversion/double-conversion/string-to-double.h",
133     "double-conversion/double-conversion/utils.h",
136 LOCAL_INCLUDES += [
137     "/mfbt/double-conversion",
140 if CONFIG["OS_ARCH"] == "WINNT":
141     EXPORTS.mozilla += [
142         "WindowsVersion.h",
143     ]
145 if CONFIG["OS_ARCH"] == "WASI":
146     EXPORTS.mozilla += [
147         "WasiAtomic.h",
148     ]
150 if CONFIG["MOZ_TSAN"]:
151     EXPORTS.mozilla += [
152         "TsanOptions.h",
153     ]
155 UNIFIED_SOURCES += [
156     "Assertions.cpp",
157     "ChaosMode.cpp",
158     "Compression.cpp",
159     "double-conversion/double-conversion/bignum-dtoa.cc",
160     "double-conversion/double-conversion/bignum.cc",
161     "double-conversion/double-conversion/cached-powers.cc",
162     "double-conversion/double-conversion/double-to-string.cc",
163     "double-conversion/double-conversion/fast-dtoa.cc",
164     "double-conversion/double-conversion/fixed-dtoa.cc",
165     "double-conversion/double-conversion/string-to-double.cc",
166     "double-conversion/double-conversion/strtod.cc",
167     "FloatingPoint.cpp",
168     "HashFunctions.cpp",
169     "JSONWriter.cpp",
170     "Poison.cpp",
171     "RandomNum.cpp",
172     "SHA1.cpp",
173     "TaggedAnonymousMemory.cpp",
174     "UniquePtrExtensions.cpp",
175     "Unused.cpp",
176     "Utf8.cpp",
179 if CONFIG["MOZ_BUILD_APP"] not in (
180     "memory",
181     "tools/update-programs",
183     # Building MFBT tests adds a large overhead when building.
184     TEST_DIRS += ["tests"]
186 DEFINES["IMPL_MFBT"] = True
188 SOURCES += [
189     "lz4/lz4.c",
190     "lz4/lz4frame.c",
191     "lz4/lz4hc.c",
192     "lz4/xxhash.c",
195 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
197 DisableStlWrapping()
199 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
200     OS_LIBS += ["atomic"]
202 DEFINES["LZ4LIB_VISIBILITY"] = ""
204 REQUIRES_UNIFIED_BUILD = True