Fix ARM compilation: vendor libhackrf with c_char portability fix

The upstream libhackrf v0.1.1 crate fails to compile on ARM because
c_char is u8 on ARM (not i8 like on x86). The transmute at lib.rs:102
explicitly casts &[i8] -> &[u8], but on ARM the source is already &[u8],
causing a type mismatch.

Vendored the crate at vendor/libhackrf/ with the transmute replaced by
slice::from_raw_parts with a pointer cast, which works on both
architectures. Also cleaned up transmute calls in transfer.rs.

Fixes #1
This commit is contained in:
KaraZajac
2026-03-22 11:14:41 -04:00
parent 295e4c4d4a
commit 84b75ee6b5
9 changed files with 473 additions and 2 deletions
+16
View File
@@ -0,0 +1,16 @@
[package]
edition = "2021"
name = "libhackrf"
version = "0.1.1"
authors = ["Connor Slade <connor@connorcode.com>"]
description = "A modern libhackrf wrapper that supports receiving and transmitting. (Patched for ARM cross-compilation)"
license = "MIT"
repository = "https://github.com/connorslade/libhackrf-rs"
[lib]
name = "libhackrf"
path = "src/lib.rs"
doctest = false
[dependencies.num-complex]
version = "0.4.6"