Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Module / Install / Inline.pm
1 package Module::Install::Inline;
2
3 use strict;
4 use Module::Install::Base ();
5
6 use vars qw{$VERSION @ISA $ISCORE};
7 BEGIN {
8         $VERSION = '0.91';
9         @ISA     = 'Module::Install::Base';
10         $ISCORE  = 1;
11 }
12
13 sub Inline { $_[0] }
14
15 sub write {
16     my $self = shift;
17     my $name = $self->module_name || $self->name
18         or die "Please set name() before calling &Inline->write\n";
19     $name =~ s/-/::/g;
20     my $object = (split(/::/, $name))[-1] or return;
21     my $version = $self->version
22         or die "Please set version() or version_from() before calling &Inline->write\n";
23
24     $version =~ /^\d\.\d\d$/ or die <<"END_MESSAGE";
25 Invalid version '$version' for $name.
26 Must be of the form '#.##'. (For instance '1.23')
27 END_MESSAGE
28
29     $self->clean_files('_Inline', "$object.inl");
30     $self->build_requires('Inline' => 0.44); # XXX: check for existing? yagni?
31
32     my $class = ref($self);
33     my $prefix = $self->_top->{prefix};
34     $self->postamble(<<"MAKEFILE");
35 # --- $class section:
36
37 .SUFFIXES: .pm .inl
38
39 .pm.inl:
40 \t\$(PERL) -I$prefix "-Mblib" "-MInline=NOISY,_INSTALL_" "-M$name" -e1 $version \$(INST_ARCHLIB)
41
42 pure_all :: $object.inl
43
44 MAKEFILE
45
46     $self->Makefile->write;
47 }
48
49 1;