Browse files

Fix ModuleManager failing when:

- LWP::Simple is not installed.
- Crypt::SSLeay or IO::Socket::SSL are not installed.

This fixes #154.
  • Loading branch information...
1 parent e74da8e commit 999ba802d61bdc188858e3c1b9fb0d974f537779 @SaberUK committed with attilamolnar Nov 7, 2012
Showing with 21 additions and 2 deletions.
  1. +8 −1 make/configure.pm
  2. +13 −1 modulemanager
View
9 make/configure.pm
@@ -31,7 +31,7 @@ use warnings FATAL => qw(all);
use Exporter 'import';
use POSIX;
use make::utilities;
-our @EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies nopedantic resolve_directory yesno showhelp promptstring_s);
+our @EXPORT = qw(promptnumeric dumphash is_dir getmodules getrevision getcompilerflags getlinkerflags getdependencies nopedantic resolve_directory yesno showhelp promptstring_s module_installed);
my $no_git = 0;
@@ -193,6 +193,13 @@ sub promptnumeric($$)
}
}
+sub module_installed($)
+{
+ my $module = shift;
+ eval("use $module;");
+ return !$@;
+}
+
sub promptstring_s($$)
{
my ($prompt,$default) = @_;
View
14 modulemanager
@@ -21,10 +21,22 @@
use strict;
use warnings FATAL => qw(all);
-use LWP::Simple;
use make::configure;
+
+if (!module_installed("LWP::Simple"))
+{
+ die "Your system is missing the LWP::Simple Perl module!";
+}
+
+if (!module_installed("Crypt::SSLeay") && !module_installed("IO::Socket::SSL"))
+{
+ die "Your system is missing the Crypt::SSLeay or IO::Socket::SSL Perl modules!";
+}
+
+use LWP::Simple;
+
our @modlist;
my %installed;

0 comments on commit 999ba80

Please sign in to comment.