Commit | Line | Data |
48af1939 |
1 | package # in case this escapes being no_index'ed in META.yml |
2 | inc::Distar; # this horrible little trick hides us from PAUSE. INVISIBUL! |
3 | |
4 | use strict; |
5 | use warnings FATAL => 'all'; |
6 | |
7 | my $already; |
8 | |
9 | my $AUTHOR; |
10 | |
11 | my @do; |
12 | |
13 | my %whoami; |
14 | |
15 | sub import { |
16 | die "Can't call import() twice, last called from: ${already}" |
17 | if $already; |
18 | $already = join(' ', caller); |
19 | strict->import; |
20 | warnings->import(FATAL => 'all'); |
21 | my $class = shift; |
22 | if (-e 'inc/whoami.pm') { |
23 | %whoami = %{do 'inc/whoami.pm' or die "Failed to eval inc/whoami.pm: $@"}; |
24 | } else { |
25 | $AUTHOR = 1; |
26 | require inc::Distar::Guesswork; |
27 | %whoami = %{inc::Distar::Guesswork::guess(@_)}; |
28 | } |
29 | push @do, sub { |
30 | require ExtUtils::MakeMaker; |
31 | ExtUtils::MakeMaker::WriteMakefile(%whoami) |
32 | }; |
33 | } |
34 | |
35 | END { |
36 | foreach my $do (@do) { $do->() } |
37 | } |
38 | |
39 | 1; |