Ondrej Certik wrote:
> On Wed, Mar 24, 2010 at 11:52 PM, Dag Sverre Seljebotn
> <[email protected]> wrote:
>
>> Ondrej Certik wrote:
>>
>>> Hi Kurt!
>>>
>>> On Wed, Mar 24, 2010 at 1:40 PM, Kurt Smith <[email protected]> wrote:
>>>
>>>> On Wed, Mar 24, 2010 at 2:08 PM, Ondrej Certik <[email protected]> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> do you think that fwrap would be usable over the summer? I will be
>>>>> working with some fortran codes (f95), so I am curious whether I
>>>>> should stay with f2py, or invest some time into fwrap and use Cython,
>>>>> that I use anyway for C/C++.
>>>>>
>>>>>
>>>> I'm working on the build system as we speak :-)
>>>>
>>>>
>>>>> Is there some webpage for it? Bug tracker?
>>>>>
>>>>>
>>>> I've been putting my time in on coding lately, so fwrap's public face
>>>> is sorely lacking. I need to remedy this soon. Thanks for the
>>>> motivation -- you and others have made it clear that soon is 'now.'
>>>>
>>>>
>>>>> I found this blog:
>>>>>
>>>>> http://fortrancython.wordpress.com/
>>>>>
>>>>>
>>>> To be updated soon, too (I know, long on promises -- I'm very short on
>>>> time lately). But the project is active.
>>>>
>>>>
>>>>> and I found this:
>>>>>
>>>>> http://hg.cython.org/fwrap-dev/
>>>>>
>>>>> Is this the official source code?
>>>>>
>>>>> How do I compile it and use it? How do I run tests? I tried:
>>>>>
>>>>> $ python fwrap.py
>>>>> Traceback (most recent call last):
>>>>> File "fwrap.py", line 4, in <module>
>>>>> main()
>>>>> File "/home/ondrej/repos/fwrap-dev/fwrap_src/main.py", line 12, in main
>>>>> wrap(options, args)
>>>>> File "/home/ondrej/repos/fwrap-dev/fwrap_src/main.py", line 18, in wrap
>>>>> funcs_templ = [(fc_wrap.generate_fortran, "%s_c.f90"),
>>>>> AttributeError: 'module' object has no attribute 'generate_fortran'
>>>>>
>>>>> $ python runtests.py
>>>>> Traceback (most recent call last):
>>>>> File "runtests.py", line 799, in <module>
>>>>> from fwrap_src.Main import wrap
>>>>>
>>>>>
>>>>> And I didn't find any setup.py, or README (I found NOTES.txt, but no
>>>>> build instructions). Sorry for the basic questions, I just want to
>>>>> give it a shot.
>>>>>
>>>>>
>>>>> Kurt and Dag seem to be working/interested in this, so if we can get
>>>>> something usable (90%) to get started and then once I can use it for
>>>>> my stuff (I just need simple wrappers for now), it'd be really cool.
>>>>>
>>>> I'm *really* aiming for something like 90% by the end of April, as
>>>> unlikely as the above makes it seem. I'll put a post on the blog
>>>> (fortrancython.wordpress.com/) about what 90% means. It will include
>>>> all the basic support stuff that you mention above (where hosted
>>>> (likely bitbucket), a mailing-list, and the features supported).
>>>>
>>>> So by summer (end of May) fwrap should have a couple of releases out,
>>>> and be usable. It will certainly work for simple wrappers (no
>>>> callback support). Although that depends on just what you mean by
>>>> 'simple.'
>>>>
>>> That should be enough. I use cmake, so I'd appreciate if fwrap could
>>> just spit the C (or fortran or both) files, that I compile and link
>>> myself. Just like Cython does. (I read some issues with integrating
>>>
>> Note that fwrap generates both C, Fortran and Cython code to make
>> everything work together in a standard-compliant way...
>>
>> Also, unless things have changed, a configuration script must be run as
>> part of the build process to detect which C types correspond to which
>> Fortran types. f2py just makes blatant assumptions in this area and you
>> could probably impose such blatant assumptions yourself too if you want
>> to avoid complicating your build.
>>
>
> That's fine. I just want some simple example of wrapping a simple
> fortran program, so that I can see this myself. I didn't manage to
> figure this out by myself using the fwrap hg repository and I didn't
> find any documentation. So I am waiting for Kurt's help. :)
>
>
>> (If you are building Cython code via cmake in a reasonably robust manner
>> we would love to have the necesarry scripts contributed to the our
>> Tools/ dir. Have you just hardcoded the C compilation flags or do you
>> try to be portable and query distutils.sysconfig?)
>>
>
> The cmake file that I wrote is attached, and the usage is in the
> comments at the top of the file. I don't query distutils.sysconfig.
> But I tested it on linux, Mac and windows using cygwin (and espeically
> mac has a way different way of compiling and linking stuff) and it
> works.
>
Thanks. You are aware of the -fno-strict-aliasing issue, right? Unless
the C files are compiled with that they may suddenly segfault or corrupt
data if the compiler does a certain optimization... this is a
restriction of Python itself, not something Cython does.
python -c 'from distutils.sysconfig import get_config_var as g; print
g("CFLAGS")'
Dag Sverre
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev