M_system - Fortran module for calling basic (mostly POSIX) C system routines
M_system(3f) is a module that allows Fortran to call commonly available C routines that perform basic system operations like creating and deleting files and directories, changing and querying file permits, getting basic ID and process information, … and other POSIX system requests.
MSWindows systems are not POSIX compliant, so on those platforms you would need to use the Windows Subsystem for Linux (WSL) on Windows 10 or install CygWin or a similar product.
Just download the github repository, enter the src/ directory and run make:
git clone https://github.com/urbanjost/M_system.git
cd M_system/src
# change Makefile if not using one of the listed compilers
# for gfortran
make clean
make gfortran
# for ifort
make clean
make ifort
# for nvfortran
make clean
make nvfortran
This will compile the M_system module and build all the example programs in the PROGRAMS/ directory. There is an example program for each procedure that is also part of the manpage for each procedure.
Alternatively, download the github repository and build it with fpm ( as described at Fortran Package Manager )
git clone https://github.com/urbanjost/M_system.git
cd M_system
fpm build
fpm test
This will compile the M_system module and build all the example programs from
the document pages in the PROGRAMS/ sub-directory.
or just list it as a dependency in your fpm.toml project file.
```toml
[dependencies]
M_system = { git = "https://github.com/urbanjost/M_system.git" }
Note that the unit test is dependent on several other modules built via fpm(1) so it can not be run from the standard Makefile described above (ie. the test requires several other modules not in this repository but if you are on the network fpm(1) will download and build those for the test automatically).
There are man-pages included in
These have been rendered into HTML and can be browsed one procedure at a time using the manpage index
or as a combined file in a Javascript BOOK
or as a single simple HTML file. if Javascript is not available.
CHANGELOG provides a history of significant changes