@@ -47,17 +47,18 @@ sub system_or_die {
47
47
48
48
sub parse_revision {
49
49
my $rev = shift ;
50
+ my $what = shift ;
50
51
my $sep = qr / [_.]/ ;
51
52
$rev =~ / (\d +)$sep (\d +)(?:$sep (\d +))?(?:-(\d +)-g[a-f0-9]*)?$ /
52
- or die " Unrecognized revision specifier '$rev '\n " ;
53
+ or die " Unrecognized revision specifier '$rev ' $what \n " ;
53
54
return ($1 , $2 , $3 || 0, $4 || 0);
54
55
}
55
56
56
57
57
58
sub cmp_rev {
58
- my ($a , $b ) = @_ ;
59
- my @a = parse_revision($a );
60
- my @b = parse_revision($b );
59
+ my ($a , $b , $what ) = @_ ;
60
+ my @a = parse_revision($a , " $what have " );
61
+ my @b = parse_revision($b , " $what want " );
61
62
my $cmp = 0;
62
63
for (0..3) {
63
64
$cmp = $a [$_ ] <=> $b [$_ ];
@@ -225,7 +226,7 @@ sub gen_nqp {
225
226
$impls {$b }{bin } = $bin ;
226
227
my %c = read_config($bin );
227
228
my $nqp_have = $c {' nqp::version' } || ' ' ;
228
- my $nqp_ok = $nqp_have && cmp_rev($nqp_have , $nqp_want ) >= 0;
229
+ my $nqp_ok = $nqp_have && cmp_rev($nqp_have , $nqp_want , " nqp " ) >= 0;
229
230
if ($nqp_ok ) {
230
231
$impls {$b }{config } = \%c ;
231
232
}
@@ -288,7 +289,7 @@ sub gen_moar {
288
289
$moar_have = $moar_version_output =~ / version (\S +)/ ? $1 : undef ;
289
290
}
290
291
291
- my $moar_ok = $moar_have && cmp_rev($moar_have , $moar_want ) >= 0;
292
+ my $moar_ok = $moar_have && cmp_rev($moar_have , $moar_want , " moar " ) >= 0;
292
293
if ($moar_ok ) {
293
294
push @errors , " Found $moar_exe version $moar_have , which is new enough.\n " ;
294
295
return ($moar_exe , @errors );
@@ -312,7 +313,7 @@ sub gen_moar {
312
313
$options {' git-reference' } ? " --reference=$options {'git-reference'}/MoarVM" : ' ' ,
313
314
);
314
315
315
- unless (cmp_rev($moar_repo , $moar_want ) >= 0) {
316
+ unless (cmp_rev($moar_repo , $moar_want , " moar " ) >= 0) {
316
317
die " You asked me to build $gen_moar , but $moar_repo is not new enough to satisfy version $moar_want \n " ;
317
318
}
318
319
0 commit comments