Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / site_perl / 5.8.0 / Inline / MakeMaker.pm
CommitLineData
86530b38
AT
1package Inline::MakeMaker;
2
3$VERSION = '0.44';
4@EXPORT = qw(WriteMakefile WriteInlineMakefile);
5
6use strict;
7use base 'Exporter';
8use ExtUtils::MakeMaker();
9use Carp;
10
11sub WriteInlineMakefile {
12# warn <<END;
13#
14#Inline::MakeMaker::WriteInlineMakefile() is deprecated as of Inline-0.44.
15#Inline::MakeMaker::WriteMakefile() should be used instead.
16#
17#END
18 goto &WriteMakefile;
19}
20
21sub WriteMakefile {
22 my %args = @_;
23 my $name = $args{NAME}
24 or croak "Inline::MakeMaker::WriteMakefile requires the NAME parameter\n";
25 my $object = (split(/::/, $name))[-1];
26 my $version = '';
27
28 croak <<END unless (defined $args{VERSION} or defined $args{VERSION_FROM});
29Inline::MakeMaker::WriteMakefile requires either the VERSION or VERSION_FROM
30parameter.
31END
32 if (defined $args{VERSION}) {
33 $version = $args{VERSION};
34 }
35 else {
36 $version = ExtUtils::MM_Unix->parse_version($args{VERSION_FROM})
37 or croak "Can't determine version for $name\n";
38 }
39 croak <<END unless $version =~ /^\d\.\d\d$/;
40Invalid version '$version' for $name.
41Must be of the form '#.##'. (For instance '1.23')
42END
43
44 # Provide a convenience rule to clean up Inline's messes
45 $args{clean} = { FILES => "_Inline $object.inl" }
46 unless defined $args{clean};
47 # Add Inline to the dependencies
48 $args{PREREQ_PM}{Inline} = '0.44' unless defined $args{PREREQ_PM}{Inline};
49
50 &ExtUtils::MakeMaker::WriteMakefile(%args);
51
52 open MAKEFILE, '>> Makefile'
53 or croak "Inline::MakeMaker::WriteMakefile can't append to Makefile:\n$!";
54
55 print MAKEFILE <<MAKEFILE;
56# Well, not quite. Inline::MakeMaker is adding this:
57
58# --- MakeMaker inline section:
59
60.SUFFIXES: .pm .inl
61
62.pm.inl:
63 \$(PERL) -Mblib -MInline=NOISY,_INSTALL_ -M$name -e1 $version \$(INST_ARCHLIB)
64
65pure_all :: $object.inl
66
67# The End is here.
68MAKEFILE
69
70 close MAKEFILE;
71}
72
731;