fpm_compiler Module

Define compiler command options

This module defines compiler options to use for the debug and release builds.



Contents


Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: compiler_enum =kind(id_unknown)

Enumerations

enum, bind(c)

Enumerators

enumerator:: id_unknown = 0
enumerator:: id_gcc = 1
enumerator:: id_f95 = 2
enumerator:: id_caf = 3
enumerator:: id_intel_classic_nix = 4
enumerator:: id_intel_classic_mac = 5
enumerator:: id_intel_classic_windows = 6
enumerator:: id_intel_classic_unknown = 7
enumerator:: id_intel_llvm_nix = 8
enumerator:: id_intel_llvm_windows = 9
enumerator:: id_intel_llvm_unknown = 10
enumerator:: id_pgi = 11
enumerator:: id_nvhpc = 12
enumerator:: id_nag = 13
enumerator:: id_flang = 14
enumerator:: id_ibmxl = 15
enumerator:: id_cray = 16
enumerator:: id_lahey = 17
enumerator:: id_lfortran = 18

Functions

public function check_compiler(compiler, expected) result(match)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: compiler
character(len=*), intent(in) :: expected

Return Value logical

public function get_archiver() result(archiver)

Arguments

None

Return Value character(len=:), allocatable

public function get_compiler_id(compiler) result(id)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: compiler

Return Value integer(kind=compiler_enum)

public function is_unknown_compiler(compiler) result(is_unknown)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: compiler

Return Value logical


Subroutines

public subroutine get_debug_compile_flags(id, flags)

Arguments

Type IntentOptional AttributesName
integer(kind=compiler_enum), intent(in) :: id
character(len=:), intent(out), allocatable:: flags

public subroutine get_default_c_compiler(f_compiler, c_compiler)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: f_compiler
character(len=:), intent(out), allocatable:: c_compiler

public subroutine get_default_compile_flags(compiler, release, flags)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: compiler
logical, intent(in) :: release
character(len=:), intent(out), allocatable:: flags

public subroutine get_module_flags(compiler, modpath, flags)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: compiler
character(len=*), intent(in) :: modpath
character(len=:), intent(out), allocatable:: flags

public subroutine get_release_compile_flags(id, flags)

Arguments

Type IntentOptional AttributesName
integer(kind=compiler_enum), intent(in) :: id
character(len=:), intent(out), allocatable:: flags