make.adb (Gnatmake): Add to table Library_Projs only library projects that are not extended.
2011-08-03 Vincent Celier <celier@adacore.com> * make.adb (Gnatmake): Add to table Library_Projs only library projects that are not extended. Do not check if a library project that is extended should be regenerated. Do not add to table Library_Paths the libraries that are in extended projects. Link only with libraries that are in libray projects that are not extended. * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library for a library project that is extended. From-SVN: r177269
This commit is contained in:
parent
276e02243a
commit
f77b022b82
|
@ -1,3 +1,13 @@
|
||||||
|
2011-08-03 Vincent Celier <celier@adacore.com>
|
||||||
|
|
||||||
|
* make.adb (Gnatmake): Add to table Library_Projs only library projects
|
||||||
|
that are not extended. Do not check if a library project that is
|
||||||
|
extended should be regenerated. Do not add to table Library_Paths the
|
||||||
|
libraries that are in extended projects. Link only with libraries that
|
||||||
|
are in libray projects that are not extended.
|
||||||
|
* prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
|
||||||
|
for a library project that is extended.
|
||||||
|
|
||||||
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
2011-08-03 Gary Dismukes <dismukes@adacore.com>
|
||||||
|
|
||||||
* sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
|
* sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
|
||||||
|
|
|
@ -5530,6 +5530,7 @@ package body Make is
|
||||||
|
|
||||||
Proj1 := Project_Tree.Projects;
|
Proj1 := Project_Tree.Projects;
|
||||||
while Proj1 /= null loop
|
while Proj1 /= null loop
|
||||||
|
if Proj1.Project.Extended_By = No_Project then
|
||||||
if Proj1.Project.Standalone_Library then
|
if Proj1.Project.Standalone_Library then
|
||||||
Stand_Alone_Libraries := True;
|
Stand_Alone_Libraries := True;
|
||||||
end if;
|
end if;
|
||||||
|
@ -5542,6 +5543,7 @@ package body Make is
|
||||||
if Proj1.Project.Need_To_Build_Lib then
|
if Proj1.Project.Need_To_Build_Lib then
|
||||||
Add_To_Library_Projs (Proj1.Project);
|
Add_To_Library_Projs (Proj1.Project);
|
||||||
end if;
|
end if;
|
||||||
|
end if;
|
||||||
|
|
||||||
Proj1 := Proj1.Next;
|
Proj1 := Proj1.Next;
|
||||||
end loop;
|
end loop;
|
||||||
|
@ -5553,6 +5555,7 @@ package body Make is
|
||||||
Proj1 := Project_Tree.Projects;
|
Proj1 := Project_Tree.Projects;
|
||||||
while Proj1 /= null loop
|
while Proj1 /= null loop
|
||||||
if Proj1.Project.Library
|
if Proj1.Project.Library
|
||||||
|
and then Proj1.Project.Extended_By = No_Project
|
||||||
and then Proj1.Project.Library_Kind /= Static
|
and then Proj1.Project.Library_Kind /= Static
|
||||||
and then not Proj1.Project.Need_To_Build_Lib
|
and then not Proj1.Project.Need_To_Build_Lib
|
||||||
and then not Proj1.Project.Externally_Built
|
and then not Proj1.Project.Externally_Built
|
||||||
|
@ -5898,11 +5901,10 @@ package body Make is
|
||||||
-- except those of library projects.
|
-- except those of library projects.
|
||||||
|
|
||||||
Prj.Env.Set_Ada_Paths
|
Prj.Env.Set_Ada_Paths
|
||||||
(Main_Project, Project_Tree, Use_Include_Path_File);
|
(Project => Main_Project,
|
||||||
-- (Project => Main_Project,
|
In_Tree => Project_Tree,
|
||||||
-- In_Tree => Project_Tree,
|
Including_Libraries => False,
|
||||||
-- Including_Libraries => True,
|
Include_Path => Use_Include_Path_File);
|
||||||
-- Include_Path => Use_Include_Path_File);
|
|
||||||
|
|
||||||
-- If switch -C was specified, create a binder mapping file
|
-- If switch -C was specified, create a binder mapping file
|
||||||
|
|
||||||
|
@ -6000,6 +6002,7 @@ package body Make is
|
||||||
-- is set, add it to the Library_Paths table.
|
-- is set, add it to the Library_Paths table.
|
||||||
|
|
||||||
if Proj1.Project.Library_Kind /= Static
|
if Proj1.Project.Library_Kind /= Static
|
||||||
|
and then Proj1.Project.Extended_By = No_Project
|
||||||
and then Path_Option /= null
|
and then Path_Option /= null
|
||||||
then
|
then
|
||||||
Library_Paths.Increment_Last;
|
Library_Paths.Increment_Last;
|
||||||
|
@ -6014,6 +6017,9 @@ package body Make is
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
for Index in 1 .. Library_Projs.Last loop
|
for Index in 1 .. Library_Projs.Last loop
|
||||||
|
if
|
||||||
|
Library_Projs.Table (Index).Extended_By = No_Project
|
||||||
|
then
|
||||||
if Library_Projs.Table (Index).Library_Kind = Static
|
if Library_Projs.Table (Index).Library_Kind = Static
|
||||||
and then not Targparm.OpenVMS_On_Target
|
and then not Targparm.OpenVMS_On_Target
|
||||||
then
|
then
|
||||||
|
@ -6025,7 +6031,8 @@ package body Make is
|
||||||
(Index).Library_Dir.Display_Name) &
|
(Index).Library_Dir.Display_Name) &
|
||||||
"lib" &
|
"lib" &
|
||||||
Get_Name_String
|
Get_Name_String
|
||||||
(Library_Projs.Table (Index). Library_Name) &
|
(Library_Projs.Table
|
||||||
|
(Index).Library_Name) &
|
||||||
"." &
|
"." &
|
||||||
MLib.Tgt.Archive_Ext);
|
MLib.Tgt.Archive_Ext);
|
||||||
|
|
||||||
|
@ -6048,6 +6055,7 @@ package body Make is
|
||||||
(Library_Projs.Table (Index).
|
(Library_Projs.Table (Index).
|
||||||
Library_Name));
|
Library_Name));
|
||||||
end if;
|
end if;
|
||||||
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
|
|
|
@ -4271,8 +4271,6 @@ package body Prj.Nmsc is
|
||||||
exit;
|
exit;
|
||||||
end if;
|
end if;
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
Project.Extends.Library := False;
|
|
||||||
end if;
|
end if;
|
||||||
|
|
||||||
if Project.Library and then not Lib_Name.Default then
|
if Project.Library and then not Lib_Name.Default then
|
||||||
|
|
Loading…
Reference in New Issue