> I have a small C-extension module, consisting of 3 files > (ndcombine_module.c, combine.c & combine.h). I can build the > extension find 'in place' using distutils, but when creating a > distribution (with setup.py sdist), the combine.h header file > seemingly gets lost and I cannot build it anywhere else. > The extension part in setup.py looks like: > > ndcombine_sources = [os.path.join('src', 'ext_lib', 'combine', p) > for p in \ > ('ndcombine_module.c', 'combine.c')] > ndcombine_ext = Extension('ndcombine', > sources=ndcombine_sources, > depends=[os.path.join('src', 'ext_lib', > 'combine', > 'combine.h')], > include_dirs = [numpyincludepath]) > > where I have tried to use 'depends', which seems to fail. Below > that, there is of course > > setup(..., ext_modules=[ndcombine_ext], ...) > > I feel I'm missing something, but I cannot think of what.
Got it (and I had done it correctly for another extension, ages ago): use MANIFEST.in. <MANIFEST.in>: recursive-include src *.py include src/ext_lib/combine/combine.c include src/ext_lib/combine/combine.h include src/ext_lib/combine/ndcombine_module.c <EOF> (aka read chapter 4 of the distutils documentation; sigh) 'depends' only tells to rebuild things when anything in those files changes; it functions more like a Makefile. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor