Image-Info-1.22.tar.gz
[Image-Info.git] / inc / Module / Install / AutoInstall.pm
blob1c3bd178f043626368df5ba4505235564a42b2e5
1 #line 1
2 package Module::Install::AutoInstall;
4 use strict;
5 use Module::Install::Base;
7 use vars qw{$VERSION $ISCORE @ISA};
8 BEGIN {
9 $VERSION = '0.63';
10 $ISCORE = 1;
11 @ISA = qw{Module::Install::Base};
14 sub AutoInstall { $_[0] }
16 sub run {
17 my $self = shift;
18 $self->auto_install_now(@_);
21 sub write {
22 my $self = shift;
23 $self->auto_install(@_);
26 sub auto_install {
27 my $self = shift;
28 return if $self->{done}++;
30 # Flatten array of arrays into a single array
31 my @core = map @$_, map @$_, grep ref,
32 $self->build_requires, $self->requires;
34 my @config = @_;
36 # We'll need Module::AutoInstall
37 $self->include('Module::AutoInstall');
38 require Module::AutoInstall;
40 Module::AutoInstall->import(
41 (@config ? (-config => \@config) : ()),
42 (@core ? (-core => \@core) : ()),
43 $self->features,
46 $self->makemaker_args( Module::AutoInstall::_make_args() );
48 my $class = ref($self);
49 $self->postamble(
50 "# --- $class section:\n" .
51 Module::AutoInstall::postamble()
55 sub auto_install_now {
56 my $self = shift;
57 $self->auto_install(@_);
58 Module::AutoInstall::do_install();