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 include("../js-config.mozbuild")
8 include("../js-cxxflags.mozbuild")
13 BUG_COMPONENT = ("Core", "JavaScript: WebAssembly")
18 "/third_party/gemmology",
19 "/third_party/xsimd/include",
22 if CONFIG["INTEL_ARCHITECTURE"]:
23 DEFINES["USE_SSE2"] = True
24 SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineSSE2.cpp"]
25 SOURCES["/third_party/gemmology/kernels/GemmologyEngineSSE2.cpp"].flags += CONFIG[
28 if CONFIG["SSSE3_FLAGS"]:
29 DEFINES["USE_SSSE3"] = True
30 SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineSSSE3.cpp"]
32 "/third_party/gemmology/kernels/GemmologyEngineSSSE3.cpp"
33 ].flags += CONFIG["SSSE3_FLAGS"]
34 if CONFIG["AVX2_FLAGS"]:
35 DEFINES["USE_AVX2"] = True
36 SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineAVX2.cpp"]
38 "/third_party/gemmology/kernels/GemmologyEngineAVX2.cpp"
39 ].flags += CONFIG["AVX2_FLAGS"]
41 if CONFIG["CPU_ARCH"] == "aarch64":
42 DEFINES["USE_NEON"] = True
43 SOURCES += ["/third_party/gemmology/kernels/GemmologyEngineNeon64.cpp"]
44 SOURCES["/third_party/gemmology/kernels/GemmologyEngineNeon64.cpp"].flags += CONFIG[
49 "IntegerGemmIntrinsic.cpp",
52 # We allow warnings for third-party code that can be updated from upstream.
53 AllowCompilerWarnings()