make.adb: Implement -margs, remove restriction about file name placement.

2002-04-04  Laurent Guerby  <guerby@acm.org>

	* make.adb: Implement -margs, remove restriction about file name placement.
	* makeusg.adb: Documentation update.
	* Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
	* Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.

From-SVN: r51866
This commit is contained in:
Laurent Guerby 2002-04-04 20:19:36 +00:00 committed by Laurent Guerby
parent a4fa73f359
commit a71742a8e7
4 changed files with 23 additions and 17 deletions

View File

@ -1,3 +1,10 @@
2002-04-04 Laurent Guerby <guerby@acm.org>
* make.adb: Implement -margs, remove restriction about file name placement.
* makeusg.adb: Documentation update.
* Makefile.in (TOOLS_FLAGS_TO_PASS): Add VPATH=$(fsrcdir).
* Makefile.in (gnattools3): Comment out, gnatmem does not build without libaddr2line.
2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
* utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.

View File

@ -1593,6 +1593,7 @@ TOOLS_FLAGS_TO_PASS= \
"libsubdir=$(libsubdir)" \
"exeext=$(exeext)" \
"srcdir=$(fsrcdir)" \
"VPATH=$(fsrcdir)" \
"TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)" \
"GNATMAKE=$(GNATMAKE)" \
"GNATLINK=$(GNATLINK)" \
@ -1660,9 +1661,9 @@ gnattools2: ../stamp-tools
# These tools are only built for the native version.
gnattools3: ../stamp-tools
$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
TOOLSCASE=native \
top_builddir=../.. ../../gnatmem$(exeext) $(EXTRA_GNATTOOLS)
# $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
# TOOLSCASE=native \
# top_builddir=../.. ../../gnatmem$(exeext) $(EXTRA_GNATTOOLS)
../../gnatchop$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"

View File

@ -447,14 +447,10 @@ package body Make is
-- Set to True after having scanned the file_name for
-- switch "-o file_name"
File_Name_Seen : Boolean := False;
-- Set to true after having seen at least one file name.
-- Used in Scan_Make_Arg only, but must be a global variable.
type Make_Program_Type is (None, Compiler, Binder, Linker);
Program_Args : Make_Program_Type := None;
-- Used to indicate if we are scanning gcc, gnatbind, or gnatbl
-- Used to indicate if we are scanning gnatmake, gcc, gnatbind, or gnatbind
-- options within the gnatmake command line.
-- Used in Scan_Make_Arg only, but must be a global variable.
@ -4260,16 +4256,14 @@ package body Make is
Argv = "-cargs"
or else
Argv = "-largs"
or else
Argv = "-margs"
then
if not File_Name_Seen then
Fail ("-cargs, -bargs, -largs ",
"must appear after unit or file name");
end if;
case Argv (2) is
when 'c' => Program_Args := Compiler;
when 'b' => Program_Args := Binder;
when 'l' => Program_Args := Linker;
when 'm' => Program_Args := None;
when others =>
raise Program_Error;
@ -4674,7 +4668,6 @@ package body Make is
-- If not a switch it must be a file name
else
File_Name_Seen := True;
Add_File (Argv);
end if;
end Scan_Make_Arg;

View File

@ -39,11 +39,11 @@ begin
Write_Str ("Usage: ");
Osint.Write_Program_Name;
Write_Str (" opts name ");
Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts]}");
Write_Str ("{[-cargs opts] [-bargs opts] [-largs opts] [-margs opts]}");
Write_Eol;
Write_Eol;
Write_Str (" name is a file name from which you can omit the");
Write_Str (" .adb or .ads suffix");
Write_Str (" name is one or more file name from which you");
Write_Str (" can omit the .adb or .ads suffix");
Write_Eol;
Write_Eol;
@ -253,6 +253,11 @@ begin
Write_Str (" -largs opts opts are passed to the linker");
Write_Eol;
-- Line for -margs
Write_Str (" -margs opts opts are passed to gnatmake");
Write_Eol;
-- Add usage information for gcc
Usage;