Fix ModuleManager failing when:

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

This fixes #154.
This commit is contained in:
Peter Powell 2012-11-07 09:07:43 +00:00 committed by attilamolnar
parent e74da8e6e9
commit 999ba802d6
2 changed files with 21 additions and 2 deletions

View File

@ -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 File

@ -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;