1[package] 2name = "gkrust-shared" 3version = "0.1.0" 4authors = ["nobody@mozilla.org"] 5license = "MPL-2.0" 6description = "Shared Rust code for libxul" 7 8[dependencies] 9geckoservo = { path = "../../../../servo/ports/geckolib" } 10kvstore = { path = "../../../components/kvstore" } 11lmdb-rkv-sys = { version = "0.11", features = ["mdb_idl_logn_9"] } 12mp4parse_capi = { git = "https://github.com/mozilla/mp4parse-rust", rev = "1bb484e96ae724309e3346968e8ffd4c25e61616" } 13nserror = { path = "../../../../xpcom/rust/nserror" } 14nsstring = { path = "../../../../xpcom/rust/nsstring" } 15netwerk_helper = { path = "../../../../netwerk/base/rust-helper" } 16xpcom = { path = "../../../../xpcom/rust/xpcom" } 17prefs_parser = { path = "../../../../modules/libpref/parser" } 18static_prefs = { path = "../../../../modules/libpref/init/static_prefs" } 19profiler_helper = { path = "../../../../tools/profiler/rust-helper", optional = true } 20mozurl = { path = "../../../../netwerk/base/mozurl" } 21webrender_bindings = { path = "../../../../gfx/webrender_bindings", optional = true } 22cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "ad56ea14ac915f1e7ecbcf6ac38182443b0dd29e", optional = true } 23cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="b0acd9e16c0249d61835a2d23735fbcbd8cbef64", optional = true, features=["pulse-dlopen"] } 24cubeb-sys = { version = "0.9", optional = true, features=["gecko-in-tree"] } 25encoding_glue = { path = "../../../../intl/encoding_glue" } 26audioipc-client = { git = "https://github.com/mozilla/audioipc-2", rev = "7537bfadad2e981577eb75e4f13662fc517e1a09", optional = true } 27audioipc-server = { git = "https://github.com/mozilla/audioipc-2", rev = "7537bfadad2e981577eb75e4f13662fc517e1a09", optional = true } 28authenticator = "0.3.1" 29gkrust_utils = { path = "../../../../xpcom/rust/gkrust_utils" } 30gecko_logger = { path = "../../../../xpcom/rust/gecko_logger" } 31rsdparsa_capi = { path = "../../../../dom/media/webrtc/sdp/rsdparsa_capi" } 32xulstore = { path = "../../../components/xulstore", optional = true } 33# We have these to enforce common feature sets for said crates. 34log = {version = "0.4", features = ["release_max_level_info"]} 35cose-c = { version = "0.1.5" } 36jsrust_shared = { path = "../../../../js/src/rust/shared" } 37cascade_bloom_filter = { path = "../../../components/cascade_bloom_filter" } 38cert_storage = { path = "../../../../security/manager/ssl/cert_storage" } 39bitsdownload = { path = "../../../components/bitsdownload", optional = true } 40storage = { path = "../../../../storage/rust" } 41bookmark_sync = { path = "../../../components/places/bookmark_sync", optional = true } 42chardetng_c = "0.1.1" 43audio_thread_priority = "0.23.4" 44mdns_service = { path="../../../../dom/media/webrtc/transport/mdns_service", optional = true } 45neqo_glue = { path = "../../../../netwerk/socket/neqo_glue" } 46rlbox_lucet_sandbox = { version = "0.1.0", optional = true } 47wgpu_bindings = { path = "../../../../gfx/wgpu_bindings", optional = true } 48mapped_hyph = { git = "https://github.com/jfkthame/mapped_hyph.git", rev = "746743227485a83123784df0c53227ab466612ed" } 49remote = { path = "../../../../remote/components/rust", optional = true } 50fog_control = { path = "../../../components/glean" } 51app_services_logger = { path = "../../../../services/common/app_services_logger" } 52http_sfv = { path = "../../../../netwerk/base/http-sfv" } 53unic-langid = { version = "0.9", features = ["likelysubtags"] } 54unic-langid-ffi = { path = "../../../../intl/locale/rust/unic-langid-ffi" } 55fluent-langneg = { version = "0.13", features = ["cldr"] } 56fluent-langneg-ffi = { path = "../../../../intl/locale/rust/fluent-langneg-ffi" } 57rust_minidump_writer_linux = { path = "../../../crashreporter/rust_minidump_writer_linux", optional = true } 58gecko-profiler = { path = "../../../../tools/profiler/rust-api"} 59 60# Note: `modern_sqlite` means rusqlite's bindings file be for a sqlite with 61# version less than or equal to what we link to. This isn't a problem because we 62# tend to keep this up to date, but it needs to be taken into consideration when 63# changing this version. 64rusqlite = { version = "0.24.1", features = ["modern_sqlite", "in_gecko"] } 65 66fluent = { version = "0.14.1", features = ["fluent-pseudo"] } 67fluent-ffi = { path = "../../../../intl/l10n/rust/fluent-ffi" } 68l10nregistry-ffi = { path = "../../../../intl/l10n/rust/l10nregistry-ffi" } 69 70processtools = { path = "../../../components/processtools" } 71qcms = { path = "../../../../gfx/qcms", features = ["c_bindings", "neon"], default-features = false } 72 73[target.'cfg(not(target_os = "android"))'.dependencies] 74viaduct = { git = "https://github.com/mozilla/application-services", rev = "8a576fbe79199fa8664f64285524017f74ebcc5f"} 75webext_storage_bridge = { path = "../../../components/extensions/storage/webext_storage_bridge" } 76 77[build-dependencies] 78rustc_version = "0.2" 79 80[features] 81default = [] 82quantum_render = ["webrender_bindings"] 83cubeb-remoting = ["cubeb-sys", "audioipc-client", "audioipc-server"] 84cubeb_coreaudio_rust = ["cubeb-sys", "cubeb-coreaudio"] 85cubeb_pulse_rust = ["cubeb-sys", "cubeb-pulse"] 86gecko_debug = ["geckoservo/gecko_debug", "nsstring/gecko_debug"] 87gecko_refcount_logging = ["geckoservo/gecko_refcount_logging", "xpcom/gecko_refcount_logging"] 88simd-accel = ["encoding_glue/simd-accel", "jsrust_shared/simd-accel"] 89moz_memory = [] 90moz_places = ["bookmark_sync"] 91spidermonkey_rust = ["jsrust_shared/baldrdash"] 92cranelift_x86 = ["jsrust_shared/cranelift_x86"] 93cranelift_arm32 = ["jsrust_shared/cranelift_arm32"] 94cranelift_arm64 = ["jsrust_shared/cranelift_arm64"] 95cranelift_none = ["jsrust_shared/cranelift_none"] 96smoosh = ["jsrust_shared/smoosh"] 97gecko_profiler = ["gecko-profiler/enabled", "profiler_helper", "geckoservo/gecko_profiler"] 98gecko_profiler_parse_elf = ["profiler_helper/parse_elf"] 99new_xulstore = ["xulstore"] 100libfuzzer = [] 101webrtc = ["mdns_service"] 102wasm_library_sandboxing = ["rlbox_lucet_sandbox"] 103webgpu = ["wgpu_bindings"] 104remote_agent = ["remote"] 105glean_disable_upload = ["fog_control/disable_upload"] 106glean_with_gecko = ["fog_control/with_gecko"] 107oxidized_breakpad = ["rust_minidump_writer_linux"] 108with_dbus = ["audio_thread_priority/with_dbus"] 109thread_sanitizer = ["xpcom/thread_sanitizer"] 110 111[lib] 112path = "lib.rs" 113test = false 114doctest = false 115bench = false 116doc = false 117plugin = false 118harness = false 119