summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xTools/scripts/mkptools/mkpbuild22
-rwxr-xr-xTools/scripts/mkptools/mkpinstall23
2 files changed, 41 insertions, 4 deletions
diff --git a/Tools/scripts/mkptools/mkpbuild b/Tools/scripts/mkptools/mkpbuild
index 846578d455ba..996d527547f6 100755
--- a/Tools/scripts/mkptools/mkpbuild
+++ b/Tools/scripts/mkptools/mkpbuild
@@ -26,12 +26,30 @@
#
use strict;
+my $path_tmp = "/tmp";
+eval {
+ require 'paths.ph';
+ $path_tmp = &_PATH_TMP;
+};
-my ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake);
+sub testdir (@) {
+ my $d; # currently tested dir
+
+ foreach $d (@_) {
+ next unless defined($d);
+ $d =~ s,/$,,;
+ return $d if ((-d $d) && (-w $d));
+ }
+ return "";
+}
+
+my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
chomp ($user = `logname`);
chomp ($origdir = `pwd`);
chomp ($portname = `basename $origdir`);
-$tmpdir = "/tmp/$user.$portname";
+$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp);
+($tmpbase eq "") and die("No temp dir, please define either TMPDIR or TMP\n");
+$tmpdir = "$tmpbase/$user.$portname";
$wdpdir = "$tmpdir/wdp";
$predir = "$tmpdir/prefix";
diff --git a/Tools/scripts/mkptools/mkpinstall b/Tools/scripts/mkptools/mkpinstall
index 13f9947ac0eb..c97e5ed2ae94 100755
--- a/Tools/scripts/mkptools/mkpinstall
+++ b/Tools/scripts/mkptools/mkpinstall
@@ -26,12 +26,31 @@
#
use strict;
+my $path_tmp = "/tmp";
+eval {
+ require 'paths.ph';
+ $path_tmp = &_PATH_TMP;
+};
-my ($user, $origdir, $portname, $tmpdir, $wdpdir, $predir, $hmake);
+
+sub testdir (@) {
+ my $d; # currently tested dir
+
+ foreach $d (@_) {
+ next unless defined($d);
+ $d =~ s,/$,,;
+ return $d if ((-d $d) && (-w $d));
+ }
+ return "";
+}
+
+my ($user, $origdir, $portname, $tmpbase, $tmpdir, $wdpdir, $predir, $hmake);
chomp ($user = `logname`);
chomp ($origdir = `pwd`);
chomp ($portname = `basename $origdir`);
-$tmpdir = "/tmp/$user.$portname";
+$tmpbase = testdir($ENV{'TMPDIR'}, $ENV{'TMP'}, $path_tmp);
+($tmpbase eq "") and die("No temp dir, please define either TMPDIR or TMP\n");
+$tmpdir = "$tmpbase/$user.$portname";
$wdpdir = "$tmpdir/wdp";
$predir = "$tmpdir/prefix";