acc162000f
Instead of configuring which crates to --exclude in test_config.py, we can use conditional compilation to exclude code that is not supported on windows. This allows more fine-grained control and also allows us to use plain cargo for building without complicated configuration and exclusions. BUG=b:265829867 TEST=cargo test --lib --bins --workspace --target=x86_64-pc-windows-gnu --features=all-mingw64 Change-Id: I8422c3f08053bc27d9896b220876a56bd25543d6 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4165868 Reviewed-by: Vikram Auradkar <auradkar@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> |
||
---|---|---|
.. | ||
src | ||
tests | ||
bindgen.sh | ||
build.rs | ||
Cargo.toml | ||
README.md |
Libvda Rust wrapper
Note: This crate is specific to ChromeOS and requires the native (libvda)[https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/arc/vm/libvda] library at link time.
Rust wrapper for libvda. This library is used to enable communication with Chrome's GPU process to perform hardware accelerated decoding and encoding. It is currently in development to be used by crosvm's virtio-video device.
Building for the host environment
You can also execute cargo
directly for faster build and tests. This would be useful when you are
developing this crate. Since this crate depends on libvda.so, you need to install it to host
environment first.
(chroot)$ sudo emerge chromeos-base/libvda # Install libvda.so to host.
# Build
(chroot)$ cargo build
# Unit tests
(chroot)$ cargo test
Updating generated bindings
src/bindings.rs
is automatically generated from libvda_common.h
. src/decode/bindings.rs
is
automatically generated from libvda_decode.h
. src/encode/bindings.rs
is automatically generated
from libvda_encode.h
.
See the header of the bindings file for the generation command.