Glossary
- Action
An atomic build step in GPRbuild2’s DAG: a single invocation of an external tool (compiler, binder, linker, archiver) with a defined set of inputs and outputs. See GPRbuild Reference.
- Aggregate library project
A project kind that builds a single library by collecting object files from a set of constituent projects. Unlike plain aggregate projects, aggregate library projects can be imported by other projects. See Aggregate Library Project.
- Aggregate project
A project kind whose sole purpose is to group other project files for a single-invocation build. An aggregate project does not contain sources itself. See Aggregate Project.
- ALI file
An Ada Library Information file (
.ali), generated by the GNAT compiler alongside each compiled unit. It records unit dependencies, compilation switches, and cross-reference data. GPRbuild uses ALI files for incremental build decisions; GPRls and GPRinstall use them for dependency listing and installation.- Attribute
A named project-level or package-level setting that controls how a project or tool behaves. Attributes are declared with
forstatements inside a project file or package. See the Attributes chapter.- Build database
A persistent store written by GPRbuild2 that records the signature of every action executed. On subsequent builds, GPRbuild2 compares current signatures against the stored ones to determine which actions need re-execution.
- Configuration project
A special project (qualifier
configuration, extension.cgpr) that supplies toolchain-specific settings - compiler drivers, default switches, naming conventions - to all other projects in the tree. Generated by GPRconfig and loaded via--configor--autoconf. See Configuration Project and GPRconfig Reference.- Entry point
A build target that anchors the DAG traversal in GPRbuild2: an executable declared via the
Mainattribute or on the command line, a library interface, or additional units specified via theRootsattribute.- Extending project
A project that inherits sources and attributes from a base project using the
extendsclause. The extending project may shadow inherited sources and override attributes. See Project Extension.- External variable
A string variable whose value is supplied from outside the project file, via the
-Xcommand-line switch or theExternalattribute in an aggregate project. Used withcasestatements to produce configuration-dependent attribute values.- Knowledge base (KB)
A collection of XML files describing compiler executables, target platforms, and runtime variants. The KB is embedded in all GPR tools and consulted during auto-configuration. See Knowledge Base.
- Library project
A project kind that builds a static or shared library rather than executables. Identified by the
libraryqualifier or by the presence ofLibrary_NameandLibrary_Dirattributes. See Library Project.- Manifest
A file written by GPRinstall that records the path and MD5 checksum of every file installed. Used by
gprinstall --uninstallto identify and remove previously installed files safely.- Naming package
A
package Namingdeclaration inside a project file that maps language unit names to source file names, overriding the default naming conventions. Generated by GPRname for projects with non-standard file naming.- Package
A named group of attributes inside a project file, corresponding to a specific tool (
Compiler,Linker,Builder,Clean,Install,Naming, etc.). Packages scope attribute names and may be extended or renamed.- Project file
A text file with a
.gprextension that describes a software component: its sources, build settings, dependencies, and tool configuration. Parsed by all GPR tools.- Project tree
The complete graph of project files loaded for a build: the root project, all projects it imports (directly or transitively), and the active configuration project.
- Project view
The resolved representation of a single project file within a loaded project tree, after attribute inheritance, variable expansion, and extension redirection have been applied.
- Qualifier
One or two keywords placed immediately before the
projectkeyword to declare the project’s kind explicitly:abstract,library,aggregate,aggregate library,configuration, orstandard. See Project Kinds.- Root project
The project file named on the command line (or discovered automatically). It is the starting point for project tree loading and, for GPRbuild, the source of the
MainandBuilderattributes that drive the build.- Signature
A checksum computed over all inputs and expected outputs of an action (source files, dependency closures, switches, configuration). GPRbuild2 stores signatures in the build database; an action is re-executed only when its signature has changed.
- Source directory
A directory listed in the
Source_Dirsattribute from which the project model collects source files. See Source Resolution.- Stand-alone library (SAL)
A library project that bundles its own elaboration code, declared by setting
Library_InterfaceorInterfaces. A SAL can be loaded independently of the main program’s elaboration sequence. See Library Project.- Standard project
The default project kind: contains sources and produces executables or object files. The
standardqualifier may be omitted. See Standard Project.- Unit
An Ada compilation unit: a package, subprogram, generic, or instantiation, identified by a dotted name. One or more units may reside in a single source file.
withclauseA declaration at the top of a project file that imports another project, making its attributes and sources visible. The imported project is added to the project tree.