Bug 1693862 [wpt PR 27525] - [Credentialless] WPT fetch, a=testonly
[gecko.git] / mfbt / moz.build
blob67257096bb3ff3ad52472025ee7245998ab60add
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     "HashFunctions.h",
55     "HashTable.h",
56     "HelperMacros.h",
57     "InitializedOnce.h",
58     "IntegerPrintfMacros.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     "MemoryChecking.h",
72     "MemoryReporting.h",
73     "NonDereferenceable.h",
74     "NotNull.h",
75     "Opaque.h",
76     "OperatorNewExtensions.h",
77     "PairHash.h",
78     "Path.h",
79     "PodOperations.h",
80     "Poison.h",
81     "RandomNum.h",
82     "Range.h",
83     "RangedArray.h",
84     "RangedPtr.h",
85     "ReentrancyGuard.h",
86     "RefCounted.h",
87     "RefCountType.h",
88     "RefPtr.h",
89     "Result.h",
90     "ResultExtensions.h",
91     "ResultVariant.h",
92     "ReverseIterator.h",
93     "RollingMean.h",
94     "Saturate.h",
95     "Scoped.h",
96     "ScopeExit.h",
97     "SegmentedVector.h",
98     "SHA1.h",
99     "SharedLibrary.h",
100     "SmallPointerArray.h",
101     "Span.h",
102     "SplayTree.h",
103     "Sprintf.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["MOZ_TSAN"]:
145     EXPORTS.mozilla += [
146         "TsanOptions.h",
147     ]
149 UNIFIED_SOURCES += [
150     "Assertions.cpp",
151     "ChaosMode.cpp",
152     "Compression.cpp",
153     "double-conversion/double-conversion/bignum-dtoa.cc",
154     "double-conversion/double-conversion/bignum.cc",
155     "double-conversion/double-conversion/cached-powers.cc",
156     "double-conversion/double-conversion/double-to-string.cc",
157     "double-conversion/double-conversion/fast-dtoa.cc",
158     "double-conversion/double-conversion/fixed-dtoa.cc",
159     "double-conversion/double-conversion/string-to-double.cc",
160     "double-conversion/double-conversion/strtod.cc",
161     "FloatingPoint.cpp",
162     "HashFunctions.cpp",
163     "JSONWriter.cpp",
164     "Poison.cpp",
165     "RandomNum.cpp",
166     "SHA1.cpp",
167     "TaggedAnonymousMemory.cpp",
168     "UniquePtrExtensions.cpp",
169     "Unused.cpp",
170     "Utf8.cpp",
173 if CONFIG["MOZ_BUILD_APP"] not in (
174     "memory",
175     "tools/update-programs",
177     # Building MFBT tests adds a large overhead when building.
178     TEST_DIRS += ["tests"]
180 DEFINES["IMPL_MFBT"] = True
182 SOURCES += [
183     "lz4/lz4.c",
184     "lz4/lz4frame.c",
185     "lz4/lz4hc.c",
186     "lz4/xxhash.c",
189 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
191 DisableStlWrapping()
193 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
194     OS_LIBS += ["atomic"]
196 DEFINES["LZ4LIB_VISIBILITY"] = ""