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> 2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk>
* utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME. * utils.c (create_subprog_decl): Use SET_DECL_ASSEMBLER_NAME.
......
...@@ -1593,6 +1593,7 @@ TOOLS_FLAGS_TO_PASS= \ ...@@ -1593,6 +1593,7 @@ TOOLS_FLAGS_TO_PASS= \
"libsubdir=$(libsubdir)" \ "libsubdir=$(libsubdir)" \
"exeext=$(exeext)" \ "exeext=$(exeext)" \
"srcdir=$(fsrcdir)" \ "srcdir=$(fsrcdir)" \
"VPATH=$(fsrcdir)" \
"TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)" \ "TOOLS_LIBS=$(TOOLS_LIBS) $(TGT_LIB)" \
"GNATMAKE=$(GNATMAKE)" \ "GNATMAKE=$(GNATMAKE)" \
"GNATLINK=$(GNATLINK)" \ "GNATLINK=$(GNATLINK)" \
...@@ -1660,9 +1661,9 @@ gnattools2: ../stamp-tools ...@@ -1660,9 +1661,9 @@ gnattools2: ../stamp-tools
# These tools are only built for the native version. # These tools are only built for the native version.
gnattools3: ../stamp-tools gnattools3: ../stamp-tools
$(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \ # $(MAKE) -C tools -f ../Makefile $(TOOLS_FLAGS_TO_PASS) \
TOOLSCASE=native \ # TOOLSCASE=native \
top_builddir=../.. ../../gnatmem$(exeext) $(EXTRA_GNATTOOLS) # top_builddir=../.. ../../gnatmem$(exeext) $(EXTRA_GNATTOOLS)
../../gnatchop$(exeext): ../../gnatchop$(exeext):
$(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)" $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
......
...@@ -447,14 +447,10 @@ package body Make is ...@@ -447,14 +447,10 @@ package body Make is
-- Set to True after having scanned the file_name for -- Set to True after having scanned the file_name for
-- switch "-o file_name" -- 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); type Make_Program_Type is (None, Compiler, Binder, Linker);
Program_Args : Make_Program_Type := None; 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. -- options within the gnatmake command line.
-- Used in Scan_Make_Arg only, but must be a global variable. -- Used in Scan_Make_Arg only, but must be a global variable.
...@@ -4260,16 +4256,14 @@ package body Make is ...@@ -4260,16 +4256,14 @@ package body Make is
Argv = "-cargs" Argv = "-cargs"
or else or else
Argv = "-largs" Argv = "-largs"
or else
Argv = "-margs"
then then
if not File_Name_Seen then
Fail ("-cargs, -bargs, -largs ",
"must appear after unit or file name");
end if;
case Argv (2) is case Argv (2) is
when 'c' => Program_Args := Compiler; when 'c' => Program_Args := Compiler;
when 'b' => Program_Args := Binder; when 'b' => Program_Args := Binder;
when 'l' => Program_Args := Linker; when 'l' => Program_Args := Linker;
when 'm' => Program_Args := None;
when others => when others =>
raise Program_Error; raise Program_Error;
...@@ -4674,7 +4668,6 @@ package body Make is ...@@ -4674,7 +4668,6 @@ package body Make is
-- If not a switch it must be a file name -- If not a switch it must be a file name
else else
File_Name_Seen := True;
Add_File (Argv); Add_File (Argv);
end if; end if;
end Scan_Make_Arg; end Scan_Make_Arg;
......
...@@ -39,11 +39,11 @@ begin ...@@ -39,11 +39,11 @@ begin
Write_Str ("Usage: "); Write_Str ("Usage: ");
Osint.Write_Program_Name; Osint.Write_Program_Name;
Write_Str (" opts 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_Eol; Write_Eol;
Write_Str (" name is a file name from which you can omit the"); Write_Str (" name is one or more file name from which you");
Write_Str (" .adb or .ads suffix"); Write_Str (" can omit the .adb or .ads suffix");
Write_Eol; Write_Eol;
Write_Eol; Write_Eol;
...@@ -253,6 +253,11 @@ begin ...@@ -253,6 +253,11 @@ begin
Write_Str (" -largs opts opts are passed to the linker"); Write_Str (" -largs opts opts are passed to the linker");
Write_Eol; Write_Eol;
-- Line for -margs
Write_Str (" -margs opts opts are passed to gnatmake");
Write_Eol;
-- Add usage information for gcc -- Add usage information for gcc
Usage; 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