prrte-sys 0.1.1

Low-level FFI bindings to PRRTE, developed for use by the Lamellar runtime.
# prrte-sys

`prrte-sys` exposes the PRRTE API via `bindgen`. It links against `libprrte` and optionally brings along vendored versions of libevent, hwloc, and PMIx.

## Features

- `vendored` builds the entire stack from the `prrte-src` tree plus the vendorized libevent/hwloc/pmix dependencies, ensuring the downstream code can run without a system PRRTE installation.
- `vendored-libevent`, `vendored-hwloc`, and `vendored-pmix` allow vendoring one dependency at a time when a system version of the others already exists.

The build script emits the include/lib directories so downstream crates know where to find PRRTE’s headers and libraries.

### Linking a system hwloc/libevent while vendoring PRRTE

If you want PRRTE (and PMIx) built from source but linked against a system hwloc/libevent — e.g. on macOS, where hwlocality's vendored autotools build fails — enable `prrte-src` and `vendored-pmix` without `vendored-hwloc`/`vendored-libevent`, and set `HWLOC_DIR`/`LIBEVENT_DIR` to the relevant install prefix:

```sh
HWLOC_DIR=$(brew --prefix hwloc) cargo build --no-default-features --features prrte-src,vendored-libevent,vendored-pmix
```

STATUS
------
prrte-sys has been developed as part of the Lamellar project and is still under development, thus not all intended features are yet
implemented.

CONTACTS
--------

Current Team Members

Ryan Friese           - ryan.friese@pnnl.gov 

Past Team Members

Polykarpos Thomadakis

## 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.