summaryrefslogtreecommitdiffstats
path: root/build/workspace-hack
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /build/workspace-hack
parentInitial commit. (diff)
downloadfirefox-upstream/124.0.1.tar.xz
firefox-upstream/124.0.1.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'build/workspace-hack')
-rw-r--r--build/workspace-hack/Cargo.toml192
-rw-r--r--build/workspace-hack/src/lib.rs11
2 files changed, 203 insertions, 0 deletions
diff --git a/build/workspace-hack/Cargo.toml b/build/workspace-hack/Cargo.toml
new file mode 100644
index 0000000000..6e3243d211
--- /dev/null
+++ b/build/workspace-hack/Cargo.toml
@@ -0,0 +1,192 @@
+[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_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_Shell",
+ "Win32_UI_WindowsAndMessaging",
+]
+
+
+[features]
+builtins-static = ["dep:bindgen", "dep:bitflags", "dep:memchr", "dep:nom", "dep:regex", "dep:smallvec"]
+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"]
+osclientcerts-static = ["dep:bindgen", "dep:bitflags", "dep:env_logger", "dep:log", "dep:memchr", "dep:nom", "dep:regex"]
diff --git a/build/workspace-hack/src/lib.rs b/build/workspace-hack/src/lib.rs
new file mode 100644
index 0000000000..b15e83eb00
--- /dev/null
+++ b/build/workspace-hack/src/lib.rs
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#[cfg(test)]
+mod tests {
+ #[test]
+ fn it_works() {
+ assert_eq!(2 + 2, 4);
+ }
+}