the version string of Fortran compilers.
Some compilers will fail and return an error code if not provided with
a source file, yet they print the desired version string.
Thus, in case of an error code we ignore it here and just pass on the
stdout and stderr of the called subprocess.
For ELF binaries (e.g., Linux): default compatible version (SONAME =
`<library-name>.so.<MAJOR>`) can be specialized using additional `cnum`
parameter to `<library-name>.so.<MAJOR>.<MINOR>` or
`<library-name>.so.<MAJOR>.<MINOR>.<PATCH>`.
For Mach-O binaries (e.g., OS X):
- (bugfix) install-name points to compatible version (not absolute path
to a non-versioned library)
- Default install-name `<install-path>/<library-name>.<MAJOR>.dylib` can
be specialized using `cnum` parameter to
`<install-path>/<library-name>.<MAJOR>.<MINOR>.dylib` or
`<install-path>/<library-name>.<MAJOR>.<MINOR>.<PATCH>.dylib`
- `-Wl,-compatibility_version` and `-Wl,-current_version` flags use
version from cnum/vnum (default cnum is vnum.split('.')[0])
gcc, gxx, and fc_config for Darwin platform were specifying
-compatibility_version and -current_version compilation flags. These
flags are actually are link flags and generate warnings by clang
compiler.
Also, these flags were specified in non-standard way, which was
confusing clang compiler.
Signed-off-by: Thomas Nagy <tnagy2pow10@gmail.com>