Commit a71742a8 by Laurent Guerby Committed by Laurent Guerby

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
parent a4fa73f3
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.
......
......@@ -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)"
......
......@@ -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;
......
......@@ -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;
......
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