> On Fri, Sep 11, 2009 at 12:26 PM, Dag Sverre Seljebotn
> <[email protected]> wrote:
>> Hi Darren,
>>
>>> Hello,
>>>
>>> I am just learning cython, please bear with me. This is maybe a common
>>> question, but I didn't recognize it in the documentation or the FAQs.
>>> How do you make cython definitions available to external C code? For
>>> example, converting some of numpy's code in numpy/core/src/multiarray
>>> to cython without affecting the C API?
>>
>> Doing just this is something I've been eager to try myself, please don't
>> hesitate to ask any questions you might have in the process.
>>
>> I hope it's OK that I write down some thoughts I have about this, even
>> if
>> they're not really related to your question.
>>
>> One thing that complicates this process is that NumPy has a requirement
>> that both modes of building the multiarray module works:
>> - Building all C files seperately, then linking
>>  -- But this won't work with Cython out of the box because the module
>> initialization code won't get called, so that globals etc. are not
>> initialized properly.
>> - Including all C files in a single master C file, then compile only
>> that
>> one file
>>  -- This won't work with Cython as it inserts module initialization code
>> which will conflict with the module initialization code already present
>> in multiarray.
>
> Where can I learn more about these requirements?

It's just how the build works, there's two seperate ways of building
things; one "old" and one new which David introduced recently. I asked
whether the old one would be dropped, but it appears not:

http://thread.gmane.org/gmane.comp.python.numeric.general/32385

I'm not sure if this is all that well documented anywhere, I think the
information has to be extracted on the mailing lists. Please ask again
whenever you're stuck.

If you can get Cython code into the multiarray module using any of the
build modes it would be a great first step -- I don't expect it to be easy
(because Cython is made for writing entire modules, not for mixing with
other C source also making up the module), but I think it is doable.

Dag Sverre

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

Reply via email to