f2py, numpy.distutils and multiple Fortran source files

Hi, For the wafo [1] package we are trying to include the extension compilation process in setup.py [2] by using setuptools and numpy.distutils [3]. Some of the extensions have one Fortran interface source file, but it depends on several other Fortran sources (modules). The manual compilation process would go as follows: gfortran -fPIC -c source_01.f gfortran -fPIC -c source_02.f f2py -m module_name -c source_01.o source_02.o source_interface.f Can this workflow be incorporated into setuptools/numpy.distutils? Something along the lines as: from numpy.distutils.core import setup, Extension ext = Extension('module.name', depends=['source_01.f', 'source_02.f'], sources=['source_interface.f']) (note that the above does not work) [1] https://github.com/wafo-project/pywafo [2] https://github.com/wafo-project/pywafo/blob/pipinstall/setup.py [3] http://docs.scipy.org/doc/numpy/reference/distutils.html Regards, David

On Thu, Dec 3, 2015 at 4:07 PM David Verelst <david.verelst@gmail.com> wrote:
Hi,
For the wafo [1] package we are trying to include the extension compilation process in setup.py [2] by using setuptools and numpy.distutils [3]. Some of the extensions have one Fortran interface source file, but it depends on several other Fortran sources (modules). The manual compilation process would go as follows:
gfortran -fPIC -c source_01.f gfortran -fPIC -c source_02.f f2py -m module_name -c source_01.o source_02.o source_interface.f
Can this workflow be incorporated into setuptools/numpy.distutils? Something along the lines as:
from numpy.distutils.core import setup, Extension ext = Extension('module.name', depends=['source_01.f', 'source_02.f'], sources=['source_interface.f'])
(note that the above does not work)
[1] https://github.com/wafo-project/pywafo [2] https://github.com/wafo-project/pywafo/blob/pipinstall/setup.py [3] http://docs.scipy.org/doc/numpy/reference/distutils.html
Regards, David _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion
This might be helpful: https://github.com/timcera/wdmtoolbox/blob/master/setup.py Looks like I created the *.pyf file and include that in sources. I think I only used f2py to create the pyf file and not directly part of the compilation process. If memory serves the Extension function knows what to do with the pyf file. Kindest regards, Tim

On 03/12/15 22:07, David Verelst wrote:
Can this workflow be incorporated into |setuptools|/|numpy.distutils|? Something along the lines as:
Take a look at what SciPy does. https://github.com/scipy/scipy/blob/81c096001974f0b5efe29ec83b54f725cc681540... Multiple Fortran files are compiled into a static library using "add_library", which is subsequently linked to the extension module. Sturla

Thanks a lot for providing the example Sturla, that is exactly what we are looking for! On 4 December 2015 at 11:34, Sturla Molden <sturla.molden@gmail.com> wrote:
On 03/12/15 22:07, David Verelst wrote:
Can this workflow be incorporated into |setuptools|/|numpy.distutils|?
Something along the lines as:
Take a look at what SciPy does.
https://github.com/scipy/scipy/blob/81c096001974f0b5efe29ec83b54f725cc681540...
Multiple Fortran files are compiled into a static library using "add_library", which is subsequently linked to the extension module.
Sturla
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion
participants (3)
-
David Verelst
-
Sturla Molden
-
Tim Cera