[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] arrayvec = { version = "0.7", features = ["serde"], optional = true } bitflags = { version = "2", features = ["serde", "std"], optional = true } bytes = { version = "1", optional = true } chrono = { version = "0.4", features = ["serde"], optional = true } env_logger = { version = "0.10", default-features = false, features = ["color"], optional = true } flate2 = { version = "1", optional = true } futures-channel = { version = "0.3", features = ["sink"], optional = true } futures-sink = { version = "0.3", optional = true } futures-core = { version = "0.3", optional = true } futures-util = { version = "0.3", features = ["channel", "io", "sink"], optional = true } getrandom = { version = "0.2", default-features = false, features = ["std"], optional = true } hashbrown = { version = "0.12", optional = true } hyper = { version = "0.14", features = ["full"], optional = true } indexmap = { version = "1", default-features = false, features = ["serde-1", "std"], optional = true } libc = { version = "0.2", features = ["extra_traits"] } log = { version = "0.4", features = ["release_max_level_info"], optional = true } mio = { version = "0.8", features = ["log"], optional = true } num-integer = { version = "0.1", optional = true } num-traits = { version = "0.2", features = ["i128", "libm"], optional = true } once_cell = { version = "1", optional = true } regex = { version = "1", optional = true } semver = { version = "1", features = ["serde"], optional = true } serde = { version = "1", features = ["derive", "rc"] } serde_json = { version = "1", features = ["preserve_order", "unbounded_depth"], optional = true } smallvec = { version = "1", features = ["const_new", "serde", "union"], optional = true } time = { version = "0.3", features = ["macros", "parsing"], optional = true } tokio = { version = "1", features = ["fs", "num_cpus", "rt-multi-thread"], optional = true } tokio-util = { version = "0.7", features = ["io"], optional = true } tracing = { version = "0.1", features = ["log"], optional = true } url = { version = "2", features = ["serde"], optional = true } uuid = { version = "1", features = ["serde", "v4"], 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 } libc = "0.2" 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"] } [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-sys] version = "0.52" optional = true features = [ "Wdk_System_Threading", "Win32_Foundation", "Win32_Globalization", "Win32_Graphics_Gdi", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Com", "Win32_System_Diagnostics_Debug", "Win32_System_ErrorReporting", "Win32_System_Kernel", "Win32_System_LibraryLoader", "Win32_System_Memory", "Win32_System_Pipes", "Win32_System_ProcessStatus", "Win32_System_SystemInformation", "Win32_System_SystemServices", "Win32_System_Threading", "Win32_UI_Controls", "Win32_UI_Input_KeyboardAndMouse", "Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", ] [features] builtins-static = ["dep:bindgen", "dep:bitflags", "dep:memchr", "dep:nom", "dep:regex", "dep:smallvec"] crashreporter = ["dep:env_logger", "dep:hyper", "dep:log", "dep:serde_json", "dep:time", "dep:uuid", "dep:windows-sys"] geckodriver = ["dep:bitflags", "dep:bytes", "dep:cc", "dep:chrono", "dep:flate2", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hyper", "dep:indexmap", "dep:log", "dep:memchr", "dep:mio", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:time", "dep:tokio", "dep:tokio-util", "dep:tracing", "dep:url", "dep:uuid", "dep:windows-sys"] gkrust = ["dep:arrayvec", "dep:bindgen", "dep:bitflags", "dep:bytes", "dep:cc", "dep:chrono", "dep:env_logger", "dep:flate2", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:memchr", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:scopeguard", "dep:semver", "dep:serde_json", "dep:smallvec", "dep:time", "dep:url", "dep:uuid", "dep:windows-sys"] gkrust-gtest = ["gkrust"] http3server = ["dep:arrayvec", "dep:bindgen", "dep:bitflags", "dep:bytes", "dep:chrono", "dep:env_logger", "dep:futures-channel", "dep:futures-core", "dep:futures-sink", "dep:futures-util", "dep:getrandom", "dep:hashbrown", "dep:hyper", "dep:indexmap", "dep:log", "dep:memchr", "dep:mio", "dep:nom", "dep:num-integer", "dep:num-traits", "dep:once_cell", "dep:regex", "dep:serde_json", "dep:smallvec", "dep:time", "dep:tokio", "dep:tokio-util", "dep:tracing", "dep:url", "dep:windows-sys"] ipcclientcerts-static = ["dep:bindgen", "dep:bitflags", "dep:memchr", "dep:nom", "dep:regex"] jsrust = ["dep:arrayvec", "dep:cc", "dep:env_logger", "dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:log", "dep:memchr", "dep:num-traits", "dep:once_cell", "dep:semver", "dep:smallvec", "dep:url"] mozwer_s = ["dep:getrandom", "dep:hashbrown", "dep:indexmap", "dep:once_cell", "dep:serde_json", "dep:uuid", "dep:windows-sys"] nmhproxy = ["dep:serde_json", "dep:url"] osclientcerts-static = ["dep:bindgen", "dep:bitflags", "dep:env_logger", "dep:log", "dep:memchr", "dep:nom", "dep:regex"]