[package]
name = "stratovirt"
version = "2.4.0"
authors = ["Huawei StratoVirt Team"]
edition = "2021"
description = "a lightweight hypervisor with low memory overhead and fast booting speed"
license = "Mulan PSL v2"

[dependencies]
thiserror = "1.0"
anyhow = "1.0"
log = "0.4"
machine = { path = "machine" }
machine_manager = { path = "machine_manager" }
util = { path = "util" }
trace = { path = "trace" }

[workspace]
members = [
    "ozone",
    "image",
    "tests/mod_test",
]

[features]
default = []
boot_time = ["machine/boot_time"]
scream_alsa = ["machine/scream_alsa"]
scream_pulseaudio = ["machine/scream_pulseaudio"]
scream_ohaudio = ["machine/scream_ohaudio"]
pvpanic = ["machine/pvpanic"]
demo_device = ["machine/demo_device"]
usb_host = ["machine/usb_host"]
usb_camera_v4l2 = ["machine/usb_camera_v4l2"]
usb_camera_oh = ["machine/usb_camera_oh"]
gtk = ["machine/gtk"]
vnc = ["machine/vnc"]
vnc_auth = ["machine/vnc_auth"]
ohui_srv = ["machine/ohui_srv"]
ramfb = ["machine/ramfb"]
virtio_gpu = ["machine/virtio_gpu"]
trace_to_logger = ["trace/trace_to_logger"]
trace_to_ftrace = ["trace/trace_to_ftrace"]
trace_to_hitrace = ["trace/trace_to_hitrace"]

[package.metadata.rpm.cargo]
buildflags = ["--release"]

[package.metadata.rpm.targets]
stratovirt = { path = "/usr/bin/stratovirt" }

[profile.dev]
panic = "abort"

[profile.release]
panic = "abort"
lto = true