Skip to content

Commit 856d5c5

Browse files
committed
Enhance error reporting in Configure.pm when rev parse errors
1 parent ae6a610 commit 856d5c5

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

tools/lib/NQP/Configure.pm

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,18 @@ sub system_or_die {
4747

4848
sub parse_revision {
4949
my $rev = shift;
50+
my $what = shift;
5051
my $sep = qr/[_.]/;
5152
$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";
5354
return ($1, $2, $3 || 0, $4 || 0);
5455
}
5556

5657

5758
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");
6162
my $cmp = 0;
6263
for (0..3) {
6364
$cmp = $a[$_] <=> $b[$_];
@@ -225,7 +226,7 @@ sub gen_nqp {
225226
$impls{$b}{bin} = $bin;
226227
my %c = read_config($bin);
227228
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;
229230
if ($nqp_ok) {
230231
$impls{$b}{config} = \%c;
231232
}
@@ -288,7 +289,7 @@ sub gen_moar {
288289
$moar_have = $moar_version_output =~ /version (\S+)/ ? $1 : undef;
289290
}
290291

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;
292293
if ($moar_ok) {
293294
push @errors, "Found $moar_exe version $moar_have, which is new enough.\n";
294295
return ($moar_exe, @errors);
@@ -312,7 +313,7 @@ sub gen_moar {
312313
$options{'git-reference'} ? "--reference=$options{'git-reference'}/MoarVM" : '',
313314
);
314315

315-
unless (cmp_rev($moar_repo, $moar_want) >= 0) {
316+
unless (cmp_rev($moar_repo, $moar_want, "moar") >= 0) {
316317
die "You asked me to build $gen_moar, but $moar_repo is not new enough to satisfy version $moar_want\n";
317318
}
318319

0 commit comments

Comments
 (0)