Bug 1748835 [wpt PR 32273] - Avoid reftest-wait timeout if ::target-text is unsupport...
[gecko.git] / mfbt / moz.build
blob44a42bfe9deeb4989e7d1389d281b3c5f3e1b6cf
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     "ThreadSafeWeakPtr.h",
112     "ToString.h",
113     "Tuple.h",
114     "TypedEnumBits.h",
115     "Types.h",
116     "TypeTraits.h",
117     "UniquePtr.h",
118     "UniquePtrExtensions.h",
119     "Unused.h",
120     "Utf8.h",
121     "Variant.h",
122     "Vector.h",
123     "WeakPtr.h",
124     "WrappingOperations.h",
125     "XorShift128PlusRNG.h",
128 EXPORTS["double-conversion"] = [
129     "double-conversion/double-conversion/double-conversion.h",
130     "double-conversion/double-conversion/double-to-string.h",
131     "double-conversion/double-conversion/string-to-double.h",
132     "double-conversion/double-conversion/utils.h",
135 LOCAL_INCLUDES += [
136     "/mfbt/double-conversion",
139 if CONFIG["OS_ARCH"] == "WINNT":
140     EXPORTS.mozilla += [
141         "WindowsVersion.h",
142     ]
144 if CONFIG["OS_ARCH"] == "WASI":
145     EXPORTS.mozilla += [
146         "WasiAtomic.h",
147     ]
149 if CONFIG["MOZ_TSAN"]:
150     EXPORTS.mozilla += [
151         "TsanOptions.h",
152     ]
154 UNIFIED_SOURCES += [
155     "Assertions.cpp",
156     "ChaosMode.cpp",
157     "Compression.cpp",
158     "double-conversion/double-conversion/bignum-dtoa.cc",
159     "double-conversion/double-conversion/bignum.cc",
160     "double-conversion/double-conversion/cached-powers.cc",
161     "double-conversion/double-conversion/double-to-string.cc",
162     "double-conversion/double-conversion/fast-dtoa.cc",
163     "double-conversion/double-conversion/fixed-dtoa.cc",
164     "double-conversion/double-conversion/string-to-double.cc",
165     "double-conversion/double-conversion/strtod.cc",
166     "FloatingPoint.cpp",
167     "HashFunctions.cpp",
168     "JSONWriter.cpp",
169     "Poison.cpp",
170     "RandomNum.cpp",
171     "SHA1.cpp",
172     "TaggedAnonymousMemory.cpp",
173     "UniquePtrExtensions.cpp",
174     "Unused.cpp",
175     "Utf8.cpp",
178 if CONFIG["MOZ_BUILD_APP"] not in (
179     "memory",
180     "tools/update-programs",
182     # Building MFBT tests adds a large overhead when building.
183     TEST_DIRS += ["tests"]
185 DEFINES["IMPL_MFBT"] = True
187 SOURCES += [
188     "lz4/lz4.c",
189     "lz4/lz4frame.c",
190     "lz4/lz4hc.c",
191     "lz4/xxhash.c",
194 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
196 DisableStlWrapping()
198 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
199     OS_LIBS += ["atomic"]
201 DEFINES["LZ4LIB_VISIBILITY"] = ""
203 REQUIRES_UNIFIED_BUILD = True