Next: , Previous: Creating an Ada Library, Up: GNAT and Libraries


16.2 Installing an Ada Library

In the GNAT model, installing a library consists in copying into a specific location the files that make up this library. It is possible to install the sources in a different directory from the other files (ALI, objects, archives) since the source path and the object path can easily be specified separately.

For general purpose libraries, it is possible for the system administrator to put those libraries in the default compiler paths. To achieve this, he must specify their location in the configuration files "ada_source_path" and "ada_object_path" that must be located in the GNAT installation tree at the same place as the gcc spec file. The location of the gcc spec file can be determined as follows:

     $ gcc -v

The configuration files mentioned above have simple format: each line in them must contain one unique directory name. Those names are added to the corresponding path in their order of appearance in the file. The names can be either absolute or relative, in the latter case, they are relative to where theses files are located.

"ada_source_path" and "ada_object_path" might actually not be present in a GNAT installation, in which case, GNAT will look for its run-time library in the directories "adainclude" for the sources and "adalib" for the objects and ALI files. When the files exist, the compiler does not look in "adainclude" and "adalib" at all, and thus the "ada_source_path" file must contain the location for the GNAT run-time sources (which can simply be "adainclude"). In the same way, the "ada_object_path" file must contain the location for the GNAT run-time objects (which can simply be "adalib").

You can also specify a new default path to the runtime library at compilation time with the switch "–RTS=rts-path". You can easily choose and change the runtime you want your program to be compiled with. This switch is recognized by gcc, gnatmake, gnatbind, gnatls, gnatfind and gnatxref.

It is possible to install a library before or after the standard GNAT library, by reordering the lines in the configuration files. In general, a library must be installed before the GNAT library if it redefines any part of it.