Hi Armin,
Thank you for your response. The problem with this solution is that the source files specified this way do not participate in the calculation of the checksum. This can cause the old version of the compiled library to be used after the sources have been updated.
In addition, since in this case C files are distributed with the package, but are not installed (the compiled library is identified by the preamble only), one has to call verify() with different arguments (with and without "sources", in particular) during installation and during usage. Is there some "best practices" example/template of a CFFI-based wrapper package which provides a Python interface to a multi-file C library distributed with the package? So far I've only seen trivial cases with a dlopen() of an existing library or verify() of a single source file. I tried
put together such a template myself, but it seems too sophisticated to be correct, and I still have some compilation problems (exported functions are missing in the installed library, but present if you just build the package in place).