2008-05-27 Vincent Celier <celier@adacore.com>
authorVincent Celier <celier@adacore.com>
Tue, 27 May 2008 09:09:47 +0000 (11:09 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 27 May 2008 09:09:47 +0000 (11:09 +0200)
* prj-nmsc.adb:
(Check_Library): Allow standard project to be extended as a static
library project.
(Get_Mains): Do not inherit attribute Main in an extending library
project.

From-SVN: r135986

gcc/ada/prj-nmsc.adb

index b04ce2603bf8e14f1c0a56450154cae9bf9c1826..ed81d61c0b6dc6c8f1ea0c6cc6c939b2dae10685 100644 (file)
@@ -3851,13 +3851,15 @@ package body Prj.Nmsc is
                   Error_Msg_Name_2 := Proj_Data.Name;
 
                   if Extends then
-                     Error_Msg
-                       (Project, In_Tree,
-                        Continuation.all &
-                        "shared library project %% cannot extend " &
-                        "project %% that is not a library project",
-                        Data.Location);
-                     Continuation := Continuation_String'Access;
+                     if Data.Library_Kind /= Static then
+                        Error_Msg
+                          (Project, In_Tree,
+                           Continuation.all &
+                           "shared library project %% cannot extend " &
+                           "project %% that is not a library project",
+                           Data.Location);
+                        Continuation := Continuation_String'Access;
+                     end if;
 
                   elsif Data.Library_Kind /= Static then
                      Error_Msg
@@ -6846,7 +6848,7 @@ package body Prj.Nmsc is
       --  inherit the Mains from the project we are extending.
 
       if Mains.Default then
-         if Data.Extends /= No_Project then
+         if not Data.Library and then Data.Extends /= No_Project then
             Data.Mains :=
               In_Tree.Projects.Table (Data.Extends).Mains;
          end if;