aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/mlib.adb
diff options
context:
space:
mode:
authorVincent Celier <celier@adacore.com>2005-11-15 14:56:14 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2005-11-15 14:56:14 +0100
commit104e4daaa53212b718cc916a0a688c06dab6a5fb (patch)
tree670ec552e0e07e24221f4ff7c9afded0eb8cb6ed /gcc/ada/mlib.adb
parentf9f7e1022c37e88c1fd0d622af84d25c7b0507bb (diff)
downloadgcc-104e4daaa53212b718cc916a0a688c06dab6a5fb.zip
gcc-104e4daaa53212b718cc916a0a688c06dab6a5fb.tar.gz
gcc-104e4daaa53212b718cc916a0a688c06dab6a5fb.tar.bz2
clean.adb (Check_Project): Look for Ada code in extending project, even if Ada is not specified as a language.
2005-11-14 Vincent Celier <celier@adacore.com> * clean.adb (Check_Project): Look for Ada code in extending project, even if Ada is not specified as a language. Use new function DLL_Prefix for DLL_Name (Clean_Interface_Copy_Directory): New procedure (Clean_Library_Directory): New procedure (Clean_Directory): Remove procedure, no longer used (Clean_Project): Do not delete any file in an externally built project * prj-env.adb (Set_Ada_Paths.Add.Recursive_Add): Add the object directory of an extending project, even when there are no Ada source present. (Ada_Objects_Path.Add): Add Library_ALI_Dir, not Library_Dir to the path (Set_Ada_Paths.Add.Recursive_Add): Ditto * mlib-prj.adb (Check_Library): For all library projects, get the library file timestamp. (Build_Library): Copy ALI files in Library_ALI_Dir, not in Library_Dir (Build_Library): Use new function DLL_Prefix for the DLL_Name (Clean): Remove procedure, no longer used (Ultimate_Extension_Of): New function (Build_Library): When cleaning the library directory, only remove an existing library file and any ALI file of a source of the project. When cleaning the interface copy directory, remove any source that could be a source of the project. * prj.ads, prj.adb (Project_Empty): Add values of new components Library_TS and All_Imported_Projects. (Project_Empty): Add values for new components of Project_Data: Library_ALI_Dir and Display_Library_ALI_Dir * prj-attr.adb: New project level attribute name Library_ALI_Dir * prj-nmsc.adb (Check_Library_Attributes): Take into account new attribute Library_ALI_Dir. (Check_Library_Attributes): The library directory cannot be the same as any source directory of the project tree. (Check_Stand_Alone_Library): The interface copy directory cannot be the same as any source directory of the project tree. * mlib.adb: Use Prj.Com.Fail, instead of Osint.Fail directly, to delete all temporary files. From-SVN: r106967
Diffstat (limited to 'gcc/ada/mlib.adb')
-rw-r--r--gcc/ada/mlib.adb22
1 files changed, 12 insertions, 10 deletions
diff --git a/gcc/ada/mlib.adb b/gcc/ada/mlib.adb
index 338a304..549578a 100644
--- a/gcc/ada/mlib.adb
+++ b/gcc/ada/mlib.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1999-2005, Ada Core Technologies, Inc. --
+-- Copyright (C) 1999-2005, 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- --
@@ -34,6 +34,8 @@ with Namet; use Namet;
with MLib.Utl; use MLib.Utl;
+with Prj.Com;
+
with GNAT.Directory_Operations; use GNAT.Directory_Operations;
package body MLib is
@@ -67,24 +69,24 @@ package body MLib is
procedure Check_Library_Name (Name : String) is
begin
if Name'Length = 0 then
- Fail ("library name cannot be empty");
+ Prj.Com.Fail ("library name cannot be empty");
end if;
if Name'Length > Max_Characters_In_Library_Name then
- Fail ("illegal library name """, Name, """: too long");
+ Prj.Com.Fail ("illegal library name """, Name, """: too long");
end if;
if not Is_Letter (Name (Name'First)) then
- Fail ("illegal library name """,
- Name,
- """: should start with a letter");
+ Prj.Com.Fail ("illegal library name """,
+ Name,
+ """: should start with a letter");
end if;
for Index in Name'Range loop
if not Is_Alphanumeric (Name (Index)) then
- Fail ("illegal library name """,
- Name,
- """: should include only letters and digits");
+ Prj.Com.Fail ("illegal library name """,
+ Name,
+ """: should include only letters and digits");
end if;
end loop;
end Check_Library_Name;
@@ -273,7 +275,7 @@ package body MLib is
end;
if not Success then
- Fail ("could not copy ALI files to library dir");
+ Prj.Com.Fail ("could not copy ALI files to library dir");
end if;
end loop;
end if;