diff options
Diffstat (limited to 'translate/ghdldrv/ghdllocal.adb')
-rw-r--r-- | translate/ghdldrv/ghdllocal.adb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/translate/ghdldrv/ghdllocal.adb b/translate/ghdldrv/ghdllocal.adb index 9eccdcf5d..fb8f5f6d0 100644 --- a/translate/ghdldrv/ghdllocal.adb +++ b/translate/ghdldrv/ghdllocal.adb @@ -177,7 +177,7 @@ package body Ghdllocal is function Get_Machine_Path_Prefix return String is begin if Flag_32bit then - return Prefix_Path.all & "32" & Directory_Separator; + return Prefix_Path.all & "32"; else return Prefix_Path.all; end if; @@ -187,13 +187,26 @@ package body Ghdllocal is is begin Libraries.Add_Library_Path - (Get_Machine_Path_Prefix & Get_Version_Path & Directory_Separator + (Get_Machine_Path_Prefix & Directory_Separator + & Get_Version_Path & Directory_Separator & Name & Directory_Separator); end Add_Library_Path; procedure Setup_Libraries (Load : Boolean) is begin + -- Get environment variable. + Prefix_Env := GNAT.OS_Lib.Getenv ("GHDL_PREFIX"); + if Prefix_Env = null or else Prefix_Env.all = "" then + Prefix_Env := null; + end if; + + -- Set prefix path. + -- If not set by command line, try environment variable. + if Prefix_Path = null then + Prefix_Path := Prefix_Env; + end if; + -- Else try default path. if Prefix_Path = null then Prefix_Path := new String'(Default_Pathes.Prefix); else |