-- indicate to gnatstub the name of the body file with
-- a -o switch.
- if Body_Suffix_Id_Of (Project_Tree, "ada", Data.Naming) /=
+ if Body_Suffix_Id_Of (Project_Tree, Name_Ada, Data.Naming) /=
Prj.Default_Ada_Spec_Suffix
then
if File_Index /= 0 then
begin
Get_Name_String
(Spec_Suffix_Id_Of
- (Project_Tree, "ada", Data.Naming));
+ (Project_Tree, Name_Ada, Data.Naming));
if Spec'Length > Name_Len
and then Spec (Last - Name_Len + 1 .. Last) =
Last := Last - Name_Len;
Get_Name_String
(Body_Suffix_Id_Of
- (Project_Tree, "ada", Data.Naming));
+ (Project_Tree, Name_Ada, Data.Naming));
Last_Switches.Increment_Last;
Last_Switches.Table (Last_Switches.Last) :=
new String'("-o");
with Ada.Unchecked_Deallocation;
with Debug;
-with Output; use Output;
with Osint; use Osint;
with Prj.Attr;
with Prj.Env;
-- Body_Suffix_Id_Of --
-----------------------
- function Body_Suffix_Id_Of
- (In_Tree : Project_Tree_Ref;
- Language : String;
- Naming : Naming_Data) return File_Name_Type
- is
- Language_Id : Name_Id;
-
- begin
- Name_Len := 0;
- Add_Str_To_Name_Buffer (Language);
- To_Lower (Name_Buffer (1 .. Name_Len));
- Language_Id := Name_Find;
-
- return
- Body_Suffix_Id_Of
- (In_Tree => In_Tree,
- Language_Id => Language_Id,
- Naming => Naming);
- end Body_Suffix_Id_Of;
-
- -----------------------
- -- Body_Suffix_Id_Of --
- -----------------------
-
function Body_Suffix_Id_Of
(In_Tree : Project_Tree_Ref;
Language_Id : Name_Id;
is
Element_Id : Array_Element_Id;
Element : Array_Element;
- Suffix : File_Name_Type := No_File;
- Lang : Language_Ptr;
begin
-- ??? This seems to be only for Ada_Only mode...
Element_Id := Element.Next;
end loop;
- if Current_Mode = Multi_Language then
- Lang := In_Tree.First_Language;
- while Lang /= No_Language_Index loop
- if Lang.Name = Language_Id then
- Suffix := Lang.Config.Naming_Data.Body_Suffix;
- exit;
- end if;
-
- Lang := Lang.Next;
- end loop;
- end if;
-
- return Suffix;
+ return No_File;
end Body_Suffix_Id_Of;
--------------------
Language_Id : Name_Id;
Element_Id : Array_Element_Id;
Element : Array_Element;
- Suffix : File_Name_Type := No_File;
- Lang : Language_Ptr;
begin
Name_Len := 0;
Element_Id := Element.Next;
end loop;
- if Current_Mode = Multi_Language then
- Lang := In_Tree.First_Language;
- while Lang /= No_Language_Index loop
- if Lang.Name = Language_Id then
- Suffix := File_Name_Type (Lang.Config.Naming_Data.Body_Suffix);
- exit;
- end if;
-
- Lang := Lang.Next;
- end loop;
-
- if Suffix /= No_File then
- return Get_Name_String (Suffix);
- end if;
- end if;
-
return "";
end Body_Suffix_Of;
end case;
end Dependency_Name;
- ---------------------------
- -- Display_Language_Name --
- ---------------------------
-
- procedure Display_Language_Name
- (Language : Language_Ptr)
- is
- begin
- Get_Name_String (Language.Display_Name);
- Write_Str (Name_Buffer (1 .. Name_Len));
- end Display_Language_Name;
-
----------------
-- Empty_File --
----------------
return False;
end Is_Extending;
- -----------------------
- -- Objects_Exist_For --
- -----------------------
-
- function Objects_Exist_For
- (Language : String;
- In_Tree : Project_Tree_Ref) return Boolean
- is
- Language_Id : Name_Id;
- Lang : Language_Ptr;
-
- begin
- if Current_Mode = Multi_Language then
- Name_Len := 0;
- Add_Str_To_Name_Buffer (Language);
- To_Lower (Name_Buffer (1 .. Name_Len));
- Language_Id := Name_Find;
-
- Lang := In_Tree.First_Language;
- while Lang /= No_Language_Index loop
- if Lang.Name = Language_Id then
- return Lang.Config.Object_Generated;
- end if;
-
- Lang := Lang.Next;
- end loop;
- end if;
-
- return True;
- end Objects_Exist_For;
-
-----------------
-- Object_Name --
-----------------
-- Spec_Suffix_Id_Of --
-----------------------
- function Spec_Suffix_Id_Of
- (In_Tree : Project_Tree_Ref;
- Language : String;
- Naming : Naming_Data) return File_Name_Type
- is
- Language_Id : Name_Id;
-
- begin
- Name_Len := 0;
- Add_Str_To_Name_Buffer (Language);
- To_Lower (Name_Buffer (1 .. Name_Len));
- Language_Id := Name_Find;
-
- return
- Spec_Suffix_Id_Of
- (In_Tree => In_Tree,
- Language_Id => Language_Id,
- Naming => Naming);
- end Spec_Suffix_Id_Of;
-
- -----------------------
- -- Spec_Suffix_Id_Of --
- -----------------------
-
function Spec_Suffix_Id_Of
(In_Tree : Project_Tree_Ref;
Language_Id : Name_Id;
is
Element_Id : Array_Element_Id;
Element : Array_Element;
- Suffix : File_Name_Type := No_File;
- Lang : Language_Ptr;
begin
Element_Id := Naming.Spec_Suffix;
Element_Id := Element.Next;
end loop;
- if Current_Mode = Multi_Language then
- Lang := In_Tree.First_Language;
- while Lang /= No_Language_Index loop
- if Lang.Name = Language_Id then
- Suffix := Lang.Config.Naming_Data.Spec_Suffix;
- exit;
- end if;
-
- Lang := Lang.Next;
- end loop;
- end if;
-
- return Suffix;
+ return No_File;
end Spec_Suffix_Id_Of;
--------------------
Language_Id : Name_Id;
Element_Id : Array_Element_Id;
Element : Array_Element;
- Suffix : File_Name_Type := No_File;
- Lang : Language_Ptr;
begin
Name_Len := 0;
Element_Id := Element.Next;
end loop;
- if Current_Mode = Multi_Language then
- Lang := In_Tree.First_Language;
- while Lang /= No_Language_Index loop
- if Lang.Name = Language_Id then
- Suffix :=
- File_Name_Type (Lang.Config.Naming_Data.Spec_Suffix);
- exit;
- end if;
-
- Lang := Lang.Next;
- end loop;
-
- if Suffix /= No_File then
- return Get_Name_String (Suffix);
- end if;
- end if;
-
return "";
end Spec_Suffix_Of;
No_Language_Index : constant Language_Ptr := null;
-- Constant indicating that there is no language data
- procedure Display_Language_Name
- (Language : Language_Ptr);
- -- Output the name of a language
-
Max_Header_Num : constant := 6150;
type Header_Num is range 0 .. Max_Header_Num;
-- Size for hash table below. The upper bound is an arbitrary value, the
Language : String;
Naming : Naming_Data) return String;
- function Spec_Suffix_Id_Of
- (In_Tree : Project_Tree_Ref;
- Language : String;
- Naming : Naming_Data) return File_Name_Type;
-
function Spec_Suffix_Id_Of
(In_Tree : Project_Tree_Ref;
Language_Id : Name_Id;
Naming : in out Naming_Data;
Suffix : File_Name_Type);
- function Body_Suffix_Id_Of
- (In_Tree : Project_Tree_Ref;
- Language : String;
- Naming : Naming_Data) return File_Name_Type;
-
function Body_Suffix_Id_Of
(In_Tree : Project_Tree_Ref;
Language_Id : Name_Id;
Naming : in out Naming_Data;
Suffix : File_Name_Type);
- function Objects_Exist_For
- (Language : String;
- In_Tree : Project_Tree_Ref) return Boolean;
-
function Standard_Naming_Data
(Tree : Project_Tree_Ref := No_Project_Tree) return Naming_Data;
pragma Inline (Standard_Naming_Data);
type Project_Tree_Data is
record
- -- Languages and sources of the project
-
- First_Language : Language_Ptr := No_Language_Index;
- --
+ -- sources of the project
First_Source : Source_Id := No_Source;
--