# rofi-sys #
This system crate provides Rust language bindings (via the use of Bindgen) to the Rust-OFI library.
## Dependencies
**rofi-sys** has the following dependencies:
* gcc 4.8.5
* openmpi 2.1.1
* clang 5.0.1
* rust-ofi 0.4
The **OFI_DIR** environment variable must be specified with the location of the OFI installation.
The **ROFI_DIR** environment variable must be specified with the location of the Rust-OFI installation.
## PMIx Support
Building with the `pmix` feature vendors PMIx through Lamellar's `pmix-sys` crate, which in turn builds the bundled `openpmix-src` tree and passes the resulting install root into ROFI's `configure --with-pmix` path.
Example:
```bash
cargo build --features pmix
```
If `ROFI_DIR` is unset, `rofi-sys` also builds the bundled ROFI source tree and configures `pmi-simple` to use the vendored PMIx backend.
## Debug Support
Building with the `debug` feature passes `--enable-debug` to the bundled ROFI `configure` step, enabling ROFI runtime debug logging and debug-friendly compile flags.
Example:
```bash
cargo build --features debug
```
## Authors
Current Team Members
* **Mark Raugas**, PNNL
* **Ryan Friese**, PNNL
Past Team Members
* **Roberto Gioiosa**
## License
This project is licensed under the BSD License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
This work was supported by the High Performance Data Analytics (HPDA) Program at Pacific Northwest National Laboratory (PNNL),
a multi-program DOE laboratory operated by Battelle.