Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/toolkit/library/rust/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 2 kB image not shown  

Quelle  moz.build   Sprache: unbekannt

 
Spracherkennung für: .build vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# 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/.

include("gkrust-features.mozbuild")

RustLibrary("gkrust", gkrust_features, is_gkrust=True)

for feature in gkrust_features:
    # We don't want to enable refcount logging during rusttests, since the
    # relevant FFI symbols wouldn't be found.
    # Nor do we want Glean to assume there are Gecko symbols.
    if feature not in (
        "gkrust-shared/gecko_refcount_logging",
        "gkrust-shared/glean_with_gecko",
    ):
        RUST_TEST_FEATURES.append(feature)

# Target directory doesn't matter a lot here, since we can't share panic=abort
# compilation artifacts with gkrust.
RUST_TESTS = [
    "crashreporter",
    "firefox-on-glean",
    "l10nregistry",
    "rsclientcerts-util",
    "selectors",
    "servo_arc",
    "qcms",
    # this does nothing, but is needed so that `gkrust_features` are recognized
    # also see: https://github.com/rust-lang/cargo/issues/9856
    "gkrust",
]

if CONFIG["TARGET_OS"] in ("WINNT", "OSX"):
    RUST_TESTS += ["nmhproxy"]

RUST_TEST_FEATURES.append("crashreporter/mock")

# Code coverage builds link a bunch of Gecko bindings code from the style
# crate, which is not used by our tests but would cause link errors.
#
# Bug 1768874 tracks improving the setup to potentially remove these
# altogether.
if not CONFIG["MOZ_CODE_COVERAGE"]:
    RUST_TESTS += ["stylo_tests"]
    # Same happens for the style tests, except the windows linker is not great
    # at eliminating dead code, so we end up with some missing symbols too.
    if CONFIG["OS_TARGET"] != "WINNT":
        RUST_TESTS += ["style"]
        # dom_fragmentdirectives depends on nsstring which has Gecko FFI symbols.
        # The tests don't use these symbols, but Windows linker pulls them in anyway.
        RUST_TESTS += ["dom_fragmentdirectives"]
        # ssl_tokens_cache also depends on nsstring for the same reason.
        RUST_TESTS += ["ssl_tokens_cache"]

# Code coverage builds time out when executing the crashping tests on windows
# (see bug 2010162), and it's more consistent to simply disable for all
# platforms (since bug 2006492 ran into some issues with Linux ccov as well).
if not CONFIG["MOZ_CODE_COVERAGE"]:
    RUST_TESTS += ["crashping"]

if CONFIG["TARGET_CPU"] != "x86":
    # malloc_size_of_derive is a build dependency, so if we are doing
    # cross-compile for x86, this may not run correctly.
    RUST_TESTS += ["malloc_size_of_derive"]

if CONFIG["MOZ_BITS_DOWNLOAD"]:
    RUST_TESTS += ["bits_client"]

# Export the `rure` crate's included .h file. The symbols defined in that file
# will be exported from the `gkrust-shared` crate.
EXPORTS += [
    "/third_party/rust/rure/include/rure.h",
]

COMPILE_FLAGS["BASE_INCLUDES"] = []
HOST_COMPILE_FLAGS["BASE_INCLUDES"] = []

[Dauer der Verarbeitung: 0.18 Sekunden, vorverarbeitet 2026-08-25]