In `perl.h`, there is:
```
#ifdef I_LIBUTIL
#include
#endif
```
and on FreeBSD, `I_LIBUTIL` is defined in Perl's `config.h`. That header does
not really appear to be necessary for Perl, but it has the side effect of
declaring a `properties` type. This is a generic name used in our code base, so
we hack around it with the preprocessor. Preferably, FreeBSD would fix that in
their Perl port in the future.
# GPlugin
GPlugin is a GObject based library that implements a reusable plugin system.
It supports loading plugins in multiple other languages via loaders. It relies
heavily on [GObjectIntrospection](https://gi.readthedocs.io/) to expose its API
to the other languages.
It has a simple API which makes it very easy to use in your application.
For more information on using GPlugin in your application, please see the