1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
[workspace]
[package]
name = "waypipe"
version = "0.11.0"
# To ensure Waypipe can still be built on older/unupdated systems, do
# not update the edition or version unless necessary.
edition = "2021"
rust-version = "1.77.0"
default-run = "waypipe"
license = "GPL-3.0-or-later"
[[bin]]
name = "waypipe"
path = "src/main.rs"
[[bin]]
name = "test_proto"
path = "src/test_proto.rs"
required-features = ["test_proto"]
[features]
default = ["video", "dmabuf", "lz4", "zstd", "gbmfallback", "test_proto"]
video = ["dep:waypipe-ffmpeg-wrapper", "dep:waypipe-shaders", "dmabuf"]
dmabuf = ["dep:ash"]
lz4 = ["dep:waypipe-lz4-wrapper"]
zstd = ["dep:waypipe-zstd-wrapper"]
gbmfallback = ["dep:waypipe-gbm-wrapper"]
test_proto = []
[dependencies]
getrandom = "0.2.15"
clap = { version = "4.5.21", features = [] }
log = { version = "0.4.22", features = ["std"] }
nix = { version = "0.30.0", features = ["fs", "poll", "uio", "socket", "process", "signal", "ioctl"] }
ash = { version = "0.38.0", optional = true }
waypipe-ffmpeg-wrapper = { path = "wrap-ffmpeg", optional = true}
waypipe-lz4-wrapper = { path = "wrap-lz4", optional = true}
waypipe-zstd-wrapper = { path = "wrap-zstd", optional = true}
waypipe-gbm-wrapper = { path = "wrap-gbm", optional = true}
waypipe-shaders= { path = "shaders", optional = true}
# Build profiles. The default 'release' and 'dev' are for use when building
# waypipe directly with cargo; debug info is _on_ for both. There are also
# variants used by meson corresponding to each optimization level and debug amount.
# Note: tt is recommended to split debuginfo _after_ building, as Rust's
# split-debuginfo still keeps a lot of debug info in the executable.
[profile.release]
opt-level = 3
debug = "full"
panic = "abort"
lto = "thin"
[profile.dev]
panic = "abort"
[profile.meson-0]
inherits = "dev"
opt-level = 0
[profile.meson-1]
inherits = "release"
opt-level = 1
lto = false
[profile.meson-2]
inherits = "release"
lto = "thin"
opt-level = 2
[profile.meson-3]
inherits = "release"
opt-level = 3
lto = true
codegen-units = 1
[profile.meson-s]
inherits = "release"
lto = true
opt-level = "s"
codegen-units = 1
# to shave off ~100kB: -Z build-std="std,panic_abort"
[profile.meson-0-strip]
inherits = "meson-0"
debug = false
strip = "debuginfo"
[profile.meson-1-strip]
inherits = "meson-1"
debug = false
strip = "debuginfo"
[profile.meson-2-strip]
inherits = "meson-2"
debug = false
strip = "debuginfo"
[profile.meson-3-strip]
inherits = "meson-3"
debug = false
strip = "debuginfo"
[profile.meson-s-strip]
inherits = "meson-s"
debug = false
strip = "debuginfo"
|