#!/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/ffmpeg 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!"