crosvm/tools/bindgen-all-the-things
Daniel Verkamp 324877dbd8 media: ffmpeg: generate bindings in build.rs
Generate bindings for the installed version of the ffmpeg libraries at
build time instead of checking in a static version of the bindings.

BUG=b:309563850
TEST=cargo build --features=ffmpeg

Change-Id: I38d922dd7332c4385ae6a0ae93e893538c3b1cce
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5027711
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2023-12-08 20:58:57 +00:00

37 lines
791 B
Bash
Executable file

#!/usr/bin/env bash
# Copyright 2022 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# Regenerate all bindgen-generated Rust bindings in the crosvm tree.
#
# This script expects to be executed from a full ChromeOS checkout so it has access to the kernel
# and other repositories. Note that it must be run from OUTSIDE the chroot.
set -e
cd "$(dirname "${BASH_SOURCE[0]}")/.."
source tools/impl/bindgen-common.sh
die() {
echo "$@"
exit 1
}
dirs=(
io_uring
kernel_loader
kvm_sys
media/libvda
net_sys
vfio_sys
virtio_sys
vm_memory
)
for d in "${dirs[@]}"; do
echo "bindgen ${d}"
"${d}"/bindgen.sh || die "Failed to generate bindings for ${d}"
done
echo "Done!"