Upgrade to Devel::PPPort 3.08_03
[p5sagit/p5-mst-13.2.git] / ext / Devel / PPPort / devel / mktodo
1 #!/usr/bin/perl -w
2 ################################################################################
3 #
4 #  mktodo -- generate baseline and todo files by running mktodo.pl
5 #
6 ################################################################################
7 #
8 #  $Revision: 12 $
9 #  $Author: mhx $
10 #  $Date: 2006/05/25 17:22:31 +0200 $
11 #
12 ################################################################################
13 #
14 #  Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
15 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
16 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
17 #
18 #  This program is free software; you can redistribute it and/or
19 #  modify it under the same terms as Perl itself.
20 #
21 ################################################################################
22
23 use strict;
24 use Getopt::Long;
25
26 require 'devel/devtools.pl';
27
28 our %opt = (
29   base    => 0,
30   verbose => 0,
31 );
32
33 GetOptions(\%opt, qw(
34             base
35             verbose
36           )) or die;
37
38 identify();
39
40 # my $outdir = $opt{base} ? 'parts/base' : 'parts/todo';
41 my $outdir = 'parts/todo';
42
43 # for (glob "$outdir/*") {
44 #   unlink or die "$_: $!\n";
45 # }
46
47 my $install = '/tmp/perl/install/default';
48 # my $install = '/tmp/perl/install/thread';
49
50 my @perls = sort { $b->{version} <=> $a->{version} }
51             map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
52             ('bleadperl', glob "$install/*/bin/perl5.*");
53
54 for (1 .. $#perls) {
55   $perls[$_]{todo} = $perls[$_-1]{version};
56 }
57
58 shift @perls;
59
60 for (@perls) {
61   my $todo = do { my $v = $_->{todo}; $v =~ s/\D+//g; $v };
62   -e "$outdir/$todo" and next;
63   my @args = ('--perl', $_->{path}, '--todo', "$outdir/$todo", '--version', "$_->{todo}");
64   push @args, '--base' if $opt{base};
65   push @args, '--verbose' if $opt{verbose};
66   runperl('devel/mktodo.pl', @args) or die "error running mktodo.pl [$!] [$?]\n";
67 }
68