diff options
Diffstat (limited to 'js/src/rust/moz.build')
-rw-r--r-- | js/src/rust/moz.build | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/js/src/rust/moz.build b/js/src/rust/moz.build new file mode 100644 index 0000000000..44fd84a7de --- /dev/null +++ b/js/src/rust/moz.build @@ -0,0 +1,40 @@ +# -*- 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["ENABLE_WASM_CRANELIFT"]: + if CONFIG["JS_CODEGEN_X64"] or CONFIG["JS_CODEGEN_X86"]: + features += ["cranelift_x86"] + elif CONFIG["JS_CODEGEN_ARM"]: + features += ["cranelift_arm32"] + elif CONFIG["JS_CODEGEN_ARM64"]: + features += ["cranelift_arm64"] + else: + features += ["cranelift_none"] + +if CONFIG["MOZ_RUST_SIMD"]: + features += ["simd-accel"] + +if CONFIG["JS_ENABLE_SMOOSH"]: + features += ["smoosh"] + +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", + ] |