How to add header files in setup.py so dependencies are observed when building the extensions?

The question seems long, but it all comes down to how I can add header files to specific extension specification.

The motivation is that if I change one of the header files, issuing

python setup.py build

should rebuild the extension even when none of the .c files are changed.

I’ve tried to add the depending header files in “sources” keyword arg in the Extension constructor, but running the resulting setup.py generated errors complaining about unknown file extension “.h”.

Thanks!

Best answer

Take a look at the depends option on the Extension class. I’ve not used it myself, but your exact example is listed as a use-case.