diff options
author | LKedward <laurence.kedward@bristol.ac.uk> | 2020-12-08 16:31:48 +0000 |
---|---|---|
committer | LKedward <laurence.kedward@bristol.ac.uk> | 2020-12-08 16:31:48 +0000 |
commit | 3d1ac15bdd2ba28565482195fcb528d96012e35a (patch) | |
tree | 7fe475f6dea8ed3473eb646e9547f31563c38842 /docs.md | |
parent | 675d72f12801c400f0f543f9d5409644fa163dd0 (diff) | |
download | fpm-3d1ac15bdd2ba28565482195fcb528d96012e35a.tar.gz fpm-3d1ac15bdd2ba28565482195fcb528d96012e35a.zip |
Update developer docs landing page
Include sections on fpm model and fpm backend
Diffstat (limited to 'docs.md')
-rw-r--r-- | docs.md | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -67,6 +67,22 @@ To work with an *fpm* project as a user you can completely rely on the command l The command line interface is build with the [M_CLI2](https://github.com/urbanjost/M_CLI2) module and can be found in [[fpm_command_line]]. +## The package model + +Once front-end inputs have been received from the package manifest and command line interface, *fpm* will construct an +internal representation of the package and its dependencies. This internal representation is known as the package *model*. +The model and its associated data types should encapsulate all the information required to correctly build a package and +should be independent of the intended backend build system. Information stored in the model includes: build targets and +their inter-dependencies; compiler and compiler flags; library linking information. + +For more information on the contents of the package model and the process for constructing it, please see [[fpm_model]]. + +## The build backend + +Once a complete package model has been constructed, it can be passed to a *backend* for either performing the compilation +and linking of targets, or for generating configuration files for a third-party build system. +Currently, only a native backend is implemented in *fpm*. See [[fpm_backend]] for more information. + ## Generating this documentation This documentation is generated by [FORD](https://github.com/Fortran-FOSS-Programmers/FORD). |