mod.rs 581 B

1234567891011121314151617181920
  1. use crate::utils::cargo_handler::{CargoHandler, TargetArch};
  2. use self::x86_64::X86_64BindgenArch;
  3. pub mod riscv64;
  4. pub mod x86_64;
  5. pub(super) trait BindgenArch {
  6. fn generate_bindings(&self, builder: bindgen::Builder) -> bindgen::Builder;
  7. }
  8. /// 获取当前的bindgen架构;
  9. pub(super) fn current_bindgenarch() -> &'static dyn BindgenArch {
  10. let arch = CargoHandler::target_arch();
  11. match arch {
  12. TargetArch::X86_64 => &X86_64BindgenArch,
  13. TargetArch::Riscv64 => &riscv64::RiscV64BindgenArch,
  14. _ => panic!("Unsupported arch: {:?}", arch),
  15. }
  16. }