Distutils vs. Extension header files

David M. Cooke cookedm+news at physics.mcmaster.ca
Fri Dec 10 16:32:12 EST 2004


Mike Meyer <mwm at mired.org> writes:

> I've got a package that includes an extension that has a number of
> header files in the directory with the extension. They are specified
> as "depends = [...]" in the Extension class. However, Distutils
> doesn't seem to do anything with them.
>
> If I do an sdist, the include files aren't added to the tarball.
>
> If I do a bdist_rpm, the source files get copied into the build
> directory and the build starts, but the header files aren't copied
> with the source file, so the build fails with a missing header file.
>
> I find it hard to believe that this is a bug in distutils, so I'd
> appreciate it if someone could tell me what I'm doing wrong.

vincent has the solution (you need to specify them in MANIFEST.in),
but I'll add my 2 cents.

depends = [...] is used in building (it's like dependencies in make).
If one of those files change, distutils will rebuild the extension.
But that's all distutils does with it. It's braindead including stuff
in the source distribution, including depends, data files, and other
stuff you'd think it would do. When in doubt, add it to MANIFEST.in.

-- 
|>|\/|<
/--------------------------------------------------------------------------\
|David M. Cooke
|cookedm(at)physics(dot)mcmaster(dot)ca



More information about the Python-list mailing list