[package] name = "libservo" version.workspace = true authors.workspace = true license.workspace = true edition.workspace = true publish.workspace = true rust-version.workspace = true [lib] name = "servo" path = "lib.rs" crate-type = ["rlib"] [features] bluetooth = [ "bluetooth_traits", "dep:bluetooth", "constellation/bluetooth", "script/bluetooth", "script_traits/bluetooth", ] default = ["clipboard"] clipboard = ["dep:arboard"] crown = ["script/crown"] debugmozjs = ["script/debugmozjs"] background_hang_monitor = ["background_hang_monitor/sampler"] jitspew = ["script/jitspew"] js_backtrace = ["script/js_backtrace"] layout_2013 = ["dep:layout_thread_2013"] media-gstreamer = ["servo-media-gstreamer", "gstreamer"] multiview = ["compositing/multiview", "constellation/multiview"] native-bluetooth = ["bluetooth/native-bluetooth"] no-wgl = ["mozangle/egl", "mozangle/build_dlls", "surfman/sm-angle-default", "webrender_traits/no-wgl"] dynamic_freetype = ["webrender/dynamic_freetype"] profilemozjs = ["script/profilemozjs"] refcell_backtrace = ["script/refcell_backtrace"] tracing = ["dep:tracing", "compositing/tracing", "constellation/tracing", "fonts/tracing", "layout_thread_2013?/tracing", "layout_thread_2020/tracing", "profile_traits/tracing", "script/tracing"] webdriver = ["webdriver_server"] webgl_backtrace = [ "script/webgl_backtrace", "canvas/webgl_backtrace", "canvas_traits/webgl_backtrace", ] webxr = [ "dep:webxr", "dep:webxr-api", "compositing/webxr", "embedder_traits/webxr", "canvas/webxr", "script/webxr", ] webgpu = [ "script/webgpu", "constellation/webgpu", ] [dependencies] background_hang_monitor = { path = "../background_hang_monitor" } base = { workspace = true } bincode = { workspace = true } bluetooth = { path = "../bluetooth", optional = true } bluetooth_traits = { workspace = true, optional = true } canvas = { path = "../canvas", default-features = false } canvas_traits = { workspace = true } cfg-if = { workspace = true } compositing = { path = "../compositing" } compositing_traits = { workspace = true } constellation = { path = "../constellation" } crossbeam-channel = { workspace = true } devtools = { path = "../devtools" } devtools_traits = { workspace = true } embedder_traits = { workspace = true } env_logger = { workspace = true } euclid = { workspace = true } fonts = { path = "../fonts" } gleam = { workspace = true } gstreamer = { workspace = true, optional = true } ipc-channel = { workspace = true } keyboard-types = { workspace = true } layout_thread_2013 = { path = "../layout_thread", optional = true } layout_thread_2020 = { path = "../layout_thread_2020" } log = { workspace = true } media = { path = "../media" } mozangle = { workspace = true } net = { path = "../net" } net_traits = { workspace = true } rayon = { workspace = true } parking_lot = { workspace = true } profile = { path = "../profile" } profile_traits = { workspace = true } script = { path = "../script" } script_layout_interface = { workspace = true } script_traits = { workspace = true } serde = { workspace = true } servo-media = { workspace = true } servo-media-dummy = { workspace = true } servo-media-gstreamer = { workspace = true, optional = true } servo_config = { path = "../config" } servo_geometry = { path = "../geometry" } servo_url = { path = "../url" } style = { workspace = true } style_traits = { workspace = true } surfman = { workspace = true } tracing = { workspace = true, optional = true } url = { workspace = true } webdriver_server = { path = "../webdriver_server", optional = true } webgpu = { path = "../webgpu" } webrender = { workspace = true } webrender_api = { workspace = true } webrender_traits = { workspace = true } webxr-api = { workspace = true, optional = true } [target.'cfg(any(target_os = "android", target_env = "ohos"))'.dependencies] webxr = { path = "../webxr", optional = true } [target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies] arboard = { workspace = true, optional = true } webxr = { path = "../webxr", features = ["ipc", "glwindow", "headless"] } [target.'cfg(all(not(target_os = "windows"), not(target_os = "ios"), not(target_os = "android"), not(target_env = "ohos"), not(target_arch = "arm"), not(target_arch = "aarch64")))'.dependencies] gaol = "0.2.1" [target.'cfg(target_os = "windows")'.dependencies] webxr = { path = "../webxr", features = ["ipc", "glwindow", "headless", "openxr-api"] } [dev-dependencies] libservo = { path = ".", features = ["tracing"] } rustls = { version = "0.23", default-features = false, features = ["aws-lc-rs"] } tracing = { workspace = true } winit = "0.30.8"