summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--make/common.pm12
-rw-r--r--make/console.pm8
2 files changed, 13 insertions, 7 deletions
diff --git a/make/common.pm b/make/common.pm
index f5bbedb3f..ea4c2a50c 100644
--- a/make/common.pm
+++ b/make/common.pm
@@ -28,12 +28,22 @@ use strict;
use warnings FATAL => qw(all);
use Exporter qw(import);
+use File::Path qw(mkpath);
use File::Spec::Functions qw(rel2abs);
-our @EXPORT = qw(get_cpu_count
+our @EXPORT = qw(create_directory
+ get_cpu_count
get_version
module_installed);
+sub create_directory($$) {
+ my ($location, $permissions) = @_;
+ return eval {
+ mkpath($location, 0, $permissions);
+ return 1;
+ } // 0;
+}
+
sub get_version {
state %version;
return %version if %version;
diff --git a/make/console.pm b/make/console.pm
index 4e7b32d49..621de0274 100644
--- a/make/console.pm
+++ b/make/console.pm
@@ -88,12 +88,8 @@ sub prompt_dir($$$;$) {
$answer = rel2abs(prompt_string($interactive, $question, $default));
$create = prompt_bool($interactive && !-d $answer, "$answer does not exist. Create it?", 'y');
if ($create && $create_now) {
- my $mkpath = eval {
- mkpath($answer, 0, 0750);
- return 1;
- };
- unless (defined $mkpath) {
- print_warning "unable to create $answer!\n";
+ unless (create_directory $answer, 0750) {
+ print_warning "unable to create $answer: $!\n";
$create = 0;
}
}