On 03/02/2011 05:01 PM, Stefan Behnel wrote:
Dag Sverre Seljebotn, 02.03.2011 16:37:
On 03/02/2011 04:11 PM, Lisandro Dalcin wrote:
On 2 March 2011 08:35, Stefan Behnel<stefan...@behnel.de> wrote:
Dag Sverre Seljebotn, 02.03.2011 11:54:
Problem is that Fortran code often has...interesting...programming
practices. Global variables abound, and are often initialised between
modules. Imagine:

settings_mod.set_alpha(0.34)
print compute_mod.get_alpha_squared()

This behaves quite differently with two static versions rather than one...
Then I'd suggest always linking dynamically.

And where are you going to put your fortran shared libraries? Dynamic
linking details varies wildly across platforms... I'm very much
understand Dag's use case and concerns, and I do think that some
research in all this is worth it.

I'm not sure if there's much more to research at the moment -- Stefan says it is possible, and that's what I wanted to know at this stage. If I want
it, I obviously need to implement it myself. (And if such a patch
implements PEP 3121 and there's a demonstrated need for it with some users, I really can't see it getting rejected just out of it being in "poor taste").

I.e., I'm going to make Fwrap spit out multiple pyx files and worry about
this later. If multiple .pyx in one .so was fundamentally impossible, I
might have gone another route with Fwrap. That was all.

The feature I could imagine becoming part of Cython is "compiling packages". I.e. you'd call "cython" on a package and it would output a directory with a single __init__.so that contains the modules compiled from all .pyx/.py files in that package. Importing the package would then trigger an import of that __init__.so, which in turn will execute code in its init__init__() function to register the other modules.

Would that work for you?

Yes, that sounds like exactly what I'm after.

Dag Sverre
_______________________________________________
cython-devel mailing list
cython-devel@python.org
http://mail.python.org/mailman/listinfo/cython-devel

Reply via email to