# include "define.inc" module system_fortran implicit none private public :: systemf #ifdef ISO_C_BINDING interface subroutine call_system_c(command) bind(C, name='system') use, intrinsic :: iso_c_binding, only: c_char, c_int character(kind=c_char), intent(in) :: command(*) end subroutine call_system_c end interface #endif contains subroutine systemf(command) #ifdef ISO_C_BINDING use, intrinsic :: iso_c_binding, only: c_null_char implicit none character(*), intent(in) :: command call call_system_c(command//c_null_char) #else # if FCOMPILER == _INTEL_ ! for system call with intel compiler use ifport, only: system # endif implicit none character(*), intent(in) :: command # if FCOMPILER == _CRAY_ integer :: ierr ierr = system(command) #endif #endif /* ISO_C_BINDING */ end subroutine systemf end module system_fortran