mlib-prj.adb (Build_Library): Compare with ALI file name in canonical case to decide if...

2008-04-08  Vincent Celier  <celier@adacore.com>

	* mlib-prj.adb (Build_Library): Compare with ALI file name in canonical
	case to decide if ALI object file is included in library.
	(Build_Library): Never attempt to build a library if the project is
	externally built.

From-SVN: r134041
This commit is contained in:
Vincent Celier 2008-04-08 08:53:22 +02:00 committed by Arnaud Charlet
parent 4bb2bd7c0e
commit dba1712345
1 changed files with 17 additions and 10 deletions

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 2001-2007, AdaCore --
-- Copyright (C) 2001-2008, AdaCore --
-- --
-- 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- --
@ -829,6 +829,12 @@ package body MLib.Prj is
Com.Fail ("project """, Project_Name, """ has no library");
end if;
-- Do not attempt to build the library if it is externally built
if Data.Externally_Built then
return;
end if;
-- If this is the first time Build_Library is called, get the Name_Id
-- of "s-osinte.ads".
@ -1399,17 +1405,18 @@ package body MLib.Prj is
declare
ALI_File : constant String :=
Ext_To
(Filename (1 .. Last), "ali");
(C_Filename
(1 .. Last), "ali");
ALI_Path : constant String :=
Ext_To (Object_Path, "ali");
Ext_To (C_Object_Path, "ali");
Add_It : Boolean :=
There_Are_Foreign_Sources
or else
(Last > 5
and then
C_Filename
(1 .. B_Start'Length) =
B_Start.all);
or else
(Last > 5
and then
C_Filename
(1 .. B_Start'Length) =
B_Start.all);
Fname : File_Name_Type;
Proj : Project_Id;
@ -2348,7 +2355,7 @@ package body MLib.Prj is
Fd : FILEs;
-- Binder file's descriptor
Read_Mode : constant String := "r" & ASCII.Nul;
Read_Mode : constant String := "r" & ASCII.NUL;
-- For fopen
Status : Interfaces.C_Streams.int;