AdaCore, provider of the highest quality Ada tools and support services, announced GPRbuild, an advanced new software tool designed to help automate the construction of multi-language systems. The first tool of its kind, it removes complexity from multi-language development by allowing developers to quickly and easily compile and link software written in a combination of languages including Ada, assembler, C. C++ and Fortran. Easily extendable by users to cover new toolchains and languages it is primarily aimed at projects of all sizes organised into subsystems and libraries and is particularly well-suited for compiled languages.
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.
“With more and more projects becoming multi-language there is a growing need for a generic build utility that can make integration a less complex and more automatic process,” commented Cyrille Comar, managing director, AdaCore. “Developed following customer feedback, GPRbuild is simple and straightforward to operate, enabling users to concentrate on development rather than needing to worry about bringing multi-language applications together into a single 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, post-compilation (binding) and linking.
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.
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:
- language characteristics (such as source naming conventions)
- toolchain characteristics (such as compiler invocation)
- subsystem characteristics (such as compiler default options)
- source file characteristics (such as file specific compilation options)
GPRbuild is immediately available from October 2007 in beta, as part of the GNAT Pro subscription. It runs on all GNAT Pro supported configurations – please contact AdaCore (firstname.lastname@example.org) for the latest information on pricing.
Founded in 1994, AdaCore is the leading provider of commercial software solutions for Ada, a modern programming language designed for large, long-lived applications where safety, security, and reliability are critical. AdaCore’s flagship product is GNAT Pro, which comes with expert online support. AdaCore has a large world-wide customer base in high-integrity and safety-certified applications, including avionics, defence, air traffic control, railroad systems, and financial services. AdaCore has North American headquarters in New York and European headquarters in Paris.