Commit 0780eccc by Vincent Celier Committed by Arnaud Charlet

mlib.adb (Building_Library): Only output "building a library..." in verbose mode

2007-04-06  Vincent Celier  <celier@adacore.com>

	* mlib.adb (Building_Library): Only output "building a library..." in
	verbose mode

	* mlib-prj.adb (Build_Library): Only output lists of object and ALI
	files in verbose mode.

	* mlib-utl.adb (Ar): Only output the first object files when not in
	verbose mode.
	(Gcc): Do not display all the object files if not in verbose mode, only
	the first one.

From-SVN: r123585
parent 0916df6a
...@@ -1393,30 +1393,35 @@ package body MLib.Prj is ...@@ -1393,30 +1393,35 @@ package body MLib.Prj is
Write_Str (" library for project "); Write_Str (" library for project ");
Write_Line (Project_Name); Write_Line (Project_Name);
Write_Eol; -- Only output the list of object files and ALI files in verbose
-- mode.
Write_Line ("object files:"); if Opt.Verbose_Mode then
Write_Eol;
for Index in Object_Files'Range loop Write_Line ("object files:");
Write_Str (" ");
Write_Line (Object_Files (Index).all);
end loop;
Write_Eol; for Index in Object_Files'Range loop
Write_Str (" ");
Write_Line (Object_Files (Index).all);
end loop;
if Ali_Files'Length = 0 then Write_Eol;
Write_Line ("NO ALI files");
else if Ali_Files'Length = 0 then
Write_Line ("ALI files:"); Write_Line ("NO ALI files");
for Index in Ali_Files'Range loop else
Write_Str (" "); Write_Line ("ALI files:");
Write_Line (Ali_Files (Index).all);
end loop;
end if;
Write_Eol; for Index in Ali_Files'Range loop
Write_Str (" ");
Write_Line (Ali_Files (Index).all);
end loop;
end if;
Write_Eol;
end if;
end if; end if;
-- We check that all object files are regular files -- We check that all object files are regular files
......
...@@ -124,6 +124,14 @@ package body MLib.Utl is ...@@ -124,6 +124,14 @@ package body MLib.Utl is
end if; end if;
Write_Char (' '); Write_Char (' ');
-- Only output the first object files when not in verbose mode
if (not Opt.Verbose_Mode) and then J = Ar_Options'Length + 3 then
Write_Str ("...");
exit;
end if;
Write_Str (Arguments (J).all); Write_Str (Arguments (J).all);
Line_Length := Line_Length + 1 + Arguments (J)'Length; Line_Length := Line_Length + 1 + Arguments (J)'Length;
end loop; end loop;
...@@ -209,6 +217,10 @@ package body MLib.Utl is ...@@ -209,6 +217,10 @@ package body MLib.Utl is
Driver : String_Access; Driver : String_Access;
type Object_Position is (First, Second, Last);
Position : Object_Position;
begin begin
if Driver_Name = No_Name then if Driver_Name = No_Name then
if Gcc_Exec = null then if Gcc_Exec = null then
...@@ -246,12 +258,6 @@ package body MLib.Utl is ...@@ -246,12 +258,6 @@ package body MLib.Utl is
A := A + Options'Length; A := A + Options'Length;
Arguments (A - Options'Length + 1 .. A) := Options; Arguments (A - Options'Length + 1 .. A) := Options;
A := A + Objects'Length;
Arguments (A - Objects'Length + 1 .. A) := Objects;
A := A + Options_2'Length;
Arguments (A - Options_2'Length + 1 .. A) := Options_2;
if not Opt.Quiet_Output then if not Opt.Quiet_Output then
Write_Str (Driver.all); Write_Str (Driver.all);
...@@ -260,9 +266,36 @@ package body MLib.Utl is ...@@ -260,9 +266,36 @@ package body MLib.Utl is
Write_Str (Arguments (J).all); Write_Str (Arguments (J).all);
end loop; end loop;
-- Do not display all the object files if not in verbose mode, only
-- the first one.
Position := First;
for J in Objects'Range loop
if Opt.Verbose_Mode or else Position = First then
Write_Char (' ');
Write_Str (Objects (J).all);
Position := Second;
elsif Position = Second then
Write_Str (" ...");
Position := Last;
end if;
end loop;
for J in Options_2'Range loop
Write_Char (' ');
Write_Str (Options_2 (J).all);
end loop;
Write_Eol; Write_Eol;
end if; end if;
A := A + Objects'Length;
Arguments (A - Objects'Length + 1 .. A) := Objects;
A := A + Options_2'Length;
Arguments (A - Options_2'Length + 1 .. A) := Options_2;
OS_Lib.Spawn (Driver.all, Arguments (1 .. A), Success); OS_Lib.Spawn (Driver.all, Arguments (1 .. A), Success);
if not Success then if not Success then
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- Copyright (C) 1999-2005, AdaCore -- -- Copyright (C) 1999-2006, AdaCore --
-- -- -- --
-- GNAT is free software; you can redistribute it and/or modify it under -- -- 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- -- -- terms of the GNU General Public License as published by the Free Soft- --
...@@ -53,7 +53,7 @@ package body MLib is ...@@ -53,7 +53,7 @@ package body MLib is
pragma Warnings (Off, Afiles); pragma Warnings (Off, Afiles);
begin begin
if not Opt.Quiet_Output then if Opt.Verbose_Mode and not Opt.Quiet_Output then
Write_Line ("building a library..."); Write_Line ("building a library...");
Write_Str (" make "); Write_Str (" make ");
Write_Line (Output_File); Write_Line (Output_File);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment