Currently, LibTomCrypt is compiled into tomcrypt/_core.so. In order for those functions to be accessible to the other Cython modules, we force the .so to be loaded in RTLD_GLOBAL mode.
Unfortunately, this pollutes the global namespace.
Potential options are:
- compile LibTomCrypt into its own
_tomcrypt.so, which is still loaded with RTLD_GLOBAL, hoping to polute less;
- rebuild everything using ctypes;
- merge everything into a single
tomcrypt.so which is all Cython;
- wrap every C function in a Cython function so it can be exported via the Cython capi;
- hack every C function into the Cython capi export table.