Designed to work both with any version of AdaCore’s GNAT Pro development environment GPRbuild features a built in knowledge base that understands the characteristics of compilers across a wide variety of languages. Rather than having to maintain complex rules for building each components of a system, developers simply specify sources location and compiler options. GPRbuild automatically manages their integration into a complete system.
Previously developers needed to manually link components of multi-language applications, which relied on in-depth knowledge of each compiler involved as well as how they interact with each other. This process had to be repeated if new versions of compilers were used as there was no simple way of collecting and sharing integration data. GPRbuild’s inherent knowledge base covers most commonly used toolchains and languages but also allows developers to add their own information to standardise native and cross-platform configuration.
GPRbuild manages a three step build process:
Compilation:
Each compilation unit of every subsystem is examined in turn, checked for consistency and compiled or recompiled when necessary by the appropriate compiler. The recompilation decision is based on dependency information usually automatically captured by a former compilation.
Post-compilation (binding):
Compiled units of a given language are passed to a language specific post-compilation tool where it exists. It is also during this phase that objects are grouped into static or dynamic libraries as specified.
Linking:
All units or libraries from all subsystems are passed to a linker tool specific to the set of toolchains used together.
GPRbuild takes as its main input a project file defining the build characteristics of the system under construction such as: which sources to use, where to find them, where to store the objects produced by the compiler and which options the various tools should be invoked with.
While GPRbuild is generic in the sense that it provides equivalent build features for all supported languages, it also allows the addition of new languages and new toolchains and provides a means of configuring aspects including:
Programming in the large, multi-language support, excellent code quality and much more. Learn about the key technical features and benefits of GNAT Pro and why it’s the ultimate choice for the Ada Professional.
Integral to GNAT Pro are the exceptional consulting and support services we provide to our customers. Learn about our unique approach to support and how AdaCore expertise and can help keep your development project running smoothly.