diff options
author | Vincent Celier <celier@adacore.com> | 2007-08-31 12:24:29 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-31 12:24:29 +0200 |
commit | 98d68cf1e21e23331a95c636f43fe769d02e9677 (patch) | |
tree | 57d50e33aa789538ff490e3ed306e768cc9977b9 /gcc/ada/tempdir.adb | |
parent | f33abf26a8dc2dc946e9ad7c5e4496ecfe494766 (diff) | |
download | gcc-98d68cf1e21e23331a95c636f43fe769d02e9677.tar.gz |
tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
2007-08-31 Vincent Celier <celier@adacore.com>
* tempdir.adb: On VMS, take into account GNUTMPDIR before TMPDIR
From-SVN: r127982
Diffstat (limited to 'gcc/ada/tempdir.adb')
-rw-r--r-- | gcc/ada/tempdir.adb | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/gcc/ada/tempdir.adb b/gcc/ada/tempdir.adb index 7044271532f..cc13a4c1643 100644 --- a/gcc/ada/tempdir.adb +++ b/gcc/ada/tempdir.adb @@ -26,16 +26,18 @@ with GNAT.Directory_Operations; use GNAT.Directory_Operations; -with Opt; use Opt; -with Output; use Output; +with Hostparm; use Hostparm; +with Opt; use Opt; +with Output; use Output; package body Tempdir is Tmpdir_Needs_To_Be_Displayed : Boolean := True; - Tmpdir : constant String := "TMPDIR"; - No_Dir : aliased String := ""; - Temp_Dir : String_Access := No_Dir'Access; + Tmpdir : constant String := "TMPDIR"; + Gnutmpdir : constant String := "GNUTMPDIR"; + No_Dir : aliased String := ""; + Temp_Dir : String_Access := No_Dir'Access; ---------------------- -- Create_Temp_File -- @@ -114,9 +116,24 @@ package body Tempdir is begin declare - Dir : String_Access := Getenv (Tmpdir); + Dir : String_Access; begin + -- On VMS, if GNUTMPDIR is defined, use it + + if OpenVMS then + Dir := Getenv (Gnutmpdir); + + -- Otherwise, if GNUTMPDIR is not defined, try TMPDIR + + if Dir'Length = 0 then + Dir := Getenv (Tmpdir); + end if; + + else + Dir := Getenv (Tmpdir); + end if; + if Dir'Length > 0 and then Is_Absolute_Path (Dir.all) and then Is_Directory (Dir.all) |