[Ada] Take into account GNSA_ROOT env var for prefix
The GNSA_ROOT environment variable can be used to indicate to the compiler how to find the runtime directory. gcc/ada/ * osint.ads, osint.adb (Relocate_Path): If the GNSA_ROOT environment variable is set, we use that as the prefix, instead of computing the prefix from the executable location.
This commit is contained in:
parent
b77029ff25
commit
17a89d8214
@ -2758,7 +2758,25 @@ package body Osint is
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
if Std_Prefix = null then
|
if Std_Prefix = null then
|
||||||
Std_Prefix := Executable_Prefix;
|
Std_Prefix := String_Ptr (Getenv ("GNSA_ROOT"));
|
||||||
|
|
||||||
|
if Std_Prefix.all = "" then
|
||||||
|
Std_Prefix := Executable_Prefix;
|
||||||
|
|
||||||
|
elsif not Is_Directory_Separator (Std_Prefix (Std_Prefix'Last)) then
|
||||||
|
|
||||||
|
-- The remainder of this function assumes that Std_Prefix
|
||||||
|
-- terminates with a dir separator, so we force this here.
|
||||||
|
|
||||||
|
declare
|
||||||
|
Old_Prefix : String_Ptr := Std_Prefix;
|
||||||
|
begin
|
||||||
|
Std_Prefix := new String (1 .. Old_Prefix'Length + 1);
|
||||||
|
Std_Prefix (1 .. Old_Prefix'Length) := Old_Prefix.all;
|
||||||
|
Std_Prefix (Old_Prefix'Length + 1) := Directory_Separator;
|
||||||
|
Free (Old_Prefix);
|
||||||
|
end;
|
||||||
|
end if;
|
||||||
|
|
||||||
if Std_Prefix.all /= "" then
|
if Std_Prefix.all /= "" then
|
||||||
|
|
||||||
|
@ -237,8 +237,11 @@ package Osint is
|
|||||||
-- replace the Prefix substring with the root installation directory.
|
-- replace the Prefix substring with the root installation directory.
|
||||||
-- By default, try to compute the root installation directory by looking
|
-- By default, try to compute the root installation directory by looking
|
||||||
-- at the executable name as it was typed on the command line and, if
|
-- at the executable name as it was typed on the command line and, if
|
||||||
-- needed, use the PATH environment variable. If the above computation
|
-- needed, use the PATH environment variable. If the GNSA_ROOT environment
|
||||||
-- fails, return Path. This function assumes Prefix'First = Path'First.
|
-- variable is set, then the content of this variable is used as the root
|
||||||
|
-- installation directory.
|
||||||
|
-- If the above computation fails, return Path. This function assumes
|
||||||
|
-- Prefix'First = Path'First.
|
||||||
|
|
||||||
function Shared_Lib (Name : String) return String;
|
function Shared_Lib (Name : String) return String;
|
||||||
-- Returns the runtime shared library in the form -l<name>-<version> where
|
-- Returns the runtime shared library in the form -l<name>-<version> where
|
||||||
|
Loading…
Reference in New Issue
Block a user