summaryrefslogtreecommitdiff
path: root/gcc/ada/clean.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-13 10:45:14 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-07-13 10:45:14 +0000
commitd15bad045d8514e6c767e0bdc1cd2b2956274dbd (patch)
treef36850a6b47b83f1fbdba5bbb834d88e131763f5 /gcc/ada/clean.adb
parent15a0a16549b258f53a99b57968c64192448df6cc (diff)
downloadgcc-d15bad045d8514e6c767e0bdc1cd2b2956274dbd.tar.gz
2009-07-13 Emmanuel Briot <briot@adacore.com>
* gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb, gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb, prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb, prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages and attributes in a project tree. (Add_Default_GNAT_Naming_Scheme): Provide real implementation. Remove last remaining mode-specific code (ada_only or multi_language). This was duplicating code (Get_Mode, Set_Mode): removed, no longer used. (Initialize_Project_Path): all tools will now take into account both GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order). Remove some global variables and subprograms no longer used Make temporary files tree-specific, to avoid interferences between trees loaded in memory at the same time. (Prj.Delete_Temporary_File): new subprogram (Object_Paths, Source_Paths): fields no longer stored in the project tree, since they are only needed locally in Set_Ada_Paths. (Set_Mapping_File_Initial_State_To_Empty): removed, since had no effect in practice. (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced by local variables in the appropriate subprograms (Has_Foreign_Sources): removed. * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149568 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/clean.adb')
-rw-r--r--gcc/ada/clean.adb13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ada/clean.adb b/gcc/ada/clean.adb
index 79c0431f982..e4d438732b5 100644
--- a/gcc/ada/clean.adb
+++ b/gcc/ada/clean.adb
@@ -1044,7 +1044,18 @@ package body Clean is
begin
Proj := Project_Tree.Projects;
while Proj /= null loop
- if Has_Foreign_Sources (Proj.Project) then
+
+ -- for gnatmake, when the project specifies more than
+ -- Ada as a language (even if course we could not find
+ -- any source file for the other languages), we will
+ -- take all object files found in the object
+ -- directories. Since we know the project supports at
+ -- least Ada, we just have to test whether it has at
+ -- least two languages, and not care about the sources
+
+ if Proj.Project.Languages /= null
+ and then Proj.Project.Languages.Next /= null
+ then
Global_Archive := True;
exit;
end if;