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/.
8 BUG_COMPONENT = ("Core", "MFBT")
13 "../third_party/rust/encoding_c_mem/include/encoding_rs_mem.h",
49 "FastBernoulliTrial.h",
53 "FunctionTypeTraits.h",
60 "IntegerTypeTraits.h",
78 "NonDereferenceable.h",
81 "OperatorNewExtensions.h",
105 "SmallPointerArray.h",
109 "StaticAnalysisFunctions.h",
110 "TaggedAnonymousMemory.h",
116 "ThreadSafeWeakPtr.h",
122 "UniquePtrExtensions.h",
128 "WrappingOperations.h",
129 "XorShift128PlusRNG.h",
132 EXPORTS["double-conversion"] = [
133 "double-conversion/double-conversion/double-conversion.h",
134 "double-conversion/double-conversion/double-to-string.h",
135 "double-conversion/double-conversion/string-to-double.h",
136 "double-conversion/double-conversion/utils.h",
139 EXPORTS.function2 += [
140 "/third_party/function2/include/function2/function2.hpp",
144 "/mfbt/double-conversion",
147 if CONFIG["OS_ARCH"] == "WINNT":
152 if CONFIG["OS_ARCH"] == "WASI":
157 if CONFIG["MOZ_TSAN"]:
166 "double-conversion/double-conversion/bignum-dtoa.cc",
167 "double-conversion/double-conversion/bignum.cc",
168 "double-conversion/double-conversion/cached-powers.cc",
169 "double-conversion/double-conversion/double-to-string.cc",
170 "double-conversion/double-conversion/fast-dtoa.cc",
171 "double-conversion/double-conversion/fixed-dtoa.cc",
172 "double-conversion/double-conversion/string-to-double.cc",
173 "double-conversion/double-conversion/strtod.cc",
180 "TaggedAnonymousMemory.cpp",
181 "UniquePtrExtensions.cpp",
186 if CONFIG["MOZ_BUILD_APP"] not in (
188 "tools/update-programs",
190 # Building MFBT tests adds a large overhead when building.
191 TEST_DIRS += ["tests"]
193 DEFINES["IMPL_MFBT"] = True
203 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
207 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
208 OS_LIBS += ["atomic"]
210 DEFINES["LZ4LIB_VISIBILITY"] = ""
212 # This is kind of gross because this is not a subdirectory,
213 # but pure_virtual requires mfbt to build and some projects
215 DIRS += ["../build/pure_virtual"]