servo/ports/servoshell/Cargo.toml
Martin Robinson 4f4c99a39e
deps: Upgrade font-kit and dirs (#37163)
Testing: This is just a dependency update, so doesn't need tests.

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
2025-05-28 11:57:23 +00:00

137 lines
4.5 KiB
TOML

[package]
name = "servoshell"
build = "build.rs"
version.workspace = true
authors.workspace = true
license.workspace = true
edition.workspace = true
publish.workspace = true
rust-version.workspace = true
[lib]
name = "servoshell"
path = "lib.rs"
bench = false
[[bin]]
name = "servo"
path = "main.rs"
bench = false
# Some of these dependencies are only needed for a specific target os, but
# since build-scripts can't detect the cargo target os at build-time, we
# must unconditionally add these dependencies. See https://github.com/rust-lang/cargo/issues/4932
[build-dependencies]
# macOS only
cc = "1.2"
[target.'cfg(windows)'.build-dependencies]
winres = "0.1"
[package.metadata.winres]
FileDescription = "Servo"
LegalCopyright = "© The Servo Project Developers"
OriginalFilename = "servo.exe"
ProductName = "Servo"
[features]
crown = ["libservo/crown"]
debugmozjs = ["libservo/debugmozjs"]
default = ["max_log_level", "webdriver", "webgpu", "webxr"]
jitspew = ["libservo/jitspew"]
js_backtrace = ["libservo/js_backtrace"]
max_log_level = ["log/release_max_level_info"]
media-gstreamer = ["libservo/media-gstreamer"]
native-bluetooth = ["libservo/native-bluetooth"]
profilemozjs = ["libservo/profilemozjs"]
refcell_backtrace = ["libservo/refcell_backtrace"]
tracing = ["dep:tracing", "dep:tracing-subscriber", "libservo/tracing"]
tracing-hitrace = ["tracing", "dep:hitrace"]
tracing-perfetto = ["tracing", "dep:tracing-perfetto"]
webdriver = ["libservo/webdriver"]
webgl_backtrace = ["libservo/webgl_backtrace"]
webgpu = ["libservo/webgpu"]
webxr = ["libservo/webxr"]
[dependencies]
cfg-if = { workspace = true }
dpi = { workspace = true }
euclid = { workspace = true }
getopts = { workspace = true }
hitrace = { workspace = true, optional = true }
image = { workspace = true }
keyboard-types = { workspace = true }
libc = { workspace = true }
libservo = { path = "../../components/servo", features = ["background_hang_monitor", "bluetooth", "testbinding"] }
log = { workspace = true }
mime_guess = { workspace = true }
raw-window-handle = { workspace = true }
rustls = { workspace = true, features = ["aws-lc-rs"] }
tokio = { workspace = true }
tracing = { workspace = true, optional = true }
tracing-perfetto = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true, features = ["env-filter"] }
url = { workspace = true }
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.15"
ipc-channel = { workspace = true }
jni = "0.21.1"
[target.'cfg(not(target_os = "android"))'.dependencies]
backtrace = { workspace = true }
[target.'cfg(target_env = "ohos")'.dependencies]
env_filter = "0.1.3"
euclid = { workspace = true }
hilog = "0.2.0"
# force inprocess, until libc-rs 0.2.156 is released containing
# https://github.com/rust-lang/libc/commit/9e248e212c5602cb4e98676e4c21ea0382663a12
ipc-channel = { workspace = true, features = ["force-inprocess"] }
napi-derive-ohos = "1.0.4"
napi-ohos = "1.0.4"
ohos-ime = "0.2"
ohos-ime-sys = "0.1.4"
ohos-vsync = "0.1.3"
xcomponent-sys = { version = "0.3.1", features = ["api-12", "keyboard-types"] }
[target.'cfg(any(target_os = "android", target_env = "ohos"))'.dependencies]
nix = { workspace = true, features = ["fs"] }
serde_json = { workspace = true }
surfman = { workspace = true, features = ["sm-angle-default"] }
[target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies]
dirs = "6.0"
egui = "0.31.1"
egui-file-dialog = "0.9.0"
egui-winit = { version = "0.31.1", default-features = false, features = ["clipboard", "wayland"] }
egui_glow = { version = "0.31.1", features = ["winit"] }
gilrs = "0.11.0"
glow = "0.16.0"
headers = { workspace = true }
net = { path = "../../components/net" }
net_traits = { workspace = true }
serde_json = { workspace = true }
# For optional feature servo_allocator/use-system-allocator
servo_allocator = { path = "../../components/allocator" }
surfman = { workspace = true, features = ["sm-raw-window-handle-06", "sm-x11"] }
winit = "0.30.11"
[target.'cfg(any(all(target_os = "linux", not(target_env = "ohos")), target_os = "macos"))'.dependencies]
sig = "1.0"
[target.'cfg(target_os = "windows")'.dependencies]
libservo = { path = "../../components/servo", features = ["no-wgl"] }
windows-sys = { workspace = true, features = ["Win32_Graphics_Gdi"] }
[target.'cfg(target_os = "macos")'.dependencies]
objc2-app-kit = { version = "0.3.1", default-features = false, features = [
"std",
"NSColorSpace",
"NSResponder",
"NSView",
"NSWindow",
] }
objc2-foundation = { version = "0.3.1", default-features = false, features = [
"std",
] }