aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/snippets/fortran-include.md12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/markdown/snippets/fortran-include.md b/docs/markdown/snippets/fortran-include.md
new file mode 100644
index 0000000..a811765
--- /dev/null
+++ b/docs/markdown/snippets/fortran-include.md
@@ -0,0 +1,12 @@
+## Fortran `include` statements recursively parsed
+
+While non-standard and generally not recommended, some legacy Fortran programs use `include` directives to inject code inline.
+Since v0.51, Meson can handle Fortran `include` directives recursively.
+
+DO NOT list `include` files as sources for a target, as in general their syntax is not correct as a standalone target.
+In general `include` files are meant to be injected inline as if they were copy and pasted into the source file.
+
+`include` was never standard and was superceded by Fortran 90 `module`.
+
+The `include` file is only recognized by Meson if it has a Fortran file suffix, such as `.f` `.F` `.f90` `.F90` or similar.
+This is to avoid deeply nested scanning of large external legacy C libraries that only interface to Fortran by `include biglib.h` or similar.