#indigo #astronomy #astrophotography #ffi #indi

yanked libindigo-sys

Rust FFI bindings for the INDIGO system library generated by bindgen

1 stable release

new 2.0.301 Nov 29, 2024

#738 in Asynchronous

Download history 147/week @ 2024-11-25

147 downloads per month
Used in libindigo

MIT license

19MB
365K SLoC

C 269K SLoC // 0.1% comments C++ 52K SLoC // 0.1% comments Shell 17K SLoC // 0.2% comments M4 16K SLoC // 0.2% comments Visual Studio Project 7.5K SLoC Automake 1.5K SLoC // 0.3% comments Visual Studio Solution 1K SLoC Rust 386 SLoC // 0.1% comments Assembly 284 SLoC // 0.2% comments WebAssembly 270 SLoC HICAD 244 SLoC Prolog 189 SLoC Scons 161 SLoC // 0.3% comments Objective-C 70 SLoC // 0.2% comments Perl 58 SLoC // 0.0% comments Xcode Config 50 SLoC // 0.7% comments Forge Config 7 SLoC // 0.9% comments Snakemake 2 SLoC // 0.9% comments

Contains (autotools obfuscated code, 720KB) configure, (autotools obfuscated code, 475KB) configure, (obscure autoconf code, 42KB) configure.ac, (obscure autoconf code, 8KB) configure.ac, (obscure autoconf code, 12KB) configure.ac, (obscure autoconf code, 5KB) configure.ac and 1 more.

The libindigo-sys crate is a bindgen generated FFI for the upstream INDIGO source code in C found on GitHub.

[!CAUTION] Using libindigo-sys directly instead of the libindigo API means writing a lot of unsafe Rust code based on C-pointers.

For more information on using the INDIGO system API, please refer to INDIGO For Developers.

The NOTES document contains some raw notes on how to compile and set the development environment for libindigo-sys. At some point these raw notes should be upgraded to proper documentation.

The libindigo-sys crate will do one of the following in order of priority when building the crate

  1. Attempt to build INDIGO from the path of the envar INDIGO_SOURCE, if specified.

  2. Attempt to build INDIGO from the path of the git submodule externals/indigo, if it has been initialised by git.

    git submodule update --init --recursive
    
  3. Use INDIGO system headers in /usr/include and libs from /usr/lib, if /usr/include/indigo/indigo_version.h exists.

  4. Initialise the git externals/indigo git submodule with the command above and build it.

No runtime deps