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",
104 "SmallPointerArray.h",
108 "StaticAnalysisFunctions.h",
109 "TaggedAnonymousMemory.h",
115 "ThreadSafeWeakPtr.h",
121 "UniquePtrExtensions.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",
143 "/mfbt/double-conversion",
146 if CONFIG["OS_ARCH"] == "WINNT":
151 if CONFIG["OS_ARCH"] == "WASI":
156 if CONFIG["MOZ_TSAN"]:
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",
179 "TaggedAnonymousMemory.cpp",
180 "UniquePtrExtensions.cpp",
185 if CONFIG["MOZ_BUILD_APP"] not in (
187 "tools/update-programs",
189 # Building MFBT tests adds a large overhead when building.
190 TEST_DIRS += ["tests"]
192 DEFINES["IMPL_MFBT"] = True
202 SOURCES["lz4/xxhash.c"].flags += ["-Wno-unused-function"]
206 if CONFIG["MOZ_NEEDS_LIBATOMIC"]:
207 OS_LIBS += ["atomic"]
209 DEFINES["LZ4LIB_VISIBILITY"] = ""
211 # This is kind of gross because this is not a subdirectory,
212 # but pure_virtual requires mfbt to build and some projects
214 DIRS += ["../build/pure_virtual"]