The pre-generated bindings are generated by compiling this crate,
then copying the bindings.rs
file from the build output.
The Windows bindings were run through dos2unix
to normalize line endings
and make it easier to diff the generated bindings.
Mac files are distributed from the vendor as .dmg
files, these can be
extracted on linux with apfs-fuse
, for example
sudo ./apfs-fuse -o uid="$(id -u)",gid="$(id -g)",allow_other D2XX1.4.16.dmg d2xx
Mac bindings can be generated cross-platform with:
bindgen --allowlist-function 'FT_.*' --allowlist-type 'FT_.*' --allowlist-var 'FT_.*' --rustfmt-bindings vendor/macos/ftd2xx.h > src/bindings_macos_x64.rs