|
Revision 1354
(checked in by miyagawa, 5 years ago)
|
use check-dependencies.pl to check 'required' dependencis, not recommended
|
- Property svn:executable set to
*
|
| Line | |
|---|
| 1 |
|
|---|
| 2 |
use strict; |
|---|
| 3 |
use warnings; |
|---|
| 4 |
|
|---|
| 5 |
use FindBin; |
|---|
| 6 |
chdir "$FindBin::Bin/.."; |
|---|
| 7 |
|
|---|
| 8 |
check_dependencies(); |
|---|
| 9 |
|
|---|
| 10 |
sub check_dependencies { |
|---|
| 11 |
|
|---|
| 12 |
$INC{"inc/Module/Install.pm"} = __PACKAGE__; |
|---|
| 13 |
|
|---|
| 14 |
package Makefile; |
|---|
| 15 |
no warnings 'once'; |
|---|
| 16 |
*tests = *name = *all_from = *features = *tests = *use_test_base = |
|---|
| 17 |
*auto_include = *auto_install = *install_script = *WriteAll = *include_deps = sub { }; |
|---|
| 18 |
|
|---|
| 19 |
*requires = *build_requires = ::check_module(1); |
|---|
| 20 |
*recommends = ::check_module(0); |
|---|
| 21 |
|
|---|
| 22 |
do "Makefile.PL"; |
|---|
| 23 |
} |
|---|
| 24 |
|
|---|
| 25 |
sub check_module { |
|---|
| 26 |
my $required = shift; |
|---|
| 27 |
|
|---|
| 28 |
return sub { |
|---|
| 29 |
my $module = shift; |
|---|
| 30 |
my $ver = shift; |
|---|
| 31 |
eval ($ver ? qq{ use $module $ver } : qq{ use $module }); |
|---|
| 32 |
if ($@) { |
|---|
| 33 |
print "$module: missing" . ($required ? " (required)" : ''); |
|---|
| 34 |
} else { |
|---|
| 35 |
print "$module: " . (defined $module->VERSION ? $module->VERSION : 'undef'); |
|---|
| 36 |
} |
|---|
| 37 |
print "\n"; |
|---|
| 38 |
}; |
|---|
| 39 |
} |
|---|