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