diff options
author | Nicholas Clark <nick@ccl4.org> | 2008-04-14 14:38:34 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2008-04-14 14:38:34 +0000 |
commit | 523b30316ccbf7957aa8da41729ba68b3a5f47b5 (patch) | |
tree | 970684fd9c02aa20f76ce37806be38f5a6503279 | |
parent | 946b2ae57c7213210606ab80e51116053f1baa7c (diff) | |
download | perl-523b30316ccbf7957aa8da41729ba68b3a5f47b5.tar.gz |
Move all the logic to print the "Changed" message into regen_lib.pl,
which removes the need for any checksums. Arrange for regen.pl to run
autodoc.pl last, as it wants to open files generated by reentr.pl.
p4raw-id: //depot/perl@33675
-rw-r--r-- | regen.pl | 18 | ||||
-rw-r--r-- | regen_lib.pl | 16 |
2 files changed, 17 insertions, 17 deletions
@@ -15,6 +15,9 @@ my $perl = $^X; # changes. Um, what ? # safer_unlink ("warnings.h", "lib/warnings.pm"); +# We no longer need the values on this mapping, as the "changed" message is +# now generated by regen_lib.pl, so should we just drop them? + my %gen = ( 'autodoc.pl' => [qw[pod/perlapi.pod pod/perlintern.pod]], 'embed.pl' => [qw[proto.h embed.h embedvar.h global.sym @@ -43,20 +46,9 @@ sub do_cksum { return %cksum; } -foreach my $pl (keys %gen) { +# this puts autodoc.pl last, which can be useful as it reads reentr.c +foreach my $pl (reverse sort keys %gen) { my @command = ($^X, $pl, @ARGV); print "@command\n"; - my %cksum0; - %cksum0 = do_cksum($pl) unless $pl eq 'warnings.pl'; # the files were removed system @command; - next if $pl eq 'warnings.pl'; # the files were removed - my %cksum1 = do_cksum($pl); - my @chg; - for my $f (@{ $gen{$pl} }) { - push(@chg, $f) - if !defined($cksum0{$f}) || - !defined($cksum1{$f}) || - $cksum0{$f} ne $cksum1{$f}; - } - print "Changed: @chg\n" if @chg; } diff --git a/regen_lib.pl b/regen_lib.pl index 89ac3f9009..6735bb9294 100644 --- a/regen_lib.pl +++ b/regen_lib.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl -w use strict; -use vars qw($Is_W32 $Is_OS2 $Is_Cygwin $Is_NetWare $Needs_Write $Verbose); +use vars qw($Is_W32 $Is_OS2 $Is_Cygwin $Is_NetWare $Needs_Write $Verbose + @Changed); use Config; # Remember, this is running using an existing perl use File::Compare; use Symbol; @@ -17,7 +18,13 @@ if ($Is_NetWare) { $Needs_Write = $Is_OS2 || $Is_W32 || $Is_Cygwin || $Is_NetWare; -@ARGV = grep { not($_ eq '-v' and $Verbose = 1) } @ARGV; +$Verbose = 0; +@ARGV = grep { not($_ eq '-q' and $Verbose = -1) } + grep { not($_ eq '-v' and $Verbose = 1) } @ARGV; + +END { + print STDOUT "Changed: @Changed\n" if @Changed; +} sub safer_unlink { my @names = @_; @@ -46,11 +53,12 @@ sub rename_if_different { my ($from, $to) = @_; if (compare($from, $to) == 0) { - warn "no changes between '$from' & '$to'\n" if $Verbose; + warn "no changes between '$from' & '$to'\n" if $Verbose > 0; safer_unlink($from); return; } - warn "changed '$from' to '$to'\n"; + warn "changed '$from' to '$to'\n" if $Verbose > 0; + push @Changed, $to unless $Verbose < 0; safer_rename_silent($from, $to) or die "renaming $from to $to: $!"; } |