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