Configuration data for metapackages
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(metapackage_request_t), | public | :: | blas |
BLAS |
|||
| type(metapackage_request_t), | public | :: | hdf5 |
HDF5 |
|||
| type(metapackage_request_t), | public | :: | minpack |
fortran-lang minpack |
|||
| type(metapackage_request_t), | public | :: | mpi |
Request MPI support |
|||
| type(metapackage_request_t), | public | :: | netcdf |
NetCDF |
|||
| type(metapackage_request_t), | public | :: | openmp |
Request OpenMP support |
|||
| type(metapackage_request_t), | public | :: | stdlib |
Request stdlib support |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(metapackage_config_t), | intent(inout) | :: | self |
Dump dependency to toml table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(inout) | :: | self |
Instance of the serializable object |
||
| type(toml_table), | intent(inout) | :: | table |
Data structure |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
Write serializable object to file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self |
Instance of the dependency tree |
||
| character(len=*), | intent(in) | :: | file |
File name |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
|
| logical, | intent(in), | optional | :: | json |
Optional JSON format |
Write serializable object to a formatted Fortran unit
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self |
Instance of the dependency tree |
||
| integer, | intent(in) | :: | unit |
Formatted unit |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
|
| logical, | intent(in), | optional | :: | json |
Optional JSON format requested? |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(metapackage_config_t), | intent(inout) | :: | self | |||
| type(toml_table), | intent(inout) | :: | table | |||
| type(error_t), | intent(out), | allocatable | :: | error |
Return a list of metapackages requested for the current build
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(metapackage_config_t), | intent(in) | :: | meta |
Read dependency from toml table (no checks made at this stage)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(inout) | :: | self |
Instance of the serializable object |
||
| type(toml_table), | intent(inout) | :: | table |
Data structure |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
Read dependency tree from file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self |
Instance of the dependency tree |
||
| character(len=*), | intent(in) | :: | file |
File name |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
|
| logical, | intent(in), | optional | :: | json |
Optional JSON format |
Read dependency tree from file init JSON interpreter Read object from TOML table
use default TOML parser
Read object from TOML table
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self |
Instance of the dependency tree |
||
| integer, | intent(in) | :: | unit |
File name |
||
| type(error_t), | intent(out), | allocatable | :: | error |
Error handling |
|
| logical, | intent(in), | optional | :: | json |
Optional JSON format |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(metapackage_config_t), | intent(inout) | :: | self | |||
| type(toml_table), | intent(inout) | :: | table | |||
| type(error_t), | intent(out), | allocatable | :: | error |
Check that two source files are equal All checks passed!
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(srcfile_t), | intent(in) | :: | this | |||
| class(serializable_t), | intent(in) | :: | that |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(metapackage_config_t), | intent(inout) | :: | self |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(metapackage_config_t), | intent(in) | :: | this | |||
| class(serializable_t), | intent(in) | :: | that |
Test load/write roundtrip
Test serialization of a serializable object Dump to scratch file Load from scratch file Check same
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(serializable_t), | intent(inout) | :: | self | |||
| character(len=*), | intent(in) | :: | message | |||
| type(error_t), | intent(out), | allocatable | :: | error |
type, extends(serializable_t) :: metapackage_config_t !> Request MPI support type(metapackage_request_t) :: mpi !> Request OpenMP support type(metapackage_request_t) :: openmp !> Request stdlib support type(metapackage_request_t) :: stdlib !> fortran-lang minpack type(metapackage_request_t) :: minpack !> HDF5 type(metapackage_request_t) :: hdf5 !> NetCDF type(metapackage_request_t) :: netcdf !> BLAS type(metapackage_request_t) :: blas contains procedure :: get_requests ! Cleanup configuration; assert package names final :: meta_config_final procedure :: reset => meta_config_reset procedure :: serializable_is_same => meta_config_same procedure :: dump_to_toml => meta_config_dump procedure :: load_from_toml => meta_config_load end type metapackage_config_t