You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/source/f2py/buildtools/index.rst
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Building an extension module which includes Python and Fortran consists of:
37
37
38
38
- Python libraries and development headers
39
39
40
-
Broadly speaking there are two cases which arise when considering the outputs of ``f2py``:
40
+
Broadly speaking there are three cases which arise when considering the outputs of ``f2py``:
41
41
42
42
Fortran 77 programs
43
43
- Input file ``blah.f``
@@ -48,15 +48,30 @@ Fortran 77 programs
48
48
Fortran 90 programs
49
49
- Input file ``blah.f``
50
50
- Generates:
51
+
51
52
+ ``blahmodule.c``
52
53
+ ``blah-f2pywrappers2.f90``
53
54
54
55
The secondary wrapper is used to handle code which is subdivided into modules.
55
56
57
+
Signature files
58
+
- Input file ``blah.pyf``
59
+
- Generates:
60
+
61
+
+ ``blahmodule.c``
62
+
+ ``blah-f2pywrappers2.f90`` (occasionally)
63
+
64
+
Signature files ``.pyf`` do not signal their language standard via the file extension, they may generate the module wrapper depending on their contents; which shifts the burden of checking for generated files onto the build system.
65
+
66
+
56
67
In theory keeping the above requirements in hand, any build system can be
57
68
adapted to generate ``f2py`` extension modules. Here we will cover a subset of
58
69
the more popular systems.
59
70
71
+
.. note::
72
+
``make`` has no place in a modern multi-language setup, and so is not
73
+
discussed further.
74
+
60
75
Build Systems
61
76
==============
62
77
@@ -67,7 +82,3 @@ Build Systems
67
82
meson
68
83
cmake
69
84
skbuild
70
-
71
-
.. note::
72
-
``make`` has no place in a modern multi-language setup, and so is not
0 commit comments