gnatbind.adb (Is_Cross_Compiler): New function returning True for cross-compiler.

2005-11-14  Pascal Obry  <obry@adacore.com>

	* gnatbind.adb (Is_Cross_Compiler): New function returning True for
	cross-compiler.
	(Scan_Bind_Arg): Fail with an error message if -M option is used
	on a native compiler.

From-SVN: r106982
This commit is contained in:
Pascal Obry 2005-11-15 14:59:20 +01:00 committed by Arnaud Charlet
parent 2989065ea6
commit 0bce6c77ca
1 changed files with 21 additions and 3 deletions

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
-- Copyright (C) 1992-2005, Free Software Foundation, Inc. --
-- --
-- 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- --
@ -87,6 +87,9 @@ procedure Gnatbind is
-- All the one character arguments are still handled by Switch. This
-- routine handles -aO -aI and -I-.
function Is_Cross_Compiler return Boolean;
-- Returns True iff this is a cross-compiler
---------------------------------
-- Gnatbind_Supports_Auto_Init --
---------------------------------
@ -99,6 +102,17 @@ procedure Gnatbind is
return gnat_binder_supports_auto_init /= 0;
end Gnatbind_Supports_Auto_Init;
-----------------------
-- Is_Cross_Compiler --
-----------------------
function Is_Cross_Compiler return Boolean is
Cross_Compiler : Integer;
pragma Import (C, Cross_Compiler, "__gnat_is_cross_compiler");
begin
return Cross_Compiler = 1;
end Is_Cross_Compiler;
----------------------------------
-- List_Applicable_Restrictions --
----------------------------------
@ -350,8 +364,12 @@ procedure Gnatbind is
-- -Mname
elsif Argv'Length >= 3 and then Argv (2) = 'M' then
Opt.Bind_Alternate_Main_Name := True;
Opt.Alternate_Main_Name := new String'(Argv (3 .. Argv'Last));
if Is_Cross_Compiler then
Opt.Bind_Alternate_Main_Name := True;
Opt.Alternate_Main_Name := new String'(Argv (3 .. Argv'Last));
else
Fail ("-M option only valid for a cross-compiler");
end if;
-- All other options are single character and are handled by
-- Scan_Binder_Switches.