OSDN Git Service

* makegpr.adb (Compile): Put the compiling switches (in package
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 2004 11:25:50 +0000 (11:25 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 Nov 2004 11:25:50 +0000 (11:25 +0000)
Compiler and on the command line) immediately after "-c", instead of
at the end of the command line invocation of the compiler, when
compiling a non-Ada file.
(Build_Global_Archive): When there is no need to rebuild the archive,
set Global_Archive_Exists, so that the archive is passed to the linker
if one is needed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90914 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/makegpr.adb

index 8faf04d..fc6768c 100644 (file)
@@ -1176,6 +1176,11 @@ package body Makegpr is
             Write_Line  ("      -> up to date");
          end if;
 
+         --  No need to create a global archive, if there is no object
+         --  file to put into.
+
+         Global_Archive_Exists := Last_Source /= 0;
+
       --  Archive needs to be rebuilt
 
       else
@@ -2169,9 +2174,16 @@ package body Makegpr is
            (Lang_Names (Source.Language), Verbose_Mode);
       end if;
 
+      Add_Argument (Dash_c, True);
+
+      --  Add the compiling switches for this source found in
+      --  package Compiler of the project file, if they exist.
+
+      Add_Switches
+        (Data, Compiler, Source.Language, Source.File_Name);
+
       --  Specify the source to be compiled
 
-      Add_Argument (Dash_c, True);
       Add_Argument (Get_Name_String (Source.Path_Name), True);
 
       --  If non static library project, compile with the PIC option if there
@@ -2197,12 +2209,6 @@ package body Makegpr is
             Verbose_Mode);
       end if;
 
-      --  Add the compiling switches for this source found in
-      --  package Compiler of the project file, if they exist.
-
-      Add_Switches
-        (Data, Compiler, Source.Language, Source.File_Name);
-
       --  Add the compiling switches for the language specified
       --  on the command line, if any.