Create new compiler instance
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(compiler_t), | intent(out) | :: | self |
New instance of the compiler |
||
character(len=*), | intent(in) | :: | fc |
Fortran compiler name or path |
||
character(len=*), | intent(in) | :: | cc |
C compiler name or path |
||
character(len=*), | intent(in) | :: | cxx |
C++ Compiler name or path |
||
logical, | intent(in) | :: | echo |
Echo compiler command |
||
logical, | intent(in) | :: | verbose |
Verbose mode: dump compiler output |
subroutine new_compiler(self, fc, cc, cxx, echo, verbose)
!> New instance of the compiler
type(compiler_t), intent(out) :: self
!> Fortran compiler name or path
character(len=*), intent(in) :: fc
!> C compiler name or path
character(len=*), intent(in) :: cc
!> C++ Compiler name or path
character(len=*), intent(in) :: cxx
!> Echo compiler command
logical, intent(in) :: echo
!> Verbose mode: dump compiler output
logical, intent(in) :: verbose
self%id = get_compiler_id(fc)
self%echo = echo
self%verbose = verbose
self%fc = fc
if (len_trim(cc) > 0) then
self%cc = cc
else
call get_default_c_compiler(self%fc, self%cc)
end if
if (len_trim(cxx) > 0) then
self%cxx = cxx
else
call get_default_cxx_compiler(self%fc, self%cxx)
end if
end subroutine new_compiler