Next: Attribute References, Previous: Attributes, Up: Project File Reference
The following attributes apply to a project. All of them are simple attributes.
Object_Dir
Exec_Dir
Source_Dirs
Excluded_Source_Dirs
Source_Files
Excluded_Source_Files (Locally_Removed_Files)
Source_List_File
Library_Dir
Library_Name
Library_Kind
"static"
, "dynamic"
or "relocatable"
. This
string is case-insensitive. If this attribute is not specified, the library is
a static library. Otherwise, the library may be dynamic or relocatable. This
distinction is operating-system dependent.
Library_Version
"soname"
). If the
library file name (built from the Library_Name
) is different from the
Library_Version
, then the library file will be a symbolic link to the
actual file whose name will be Library_Version
.
Library_Interface
Library_Auto_Init
Library_Options
Library_GCC
Library_Src_Dir
Library_Src_Dir
Library_Symbol_File
Library_Reference_Symbol_File
Library_Symbol_Policy
This attribute is not taken into account on all platforms. It controls the policy for exported symbols and, on some platforms (like VMS) that have the notions of major and minor IDs built in the library files, it controls the setting of these IDs.
"autonomous" or "default": exported symbols are not controlled.
"compliant": if attribute Library_Reference_Symbol_File is not defined, then it is equivalent to policy "autonomous". If there are exported symbols in the reference symbol file that are not in the object files of the interfaces, the major ID of the library is increased. If there are symbols in the object files of the interfaces that are not in the reference symbol file, these symbols are put at the end of the list in the newly created symbol file and the minor ID is increased.
"controlled": the attribute Library_Reference_Symbol_File must be defined. The library will fail to build if the exported symbols in the object files of the interfaces do not match exactly the symbol in the symbol file.
"restricted": The attribute Library_Symbol_File must be defined. The library will fail to build if there are symbols in the symbol file that are not in the exported symbols of the object files of the interfaces. Additional symbols in the object files are not added to the symbol file.
"direct": The attribute Library_Symbol_File must be defined and must designate
an existing file in the object directory. This symbol file is passed directly
to the underlying linker without any symbol processing.
Main
When a project file is elaborated, as part of the execution of a gnatmake
command, one or several executables are built and placed in the Exec_Dir.
If the gnatmake command does not include explicit file names, the executables
that are built correspond to the files specified by this attribute.
Externally_Built
Main_Language
Languages