Fortran interface to C POSIX procedures

Find us on…

GitHub

M_system

M_system.f90 and associated files

NAME

M_system - Fortran module for calling basic (mostly POSIX) C system routines

DESCRIPTION

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.

DOWNLOAD AND BUILD

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.

SUPPORTS FPM fpm

(registered at the fpm(1) registry )

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).

DOCUMENTATION docs

USER

DEVELOPER DOCUMENTATION (experimental)

SEE ALSO

+ stdlib discussion on POSIX interfaces

Developer Info

John S. Urban

Modules