bindgen.rs 1016 B

1234567891011121314151617181920212223242526272829
  1. use bindgen::{self, Builder, EnumVariation};
  2. pub fn user_builder() -> Builder {
  3. bindgen::builder()
  4. .layout_tests(false)
  5. .generate_comments(false)
  6. .prepend_enum_name(false)
  7. .default_enum_style(EnumVariation::Rust {
  8. non_exhaustive: false,
  9. })
  10. }
  11. pub fn bpf_builder() -> Builder {
  12. bindgen::builder()
  13. .use_core()
  14. .ctypes_prefix("::aya_bpf::cty")
  15. .layout_tests(false)
  16. .generate_comments(false)
  17. .clang_arg("-Wno-unknown-attributes")
  18. .default_enum_style(EnumVariation::ModuleConsts)
  19. .prepend_enum_name(false)
  20. // NOTE(vadorovsky): It's a workaround for the upstream bindgen issue:
  21. // https://github.com/rust-lang/rust-bindgen/issues/2083
  22. // tl;dr: Rust nightly complains about #[repr(packed)] structs deriving
  23. // Debug without Copy.
  24. // It needs to be fixed properly upstream, but for now we have to
  25. // disable Debug derive here.
  26. .derive_debug(false)
  27. }