File tree Expand file tree Collapse file tree 3 files changed +11
-13
lines changed Expand file tree Collapse file tree 3 files changed +11
-13
lines changed Original file line number Diff line number Diff line change 1
1
! ># Build backend
2
- ! > Uses a valid `[[fpm_model ]]` instance to schedule and execute the
3
- ! > compilation and linking of package targets.
2
+ ! > Uses a list of `[[build_target_ptr ]]` and a valid `[[fpm_model]]` instance
3
+ ! > to schedule and execute the compilation and linking of package targets.
4
4
! >
5
5
! > The package build process (`[[build_package]]`) comprises three steps:
6
6
! >
Original file line number Diff line number Diff line change 3
3
! > Defines the fpm model data types which encapsulate all information
4
4
! > required to correctly build a package and its dependencies.
5
5
! >
6
- ! > The process (see `[[build_model(subroutine)]]`) for generating a valid `[[fpm_model]]` is as follows:
6
+ ! > The process (see `[[build_model(subroutine)]]`) for generating a valid `[[fpm_model]]` involves
7
+ ! > source files discovery ([[fpm_sources]]) and parsing ([[fpm_source_parsing]]).
7
8
! >
8
- ! > 1. Source files are discovered ([[fpm_sources]]) and parsed ([[fpm_source_parsing]])
9
- ! > 2. A list of build targets is generated (`[[targets_from_sources]]`) from the sources
10
- ! > 3. Inter-target dependencies are resolved (`[[resolve_module_dependencies]]`) based on modules used and provided
11
- ! > 4. Object link lists are generated for link targets (executables and libraries) (`[[resolve_target_linking]]`)
12
- ! >
13
- ! > Once a valid `[[fpm_model]]` has been constructed, it may be passed to `[[fpm_backend:build_package]]` to
14
- ! > build the package.
9
+ ! > Once a valid `[[fpm_model]]` has been constructed, it may be passed to `[[fpm_targets:targets_from_sources]]` to
10
+ ! > generate a list of build targets for the backend.
15
11
! >
16
12
! >### Enumerations
17
13
! >
21
17
! > __Source scope:__ `FPM_SCOPE_*`
22
18
! > Describes the scoping rules for using modules — controls module dependency resolution
23
19
! >
24
- ! > __Target type:__ `FPM_TARGET_*`
25
- ! > Describes the type of build target — determines backend build rules
26
- ! >
27
20
module fpm_model
28
21
use iso_fortran_env, only: int64
29
22
use fpm_strings, only: string_t, str
Original file line number Diff line number Diff line change 18
18
! > - `[[build_target_list]]`
19
19
! > - `[[resolve_module_dependencies]]`
20
20
! >
21
+ ! >### Enumerations
22
+ ! >
23
+ ! > __Target type:__ `FPM_TARGET_*`
24
+ ! > Describes the type of build target — determines backend build rules
25
+ ! >
21
26
module fpm_targets
22
27
use iso_fortran_env, only: int64
23
28
use fpm_error, only: error_t, fatal_error
You can’t perform that action at this time.
0 commit comments