[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,8 +2758,26 @@ package body Osint is
|
||||
|
||||
begin
|
||||
if Std_Prefix = null then
|
||||
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
|
||||
|
||||
-- Remove trailing directory separator when calling set_std_prefix
|
||||
|
@ -237,8 +237,11 @@ package Osint is
|
||||
-- replace the Prefix substring with the root installation directory.
|
||||
-- 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
|
||||
-- needed, use the PATH environment variable. If the above computation
|
||||
-- fails, return Path. This function assumes Prefix'First = Path'First.
|
||||
-- needed, use the PATH environment variable. If the GNSA_ROOT environment
|
||||
-- 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;
|
||||
-- Returns the runtime shared library in the form -l<name>-<version> where
|
||||
|
Loading…
Reference in New Issue
Block a user