X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Makefile.PL;h=a4bd42e8b3d0a7a452e3967edeea79052e8288c2;hb=f3d1fc8f344c277db7b21ba986d3f0bef458c3d8;hp=76ac727f900ffd5cafadaa2546c7a330d342aaee;hpb=4eb87a8fd0eb06e0ee96c5da1ac84650388de60c;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/Makefile.PL b/Makefile.PL index 76ac727..a4bd42e 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,4 +1,4 @@ -use 5.007003; +use 5.008; use strict; use warnings; @@ -19,64 +19,103 @@ if (defined $pl && length $pl) { push @DEFINES, '-DVMG_PERL_PATCHLEVEL=' . $pl; print $pl, "\n"; } else { + $pl = undef; print "none\n"; } my $is_as = 0; -print "Checking if this is Windows ActiveState 5.8.[78]... "; -if ($^O eq 'MSWin32' && $^V ge v5.8.7 && $^V lt v5.8.9) { +print "Checking if this is ActiveState Perl 5.8.8 build 822 or higher... "; +if ($^V eq v5.8.8) { eval { - require Win32; + require ActivePerl; 1; } and do { - if (defined &Win32::BuildNumber) { - $is_as = 1; - push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=1'; + if (defined &ActivePerl::BUILD) { + my $build = int ActivePerl::BUILD(); + if ($build >= 822) { + $is_as = 1; + push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=1'; + } } } } print $is_as ? "yes\n" : "no\n"; +my $is_5110rel = 0; +print "Checking if this is a released perl 5.11.0 or higher... "; +if ($^V ge v5.11.0 and not defined $pl) { + my $describe = $Config{git_describe}; + # An empty 'describe' is fine + if (defined $describe and $describe !~ /^GitLive-/) { + $is_5110rel = 1; + push @DEFINES, '-DVMG_COMPAT_ARRAY_PUSH_NOLEN=0'; + } +} +print $is_5110rel ? "yes\n" : "no\n"; + # Threads, Windows and 5.8.x don't seem to be best friends if ($^O eq 'MSWin32' && $^V lt v5.9.0) { push @DEFINES, '-DVMG_MULTIPLICITY=0'; } +# Fork emulation got "fixed" in 5.10.1 +if ($^O eq 'MSWin32' && $^V lt v5.10.1) { + push @DEFINES, '-DVMG_FORKSAFE=0'; +} + @DEFINES = (DEFINE => join ' ', @DEFINES) if @DEFINES; -my $BUILD_REQUIRES = { - 'Config' => 0, - 'ExtUtils::MakeMaker' => 0, - 'Test::More' => 0, -}; +my $dist = 'Variable-Magic'; -sub build_req { - my $tometa = ' >> $(DISTVNAME)/META.yml;'; - my $build_req = 'echo "build_requires:" ' . $tometa; - foreach my $mod ( sort { lc $a cmp lc $b } keys %$BUILD_REQUIRES ) { - my $ver = $BUILD_REQUIRES->{$mod}; - $build_req .= sprintf 'echo " %-30s %s" %s', "$mod:", $ver, $tometa; - } - return $build_req; -} +(my $name = $dist) =~ s{-}{::}g; + +(my $file = $dist) =~ s{-}{/}g; +$file = "lib/$file.pm"; + +my %PREREQ_PM = ( + 'Carp' => 0, + 'Exporter' => 0, + 'XSLoader' => 0, + 'base' => 0, +); + +my %META = ( + configure_requires => { + 'Config' => 0, + 'ExtUtils::MakeMaker' => 0, + }, + build_requires => { + 'Carp' => 0, + 'Config' => 0, + 'ExtUtils::MakeMaker' => 0, + 'Test::More' => 0, + %PREREQ_PM, + }, + dynamic_config => 1, + resources => { + bugtracker => "http://rt.cpan.org/NoAuth/ReportBug.html?Queue=$dist", + homepage => "http://search.cpan.org/dist/$dist/", + license => 'http://dev.perl.org/licenses/', + repository => "http://git.profvince.com/?p=perl%2Fmodules%2F$dist.git", + }, +); WriteMakefile( - NAME => 'Variable::Magic', - AUTHOR => 'Vincent Pit ', - LICENSE => 'perl', - VERSION_FROM => 'lib/Variable/Magic.pm', - ABSTRACT_FROM => 'lib/Variable/Magic.pm', - PL_FILES => {}, - @DEFINES, - PREREQ_PM => { - 'Carp' => 0, - 'Exporter' => 0, - 'XSLoader' => 0 - }, - dist => { - PREOP => 'pod2text lib/Variable/Magic.pm > $(DISTVNAME)/README; ' - . build_req, - COMPRESS => 'gzip -9f', SUFFIX => 'gz' - }, - clean => { FILES => 'Variable-Magic-* *.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt' }, + NAME => $name, + AUTHOR => 'Vincent Pit ', + LICENSE => 'perl', + VERSION_FROM => $file, + ABSTRACT_FROM => $file, + PL_FILES => {}, + @DEFINES, + PREREQ_PM => \%PREREQ_PM, + MIN_PERL_VERSION => 5.008, + META_MERGE => \%META, + dist => { + PREOP => "pod2text $file > \$(DISTVNAME)/README", + COMPRESS => 'gzip -9f', SUFFIX => 'gz' + }, + clean => { + FILES => "$dist-* *.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt" + }, );