# gsl-sys
This is the FFI counter-part of the Rust GSL crate. It is better to use the GSL crate
directly rather than this one (unless something is missing the Rust binding!).
## Update FFI
Most of the FFI is generated using `bindgen`. Therefore, it'll be used to update. You'll also
need the `gsl` repository locally because we need its headers.
Basically, an update would look like this:
```bash
cd bin && cargo run
```
However, if you want to change the output a bit, it's **strongly** recommended that you
instead clone and setup the GSL repository on your computer directly:
```bash
wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.tar.gz
tar xzf gsl-2.7.tar.gz
cd gsl-2.7
./autogen.sh
./configure
make
# The headers should now all be in the gsl-2.7 subfolder!
```
Then run the FFI generation like this:
```bash
cd bin && cargo run -- [PATH TO GSL]
```
It'll prevent all the clone and rebuild every time.