X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Fre-engine-Hooks.git;a=blobdiff_plain;f=Makefile.PL;h=932e352075cfeb251b4fe76393597b60c64bbbde;hp=957ee9648a74eae7f04ae855a9aca6ead2e457e6;hb=HEAD;hpb=7b88eb9cbb0c1342a6480820450644708aed019c diff --git a/Makefile.PL b/Makefile.PL index 957ee96..932e352 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,4 +1,4 @@ -use 5.010001; +use 5.010_001; use strict; use warnings; @@ -16,6 +16,16 @@ my %PREREQ_PM = ( 'DynaLoader' => 0, ); +my %BUILD_REQUIRES = ( + 'ExtUtils::Depends' => 0, + 'ExtUtils::MakeMaker' => 0, + 'File::Spec' => 0, + 'POSIX' => 0, + 'Test::More' => 0, + 'blib' => 0, + %PREREQ_PM, +); + my %META = ( configure_requires => { 'ExtUtils::Depends' => 0, @@ -23,23 +33,37 @@ my %META = ( 'File::Spec' => 0, }, build_requires => { - 'ExtUtils::Depends' => 0, - 'ExtUtils::MakeMaker' => 0, - 'File::Spec' => 0, - 'POSIX' => 0, - 'Test::More' => 0, - 'blib' => 0, - %PREREQ_PM, + %BUILD_REQUIRES, }, dynamic_config => 1, resources => { - bugtracker => "http://rt.cpan.org/NoAuth/ReportBug.html?Queue=$dist", + bugtracker => "http://rt.cpan.org/Dist/Display.html?Name=$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", }, ); +my $latest_dev_rev = 23; + +sub is_outdated_dev_perl { + my ($rev) = "$]" =~ /^5\.([0-9]{2}[13579])/; + + return unless defined $rev; + + return $rev < $latest_dev_rev; +} + +if (is_outdated_dev_perl) { + print STDERR <catfile('src', $version, $file); - return -e $versioned_file ? $versioned_file : undef; + return -e $versioned_file ? [ $file => $versioned_file ] : undef; } unless (defined versioned_file('regcomp.c')) { print STDERR <; use ExtUtils::Depends; my $ed = ExtUtils::Depends->new($name); -$ed->add_c('re_comp.c'); -$ed->add_c('re_exec.c'); +$ed->add_c('regcomp.c'); +$ed->add_c('regexec.c'); $ed->add_xs('Hooks.xs'); $ed->add_pm($file => do { local $_ = $file; s/^lib/\$(INST_LIB)/; $_ }); $ed->install('re_engine_hooks.h'); @@ -86,7 +109,7 @@ $ed_vars{clean}->{FILES} .= ' ' . join ' ', ( "$dist-*", 'Files.pm', qw<*.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt>, - qw, + qw, ); WriteMakefile( @@ -96,14 +119,15 @@ WriteMakefile( VERSION_FROM => $file, ABSTRACT_FROM => $file, PL_FILES => {}, + BUILD_REQUIRES => \%BUILD_REQUIRES, PREREQ_PM => \%PREREQ_PM, MIN_PERL_VERSION => '5.010001', META_MERGE => \%META, dist => { - PREOP => "pod2text $file > \$(DISTVNAME)/README", + PREOP => "pod2text -u $file > \$(DISTVNAME)/README", COMPRESS => 'gzip -9f', SUFFIX => 'gz' }, - XSPROTOARG => '-noprototypes', + XSPROTOARG => '-noprototypes', @DEFINES, FUNCLIST => [ qw< boot_re__engine__Hooks @@ -127,35 +151,39 @@ WriteMakefile( package MY; sub postamble { - my $regcomp_c = main::versioned_file('regcomp.c'); - my $regexec_c = main::versioned_file('regexec.c'); - my $dquote_static_c = main::versioned_file('dquote_static.c'); - - my $dquote_static_dep = defined $dquote_static_c ? 'dquote_static.c' : ''; - - my $rules = <[0]; + } -re_comp\$(OBJ_EXT) : re_comp.c $dquote_static_dep + my $rules; -re_exec.c : $regexec_c - - \$(RM_F) re_exec.c - \$(CP) $regexec_c re_exec.c + for my $file_c (@all_c) { + my ($target_file, $versioned_file) = @$file_c; + $rules .= <<"RULE"; +$target_file : $versioned_file + - \$(RM_F) $target_file + \$(CP) $versioned_file $target_file -re_exec\$(OBJ_EXT) : re_exec.c +RULE + } -EOF + $rules .= <<"RULE"; +regcomp\$(OBJ_EXT) : @regcomp_c_deps - if (defined $dquote_static_c) { - $rules .= <