Previous: Debugging Control, Up: Switches for gcc


3.2.16 Units to Sources Mapping Files

-gnatempath
A mapping file is a way to communicate to the compiler two mappings: from unit names to file names (without any directory information) and from file names to path names (with full directory information). These mappings are used by the compiler to short-circuit the path search.

A mapping file is a sequence of sets of three lines. In each set, the first line is the unit name, in lower case, with "%s" appended for specifications and "%b" appended for bodies; the second line is the file name; and the third line is the path name.

Example:

             main%b
             main.2.ada
             /gnat/project1/sources/main.2.ada
     

When the switch -gnatem is specified, the compiler will create in memory the two mappings from the specified file. If there is any problem (non existent file, truncated file or duplicate entries), no mapping will be created.

Several -gnatem switches may be specified; however, only the last one on the command line will be taken into account.

When using a project file, gnatmake create a temporary mapping file and communicates it to the compiler using this switch.