crosvm/system_api/README.md
Dennis Kempin 891455563b system_api: Add copy of ChromeOS's system_api
Adds a script that copies the bindings we need upstream. We cannot
use the original repository, as it's part of the large platform2 git
repository, and the original build.rs depends on ChromeOS tooling to
generate these bindings.

So instead, this change adds a script that can be called from a
chromiumos checkout of crosvm to update the upstream bindings.

This allows us to enable certain features that talk to ChromeOS
dbus services. They won't be functional upstream, but at least we
can compile and test the code.

To make things more consistent, we no longer replace the crate
with the ChromeOS version when building for ChromeOS.

BUG=b:244618505
TEST=presubmit

Change-Id: I504cbf6d12b0cb50d9935f5e49b7fa72b692d45c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3919814
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
2022-09-28 18:13:00 +00:00

15 lines
807 B
Markdown

# Crosvm version of ChromeOS's system_api
system_api is used by ChromeOS to interact with other system services and mainly contains
automatically generated bindings for dbus services and proto types.
The ground truth for this crate is in the ChromeOS codebase at [platform2/system_api].
To allow us to build ChromeOS features in upstream crosvm, we need to copy a subset of the generated
files into this repository. The `update_bindings.sh` script can be used to update them.
Note: Originally, the ChromeOS build would replace this crate with the ChromeOS
[platform2/system_api] crate. This is no longer the case and crosvm will always be built against the
version in this directory.
[platform2/system_api]: https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/system_api/