[package] name = "mozilla-central-workspace-hack" version = "0.1.0" license = "MPL-2.0" description = "Workspace hack for mozilla-central" # This is a hack to help rust code in the tree that are built by different # invocations of cargo share dependencies rather than rebuilding them. This is # based on the "rustc-workspace-hack" used by the rustc build system to achieve # the same. From the description of the issue given there: # # "Each time Cargo runs a build it will re-resolve the dependency graph, " # "notably selecting different features sometimes for each build." # # We work around this by specifying the union of the set of features selected # by dependencies in each cargo invocation for each instance they would differ. [dependencies] allocator-api2 = { version = "0.2", features = ["alloc", "serde"], optional = true } arrayvec = { version = "0.7", features = ["serde"], optional = true } bitflags = { version = "2", features = ["serde", "std"], optional = true } byteorder = { version = "1", optional = true } bytes = { version = "1", optional = true } chrono = { version = "0.4", features = ["serde"], optional = true } clap = { version = "4", default-features = false, features = ["cargo", "derive", "error-context", "help", "std", "string", "usage", "wrap_help"], optional = true } crossbeam-utils = { version = "0.8", optional = true } dist-bin = { path = "../rust/dist-bin", optional = true } env_logger = { version = "0.10", default-features = false, features = ["color"], optional = true } flate2 = { version = "1", optional = true } fluent = { version = "0.17", default-features = false, features = ["fluent-pseudo"], optional = true } fluent-langneg = { version = "0.13", features = ["cldr"], optional = true } fnv = { version = "1", optional = true } form_urlencoded = { version = "1", optional = true } futures = { version = "0.3", features = ["futures-executor"], optional = true } futures-channel = { version = "0.3", features = ["sink"], optional = true } futures-core = { version = "0.3", optional = true } futures-executor = { version = "0.3", features = ["thread-pool"], optional = true } futures-sink = { version = "0.3", optional = true } futures-util = { version = "0.3", features = ["channel", "io", "sink"], optional = true } getrandom = { version = "0.2", default-features = false, features = ["custom", "std"], optional = true } hashbrown = { version = "0.13", optional = true } hex = { version = "0.4", features = ["serde"], optional = true } hyper = { version = "0.14", features = ["full"], optional = true } icu_locale_core = { version = "2.0", default-features = false, features = ["zerovec"], optional = true } icu_properties = { version = "2.0", features = ["unicode_bidi"], optional = true } idna = { version = "1", optional = true } indexmap = { version = "2", features = ["serde", "std"], optional = true } libc = { version = "0.2", features = ["extra_traits"] } log = { version = "0.4", features = ["release_max_level_info", "std"], optional = true } mio = { version = "1", features = ["log"], optional = true } num-integer = { version = "0.1", optional = true } num-traits = { version = "0.2", features = ["i128", "libm"], optional = true } object = { version = "0.36", default-features = false, features = ["read", "std"], optional = true } once_cell = { version = "1", optional = true } percent-encoding = { version = "2", optional = true } phf = { version = "0.11", features = ["macros", "phf_macros"], optional = true } regex = { version = "1", optional = true } rkv = { version = "0.20", default-features = false, features = ["no-canonicalize-path"], optional = true } scroll = { version = "0.12", optional = true } semver = { version = "1", features = ["serde"], optional = true } serde = { version = "1", features = ["alloc", "derive", "rc"] } serde_json = { version = "1", features = ["float_roundtrip", "preserve_order", "unbounded_depth"], optional = true } smallvec = { version = "1", features = ["const_new", "serde", "union"], optional = true } stable_deref_trait = { version = "1", features = ["std"], optional = true } strsim = { version = "0.11", optional = true } time = { version = "0.3", features = ["formatting", "macros", "parsing", "serde"], optional = true } tinystr = { version = "0.8", features = ["zerovec"], optional = true } tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread"], optional = true } tokio-util = { version = "0.7", features = ["io"], optional = true } tracing = { version = "0.1", features = ["log"], optional = true } unic-langid = { version = "0.9", features = ["likelysubtags"], optional = true } unic-langid-impl = { version = "0.9", default-features = false, features = ["likelysubtags"], optional = true } unicode-bidi = { version = "0.3", features = ["smallvec"], optional = true } uniffi = { workspace = true, optional = true } url = { version = "2", features = ["serde"], optional = true } uuid = { version = "1", features = ["serde", "v4"], optional = true } xml-rs = { version = "0.8", optional = true } yoke = { version = "0.8", features = ["derive"], optional = true } zerocopy = { version = "0.7", features = ["byteorder"], optional = true } zerofrom = { version = "0.1", default-features = false, features = ["alloc", "derive"], optional = true } zerovec = { version = "0.11", default-features = false, features = ["derive", "yoke"], optional = true } zip = { version = "2.1.2", default-features = false, features = ["deflate-flate2", "flate2"], optional = true } [target."cfg(windows)".dependencies] scopeguard = { version = "1", optional = true } [build-dependencies] bindgen = { version = "0.69", default-features = false, features = ["runtime"], optional = true } cc = { version = "1.0", features = ["parallel"], optional = true } itertools = { version = "0.14", default-features = false, features = ["use_alloc"], optional = true } libc = "0.2" log = { version = "0.4", features = ["std"], optional = true } memchr = { version = "2", optional = true } nom = { version = "7", optional = true } proc-macro2 = "1" quote = "1" regex = { version = "1", default-features = false, features = ["perf"], optional = true } semver = { version = "1", features = ["serde"], optional = true } serde = { version = "1", features = ["derive"] } syn = { version = "2", features = ["extra-traits", "fold", "full", "visit", "visit-mut"] } time-macros = { version = "0.2", default-features = false, features = ["serde"], optional = true } toml = { version = "0.5", optional = true } uniffi = { workspace = true, optional = true } [target."cfg(windows)".dependencies.winapi] version = "0.3.6" features = [ "avrt", "basetsd", "bits", "bits2_5", "bitsmsg", "cfg", "combaseapi", "consoleapi", "d3d11", "d3d11_1", "d3d11_2", "d3d11sdklayers", "d3d12", "d3d12sdklayers", "d3d12shader", "d3dcommon", "d3dcompiler", "dcomp", "dwrite", "dwrite_1", "dwrite_3", "dxgi1_2", "dxgi1_3", "dxgi1_4", "dxgi1_5", "dxgi1_6", "dxgidebug", "dxgiformat", "errhandlingapi", "evntrace", "fileapi", "guiddef", "handleapi", "hidclass", "hidpi", "hidusage", "impl-debug", "impl-default", "in6addr", "inaddr", "ioapiset", "knownfolders", "libloaderapi", "memoryapi", "minwinbase", "minwindef", "mmeapi", "mmsystem", "mswsock", "namedpipeapi", "ntdef", "ntsecapi", "ntstatus", "oaidl", "objbase", "oleauto", "processenv", "processthreadsapi", "profileapi", "psapi", "rpcndr", "setupapi", "shlobj", "std", "synchapi", "sysinfoapi", "taskschd", "timeapi", "timezoneapi", "unknwnbase", "winbase", "wincon", "wincrypt", "windef", "winerror", "wininet", "winioctl", "winnls", "winnt", "winreg", "winsock2", "winuser", "ws2def", "ws2ipdef", "ws2tcpip", "wtypes", "wtypesbase", ] [target."cfg(windows)".dependencies.windows] version = "0.58" optional = true features = [ "Win32_Foundation", "Win32_Graphics", "Win32_Graphics_Direct3D", "Win32_Graphics_Direct3D12", "Win32_Graphics_Direct3D_Dxc", "Win32_Graphics_Direct3D_Fxc", "Win32_Graphics_DirectComposition", "Win32_Graphics_Dxgi", "Win32_Graphics_Dxgi_Common", "Win32_NetworkManagement_IpHelper", "Win32_NetworkManagement_Ndis", "Win32_Networking_WinSock", "Win32_Security", "Win32_System", "Win32_System_Diagnostics", "Win32_System_Diagnostics_Debug", "Win32_System_Kernel", "Win32_System_Performance", "Win32_System_Threading", "Win32_UI", "Win32_UI_WindowsAndMessaging", ] [target."cfg(windows)".dependencies.windows-sys] version = "0.52" optional = true features = [ "Wdk_Foundation", "Wdk_Storage", "Wdk_Storage_FileSystem", "Wdk_System_IO", "Wdk_System_Threading", "Win32_Foundation", "Win32_Globalization", "Win32_Graphics_Gdi", "Win32_Networking", "Win32_Networking_WinSock", "Win32_Security", "Win32_Security_Cryptography", "Win32_Security_Cryptography_Catalog", "Win32_Security_WinTrust", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_ErrorReporting", "Win32_System_IO", "Win32_System_Kernel", "Win32_System_LibraryLoader", "Win32_System_Memory", "Win32_System_Pipes", "Win32_System_ProcessStatus", "Win32_System_Registry", "Win32_System_SystemInformation", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_System_WindowsProgramming", "Win32_UI_Controls", "Win32_UI_HiDpi", "Win32_UI_Input_KeyboardAndMouse", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", ] [target."cfg(any(target_os = \"macos\", target_os = \"ios\"))".dependencies.core-foundation-sys] version = "0.8" optional = true [features] crash_helper_server = ["dep:cc", "dep:num-traits", "dep:log", "dep:once_cell", "dep:uuid", "dep:windows-sys"] crashreporter = ["dep:allocator-api2", "dep:arrayvec", "dep:bindgen", "dep:bitflags", "dep:byteorder", "dep:bytes", "dep:cc", "dep:chrono", "dep:crossbeam-utils", "dep:env_logger", "dep:flate2", "dep:fluent", "dep:fluent-langneg", "dep:fnv", "dep:form_urlencoded", "dep:futures-channel", "dep:futures-core", "dep:futures-executor", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hex", "dep:hyper", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:itertools", "dep:log", "dep:memchr", "dep:mio", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:object", "dep:once_cell", "dep:percent-encoding", "dep:phf", "dep:regex", "dep:rkv", "dep:scroll", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:stable_deref_trait", "dep:time", "dep:time-macros", "dep:tinystr", "dep:tokio", "dep:tokio-util", "dep:toml", "dep:tracing", "dep:unic-langid", "dep:unic-langid-impl", "dep:unicode-bidi", "dep:uniffi", "dep:url", "dep:uuid", "dep:windows-sys", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec", "dep:zip"] geckodriver = ["dep:allocator-api2", "dep:bitflags", "dep:byteorder", "dep:bytes", "dep:cc", "dep:chrono", "dep:clap", "dep:crossbeam-utils", "dep:flate2", "dep:fnv", "dep:form_urlencoded", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hyper", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:log", "dep:memchr", "dep:mio", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:percent-encoding", "dep:regex", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:stable_deref_trait", "dep:strsim", "dep:time", "dep:time-macros", "dep:tinystr", "dep:tokio", "dep:tokio-util", "dep:tracing", "dep:unicode-bidi", "dep:url", "dep:uuid", "dep:windows-sys", "dep:xml-rs", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec", "dep:zip"] gkrust = ["dep:allocator-api2", "dep:arrayvec", "dep:bindgen", "dep:bitflags", "dep:byteorder", "dep:bytes", "dep:cc", "dep:chrono", "dep:core-foundation-sys", "dep:crossbeam-utils", "dep:env_logger", "dep:flate2", "dep:fluent", "dep:fluent-langneg", "dep:fnv", "dep:form_urlencoded", "dep:futures", "dep:futures-channel", "dep:futures-core", "dep:futures-executor", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hex", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:itertools", "dep:log", "dep:memchr", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:object", "dep:once_cell", "dep:percent-encoding", "dep:phf", "dep:regex", "dep:rkv", "dep:scopeguard", "dep:scroll", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:stable_deref_trait", "dep:strsim", "dep:time", "dep:time-macros", "dep:tinystr", "dep:toml", "dep:unic-langid", "dep:unic-langid-impl", "dep:unicode-bidi", "dep:uniffi", "dep:url", "dep:uuid", "dep:windows", "dep:windows-sys", "dep:xml-rs", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec"] gkrust-gtest = ["gkrust"] http3server = ["dep:allocator-api2", "dep:arrayvec", "dep:bindgen", "dep:bitflags", "dep:byteorder", "dep:bytes", "dep:chrono", "dep:clap", "dep:dist-bin", "dep:env_logger", "dep:fnv", "dep:form_urlencoded", "dep:futures", "dep:futures-channel", "dep:futures-core", "dep:futures-executor", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hex", "dep:hyper", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:itertools", "dep:log", "dep:memchr", "dep:mio", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:percent-encoding", "dep:regex", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:stable_deref_trait", "dep:strsim", "dep:time", "dep:time-macros", "dep:tinystr", "dep:tokio", "dep:tokio-util", "dep:toml", "dep:tracing", "dep:unicode-bidi", "dep:url", "dep:windows", "dep:windows-sys", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec"] jsrust = ["dep:allocator-api2", "dep:arrayvec", "dep:byteorder", "dep:cc", "dep:env_logger", "dep:form_urlencoded", "dep:getrandom", "dep:hashbrown", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:log", "dep:memchr", "dep:num-traits", "dep:once_cell", "dep:percent-encoding", "dep:semver", "dep:smallvec", "dep:stable_deref_trait", "dep:tinystr", "dep:unicode-bidi", "dep:url", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec"] minidump-analyzer-export = ["dep:allocator-api2", "dep:arrayvec", "dep:bitflags", "dep:byteorder", "dep:clap", "dep:env_logger", "dep:futures-channel", "dep:futures-core", "dep:futures-executor", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hex", "dep:indexmap", "dep:log", "dep:memchr", "dep:nom", "dep:num-traits", "dep:object", "dep:once_cell", "dep:scroll", "dep:serde_json", "dep:time", "dep:time-macros", "dep:tracing", "dep:uuid", "dep:windows-sys", "dep:zerocopy"] mozwer_s = ["dep:allocator-api2", "dep:byteorder", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:once_cell", "dep:scroll", "dep:serde_json", "dep:uuid", "dep:windows-sys", "dep:zerocopy"] nmhproxy = ["dep:allocator-api2", "dep:bitflags", "dep:byteorder", "dep:form_urlencoded", "dep:hashbrown", "dep:icu_locale_core", "dep:icu_properties", "dep:idna", "dep:indexmap", "dep:once_cell", "dep:percent-encoding", "dep:serde_json", "dep:smallvec", "dep:stable_deref_trait", "dep:tinystr", "dep:unicode-bidi", "dep:url", "dep:windows-sys", "dep:yoke", "dep:zerocopy", "dep:zerofrom", "dep:zerovec"] pkcs11testmodule-static = [] test-trust-anchors-static = ["dep:bindgen", "dep:bitflags", "dep:itertools", "dep:memchr", "dep:nom", "dep:regex", "dep:smallvec"]