Philip M. Gollucci wrote: > Philip M. Gollucci wrote: > >> Philippe M. Chiasson wrote: >> Ah, I did miss it... read right over it. D'oh! >> > Here is its again with the return 0 left in as most of the code in > Build.pm is return 0 though not all. > Also, using Philippe's cmp_tuples function.
Looks good, with notes below... > > Index: Build.pm > =================================================================== > --- Build.pm (revision 234145) > +++ Build.pm (working copy) > @@ -523,6 +523,11 @@ > $ccopts .= " $Wall -DAP_DEBUG"; > $ccopts .= " -DAP_HAVE_DESIGNATED_INITIALIZER"; > } > + > + if ($self->has_gcc_version('3.3.2') && > + $ccopts !~ /declaration-after-statement/) { > + $ccopts .= " -Wdeclaration-after-statement"; debug "Adding -Wdeclaration-after-statement to ccopts"; > + } > } > > if ($self->{MP_COMPAT_1X}) { > @@ -555,6 +560,33 @@ > $ccopts; > } > > +sub has_gcc_version { > + > + my $self = shift; > + my $requested_version = shift; > + > + my $has_version = $self->perl_config('gccversion'); > + > + return 0 unless $has_version; > + > + my ($has_major, $has_minor, $has_patch) = split /\./, $has_version, 3; > + my ($r_major, $r_minor, $r_patch) = split /\./, $requested_version, 3; Again, why not a simpler: my @tuples = split /\./, $has_version; my @r_tuples = split /\./, $requested_version; > + return &cmp_tuples([EMAIL PROTECTED], [EMAIL PROTECTED]) == 1; return cmp_tuples(); The '&' isn't necessary. > +} > + > +sub cmp_tuples { > + > + my ($a, $b) = @_; > + > + while(@$a && @$b) { > + my $cmp = shift @$a <=> shift @$b; > + return $cmp if $cmp; > + } > + > + return @$a <=> @$b; > +} > + Otherwise, +1 -------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature