The dependencies of Fortran libraries on other Fortran libraries must be PUBLIC

If Fortran module A uses module (even privately) B:

  • some compilers (e.g. NAG) will insist on b.mod being available (e.g. via the -I flag) whenever A is used;
  • some compilers (e.g. Cray) will insist on b.o being available (e.g. via the -l flag) whenever A is used.

Hence, if a Fortran library depends on another Fortran library, the dependency has to be PUBLIC, which is not currently the case (e.g. see here). It would be great to fix that.

Edited by Sergey Kosukhin