library_filename Function

public function library_filename(name) result(fname)

Platform-decorated file name of a library, e.g. "fft" -> "libfft.so" / "fft.dll". (Specification)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Undecorated library name

Return Value character(len=:), allocatable

Platform-specific file name


Source Code

    function library_filename(name) result(fname)
        !> Undecorated library name
        character(len=*), intent(in) :: name
        !> Platform-specific file name
        character(len=:), allocatable :: fname

        if (OS_TYPE() == OS_WINDOWS) then
            fname = trim(name)//".dll"
        else if (starts_with(trim(name), "lib")) then
            fname = trim(name)//shared_library_suffix()
        else
            fname = "lib"//trim(name)//shared_library_suffix()
        end if
    end function library_filename