Commit 7ffa903f by Vincent Celier Committed by Geert Bosch

gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY, -c /COMPILE_ONLY, -l /LINK_ONLY

	* gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
	-c /COMPILE_ONLY, -l /LINK_ONLY

	* opt.ads:
	(Bind_Only): New Flag
	(Link_Only): New flag

	* switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
	and -l (Link_Only)

	* makeusg.adb: Add new switches -b and -l. Update Copyright notice.

	* make.adb:
	(Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
	(Gnatmake): Set the step flags. Only perform a step if the
	corresponding step flag is True.
	(Scan_Make_Arg): Reset the bind and link step flags when -u
	or -gnatc has been specified.

From-SVN: r47694
parent 578316b9
2001-12-05 Vincent Celier <celier@gnat.com>
* gnatcmd.adb: (MAKE): Add new translations: -b /BIND_ONLY,
-c /COMPILE_ONLY, -l /LINK_ONLY
* opt.ads:
(Bind_Only): New Flag
(Link_Only): New flag
* switch.adb (Scan_Make_Switches): Add processing for -b (Bind_Only)
and -l (Link_Only)
* makeusg.adb: Add new switches -b and -l. Update Copyright notice.
* make.adb:
(Do_Compile_Step, Do_Bind_Step, Do_Link_Step): New flags.
(Gnatmake): Set the step flags. Only perform a step if the
corresponding step flag is True.
(Scan_Make_Arg): Reset the bind and link step flags when -u
or -gnatc has been specified.
2001-12-05 Ed Schonberg <schonber@gnat.com> 2001-12-05 Ed Schonberg <schonber@gnat.com>
* sem_eval.adb (Eval_Concatenation): If left operand is a null string, * sem_eval.adb (Eval_Concatenation): If left operand is a null string,
......
...@@ -1014,9 +1014,15 @@ procedure GNATCmd is ...@@ -1014,9 +1014,15 @@ procedure GNATCmd is
S_Make_All : aliased constant S := "/ALL_FILES " & S_Make_All : aliased constant S := "/ALL_FILES " &
"-a"; "-a";
S_Make_Bind_Only : aliased constant S := "/BIND_ONLY " &
"-b";
S_Make_Bind : aliased constant S := "/BINDER_QUALIFIERS=?" & S_Make_Bind : aliased constant S := "/BINDER_QUALIFIERS=?" &
"-bargs BIND"; "-bargs BIND";
S_Make_Compile_Only : aliased constant S := "/COMPILE_ONLY " &
"-c";
S_Make_Comp : aliased constant S := "/COMPILER_QUALIFIERS=?" & S_Make_Comp : aliased constant S := "/COMPILER_QUALIFIERS=?" &
"-cargs COMPILE"; "-cargs COMPILE";
...@@ -1050,6 +1056,9 @@ procedure GNATCmd is ...@@ -1050,6 +1056,9 @@ procedure GNATCmd is
S_Make_Link : aliased constant S := "/LINKER_QUALIFIERS=?" & S_Make_Link : aliased constant S := "/LINKER_QUALIFIERS=?" &
"-largs LINK"; "-largs LINK";
S_Make_Link_Only : aliased constant S := "/LINK_ONLY " &
"-l";
S_Make_Minimal : aliased constant S := "/MINIMAL_RECOMPILATION " & S_Make_Minimal : aliased constant S := "/MINIMAL_RECOMPILATION " &
"-m"; "-m";
...@@ -1092,7 +1101,9 @@ procedure GNATCmd is ...@@ -1092,7 +1101,9 @@ procedure GNATCmd is
Make_Switches : aliased constant Switches := ( Make_Switches : aliased constant Switches := (
S_Make_All 'Access, S_Make_All 'Access,
S_Make_Bind 'Access, S_Make_Bind 'Access,
S_Make_Bind_Only'Access,
S_Make_Comp 'Access, S_Make_Comp 'Access,
S_Make_Compile_Only'Access,
S_Make_Cond 'Access, S_Make_Cond 'Access,
S_Make_Cont 'Access, S_Make_Cont 'Access,
S_Make_Current 'Access, S_Make_Current 'Access,
...@@ -1104,6 +1115,7 @@ procedure GNATCmd is ...@@ -1104,6 +1115,7 @@ procedure GNATCmd is
S_Make_Inplace 'Access, S_Make_Inplace 'Access,
S_Make_Library 'Access, S_Make_Library 'Access,
S_Make_Link 'Access, S_Make_Link 'Access,
S_Make_Link_Only'Access,
S_Make_Minimal 'Access, S_Make_Minimal 'Access,
S_Make_Nolink 'Access, S_Make_Nolink 'Access,
S_Make_Nostinc 'Access, S_Make_Nostinc 'Access,
......
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- $Revision: 1.14 $ -- $Revision$
-- -- -- --
-- Copyright (C) 1992-2000 Free Software Foundation, Inc. -- -- Copyright (C) 1992-2001 Free Software Foundation, Inc. --
-- -- -- --
-- 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- --
...@@ -68,10 +68,16 @@ begin ...@@ -68,10 +68,16 @@ begin
Write_Str ("a Consider all files, even readonly ali files"); Write_Str ("a Consider all files, even readonly ali files");
Write_Eol; Write_Eol;
-- Line for -b
Write_Switch_Char;
Write_Str ("b Bind only");
Write_Eol;
-- Line for -c -- Line for -c
Write_Switch_Char; Write_Switch_Char;
Write_Str ("c Compile only, do not bind and link"); Write_Str ("c Compile only");
Write_Eol; Write_Eol;
-- Line for -f -- Line for -f
...@@ -99,6 +105,12 @@ begin ...@@ -99,6 +105,12 @@ begin
Write_Str ("k Keep going after compilation errors"); Write_Str ("k Keep going after compilation errors");
Write_Eol; Write_Eol;
-- Line for -l
Write_Switch_Char;
Write_Str ("l Link only");
Write_Eol;
-- Line for -m -- Line for -m
Write_Switch_Char; Write_Switch_Char;
......
...@@ -143,6 +143,11 @@ package Opt is ...@@ -143,6 +143,11 @@ package Opt is
-- Set to True if the binder needs to generate a file designed for -- Set to True if the binder needs to generate a file designed for
-- building a library. May be set to True by Gnatbind.Scan_Bind_Arg. -- building a library. May be set to True by Gnatbind.Scan_Bind_Arg.
Bind_Only : Boolean := False;
-- GNATMAKE
-- Set to True to skip compile and link steps
-- (except when Compile_Only and/or Link_Only are True).
Brief_Output : Boolean := False; Brief_Output : Boolean := False;
-- GNAT, GNATBIND -- GNAT, GNATBIND
-- Force brief error messages to standard error, even if verbose mode is -- Force brief error messages to standard error, even if verbose mode is
...@@ -188,7 +193,7 @@ package Opt is ...@@ -188,7 +193,7 @@ package Opt is
Compile_Only : Boolean := False; Compile_Only : Boolean := False;
-- GNATMAKE -- GNATMAKE
-- Set to True to skip bind and link step. -- Set to True to skip bind and link steps (except when Bind_Only is True)
Compress_Debug_Names : Boolean := False; Compress_Debug_Names : Boolean := False;
-- GNATMAKE -- GNATMAKE
...@@ -428,6 +433,11 @@ package Opt is ...@@ -428,6 +433,11 @@ package Opt is
-- When True signals gnatmake to ignore compilation errors and keep -- When True signals gnatmake to ignore compilation errors and keep
-- processing sources until there is no more work. -- processing sources until there is no more work.
Link_Only : Boolean := False;
-- GNATMAKE
-- Set to True to skip compile and bind steps
-- (except when Bind_Only is set to True).
List_Units : Boolean := False; List_Units : Boolean := False;
-- GNAT -- GNAT
-- List units in the active library -- List units in the active library
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
-- -- -- --
-- B o d y -- -- B o d y --
-- -- -- --
-- $Revision: 1.194 $ -- $Revision$
-- -- -- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. -- -- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- -- -- --
...@@ -1164,6 +1164,12 @@ package body Switch is ...@@ -1164,6 +1164,12 @@ package body Switch is
Ptr := Ptr + 1; Ptr := Ptr + 1;
Check_Readonly_Files := True; Check_Readonly_Files := True;
-- Processing for b switch
when 'b' =>
Ptr := Ptr + 1;
Bind_Only := True;
-- Processing for c switch -- Processing for c switch
when 'c' => when 'c' =>
...@@ -1245,6 +1251,12 @@ package body Switch is ...@@ -1245,6 +1251,12 @@ package body Switch is
Ptr := Ptr + 1; Ptr := Ptr + 1;
Keep_Going := True; Keep_Going := True;
-- Processing for l switch
when 'l' =>
Ptr := Ptr + 1;
Link_Only := True;
when 'M' => when 'M' =>
Ptr := Ptr + 1; Ptr := Ptr + 1;
List_Dependencies := True; List_Dependencies := True;
......
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