diff options
Diffstat (limited to 'gcc/ada/mlib-tgt-linux.adb')
-rw-r--r-- | gcc/ada/mlib-tgt-linux.adb | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/gcc/ada/mlib-tgt-linux.adb b/gcc/ada/mlib-tgt-linux.adb index 71584f26a3a..762d1362810 100644 --- a/gcc/ada/mlib-tgt-linux.adb +++ b/gcc/ada/mlib-tgt-linux.adb @@ -7,7 +7,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 2001-2004, Free Software Foundation, Inc. -- +-- Copyright (C) 2001-2005, Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -266,9 +266,11 @@ package body MLib.Tgt is -- Library_Exists_For -- ------------------------ - function Library_Exists_For (Project : Project_Id) return Boolean is + function Library_Exists_For + (Project : Project_Id; In_Tree : Project_Tree_Ref) return Boolean + is begin - if not Projects.Table (Project).Library then + if not In_Tree.Projects.Table (Project).Library then Prj.Com.Fail ("INTERNAL ERROR: Library_Exists_For called " & "for non library project"); return False; @@ -276,12 +278,16 @@ package body MLib.Tgt is else declare Lib_Dir : constant String := - Get_Name_String (Projects.Table (Project).Library_Dir); + Get_Name_String + (In_Tree.Projects.Table (Project).Library_Dir); Lib_Name : constant String := - Get_Name_String (Projects.Table (Project).Library_Name); + Get_Name_String + (In_Tree.Projects.Table (Project).Library_Name); begin - if Projects.Table (Project).Library_Kind = Static then + if In_Tree.Projects.Table (Project).Library_Kind = + Static + then return Is_Regular_File (Lib_Dir & Directory_Separator & "lib" & Fil.Ext_To (Lib_Name, Archive_Ext)); @@ -299,9 +305,12 @@ package body MLib.Tgt is -- Library_File_Name_For -- --------------------------- - function Library_File_Name_For (Project : Project_Id) return Name_Id is + function Library_File_Name_For + (Project : Project_Id; + In_Tree : Project_Tree_Ref) return Name_Id + is begin - if not Projects.Table (Project).Library then + if not In_Tree.Projects.Table (Project).Library then Prj.Com.Fail ("INTERNAL ERROR: Library_File_Name_For called " & "for non library project"); return No_Name; @@ -309,13 +318,16 @@ package body MLib.Tgt is else declare Lib_Name : constant String := - Get_Name_String (Projects.Table (Project).Library_Name); + Get_Name_String + (In_Tree.Projects.Table (Project).Library_Name); begin Name_Len := 3; Name_Buffer (1 .. Name_Len) := "lib"; - if Projects.Table (Project).Library_Kind = Static then + if In_Tree.Projects.Table (Project).Library_Kind = + Static + then Add_Str_To_Name_Buffer (Fil.Ext_To (Lib_Name, Archive_Ext)); else |