Erik Bray wrote: > On Tue, Jun 7, 2016 at 12:04 PM, Nathan Dunfield <nat...@dunfield.info> wrote: >>> While this might work for simple projects, this won't work when you need >>> the metadata that cythonize() adds. For example, anything using >>> cysignals really must use cythonize(), it won't work otherwise. >> >> >> Jeroen, >> >> As of Cython 0.22, it looks like the metadata you refer to is cached in the >> Cython-generated C files: >> >> http://grokbase.com/t/python/cython-devel/152c310vvz/cython-cython-0-22-released >> >> Specifically, if you look at the top of a Cython-generated C file, there is >> what looks to be a JSON string encoding the metadata. >> >> Of course, as Erik says one shouldn't have to mess with this all "by hand". >> For example, setuptools could provide a "stub" version of cythonize that (a) >> does nothing but load this metadata if the C files are up to date and >> otherwise (b) attempts to import Cython and run the real cythonize... > > I actually raised the point with Cython (either on the mailing list or > on GH, I forget) a while back, that while the metadata is copied into > the C sources, nothing actually uses that copy of the metadata. That > is, for example, one of the things that goes in that metadata is > attributes that should be passed to the Extension object used to build > that file. cythonize() *only* looks in the .pyx sources for that > metadata, and although it's copied into the C sources, there's nothing > in Cython that makes use of the copy in the C sources. > > Of course, when it comes to shipping sources that doesn't help either > because even if Cython did read the metadata out of the C sources > you'd need Cython to do that. Instead, I think Cython should output a > file that can easily be consumed by a setup.py for the purpose of > building any Cythonized extension modules. This can be shipped along > with the source distribution. > > I've never needed such a thing, and I suspect that anything cysignals > things it needs it doesn't really. But something like that would be > be a possibility. You shouldn't need the entire machinery of Cython > just to link some sources properly.
Yep, just create (and ship) a proper Makefile from the metadata... :P AFAIK there's no such tool -- yet. -leif > > Erik > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.