kevinmehall / rust-soapysdr

Rust bindings for SoapySDR, the vendor-neutral software defined radio hardware abstraction layer
Apache License 2.0
75 stars 22 forks source link

Add Windows support #20

Closed inganault closed 2 years ago

inganault commented 2 years ago

Allow rust-soapysdr to work on Windows.

Changes

SoapySDR_free / libc

Remove libc dependency and change from libc::free to SoapySDR_free from SoapySDR 0.8. libc::free was crashing on my platform probably due to linking with different libc.

ArgType

Remove enum discriminant from arginfo::ArgType. SoapySDRArgInfoType_SOAPY_SDR_ARGINFO* constant in my platform are i32 instead of u32. Nothing are using these values, so I removed them.

soapysdr-sys

Add library searching from path variable for Windows platform, it should be compatible with both pre-built PothosSDR and SoapySDR compiled from source. Add stdbool.h because my compiler complains about bool.

Testing

Works fine Windows 10 + PothosSDR 2021.07.25 (soapysdr 0.8) Builds okay on ubuntu + soapysdr 0.7.2 but not tested

kevinmehall commented 2 years ago

Thanks!