On Sun, Oct 3, 2010 at 11:59 AM, Matěj Laitl <[email protected]> wrote:
> On 3. 10. 2010 Vineet Jain wrote:
>> Not a big deal, but thought I would just mention it. If a pxd file
>> changes and you run setup.py build it will not rebuild the package.
>> You have to change the corresponding pyx file for the module to be
>> rebuilt.
>
> +1
>
> The reason behind this is that cython.Distutils' build_ext does it's own "is-
> source-newer-than-target" checks. It doesn't parse pyx file for dependencies,
> but it relies on you specifying all dependencies in Extension source files
> declaration, e.g:
>
> setup(... ext_modules(Extension('module', ['module.pyx', 'module.pxd',
> 'dependency.pxd'])))
>
> But I also find it suboptimal.

For sure, especially for a project like Sage. (We had to resort to
managing our dependancies manually...) This was one of the goals of
http://wiki.cython.org/enhancements/distutils_preprocessing .

> Cython distutils can be changed to use cython
> compiler to do dependency mtime checking, I may post a patch in a couple
> of days.

That would be really cool. Note that if you don't amortize this across
multiple files (by doing the dependency resolution for each one
separately) you may find that O(n^2) doesn't grow very nicely :).

- Robert
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to