| #!/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. |
| set -euo pipefail |
| |
| export BINDGEN_HEADER="// 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. |
| |
| #![allow(non_upper_case_globals)] |
| #![allow(non_camel_case_types)] |
| #![allow(non_snake_case)] |
| #![allow(dead_code)] |
| " |
| |
| bindgen_generate() { |
| # Path to platform2 required for header resolution. |
| search_root="$(dirname "$0")/../.." |
| |
| echo "${BINDGEN_HEADER}" |
| bindgen \ |
| --disable-header-comment \ |
| --no-layout-tests \ |
| --size_t-is-usize \ |
| --allowlist-type='.*Feature.*' \ |
| --allowlist-function='.*Feature.*' \ |
| --allowlist-var='.*Feature.*' \ |
| "../c_fake_feature_library.h" \ |
| -- \ |
| -I "${search_root}" |
| } |
| |
| bindgen_generate | rustfmt > src/bindings.rs |