[package] name = "gkrust-shared" version = "0.1.0" authors = ["The Mozilla Project Developers"] license = "MPL-2.0" description = "Shared Rust code for libxul" [dependencies] moz_asserts = "0.1" mozglue-static = { path = "../../../../mozglue/static/rust" } geckoservo = { path = "../../../../servo/ports/geckolib" } kvstore = { path = "../../../components/kvstore" } lmdb-rkv-sys = { version = "0.11", features = ["mdb_idl_logn_9"] } mp4parse_capi = { git = "https://github.com/mozilla/mp4parse-rust", rev = "a138e40ec1c603615873e524b5b22e11c0ec4820", features = ["missing-pixi-permitted"] } nserror = { path = "../../../../xpcom/rust/nserror" } nsstring = { path = "../../../../xpcom/rust/nsstring" } netwerk_helper = { path = "../../../../netwerk/base/rust-helper" } xpcom = { path = "../../../../xpcom/rust/xpcom" } prefs_parser = { path = "../../../../modules/libpref/parser" } static_prefs = { path = "../../../../modules/libpref/init/static_prefs" } profiler_helper = { path = "../../../../tools/profiler/rust-helper", optional = true } mozurl = { path = "../../../../netwerk/base/mozurl" } webrender_bindings = { path = "../../../../gfx/webrender_bindings" } cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "d23ab55eab684b46f46e1da177c8814f6103a009", optional = true } cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="8ff972c8e2ec1782ff262ac4071c0415e69b1367", optional = true, features=["pulse-dlopen"] } cubeb-sys = { version = "0.12.0", optional = true, features=["gecko-in-tree"] } audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "596bdb7fbb5745ea415726e16bd497e6c850a540", optional = true } audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "596bdb7fbb5745ea415726e16bd497e6c850a540", optional = true } encoding_glue = { path = "../../../../intl/encoding_glue" } authrs_bridge = { path = "../../../../dom/webauthn/authrs_bridge" } gkrust_utils = { path = "../../../../xpcom/rust/gkrust_utils" } gecko_logger = { path = "../../../../xpcom/rust/gecko_logger" } rsdparsa_capi = { path = "../../../../dom/media/webrtc/sdp/rsdparsa_capi" } # We have these to enforce common feature sets for said crates. log = {version = "0.4", features = ["release_max_level_info"]} cose-c = { version = "0.1.5" } jsrust_shared = { path = "../../../../js/src/rust/shared" } cascade_bloom_filter = { path = "../../../components/cascade_bloom_filter" } cert_storage = { path = "../../../../security/manager/ssl/cert_storage" } crypto_hash = { path = "../../../../security/manager/ssl/crypto_hash" } data_storage = { path = "../../../../security/manager/ssl/data_storage" } bitsdownload = { path = "../../../components/bitsdownload", optional = true } storage = { path = "../../../../storage/rust" } bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true } chardetng_c = "0.1.1" audio_thread_priority = { version = "0.31", default_features = false } mdns_service = { path="../../../../dom/media/webrtc/transport/mdns_service", optional = true } neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" } wgpu_bindings = { path = "../../../../gfx/wgpu_bindings" } mapped_hyph = { git = "https://github.com/jfkthame/mapped_hyph.git", rev = "c7651a0cffff41996ad13c44f689bd9cd2192c01" } fog_control = { path = "../../../components/glean" } app_services_logger = { path = "../../../../services/common/app_services_logger" } http_sfv = { path = "../../../../netwerk/base/http-sfv" } unic-langid = { version = "0.9", features = ["likelysubtags"] } unic-langid-ffi = { path = "../../../../intl/locale/rust/unic-langid-ffi" } fluent-langneg = { version = "0.13", features = ["cldr"] } fluent-langneg-ffi = { path = "../../../../intl/locale/rust/fluent-langneg-ffi" } oxilangtag = "0.1.3" oxilangtag-ffi = { path = "../../../../intl/locale/rust/oxilangtag-ffi" } unicode-bidi = "0.3.15" unicode-bidi-ffi = { path = "../../../../intl/bidi/rust/unicode-bidi-ffi" } rure = "0.2.2" rust_minidump_writer_linux = { path = "../../../crashreporter/rust_minidump_writer_linux", optional = true } mozannotation_client = { path = "../../../crashreporter/mozannotation_client", optional = true } mozannotation_server = { path = "../../../crashreporter/mozannotation_server", optional = true } gecko-profiler = { path = "../../../../tools/profiler/rust-api"} midir_impl = { path = "../../../../dom/midi/midir_impl", optional = true } dom = { path = "../../../../dom/base/rust" } origin-trials-ffi = { path = "../../../../dom/origin-trials/ffi" } jog = { path = "../../../components/glean/bindings/jog" } dap_ffi = { path = "../../../components/telemetry/dap/ffi" } data-encoding-ffi = { path = "../../../../dom/fs/parent/rust/data-encoding-ffi" } uniffi-example-arithmetic = { git = "https://github.com/mozilla/uniffi-rs.git", rev = "afb29ebdc1d9edf15021b1c5332fc9f285bbe13b", optional = true } uniffi-example-geometry = { git = "https://github.com/mozilla/uniffi-rs.git", rev = "afb29ebdc1d9edf15021b1c5332fc9f285bbe13b", optional = true } uniffi-example-rondpoint = { git = "https://github.com/mozilla/uniffi-rs.git", rev = "afb29ebdc1d9edf15021b1c5332fc9f285bbe13b", optional = true } uniffi-example-sprites = { git = "https://github.com/mozilla/uniffi-rs.git", rev = "afb29ebdc1d9edf15021b1c5332fc9f285bbe13b", optional = true } uniffi-example-todolist = { git = "https://github.com/mozilla/uniffi-rs.git", rev = "afb29ebdc1d9edf15021b1c5332fc9f285bbe13b", optional = true } uniffi-example-custom-types = { path = "../../../components/uniffi-example-custom-types/", optional = true } uniffi-fixture-callbacks = { path = "../../../components/uniffi-fixture-callbacks/", optional = true } uniffi-fixture-external-types = { path = "../../../components/uniffi-fixture-external-types/", optional = true } binary_http = { path = "../../../../netwerk/protocol/http/binary_http" } oblivious_http = { path = "../../../../netwerk/protocol/http/oblivious_http" } mime-guess-ffi = { path = "../../../../dom/fs/parent/rust/mime-guess-ffi" } uniffi = { version = "0.25.2" } # Note: `modern_sqlite` means rusqlite's bindings file be for a sqlite with # version less than or equal to what we link to. This isn't a problem because we # tend to keep this up to date, but it needs to be taken into consideration when # changing this version. rusqlite = { workspace = true, features = ["modern_sqlite", "in_gecko"] } fluent = { version = "0.16.0", features = ["fluent-pseudo"] } fluent-ffi = { path = "../../../../intl/l10n/rust/fluent-ffi" } l10nregistry-ffi = { path = "../../../../intl/l10n/rust/l10nregistry-ffi" } l10nregistry = { path = "../../../../intl/l10n/rust/l10nregistry-rs" } fluent-fallback = "0.7.0" localization-ffi = { path = "../../../../intl/l10n/rust/localization-ffi" } processtools = { path = "../../../components/processtools" } qcms = { path = "../../../../gfx/qcms", features = ["c_bindings", "neon"], default-features = false } wpf-gpu-raster = { git = "https://github.com/FirefoxGraphics/wpf-gpu-raster", rev = "99979da091fd58fba8477e7fcdf5ec0727102916" } aa-stroke = { git = "https://github.com/FirefoxGraphics/aa-stroke", rev = "d94278ed9c7020f50232689a26d1277eb0eb74d2" } url = "2.5.0" # Since we're building with at least rustc 1.63, enable rust 1.57 features (use of try_reserve methods). fallible_collections = { version = "0.4", features = ["rust_1_57"] } [target.'cfg(not(target_os = "android"))'.dependencies] viaduct = "0.1" webext_storage_bridge = { path = "../../../components/extensions/storage/webext_storage_bridge" } tabs = { version = "0.1" } suggest = { version = "0.1" } [target.'cfg(target_os = "windows")'.dependencies] detect_win32k_conflicts = { path = "../../../xre/detect_win32k_conflicts" } [features] default = [] moz_memory = ["mozglue-static/moz_memory"] cubeb-remoting = ["cubeb-sys", "audioipc2-client", "audioipc2-server"] cubeb_coreaudio_rust = ["cubeb-sys", "cubeb-coreaudio"] cubeb_pulse_rust = ["cubeb-sys", "cubeb-pulse"] gecko_debug = ["geckoservo/gecko_debug", "nsstring/gecko_debug"] gecko_refcount_logging = ["geckoservo/gecko_refcount_logging", "xpcom/gecko_refcount_logging"] simd-accel = ["encoding_glue/simd-accel", "jsrust_shared/simd-accel"] moz_places = ["bookmark_sync"] spidermonkey_rust = [] smoosh = ["jsrust_shared/smoosh"] gecko_profiler = ["gecko-profiler/enabled", "profiler_helper"] gecko_profiler_parse_elf = ["profiler_helper/parse_elf"] libfuzzer = ["authrs_bridge/fuzzing"] webrtc = ["mdns_service"] glean_disable_upload = ["fog_control/disable_upload"] glean_million_queue = ["fog_control/million_queue"] glean_with_gecko = ["fog_control/with_gecko", "jog/with_gecko"] oxidized_breakpad = ["rust_minidump_writer_linux"] crashreporter = ["mozannotation_client", "mozannotation_server"] with_dbus = ["audio_thread_priority/with_dbus"] thread_sanitizer = ["xpcom/thread_sanitizer"] uniffi_fixtures = [ "uniffi-example-arithmetic", "uniffi-example-geometry", "uniffi-example-rondpoint", "uniffi-example-sprites", "uniffi-example-todolist", "uniffi-example-custom-types", "uniffi-fixture-callbacks", "uniffi-fixture-external-types", ] webmidi_midir_impl = ["midir_impl"] icu4x = ["jsrust_shared/icu4x"] [lib] path = "lib.rs" test = false doctest = false bench = false doc = false plugin = false harness = false [package.metadata.cargo-udeps.ignore] normal = ["moz_asserts"]