Source code

Revision control

Copy as Markdown

Other Tools

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
features = []
if CONFIG["MOZ_RUST_SIMD"]:
features += ["simd-accel"]
if CONFIG["FUZZING_INTERFACES"]:
features += ["gluesmith"]
if CONFIG["JS_ENABLE_SMOOSH"]:
features += ["smoosh"]
if CONFIG["MOZ_MEMORY"]:
features += ["moz_memory"]
if CONFIG["MOZ_ICU4X"]:
features += ["icu4x"]
RustLibrary("jsrust", features)
if CONFIG["JS_SHARED_LIBRARY"]:
FINAL_LIBRARY = "js"
if CONFIG["OS_ARCH"] == "Darwin":
# The Rust standard library references libresolv on macOS, so we need to
# link it as a workaround. See also bug 1367932.
OS_LIBS += ["-lresolv"]
elif CONFIG["OS_ARCH"] == "WINNT":
# Extra libraries used by Rust bindings libs in debug builds.
OS_LIBS += [
"shell32",
"userenv",
"ws2_32",
]
COMPILE_FLAGS["BASE_INCLUDES"] = []
HOST_COMPILE_FLAGS["BASE_INCLUDES"] = []